GoatLabels GoatLabels

Blog

Where PO Numbers Go on a Parcel Shipping Label

Where a purchase order number goes in UPS, FedEx and USPS reference fields, which slots print, their length limits, and how to map the PO from an ERP.

A purchase order number belongs in the carrier's reference field, not in the address block. UPS calls these reference numbers, FedEx calls them customer references and has a dedicated P_O_NUMBER type, and USPS calls them customer references and leaves printing off unless you ask for it. Whether the PO actually shows on the printed label depends on the carrier, the reference slot you use and the label size, so check a real label before a buyer's receiving dock depends on it.

What does a buyer's receiving dock look for?

A receiving dock looks for something that ties the carton to an open purchase order, and the PO number is usually that link. A clerk scans or reads the box, finds the PO in their system, and checks the contents against it. When the PO is missing, the carton can sit in a holding area while someone works out who ordered it.

The buyer decides where the PO must appear. Their routing guide or vendor manual may ask for it on the carrier label, on a packing slip, on the outside of each carton, in an advance ship notice, or in several of those places. Read that document for every customer that sends one; our guide to retailer routing guides for parcel shippers covers how to work through one. If the buyer expects an electronic notice that lists tracking numbers by PO, the post on EDI 856 ASNs and parcel tracking numbers explains how those pieces fit.

Keep the PO out of the address lines. Extra text in the company or attention line can get in the way of address checks, and it is not where the dock will look.

How do UPS reference numbers work?

UPS reference numbers are coded values attached to a package or a shipment, and only the first two show on most labels. According to the UPS Shipping API specification, each package can carry up to 5 package-level reference numbers, each with a value of up to 35 characters and a 1 to 2 character code from the UPS Reference Number Code table. Package-level references apply to US-to-US and PR-to-PR shipments. For other origin and destination pairs, UPS uses a shipment-level reference number, also up to 35 characters.

The printing rule matters most. The same UPS spec says: "For non-Mail Innovation shipments only the first 2 reference numbers will be visible on labels." If the dock needs the PO on the label, put it in reference 1 or reference 2, because a person reading the label will not see references 3 through 5.

UPS also limits bar coding. Only one shipment-level or package-level reference can be bar coded per shipment, and a bar-coded value must be no longer than 14 alphanumeric or 24 numeric characters, with no spaces. A long PO with a prefix and a store number may still print as text, but it cannot be the bar-coded value.

UPS WorldShip lists Reference 1 through Reference 5 fields, and the WorldShip address data field descriptions show that its address book can store a 2-character qualifier per reference plus a "use on all packages" Y/N setting. Set that once for a customer that always wants its PO in the same slot.

Which FedEx reference type holds a PO number?

FedEx has a dedicated P_O_NUMBER reference type, sent inside the customerReferences field of the FedEx Ship API. The FedEx Ship API documentation says: "If your company requires a Purchase Order number or another internal reference to appear on each shipment in the invoice, you can use the customerReferences field." FedEx adds that an implementation can make the field mandatory, and that missing references may lead to invoice rejection and delayed payment.

FedEx describes three of the types this way:

  • P_O_NUMBER links the shipment to your purchasing document for matching and audit.
  • CUSTOMER_REFERENCE is your internal reference for the shipment.
  • DEPARTMENT_NUMBER is the internal cost center for allocating freight charges.

The full list, as reproduced in RocketShipIt's FedEx API parameter reference, a third-party copy of the FedEx schema, is CUSTOMER_REFERENCE, DEPARTMENT_NUMBER, INVOICE_NUMBER, P_O_NUMBER, INTRACOUNTRY_REGULATORY_REFERENCE and RMA_ASSOCIATION, and that copy gives a 40-character maximum for customer references. FedEx's own docs add a narrower case: FedEx Ground Economy labels carry a customer reference barcode of up to 24 characters, while "Other FedEx systems will continue to allow 40 characters."

