Scanning at the dock

Bill of lading barcodes: Code 128, GS1-128, and AI (402)

Dock paperwork gets scanned, not read. Here is which barcodes belong on a bill of lading, what the two symbologies actually encode, and how to print them so they scan the first time.

Why barcodes on a BOL

Every number on a bill of lading eventually gets typed into someone's system — unless it scans. A receiving clerk with a scanner checks a trailer in without keying 17-digit shipment IDs by hand, which is faster and eliminates the transposition errors that turn into mismatched receipts. The carrier scans the PRO number to tie the pickup to its tracking system. A retail distribution center scans the GS1-128 shipment ID and matches it against the advance ship notice before the dock door closes.

Barcodes are how the document stops being paper and starts being data. Two symbologies cover everything a BOL needs.

Code 128: the workhorse

Code 128 is the standard high-density linear barcode for logistics. It encodes the full ASCII set — letters, digits, and punctuation — and its digit-pair mode (subset C) packs purely numeric strings two digits per character, which is why a long PRO number still fits in a small box on the page.

On a DockBOL document, two values print as Code 128: your BOL reference — the number you assign — and the carrier's PRO number, added when the carrier issues it. Each prints with the human-readable number beneath the bars.

GS1-128 and Application Identifier (402)

GS1-128 is Code 128 with two additions: a flag character (FNC1) that announces “this symbol follows GS1 rules,” and Application Identifiers — short numeric prefixes that tell the scanner what the following data means.

AI (402) means “GS1 shipment identification number” — the 17-digit VICS ID. So when a scanner reads (402)06141410000123452, it knows the value is a shipment ID and routes those 17 digits to the right field. The AI is encoded into the symbol but is not part of the 17-digit value itself — the check-digit math runs on the digits alone.

Real examples, rendered by the DockBOL engine

These are live renders from the same vector barcode model that drives the DockBOL preview and the exported PDF — not images. Point any 1D scanner or phone camera at them.

BOL-2026-04817
Code 128Your BOL reference, exactly as it prints in Standard mode
5820147396
Code 128 · subset CA carrier PRO number — digit pairs keep long numbers compact
(402) 0614141 000012345 2
GS1-128 · AI (402)The 17-digit VICS shipment ID — what retail DCs scan

Printing barcodes that scan

  • Print at 100% scale (actual size). Fit-to-page shrinks the bars below what many scanners tolerate.
  • Keep the quiet zones clear — the blank margin on both sides of the bars is part of the symbol. DockBOL includes it automatically; don't crowd it with stamps or stickers.
  • Dark bars on light paper. Black on white scans best; colored paper and highlighted bars are asking for no-reads.
  • Don't cover the symbol with tape, labels, or a coffee ring — the scanner sees what you see.
  • Test once with your own scanner and printer, the same check you would run on any new paperwork.

Three mistakes that kill scannability

Barcode fonts in a Word doc

A font that draws bar shapes usually skips the check character and quiet zones the symbology requires. Many never scan at all — and the ones that do fail at the worst moment.

Stretched screenshots

Pasting a barcode image and dragging a corner distorts bar widths. Scanners read the ratio of bar to space — distort it and the symbol is gone.

Scaling down to fit a box

Shrinking bars to squeeze a long number into a small space drops below scanner resolution. Shrink the data, not the bars — DockBOL shrinks the whole symbol uniformly, proportions intact, instead.

How DockBOL draws barcodes

DockBOL encodes every barcode with a dedicated ISO/IEC 15417 encoder and captures the result as resolution-independent vector geometry — the same model drives the live preview and the exported PDF, so what you see is mathematically what prints. Quiet zones are enforced by the engine, the human-readable number prints beneath every symbol, and long values shrink uniformly to fit their box with bar proportions intact. No barcode fonts, no stretched images, no screenshots.

BOL barcodes — FAQ

Are barcodes legally required on a bill of lading?
No general regulation requires a barcode on a standard BOL — they are an operational standard, not a legal one. Retail VICS workflows do expect the GS1-128 shipment ID, and carriers move faster when the PRO number scans. Barcodes are the difference between paperwork that is read and paperwork that is keyed.
What is a PRO number?
The carrier's own tracking number for the shipment, assigned by the carrier — often at pickup, which is why you can create a BOL before you have it. DockBOL prints the PRO as its own Code 128 barcode when you add it, so the carrier's dock scans it straight into their system.
Code 128 vs. GS1-128 — what's the actual difference?
The bars are the same symbology. GS1-128 is Code 128 plus a flag character (FNC1) and Application Identifiers — short numeric prefixes that tell the scanner what the following data means. “(402)” announces a 17-digit shipment ID; ordinary Code 128 carries no such declaration. Same ink, added meaning.
Can a phone scan these barcodes?
Yes. Any modern phone camera with a scanning app reads Code 128 and GS1-128, as do the 1D laser and imager scanners on most docks. The examples on this page are live renders from the DockBOL engine — point a scanner at them.
My PRO number is 20+ digits — will it fit on the document?
Yes. DockBOL shrinks the whole symbol uniformly to fit its box, preserving bar proportions and quiet zones, and Code 128's digit-pair mode keeps long numbers compact. Extremely long values do get small, so keep the references you control reasonably short.
Why does the human-readable number matter if it scans?
Because scanners fail — dead batteries, scratched print, a wrinkled page. The printed number under the bars is the fallback that lets a clerk key the value by hand. Every DockBOL barcode carries its human-readable interpretation beneath the symbol.

Keep reading

Sources & scope

Updated August 22, 2026. Scope: Barcode concepts for U.S. freight documents. Scanning requirements and accepted identifiers remain carrier and trading-partner specific.

Barcodes included, fonts not required

Every DockBOL document prints with true vector Code 128 and GS1-128 barcodes — quiet zones, human-readable text, and all. Free, no account, no watermark.

Free · no account · vector barcodes on every PDF