UPCs are required by Walmart to list products, and are the best way to universally identify which products you are selling. Here are some helpful resources to get UPCs for your products.
How to Obtain a Product Code
Choose Product (GTIN) for physical products. GTIN means Global Trade Item Number. You've probably heard of UPC, EAN, ISBN -- they're different types of GTINs.
Determine the type of barcode. UPC-A is what you'll want if you're selling products online or in physical stores.
License a company prefix from GS1 US. This is a variable length number based on the number of unique SKUs you need to barcode.
Use GS1 US Data Hub to create and manage UPCs. This is a free account for single user accounts but there is a fee to purchase your company prefix -- pricing schedule is provided below.
Place barcodes on your products. This can be done gradually since you'll likely want to incorporate it in your packaging process.
Avoid UPC Mismatches and Related Issues
Don't buy UPCs from vendors that are not certified by GS1. Use GS1 US Data Hub or a GS1 US Solution Provider.
Don't make up your own UPCs using some math formula you found online.
If you are not the brand owner and you want to assign UPCs to their products that you sell, contact the brand owner and send them this article.
Get different UPCs for your multipacks or kits.
Additional Resources
GS1 US Solution Provider Finder. Reduce your risk and work with a solution provider who is certified by GS1 US.
Check digit calculator. Enter everything except the final number of a UPC to find out what that final number should be.