Returns are where the FedEx docs are specific about printing. An RMA number sent as an RMA_ASSOCIATION reference prints on return labels as a barcode and in human-readable form, and it also prints on the FedEx invoice. For outbound labels, print a sample and look at which of your references appear before you promise a buyer anything.

Does USPS print a reference number on the label?

USPS prints a reference number only when you ask it to. Per the USPS Labels API specification, a label request can carry up to 4 customerReference entries, each up to 30 characters, "such as Order, Invoice, Customer, or Return Merchandise Authorization Numbers." Printing is opt-in: printReferenceNumber defaults to false.

Label size changes what you get:

  • References 3 and 4 work only on 4x5, 4x6 and 6x4 labels.
  • References 3 and 4 do not work with customs forms and are not added to the Shipping Services File.
  • References do not display on 2x7 or 4x4 labels.

For a PO the dock must read, use reference 1 or 2, turn printing on, and print on a 4x6 label.

How long can a PO reference be?

A PO reference fits every carrier when it stays short and plain, and the tightest limit is the UPS bar code: 14 alphanumeric or 24 numeric characters, no spaces.

One buyer PO written four ways (example) Characters UPS (35) USPS (30) FedEx (40, third-party copy) UPS bar code
118842 6 Fits Fits Fits Fits
PO118842DC07 12 Fits Fits Fits Fits
ACME-PO-118842-DC07-DEPT4410 28 Fits Fits Fits Too long
ACME CORP PO 118842 SHIP TO DC07 32 Fits Too long Fits Too long, has spaces

Example: the buyer's system knows the order as PO 118842, shipping to its distribution center DC07. The 12-character form, PO118842DC07, fits every field above and can be the bar-coded UPS value. The long forms add words the dock does not need, and the 32-character version does not fit a USPS reference at all. Send the short form as the PO, and put the department or customer name in another reference slot or on the packing slip.

How should you map the PO from your ERP?

Map the PO from the ERP order as its own clean field, and decide once which carrier reference slot it fills. A PO mixed into a notes field or an address line is how it goes missing. Our ERP order export field checklist covers the rest of the export; for the reference fields, work through these steps:

  1. Export the buyer's PO number as its own column, exactly as the buyer sent it. Keep your internal sales order number in a separate column.
  2. Do not add your own prefixes or spaces. A "PO#" prefix adds characters, and a space rules the value out as the UPS bar-coded reference.
  3. Check the length against the carrier limits above, and against the UPS bar-code rule if the PO is the bar-coded value.
  4. Put the PO in the right slot: reference 1 or 2 on UPS so it can show on the label, the P_O_NUMBER type on FedEx, and reference 1 or 2 with printing turned on for USPS.
  5. Use the remaining slots for what finance needs, such as an invoice number, a customer number or a department.
  6. On multi-carton orders, give every carton's label the same PO. Our guide to multi-carton B2B orders with one PO and many labels walks through the split.
  7. Print one real label for each carrier and service you use, and compare it with the buyer's routing guide before the first full order ships.

For how CSV and API connections fit a wider B2B operation, see our B2B shipping software overview.

Where GoatLabels fits

GoatLabels keeps your PO as the shipment reference. In a bulk CSV import, a column named Order Number, Order ID, Order, Ref or Reference becomes the shipment reference, and each box can get its own label carrying the same reference. Your reference stays on the shipment and its ledger line, which reads "Label purchase" followed by your reference, and you can search by it. Finance can pull the ledger from the API to match label costs to POs. Beyond the store connectors, an ERP connects by CSV or the REST API; there is no native ERP connector, and GoatLabels does not produce EDI documents or retailer compliance labels.

GoatLabels does not promise that your PO or reference prints on the carrier label or reaches the carrier. If a buyer's receiving dock requires the PO printed on each carton, mark it on the carton or on a packing slip produced from your own order system, and confirm that arrangement against the buyer's routing guide before the full order goes out.