If you are outsourcing warehousing or transport, two things decide how the next three years go: which model you buy — 3PL or 4PL — and how the data actually moves between you and them. The first is discussed at length in sales meetings. The second is usually discovered afterwards.
This is written for the shipper side of that arrangement. (If you <em>are</em> a logistics service provider, our page on AI for 3PL providers covers the other side of the table.)
3PL and 4PL, without the brochure language
A <strong>3PL</strong> executes. It has warehouses, trucks or both, and it performs the physical work: storing, picking, shipping, delivering. You buy capacity and execution.
A <strong>4PL</strong> orchestrates. It typically owns no assets and instead manages a set of carriers and providers on your behalf — planning, tendering, tracking, exception handling and reporting across all of them. You buy control and coordination, often described as a control tower.
The distinction that matters commercially is <strong>where the incentive sits</strong>. A 3PL earns more when you use more of its capacity. A 4PL earns a fee for managing spend it does not own, so its incentive is closer to yours — provided the contract does not quietly reintroduce asset ownership through an affiliate. That is worth checking explicitly, because a 4PL that steers volume to a sister company is a 3PL with an extra layer of margin.
The practical middle ground most mid-sized Dutch shippers actually occupy: one or two 3PLs doing the physical work, and a TMS plus a person doing the orchestration in-house. That is a 4PL function without a 4PL contract, and for many operations it is the cheaper answer.
The integration is the relationship
Whatever the model, the day-to-day quality of the arrangement is set by a handful of messages moving reliably between systems. Get these right and the provider feels like an extension of your operation. Get them wrong and you will employ someone to reconcile spreadsheets.
- <strong>Order out</strong> — you send what needs to ship, to whom, by when.
- <strong>ASN / DESADV in</strong> — the advance shipping notice: what is actually coming, at line and carrier level, before it arrives.
- <strong>Receipt confirmation</strong> — what was actually received, which is the message that most often differs from what was announced.
- <strong>Stock statement</strong> — a periodic full picture, used to reconcile rather than to operate.
- <strong>Dispatch confirmation and track-and-trace</strong> — what left, when, on which consignment.
- <strong>Invoice</strong> — which needs to reconcile against the movements above, and frequently does not.
Two of these carry almost all the friction. <strong>Receipt confirmation</strong> is where announced and actual diverge, and your system needs a defined behaviour for the difference rather than an email. <strong>Invoice</strong> is where the commercial model meets the data, and if you cannot reconstruct a charge from the movement data you have, you cannot check it.
EDI, API, or a file on an FTP server
Classical EDI still runs a large share of Dutch logistics: EDIFACT message types such as ORDERS, DESADV, RECADV and INVOIC, exchanged over AS2 or a VAN. It is well specified, heavily standardised, and slow to change — a strength for stable flows and a weakness when you want a new field.
Newer providers offer REST APIs, which are faster to iterate and give near-real-time status. And a great many arrangements in practice are <strong>flat files on SFTP</strong>, dropped on a schedule, which works far better than its reputation as long as somebody owns the failure case.
The choice matters less than three properties, and these are what to write into the contract:
- <strong>Idempotency.</strong> If the same message arrives twice — and it will — nothing may be booked twice. Ask how duplicates are detected and on which key.
- <strong>A defined behaviour on failure.</strong> Where does a rejected message go, who sees it, and how quickly? "It appears in a log" is not an answer.
- <strong>Reconciliation.</strong> A periodic full stock statement to compare against your own picture, and a defined process for what happens when they disagree.
None of this is exotic, and all of it is cheaper to agree during selection than to retrofit after the first mismatched month-end.
Laadmeter: the billing unit that surprises people
In the Benelux, road freight is frequently charged by <strong>laadmeter</strong> — loading metre — rather than by weight or pallet count. One laadmeter is one metre of trailer length across the full loading width, which for a standard trailer is roughly 2.4 metres wide.
This has a direct commercial consequence that catches new shippers out. Two Euro pallets (1.2 × 0.8 m) placed side by side occupy roughly <strong>0.4 laadmeter</strong>; the same two pallets placed lengthwise occupy <strong>0.8</strong>. Same goods, double the charge, decided by how they were loaded.
It also means light bulky freight is expensive and heavy compact freight is cheap on this basis, which is why carriers apply a conversion between weight and laadmeter and bill on whichever is higher. If you ship anything voluminous, <strong>the conversion factor in your rate card is a negotiable term and is worth as much attention as the rate itself.</strong>
And if pallets cannot be stacked, say so in the data. A non-stackable pallet occupies the full height, and a carrier who discovers that at the dock will re-rate the shipment.
Ladingdragers: the balance nobody reconciles
Pallets, roll containers and crates — <strong>ladingdragers</strong> — are usually exchanged rather than sold, and the resulting balances are a running account between you, your carriers and your customers.
It is one of the most common places money leaks quietly out of a logistics operation, because nobody owns the number. Pallets go out with deliveries, come back late or damaged, get counted differently at each end, and the discrepancy is settled once a year by an argument.
- Decide whether you are on an exchange system or a pooling scheme and be consistent — mixing them makes the balance uninterpretable.
- Book carrier movements as they happen, in the same system as the goods, not in a separate sheet.
- Reconcile monthly, not annually. A balance a year old cannot be investigated; nobody remembers the deliveries.
What to agree before you sign
Cross-docking: when goods should not be put away at all
<strong>Cross-docking</strong> means moving inbound goods straight to an outbound dock without a storage step. Done well it removes putaway, storage and picking from the cost of a shipment entirely. Done badly it converts a warehouse into a very expensive traffic jam.
It works when three conditions hold together, and the third is the one usually missing:
- The goods are already allocated to a known customer or store before they arrive — you are consolidating, not deciding.
- Inbound and outbound timings can be aligned within hours, which means the inbound side has to be reliable.
- You have <strong>accurate advance data</strong> — a trustworthy ASN at line level. Without it, staff must open and check pallets, which is putaway with extra steps and no location to put things in.
That third point is why cross-docking is really a data capability rather than a floor layout. The physical requirement is dock doors and space; the actual requirement is knowing what is on the truck before it arrives, at sufficient detail to route it without inspection.
Dock scheduling and yard management
Once volume is high enough that trucks wait, two adjacent disciplines start to matter. <strong>Dock scheduling</strong> allocates arrival slots to doors so that labour can be planned against known arrivals rather than reacting to whoever shows up. <strong>Yard management</strong> tracks trailers on site: which are loaded, which are empty, which have been standing for three days accruing demurrage nobody attributed.
For a mid-sized operation these rarely justify dedicated software. They almost always justify a defined process and a shared view — most of the value comes from carriers booking a slot and from someone knowing which trailers are on site, neither of which requires a purchase.
The exception is when detention and demurrage charges appear on invoices without anyone able to check them. At that point the cost of not tracking the yard is already being paid; it is just showing up in a column nobody reconciles.
- <strong>How OTIF is measured</strong> — per order or per line, against which date, and who calculates it. Ideally you both calculate it and compare monthly.
- <strong>Cut-off times</strong>, and specifically what happens to an order that arrives ten minutes late. The informal answer today becomes the contractual answer under pressure.
- <strong>The message set and the failure behaviour</strong> above, in writing.
- <strong>The laadmeter conversion</strong> and stackability assumptions.
- <strong>Ladingdrager reconciliation frequency</strong> and who produces the statement.
- <strong>Exit terms.</strong> Specifically: in what format do you get your stock and movement history back, and how quickly? A provider holding your data in a proprietary format is a switching cost you agreed to without noticing.
Where we come in
Most of the value here is in getting the integration and the measurement right, which is a data and process problem rather than an AI one. Our <strong>€2,500 audit</strong> maps the message set, the reconciliation gaps and the measurement definitions before anything is built. Where a model genuinely helps — usually demand forecasting feeding inventory positioning across sites, or anomaly detection on invoices against movement data — a <strong>€20,000 proof of concept</strong> runs four to six weeks on your data, and production starts from <strong>€50,000</strong>.
Frequently asked questions
What is the real difference between 3PL and 4PL?
A 3PL owns assets and executes; a 4PL owns none and orchestrates providers on your behalf. The commercially important part is the incentive: a 3PL earns more when you use more of its capacity, a 4PL earns a management fee on spend it does not own.
- Check whether the 4PL has affiliated asset-owning companies. If it steers volume to a sister firm, you have a 3PL with an extra margin layer.
- Many mid-sized shippers run the 4PL function themselves with a TMS and one planner, which is often cheaper.
- Neither model fixes bad data. Both make bad data more expensive, because now two organisations act on it.
How is a laadmeter calculated?
One laadmeter is one metre of trailer floor length across the full loading width — about 2.4 m on a standard trailer. So the charge depends on floor space consumed, not weight.
- Two Euro pallets side by side take roughly 0.4 laadmeter; the same two placed lengthwise take 0.8. Loading pattern changes the invoice.
- Carriers apply a weight-to-laadmeter conversion and bill on whichever is higher, so light bulky freight is expensive on this basis.
- Declare non-stackable pallets in your data. Discovered at the dock, they are re-rated at full height.
Do we still need EDI, or is an API enough?
Either works. What matters is not the transport but three properties: duplicate messages must not double-book, rejected messages must land somewhere a person sees quickly, and there must be a periodic full reconciliation.
- EDI is well standardised and slow to change — good for stable flows, awkward when you need a new field.
- APIs iterate faster and give near-real-time status, but the failure behaviour is often less defined by default.
- Flat files over SFTP still run a large share of Dutch logistics and are perfectly workable when someone owns the failure case.
Who should own the ladingdrager balance?
One named person, reconciling monthly, using the same system that records the goods movements. Annual reconciliation does not work because nobody can investigate a delivery from eleven months ago.
- Be consistent about exchange versus pooling. Mixing the two makes the balance impossible to interpret.
- Book carrier movements as they happen rather than in a separate spreadsheet, or the two records will diverge.
- Treat a persistent imbalance as a process signal, not a counting error — it usually points at one route or one customer.