To clarify the difference between a UPC and an FNSKU for the purposes of FBA -
A UPC is a ‘universal product code’ which identifies the unique product being sold.
An FNSKU is an Amazon specific code and stands for Fulfillment Center Stock Keeping Unit. It identifies a unique product owned by a specific seller in Amazon’s warehouses.
Consider that 2 sellers want to sell the identical product through FBA. ‘Neat-Seller’ stores his inventory in a clean, climate controlled warehouse prior to sending it to FBA. ‘Sloppy-Seller’ stores his inventory in a run-down garage where rain leaks inside and bugs and rodents can get in.
Both sellers’ products would have the same UPC code because they’re the same product, but if you were Neat-Seller, you wouldn’t want your FBA inventory mixed in with Sloppy-Seller’s inventory - you’d want to be sure that your customers got one of your exact products when they ordered. The FNSKU identifies your specific pieces of the product in the FBA warehouses, Sloppy-Seller’s pieces of the product would have a different FNSKU.
When you first create the catalog page for your product, you will need a UPC code to identify it. Once the listing is created, and you proceed to ship the product to FBA, your individual items need one single code visible on each retail unit’s box for the warehouses workers to sort and store them properly. That would be either the UPC code (if you want your products to be mixed in with every other seller’s inventory of the same product - ‘comingling’ in FBA terms), OR the FNSKU code, if you want your products kept separate.
If your manufacturer is going to print the UPC on your packaging (you may want this if selling on other venues besides Amazon, or in retail shops) then the FNSKU needs to be applied over the UPC on each individual item so that only the FNSKU is visible once the items arrive at Amazon’s warehouses.
If you are going to sell the item strictly through FBA, you could have just the FNSKU printed on the package, although you would still need a UPC assigned to the product (but not necessarily printed on each item) to create the listing in the Amazon catalog in the first place.
Bottom line - each individual retail selling unit needs to have one code visible on its packaging and Amazon scans this code to track where inventory is within its warehouses. That code can be either the UPC (if comingling) or an FNSKU. To prevent problems - don’t send any retail units without this code, or with more than one visible code.