Shipping and fulfilment

Monta is a warehouse with an API, not a shipping tool with a database

With most of the tools in this shipping category, the shop is the source of truth and the shipping tool just acts on what the shop tells it. Monta flips that. Monta is a fulfilment partner — a warehouse, with people and shelves and a WMS behind the API — and the stock in that warehouse is the real stock. Your shop's number is a copy, and it is only as current as the last time somebody asked Monta what is actually there.

That one inversion changes almost every assumption a shop normally makes about a shipping connection, starting with which direction the sync has to run.

  • Own WMS API, stock lives at Monta
  • Fulfilment orders out, stock and status back
  • From €1,700 plus service fees
The tool

What Monta is, and why it is not just another shipping API

Monta is a Dutch fulfilment company: you send them stock, they store it in their own warehouse, and when an order comes in they pick it, pack it and hand it to a carrier on your behalf. The API sits in front of their warehouse management system, not a shipping label printer — its objects are things like inbound shipments, stock locations and fulfilment orders, not just parcels.

That makes the technical shape of a connection genuinely different from Sendcloud or MyParcel. You are not telling Monta what to ship so much as telling them an order exists and needs picking, and you are not managing your own stock number so much as reading theirs. Carrier choice is often theirs too, negotiated through their own volume — one more thing a shop owner does not have to think about, and one more thing they do not directly control.

What goes wrong

Three things that go wrong when the stock lives somewhere else

All three trace back to the same habit: treating Monta like a shipping tool that reacts to your shop, instead of a warehouse whose numbers your shop has to follow.

The shop oversells stock that already left the building

An item is damaged during picking, or a return is processed at Monta's end, or a stock count simply corrects an old number — and none of it reaches the shop until the next scheduled sync, or never, if nobody built one. The shop keeps selling stock that, physically, does not exist.

What you see instead

Stock is read from Monta on a schedule frequent enough to matter, and a correction on their side — damage, a recount, a processed return — shows up in the shop before it can be sold again.

An order gets rejected by the warehouse, and nobody at the shop knows

Monta refuses a fulfilment order for a reason that makes sense on their end — an address that fails validation, a SKU never registered in their system, stock that turns out not to be there after all — and if that rejection is not surfaced back to the shop, the order simply never ships. The customer's confirmation email says it is on its way. It is not.

What you see instead

A rejection from Monta is an alert with the order number and the reason, the same hour, so somebody fixes the actual problem instead of a customer discovering it a week later by asking where their parcel is.

Reconciliation means counting boxes, not matching invoices

With an accounting connection, reconciling means two numbers on a screen. With Monta it means a physical stock count at their warehouse against what your systems believe should be there, and the gap between the two is explained by things that never show up in an API by default — a miscount, a wrongly picked item, a return scanned in but not yet processed.

What you see instead

Stock movements — not just stock levels — are pulled from Monta, so a mismatch can be traced to an actual event instead of a shrug and a manual recount.

The bill for doing it by hand

What an unsynced Monta connection costs you

Overselling is the expensive one, and expensive in a specific way: a sold-out item that ships late usually gets expedited to make up for it, so the cost is not just the apology but an upgraded shipping method eating the margin on that order. A handful of these a week, at the cost difference between standard and next-day shipping, adds up to a real number fast.

The manual stock check that fills the gap in the meantime — somebody logging into Monta's own dashboard once a day to eyeball the numbers against the shop — is fifteen to twenty minutes daily that exists purely because nothing reads the stock automatically. Small on its own, and it is the check that gets skipped the one day it mattered.

What we build

We build the thing on the other end too

With Monta the real work is convincing a shop to stop treating its own stock field as the truth — every product page, every low-stock warning, every reorder trigger has to point at Monta's number instead of a local one, and that touches more of a shop than people expect going in.

A connection needs two ends. Plenty of agencies will build you the API call and hand you a JSON payload; that is the easy half. The harder half is what the data lands in — a website, a webshop, a portal your customers log into, an internal tool that replaces a spreadsheet. JKC builds both ends, which is why the connections we build tend to keep working: nothing about the receiving side is a black box to us.

API integrations

The connection itself: authentication, field mapping, rate limits, retries and a queue that survives the other system being down for an hour. Built against the documented API where there is one, and against whatever the vendor really offers where there is not.

Websites

WordPress sites that read from your systems instead of repeating them by hand: a careers page fed by your HR system, a team page that follows your payroll, prices and availability that are the real ones.

Webshops

WooCommerce shops where the order is the last time anyone types it: it becomes an invoice in your accounting package, a label at your carrier, a stock mutation in your warehouse, and a line in your CRM, on its own.

Web applications

When the process does not fit any standard product: a customer portal, a quoting tool, a planning board, a dashboard that reads three systems at once. Built on your data, with your systems as the source instead of a copy of them.

