Publix was recently sued by a Florida consumer alleging that the supermarket chain was systematically overcharging consumers on various products sold by weight such as meat department purchases.
For example, in January 2025, the consumer saw that pork tenderloins were on sale for $4.99 a pound instead of the regular $6.99.
The package she bought was marked with the full price of $6.99 pound, totaling $17.61 for 2.52 lbs. of pork. At the self-checkout, the consumer is shown the sale price of $4.99 a pound, but the weight of the pork has been pumped up by just over a pound, and she is charged $17.61 just as the package is marked — an overcharge of about $5.04.
*MOUSE PRINT:
Irrespective of the finagling of the net weight of the product on the checkout screen, one would hope that most shoppers would recognize that the advertised sale price of this item was not on the package, and therefore she better be sure she is charged the lower sale price when paying. But she isn’t. She is charged the full regular price. Both the screen and sales receipt show that only the regular price was charged, while misleading the consumer into thinking that she saved $7.06.
Now, why does the company seemingly go to the trouble of inflating the net weight of the package on the checkout screen? It is not shown on the receipt and most consumers are not likely to catch the discrepancy between it and what is on the package anyway.
The lawsuit shows example after example just like this one where meat department and other random weight items are only price-marked with the regular price and not the advertised sale price. And for each of those items when purchased, the consumer was charged the full price and did not get the benefit of the sale price.
But, there is something about this case that simply does not make sense. Are all the examples of overcharges alleged in the complaint just the tip of the iceberg at Publix, or is there something about those particular packages that makes them the exception? For example, are most meat items on sale normally labeled with the sale price and thus ring up correctly at the checkout but these are the exceptions?
The Publix PR folks would not comment on the case, nor even answer that simple question. And the law firm that filed the case did not respond to our inquiry either.
So MrConsumer enlisted the help of the former director of the Massachusetts Division of Standards (our weights and measures department) who winters in Florida and lives not far from a Publix supermarket. I asked him to check sale items in the meat department to see if they are properly marked with the advertised sale price or are they like the pictures above from the lawsuit and only have the regular price on them. He confirmed they were all properly marked with the sale price per pound.
*MOUSE PRINT:

