Skip to content
July 11, 2026·5 min read

Courier Integration for Your Online Store (Sameday, FAN, Cargus): How It Works

How to generate shipping labels (AWB) and delivery rates automatically on every order, instead of retyping addresses into the courier's app.

You run an online store and, on every order, someone manually copies the customer's address into the courier's app, generates the AWB (shipping label), then pastes the tracking number back into the order. It's slow, error-prone, and at a few dozen orders a day it becomes impossible. "Courier integration" means removing exactly that manual step: an order comes in, and the label, rate, and tracking happen on their own.

In Romania, the most-used couriers for e-commerce are Sameday, FAN Courier, and Cargus. All three offer an API so your store can generate labels programmatically. The good news: you don't have to reinvent anything. The honest news: you need a contract with the courier before the automation works, and a few details (weights, cash-on-delivery, lockers) make the difference between an integration that runs and one that blocks your orders.

What "courier integration" actually means

It isn't one thing, but usually three functions working together:

  • Label (AWB) generation: at order time (or when you mark it "shipping"), the store sends the data to the courier's API and gets back the AWB number plus a printable PDF label.
  • Rate calculation at checkout: based on weight, county/locality, and whether it's cash-on-delivery, the customer sees the shipping cost before paying.
  • Automatic tracking: parcel status (picked up, in transit, delivered) updates itself in the order, sometimes via webhooks the courier sends.

On top of that, the Romanian market cares about cash-on-delivery (ramburs) and Sameday easybox lockers, where the customer picks a locker from a map right at checkout. A serious integration covers all of these, not just label generation.

What you need before you start

Automation doesn't work out of thin air. You first need a commercial contract with each courier you want to use. After signing, the courier gives you API credentials — usually a kind of username, password, and a client ID for their environment (FAN has SelfAWB, Sameday and Cargus have their own APIs).

Without a contract you don't have these keys, so you can't auto-generate labels, no matter the plugin. The second important thing: your shipping rates depend on the volume you negotiated in the contract, not on the store. The software only applies the price you negotiated.

Also prepare: a sender address (pickup point), a default weight per product, and ideally the parcel dimensions. Without correct weights, the rate shown at checkout will be wrong.

What the automated flow looks like, step by step

Once configured, a typical store flow looks like this:

  • The customer adds products and, at checkout, chooses the courier or delivery type (to an address or to a locker). The system computes total weight and shows the real rate.
  • The customer places the order (card or cash-on-delivery).
  • The order lands in the admin panel. Either automatically or with one click on "Generate AWB," the store calls the courier's API.
  • The courier returns the AWB number and label. It's saved on the order and can be printed.
  • When the courier picks up the parcel, statuses flow back into the order, and the customer can get an email with a tracking link.

The difference from the manual method: you no longer open the courier's app separately. Everything happens inside your store.

Ready-made plugin, custom code, or aggregator

You have three paths, depending on platform and volume:

  • Dedicated plugin (especially on WooCommerce): there are extensions for Sameday, FAN, and Cargus that connect to the API with your credentials. It's the fastest route for a single courier and small-to-medium volume.
  • Custom code (bespoke stores, e.g. Next.js): you build the API calls yourself. More effort, but full control over rating logic, packing across multiple parcels, and returns.
  • Courier aggregator (Innoship, Postis, DeliveryEngine, and similar): you connect to one platform that talks to all couriers. Useful if you run two or three couriers at once and want automatic rate comparison. It adds a monthly cost and one more middleman, though.

For most small stores starting out, one plugin on one courier is enough. The aggregator becomes worthwhile at volume.

Common mistakes worth avoiding

A few traps that show up often:

  • Missing or wrong weights: if products have no weight, the checkout rate comes out wrong or the label gets rejected. Fill in the real weight, packaging included.
  • Cash-on-delivery misconfigured: the amount to collect at delivery must go onto the AWB automatically. Test it on real orders, not just test ones.
  • Lockers without a map: if you sell via Sameday easybox, the customer must be able to pick the locker at checkout. Otherwise you get orders with no delivery point.
  • Returns ignored: plan from the start how you generate a return label, not only when the first complaint arrives.
  • Test vs. production environment: couriers have test accounts. Don't launch until you've run one real order end to end.

How we approach it at MPO Web Studio

We build premium stores and deliver fully remotely, nationwide. For courier integration we work transparently: we tell you clearly what's on us (the technical part — API, checkout, label generation, tracking) and what's on you (the contract and negotiated rates with the courier, which we simply connect).

Before you pay anything, we can prepare a demo of the store with the delivery flow configured, so you see exactly how the order and the label look before you decide. No promises like "magical free shipping" or hidden prices — the courier cost stays whatever your contract says.

If you want to talk concretely about which couriers fit you and what the integration looks like on your store, message us on WhatsApp. We'll tell you honestly what can be automated and what can't.

Frequently asked questions

Can I auto-generate labels without a courier contract?+

No. The API that generates AWBs only unlocks after you sign a contract and receive credentials from the courier (Sameday, FAN, or Cargus). Without them, any plugin stays inactive. The contract also gives you your negotiated rates.

Can the shipping rate be calculated automatically at checkout?+

Yes, if products have correct weights and you've configured the rating rules. The system computes total weight, factors in the county and cash-on-delivery, then shows the cost before the customer pays.

Does cash-on-delivery work through the integration?+

Yes. The amount to collect at delivery goes onto the AWB automatically, and the courier remits the money to you per your contract. Worth testing on a real order, since it's the detail most often misconfigured.

Can I use several couriers in the same store?+

Yes. You can connect two or three couriers and let the customer choose, or use an aggregator (e.g. Innoship, Postis) that talks to all of them through one connection and compares rates automatically. It makes most sense at volume.

How long does such an integration take?+

It depends on the platform and how many couriers you connect. On a store with a dedicated plugin and a single courier it's quick once you have credentials. A custom integration with returns and lockers needs more setup and testing time.

Free guide

7 mistakes that drive clients away from your website

Leave your email and get the guide right here, instantly. No spam.

By submitting, you agree to the Privacy Policy.
MThe MPO teamWe reply personally

Want to see what your business's website could look like?

Message us on WhatsApp and we'll build you a free demo website with your business name on it. See it first, then decide — no strings attached.

Ask for a free demo websiteWe usually reply within a few minutes