Carrier

Connect Royal Mail

Business credentials, OBA customer number, service selection, and a thermal-printer test page.

Last updated · 23 April 2026

All guidesReady7 min read

Before you start

Royal Mail integration works through the Royal Mail Shipping API v4 (the modern API — the older ParcelForce / Despatch Express APIs aren't supported). You'll need:

  • A Royal Mail OBA (Online Business Account) with a posting location. Sign-ups at royalmail.com/business/shipping. Approval takes 1–3 working days.
  • API credentials — once your OBA is active, request "Shipping API v4" access from your account manager. They'll email you a client ID, client secret, and a posting location ID.
  • A thermal label printer that accepts 6×4" labels over USB or network (Zebra GK420d, Brother QL-1100, or Dymo LabelWriter 5XL all work). Royal Mail also accept A4 PDFs you stick onto parcels, but a thermal printer saves ~30 seconds per order.

Step 1 · Add the carrier account in Ops2Sell

Go to Shipments → Carrier accounts → Add carrier → Royal Mail. Paste:

  • Client ID and Client secret — from the Royal Mail onboarding email.
  • OBA customer number — 10 digits, on the first page of your OBA welcome pack.
  • Posting location ID — usually a 4-digit number like 0001. If you have multiple warehouses dispatching as separate Royal Mail accounts, add the carrier once per warehouse with the respective location ID.
  • Default sender address — Royal Mail prints this on every label as the return address. It must be a real, deliverable address in Great Britain.

Click Test connection. Ops2Sell will request a short-lived access token using your credentials; a green tick means authentication works. If you get "invalid_client", the client ID/secret don't match — regenerate from the Royal Mail portal.

Step 2 · Enable the services you'll actually use

Royal Mail offer 40+ services but most merchants need 4–6. On the carrier detail page, enable only the ones you're contracted for — Ops2Sell won't try to rate-shop through services you haven't opted in to. The usual picks:

  • Tracked 24 / Tracked 48 — domestic signed-for, with tracking pushed back to your channels.
  • Special Delivery Guaranteed by 1pm — for high-value domestic (insured up to £2,500 by default).
  • International Tracked & Signed and International Tracked — for EU and rest-of-world. Customs fields get auto-filled from your product data (HS code, country of origin).
  • 1st Class Large Letter — non-tracked, cheapest option for low-value items under 750g and 25mm thickness.

Step 3 · Add your printer

In Settings → Printers, add a new printer:

  • USB printer: plug into the device running Ops2Sell Warehouse (mobile) and pick it from the list. Zebra devices need the Zebra Setup Utilities installed once for driver handshake.
  • Network printer: set the IP and port (9100 is standard). Ops2Sell streams ZPL directly, no driver required.

Print the test page from the printer detail screen. You should see a sharp, black, 6×4" Royal Mail look-alike with a barcode that your scanner reads cleanly. Fuzzy barcodes usually mean the print density is too low — bump it up in the printer's own config.

Step 4 · Print your first real label

Open a processing order. Click Pack & ship → select Royal Mail and a service → Generate label. Ops2Sell will:

  • Validate the ship-to address against Royal Mail's address lookup.
  • Calculate the right rate + tax.
  • Request a label from Royal Mail (returns ZPL for thermal, PDF for A4).
  • Stream it to your assigned printer.
  • Push the tracking number back to the source channel automatically.

First labels sometimes fail with "Insufficient postage balance". Log into the Royal Mail portal and top up your OBA — there's no automatic top-up from Ops2Sell.

Step 5 · Manifest and end-of-day

At the end of each day, Royal Mail expect an electronic manifest listing every label you generated. Ops2Sell's Manifest page (in the Shipments section) closes out the day:

  • Shows all open Royal Mail shipments since the last manifest.
  • Lets you print a physical manifest (1 sheet of A4) that goes into the driver's collection pouch.
  • Submits the electronic manifest via the API — this is what triggers Royal Mail billing, so it must be done the same day you posted.

Ops2Sell auto-closes any un-manifested shipments at 23:59 local time as a safety net, but make it part of your close-up routine to manifest before the driver leaves.

Common issues

  • "Invalid postcode" — Royal Mail's address validator is strict. The order usually has a typo like 0 vs O in the postcode. Fix in Ops2Sell and re-try.
  • "Posting location not found" — the posting location ID on your carrier account doesn't exist under your OBA. Check with your account manager; it's usually a leading-zero issue.
  • Label prints blank — the printer received the ZPL but the ribbon is out or the label size is set wrong. TryTest page from Settings → Printers; if that's blank too, the issue isn't Ops2Sell.

Next

Consider adding a second carrier so rate-shopping works — DPD for next-day, Evri for weight-sensitive cheap deliveries.

Back to all guides