A smartphone and its camera are programmed to function as a barcode scanner, analyze data encoded in a barcode, which also is programmed to “learn” a master barcode, and then scan product barcodes to determine if a product is being loaded onto the correct shipment. A user can choose one of the following modes of operation to start a code match operation: one-to-one, one-to-many, many-to-some, or box mode.