Why are my barcodes receiving less than an "A" grade from a testing device?
Barcode testing devices are ISO certified devices that test many attributes of a barcode – not only how it is created, but how readable it is on a particular print surface. Receiving less than an "A" grade does not mean your barcode was generated incorrectly – there are many factors at play.
So, merely saying to us "my barcode isn't getting an 'A' grade" is meaningless without much more context and information. Barcode testing devices are extensively documented – you should refer to the information provided with your device for more information on the testing process. These devices will tell you exactly why a barcode does or does not meet a certain specification, and an experienced operator can easily pinpoint the cause.
That said, we're usually asked about barcode grades by users who don't have experience with barcode testing or the production print process. That's fine, so we'll answer this question from a graphic designer's perspective.
The likely reason
The very likely cause of a lower grade is that you're printing without compensating for ink spread (a.k.a. press gain) on the target output device.
Production printers and inkjets often introduce a certain amount of ink spread based on a number of factors, like the specific type of output device, ink thickness, ink composition, and paper material. If you don't compensate for ink spread, your "A" grade barcode might become a "B" or "C" -- readable, but not technically precise. See this article for more information on setting resolution and Bar Width Reduction. Your commercial printer or prepress manager can provide more information on ink spread, and an experienced printer will know the term "Bar Width Reduction" and the specification you need while creating your barcode.
Many of our customers aren't terribly concerned with a lower grade due to ink spread -- in practice, your barcode is completely readable. However, it isn't technically perfect, and if your printer introduces enough spread it can make your barcode unreadable.
If Bar Width Adjustment isn't the cause, your barcode testing device should be able to substantiate the issue. See this article on troubleshooting unscannable and unreliable barcodes for some tips.