In addition, a friend in Florida went to her Publix, and found that the two meat items on sale last week were properly marked with the sale price on the label.
This suggests to me that if the Publix practice is to properly mark sale items with the sale price, then the examples in the lawsuit might have been handpicked deliberately as the few packages that somehow escaped being relabeled when they went on sale. That doesn’t excuse the overcharges on them but means the problem may not be as extensive as the lawsuit might lead some to believe.
What is also strikingly odd is the similarity that this case has to one settled last year against Walmart claiming the exact same thing. Is it possible that two completely independent companies have the same cockamamie checkout software that automatically fabricates the net weight of meat sold to mislead consumers into thinking they saved money?
Please share your thoughts in the comments.
Across decades of shopping at Publix in (Lake Wales) Florida, it has been rare or extremely rare that checkout pricing was wrong.
At one point in time their standard was “if we charge you incorrectly, you get the product free.” Not sure if that offer still applies but it was certainly generous.
There are confusing aspects figuring out the price of an item from the tiny price-tags attached to the shelving beneath items being sold, but the large sale-signs placed directly near the actual item always have agreed with the checkout price. Two-for-one (BOGO, buy one, get one free) items are frequent and noteworthy… if the customer keeps a watchful eye for 2-1 pricing and plans ahead. Two-for-one occurs within regular calendar cycles (often approximately 5-week cycles and lasts for a week)
Another of Publix’s fairness: any day-after complaint about a purchased product being bad, Publix will replace it at no cost without question.
Their business does seem very customer-focused. Personnel exceptionally well trained AND responsive AND readily available! Everything within Publix stores is clean, neat, well lighted, etc. Parking lots are well maintained.
If only all other businesses held similar ideals for their customers. Walmart, Aldi, Walgreens, CVS, Rural King, are a few examples of second-rate customer service where “cheap” isn’t necessarily less expensive, nor bestowed with quality.
I always check the prices to make sure they are correct. The good news is that our local Hansfords will give you the item, your money back, and a dollar. When I find one, I buy it and take it to customer service and go through the process.
I used to work for a company that sold point of sale systems used in restaurants and retail and learned a lot about how they operate. So I think I can provide a “how” of this incident, but can only speculate on the “why”.
The issue is with price embedded barcodes. Specifically UPC-A bacrodes that start with a 2.
If you look at the barcode on the pork tenderloins above it reads 296145417616. This is the human-readable version of the vertical black and white bars of the barcode.
We can break this barcode into 4 groups
A-BBBBB-CCCCC-D
2-96145-41761-6
The 2 tells the checkout register software that this is a price or weight embedded barcode. https://en.wikipedia.org/wiki/Universal_Product_Code#Number_system_digit
The 96145 tells the software what the product is. This is configured by the store. So, 96145 at this Publix is extra lean pork tenderloins, but at an Albertsons it could be lean ground beef, or at a Whole Foods it might be Alaskan Salmon.
The 41761 is typically one of 2 things. Either the weight or the price. In the system I worked with most often, you programmed the whole store to treat every UPC-A that starts with 2 as either weight embedded or price embedded and then either as 4 or 5 digit. The system used by Publix may be different, but we can see for sure that they use a 4-digit price in the last 4 of this barcode group, 1761.
Finally, the last digit, 6 is a check digit. Basically it’s a error-detection system. There’s some simple math involving all the digits adding up and needing to match this last digit. If it matches, it’s a successful scan, if it doesn’t match the register doesn’t accept the scan as it assumes there was an error reading the barcode.
Now we get to how the register spits out the same price with a different weight. The register software is programmed with the updated price of $4.99/lb. When the barcode is scanned it reverses out the price to determine the weight. If the price is $17.61 and the price per lb is programmed at $4.99, then the weight must be 3.53lbs.
So where do the labels on the packages come from? You may have seen this yourself in stores. If you go to the deli counter and ask for 1 pound of sliced black forest ham, they grab the meat, slice it in front of you and set it on a scale. Then they hit a couple buttons, print out a label and stick it on a baggie with your lunch meat.
That scale is the other half of the system. It can be linked to the register software, or it can be independent. If it’s independent, then the staff have to program the price per pound of each product into the scale before they start weighing things out. They also have to update it every time the price on a product changes.
So the store only updated the checkout register software. They failed to print new labels for the products.
Whether this was a mistake by the store or deliberate is something we can only speculate on.
In the other image with the correct label price, you can also see in the barcode that the correct total price is embedded in that barcode, so we know it will ring up at the right price at the register.
I hope that helps add some more detail into the how this could happen. Thanks for all the great reporting and keep up the good work!
Thanks, Travis, for the very insightful post explaining what is going on here possibly.
Great contribution, thanks!
I’m guessing that the way it works is that the barcode conveys the price of the item, and then at checkout, the software computes what the weight of the item based on the price-per-pound stored in its database. In which case, the problem would be that the database is wrong, not that the software itself is doing something malicious.
If you look at both barcodes in the photos, the price is embedded toward the end of the string of numbers (1761 and 0406). I doubt that the remaining part of the barcode is long enough to encode both the weight of the item and the item identifier. So it seems plausible that the barcode only tells the checkout software the type of the item, and the cost of the item.
Perhaps this could be verified by seeing if the barcodes of similar items have identical strings of digits near the start of the barcode. I can’t tell from the photos, especially because these two examples are different items.
What a weird process, it’s almost like the checkout software is doing the math in reverse. the UPC tells it that the price must be $20, it knows that it is $5/lb for the meat, so it just assumes the meat weighs 4lbs. This seems like a weird way to process it, until you realize you don’t get any option to add extra information into a UPC because it is a 2D barcode, there isn’t room in a UPC to code the weight and the price at the same time.
Knowing that, this is likely just meat that wasn’t relabeled. I suppose that Publix could get around this by embedding the weight of the meat into the UPC instead of the price on the sticker. Then calculate the price based on the weight at point of sale like produce is done.
I’ll check my local Food City this week and see how they do it.
The fact the price calculation is not printed on the register receipt, is notable.
Or…. Publix, aware of the lawsuit and suspicion covered their tracks and fixed everything by the time the friend visited
When Kroger has a sale on meat they do not re-label the meat packages but, when questioned about the sale price they say the sale price will be applied automatically at checkout. As the sale week proceeds, the correct price is usually on the label—the meat department doesn’t want to take the time or make the effort to re-label the existing packages. So far, their system actually works and the sale price is applied at checkout and the weight is correct. Originally not a fan of the self checkouts at stores, we now use them all the time in order to take our time and check each item as we scan them for accuracy. Going thru a regular lane with cashiers who could care less about what’s ringing up and only listen for a “bee[” can be dangerous for your wallet.
John… That is horrible that they don’t put the sale price on meat items for the ones already on the shelf. I want to know at the meat counter what I am going to pay… and not find out later what I will be charged.