Your trucks, warehouses and freight desk each hold part of one customer's margin
After buying other logistics firms, how do we see what each customer buys from the whole group and what it costs to serve?
Figures and rules on this page apply to
European Union
Working somewhere else? The shape of the problem usually travels. The deadlines do not.
What this looks like
Sales wants to offer warehousing to a transport customer. Nobody can say what that customer already spends with the group. The warehouse bills by pallet, the trucks by trip and the freight desk by shipment. Each unit spells the customer's name its own way. Finance rebuilds the picture once a quarter in a spreadsheet.
The numbers
Every figure here is someone else’s. Check them.
- 1,886bntonne-kilometres of road freight moved by EU hauliers in 2025, up 0.9% on 2024
Why it happens
It is not a people problem.
Each business you bought names customers, sites and services in its own words. The transport system knows a customer as a delivery address. The warehouse system knows it as a stock owner. The freight desk knows it as a shipper account. All three are right. None of them can say they are the same company.
Why your current software has not fixed it
Because it was never built to.
Each unit's system does its own job well, so nobody wants to rip it out. A group-wide system is a multi-year project that each new acquisition resets. Reporting tools can add up the numbers. They cannot decide which records belong to one customer, so the quarterly spreadsheet stays.
Intelligence, plumbed in
A pallet invoice, a trip record and a freight booking can be read as one customer's bill.
We build the layer that says which account in one unit is which account in another, then reads every shipment through it. Underneath it: a connector, one agreed meaning per field, and a test set scored on your own records.
How we make AI survive real data-
Connectors -
A semantic layer -
Evals you can check
However hard, whatever it is
A logistics group is one example. Bring the acquisition whose customers you cannot yet add up.
We wrote this about transport and warehousing because buy-and-build is common there. The same layer works wherever bought businesses keep their own books.
-
01 We sit with you
Days where the work happens, not a workshop in a meeting room. We watch the job get done and write down the shortcuts nobody wrote down.
-
02 We read everything
Your data, your rules, your vendors and their documentation, and the published research on your sector. We report what is actually in there.
-
03 We break it to first principles
Not which tool fixes this. What is actually causing it, taken apart until we reach the piece that cannot be divided further.
-
04 Then we build
Weeks, not quarters. By this point we are not guessing what to build, and guessing is the thing that makes projects long.
What we build
Specific enough to argue with.
Four mechanisms, not four features. Each one is a thing that happens on its own, every day, whether or not anyone remembers to run it.
-
Shipment, warehouse and invoice records read from each unit's own system, as they are.
-
One customer list above all units, so a client of the trucks and a client of the warehouse resolve to one account.
-
Margin per customer and per lane, with each cost traced back to the unit that carried it.
-
A short list of customers who buy one service from the group and would fit another.
How you would know it worked
Numbers in your own reporting, not ours.
- Days from month end to a group view of margin per customer.
- Share of customer records matched across units without a person checking them.
- Number of cross-sell offers backed by a customer's actual spend with the group.
Straight answers
Where a model is involved, it is scored against your own records first. Accuracy per source, not one flattering average.
The questions this raises
-
Do our units have to move to one system first?
No. The layer reads each unit's system as it is. A later migration becomes easier, because the customer matching is already done.
-
What about a business we buy next year?
It joins the same way. Its records are read and matched to the existing customer list, without a new project.
-
Who decides when two records are the same customer?
The layer proposes a match and a person confirms the unclear ones. Each confirmed match is kept.
Where the figures come from
We did not make these up, and you should not take our word for them.
Also in supply chain
The official inventory number arrives six weeks after the month it describes
Federal inventories data is published roughly six weeks after the reference month closes. Most internal reporting runs on a similar lag, for the same reasons.
ProblemThe distributor you just bought still takes orders its own way
After an add-on acquisition, two catalogues describe the same products differently. Orders keep arriving in the old formats while the integration plan waits on a migration.
ProblemThe order confirmation came back different from the order you placed
Dealers place one project's order across many manufacturers. Each maker confirms it in its own format, and the lines that changed are easy to miss.
ProblemEvery product in the catalogue now answers to two rulebooks
A lab distributor that buys a UK business now sells under EU and GB rules at once. Each product's deadline sits in a supplier letter or certificate.
The meaning is not in any schema
Two systems agree on the field and disagree on what it means.
The rule lives in a document, or in what one site has always called something, or in a habit nobody wrote down. Joining the data is the easy half; agreeing what it means is the half that is actually the work.
- Behavioral healthOne in four facilities still run on paper, and there is a reason
- Accounting & consultingAn eight-hundred-billion-dollar quarter built on hours recalled from memory
- Senior livingNobody wants a sixth dashboard
- Skilled nursingEvery building reports. Nobody can see the portfolio.
- ManufacturingEvery plant you add keeps its own production record
Consent rules, site vocabulary, what an hour counts as. Wherever two systems agree on a field and not on what it means.Describe the disagreement.
The integration is a naming problem before it is a systems problem.
We build the layer that says which account in one unit is which account in another, then reads every shipment through it.
See everything we build-
Software -
Hardware -
Ways of working -
Whole ventures
Is this happening to you? Tell us the size of it.
Twenty minutes. We will tell you honestly whether the numbers justify doing anything about it.