System Diagram

Figure 2 shows the essential components of the Anything Inventory system: a barcode scanner, software, and a data source so you can readily look up scanned UPC codes. The components in the figure are the barcode itself; the barcode scanner, which reads the optical barcode and outputs its electrical equivalent; the PC and software, which control the entire system; and the Internet and a remote database, which provide information letting you look up barcodes you’ve not scanned previously. Barcodes are unfortunately most often on the packaging but not on the actual item itself, meaning once you discard the packaging you’ve lost the ability to scan the item.

A barcode scanner, software, and your PC do the work
FIGURE 2: A barcode scanner, software, and your PC do the work

Here’s more detail on what each component does in the overall system:

Barcode Scanner — In principle, you could simply type the UPC codes for inventory items into your PC, but that’s tedious and unreliable. If you’re like us, those two problems are enough to kill the idea of having an inventory (we’re not terribly patient). The barcode scanners we found, including the modified CueCat scanner we describe later in the chapter, enter the scanned data in as if you’d typed it yourself.

PC and Software — Our idea is that the PC maintains one or more inventory files listing what you’ve scanned, how many you have on hand, and other information. Actually reporting out your inventory is easier done in a spreadsheet or database office automation program than by writing reporting software, so we kept the software small and simple with an export function.

UPC Database — It’s also tedious and unreliable to have to enter the description of every item you scan for the first time, so the project needed a data source against which the software can look up items not already in the local database. The Internet UPC Database  is an open source group effort to provide just that, so we’ve integrated its use into the software.

Barcodes and UPC codes

PC and software