What can be connected

What can be connected between your shop and Monta

Notice how many of these run out of Monta rather than into it — that is the inversion this page keeps coming back to.

  • Orders as a fulfilment order at Monta (out of the tool)

    SKU, quantity, address and requested carrier or service, sent the moment an order is placed so picking can start the same day rather than the next batch.

  • Stock levels back into the shop (into the tool)

    The row that matters most here: free stock read from Monta on a schedule, because Monta's number is the real one and the shop's is a copy of it.

  • Fulfilment status and rejections (into the tool)

    Picked, packed, shipped, or rejected with a reason — read back as it happens, so a problem at the warehouse becomes a same-day alert instead of a late parcel nobody can explain.

  • Inbound stock announced to Monta (out of the tool)

    A purchase order or delivery announced before it arrives, so the warehouse expects it and books it in against the right SKUs rather than a pallet nobody was told about.

  • Returns processed at the warehouse (into the tool)

    A return received and inspected by Monta comes back as a stock adjustment and a status the shop can use to trigger a refund, instead of a parcel that reappears in stock with no explanation.

How it works

How a connection gets built at JKC

The same four steps every time, whichever tool it is. Nothing here is a workshop you pay for: step one exists because scoping a connection wrong is the single most expensive thing that can happen to it.

  1. 1. We look at what is actually being retyped

    Not "which fields exist" but "which fields does somebody currently move by hand, how often, and what breaks when they get it wrong". Most projects turn out to need two or three flows, not a full two-way sync of everything. That conversation is what keeps the quote where it is.

  2. 2. We pick the route, and say why

    A maintained connector from the vendor, a platform like Make or Zapier, or a custom integration against the API. Cheapest first, not custom first: if a supported plugin does exactly what you need, that is the answer and we will tell you so. Custom is for the cases where the off-the-shelf option would need so much configuring that it becomes the fragile option.

  3. 3. We build it to survive the other system

    Every connection ships with retries, a queue and an idempotency key, so an order that arrives while the other side is down is delivered later rather than lost, and a retry does not create a second invoice. On a test environment first where the vendor offers one, so the first thing your real administration sees is a working connection.

  4. 4. We hand it over with the failure modes written down

    Which alerts you will get, what each one means, what to do about it, and who to call. Plus the credentials in your own name, in your own vault — not in ours. A connection nobody but us can maintain is a connection you do not own.

After it goes live

A connection that fails silently is worse than no connection

This is the part most quotes leave out. A connection that stops working without telling anyone is worse than manual work, because with manual work at least somebody notices when it does not get done. Every connection JKC builds is monitored, and the monitoring is not an upsell — it is in the service fee.

An alert per failed message, not a monthly report

A message that does not get through raises an alert the same hour, with the record it was about. Not a dashboard you have to remember to look at.

Replay, not re-enter

Anything that failed sits in a queue and can be sent again once the cause is fixed, in order. Nobody goes back through yesterday to find the four orders that did not land.

We watch the vendor's changes, so you do not have to

APIs get versioned, deprecated and rate-limited. When a vendor announces a change that affects your connection, adjusting to it is part of the service fee, not a new project.

What it costs

From €1,700, and the biggest variable is who built the other end

Monta's API is documented and workable, but there is more genuine mapping work here than with a pure shipping tool, because stock authority moves to their side and a shop's logic usually needs adjusting to match. It is cheaper when JKC already built the shop, since we already know where every stock-dependent decision in it is made.

A connection starts from €1,700 plus a monthly service fee, which covers the monitoring, the queue and keeping up with the vendor's API changes. Work outside a fixed scope is €95 per hour.

What moves the number is not the tool — it is how well the system on the other end is known. If JKC built your website, your webshop or your web application, we already know its data model, its edge cases and where its stock numbers really come from, and a connection into it is mostly configuration and testing. If it is a system we have never opened, we start with a short technical check of both sides and quote after that, so you are not paying hourly for us to work out the basics.

Two more things that move it, in our experience more than anything else: whether the tool has a real API or only a CSV export, and whether the sync has to go both ways. One-way is roughly half the work of two-way, because two-way means deciding, per field, which system wins when they disagree — and that decision is the expensive part, not the code.

Questions

Frequently asked questions about connecting Monta

Not usually, no — that is most of the appeal of a fulfilment partner. What you do need is a shop that treats Monta's number as authoritative rather than keeping a parallel one it trusts more out of habit.

Some clients keep a small local stock for a specific channel — trade shows, a physical shop — and that is fine, but it has to be modelled explicitly as a second stock location rather than silently added to or subtracted from Monta's number.

Free, 10 minutes

Not sure where the manual hours actually go?

That is what the Growth Scan is for. Ten minutes, no sales call attached: you get back where the double work sits, which connection would pay for itself first, and which one honestly would not.