Do we have a Point-of-Sale specialist on board who can explain a few details about UPC-A bar code formats? I need to learn some details about parsing a random-weight bar code. Can someone 'splain this to me, or point to an on-line source with better detail, specifically addressing my questions below?
(If you want to quick-skim the following, just look at the bold-face parts below.)
These bar codes have this general format: 2UUUUUVPPPPC, where:
[ul]
[li] 2 at the beginning indicates that this is a random-weight bar code.[/li][li] UUUUU is the product code.[/li][li] V is the digit I need to learn more about (see below).[/li][li] PPPP is the price, e.g., 1234 means $12.34[/li][li] C is a check digit, which is of no concern for purposes of this question.[/li][/ul]
Example you might see at a grocery store: 2-00123-00795-X (where X is a check-digit).
The cash register would ring this up for $7.95
I need to know what the V character is, and how I should interpret it.
Google just turns up mostly web sites for commercial POS systems or software, with basic sales blurbs (“Does random-weight items!!!”) but few technical details.
The V character, according to various sites (and according to my client, who is a POS dealer), may itself be a check digit for the 4-digit PPPP field. Or it may actually be part of the price, for items costing $100.00 or more. And according to at least one web site I saw, it might be part of the PLU number. (That is, the UUUUU field, which identifies the item, might be 5 or 6 digits long, with the PPPP price field thus being 5 or 4 digits long accordingly.)
Here is one site I found that gives a better explanation than I found elsewhere, but it still doesn’t fully answer my question.
Which is: Upon scanning such a bar code, how do I interpret it?
Example: I scan 20034512798X (X being whatever the check digit is).
[ul]
[li] Here, the “2” at the beginning identifies this as a random-weight bar code. (You can see these at the supermarket in the fresh meat department, for example.)[/li][li] 00345 identifies the item (ground beef or whatever).[/li][li] 12798 MIGHT mean the price is $127.98 (thatsa lotta ground beef!). Or it MIGHT mean the price is $27.98, where the “1” means something else.[/li][/ul]
So,
(1) How do I tell if the “1” is part of the price, or something else?
(2) If it’s something else, what does it mean?
Here’s the background for this:
[ul]
[li] I used to work for a company that makes POS software, and I know a lot about how to support this app, including writing add-on customization modules.[/li][li] I now do free-lance work, for one client in particular, providing 3rd party support for this app. That client is the above-mentioned re-seller who sells this app. He provides support to his end-user customers (supermarkets), and I support him.[/li][li] This POS system only supports random-weight prices up to $99.99 but the re-seller has an end-user now who sells high-end stuff (e.g., expensive cheeses to go with those expensive wines) that can cost more than that.[/li][li] So I need to customize this POS system to handle that. (Whether that’s even possible is a separate question I will need to figure out.)[/li][li] But it seems there may still be other random-weight bar codes having prices of $99.99 or less, which may have a non-zero digit there which means something else. (But what?)[/li][li] So I need to know enough about the specs of these bar-codes so that I can design a way to resolve this apparent ambiguity.[/li][/ul]