ERP integration

Integration is easy in the demo. Month three is the real test.

Every warehouse system claims two-way ERP integration. The differences show up later: what exactly flows, what happens to a bad message, and who can fix a failure at 8 a.m. without calling a developer. This page answers all three.

Everything on this page describes behaviour running in live deployments today.
The message catalogue

What flows, in which direction, and what gets checked.

Integration is not a checkbox — it is a set of specific messages with specific validation. Here is the catalogue.

Inbound · ERP → Linari

What arrives, and what gets checked at the door.

Nothing takes effect just because it arrived. Every message is validated against the warehouse’s own rules first.

Products & barcodesMaster data, including supplier-specific and alternative barcodes. Checked for completeness before a product can be received or picked.
Purchase ordersWhat suppliers will deliver — the reference every receipt is scanned against.
Store / customer ordersWhat must ship. Validated against product status and warehouse scope before allocation.
Deliveries & plansWhere the operation requires it, receipts are validated against the planned delivery before stock is accepted.
Outbound · Linari → ERP

What flows back, so the ERP stays the record.

The warehouse reports reality; the business system stays authoritative.

Receipt confirmationsWhat actually arrived — quantities, batches, expiry — as scanned at the dock.
Stock dataThe warehouse’s stock picture, reported back so purchasing and sales plan on reality.
Invoice & dispatch confirmationsWhat actually shipped, confirmed pallet by pallet — through the same interface layer that brings orders in.

Transports fit your ERP, not the other way round: file, database and service interfaces, with scheduled jobs for recurring exchanges. Proven across tens of millions of integration records in current and earlier Linari deployments.

Validation at the boundary

Rejections you will actually see — in plain language.

These are real rejection reasons from live operations. Each one is a problem caught at the boundary instead of discovered on the floor.

“Product not active in this warehouse” the order is held until master data says otherwise
“Barcode belongs to another product” rejected at the message, not discovered at the shelf
“Barcode belongs to another warehouse” warehouse scope is enforced at the boundary too
“Order references an unknown product” held with its reason, visible on the monitoring screen
“Duplicate delivery” recognised and ignored — a resent file does not double your stock

A rejected message is not a failure of the integration — it is the integration doing its job. The failure would be letting bad data through and finding it in a stock count three weeks later.

The day it breaks

A failed message, from 02:00 to 08:33.

This is the story that matters more than any feature list — what your morning looks like after a bad night.

02:00A message fails

The nightly store-order file references a product that is not active in warehouse 2.

02:00:01It becomes a visible record

Listed on the monitoring screen with the reason in plain language — not buried in a server log.

08:30The cause is fixed where it belongs

Master data is corrected in the ERP — the system of record — not patched by hand in the warehouse.

08:32An operator replays it

Re-interface, from the screen. No developer, no database session, no lost trail.

08:33The order flows

Allocation, tasks, dispatch — and the audit trail shows the whole story, including the failure.

The screen that makes it work

Failures are listed, not buried.

A monitoring screen shows integration errors as they occur, with the reason in plain language — and for supported message types, a replay action an operator can use without a developer and without losing the operational trail.

Integration monitoringStore orders · today
Store order interfaceProduct not active in this warehouse
FailedRe-interface
Supplier order interfaceBarcode belongs to another warehouse
FailedRe-interface
Store order interfaceRe-sent after master data corrected
ProcessedView
Invoice exportDispatch confirmation returned to ERP
ProcessedView
Representation of the monitoring screen. Ask to see the real one, with live data, in the demo.
Three principles

The design decisions behind all of it.

Your ERP stays the system of record

Products, orders and prices are born in the ERP and stay owned by it. The warehouse enforces operating rules on top and reports reality back — it never becomes a second, competing source of truth.

Bad data stops at the door

Validation happens when the message arrives, against the same rules the floor runs on. A broken order is held with its reason — it cannot silently corrupt stock, allocations or history.

Failure is an operator event, not a developer event

The person who can see the failure can also resolve it: fix the cause in the ERP, press replay. 2 a.m. problems become 8 a.m. routine, not emergency phone calls.

Straight answers

What your integration engineer will ask.

Our ERP is custom / legacy / local. Can you connect to it?

That is exactly why the interface layer is file, database and service based rather than a fixed connector list: it meets your ERP where it is. In the technical conversation we map your message types to the interfaces and show the same pattern running live against a customer’s ERP.

How does the initial data load work at go-live?

Products, barcodes, locations and opening stock are loaded during implementation into your test environment first — the same interfaces, on your own data — and validated by your team before production go-live.

Who deals with a failed message at 2 a.m.?

Nobody — and that is the design. The failure is recorded with its reason and waits, visible, on the monitoring screen. In the morning the cause is fixed in the ERP and an operator replays the message. Nothing is lost in between.

The same file gets sent twice. What happens to our stock?

Duplicate deliveries are recognised and ignored. A resent file does not double your receipts or your stock.

What volume has this actually carried?

Tens of millions of integration records across current and earlier Linari deployments, exchanged on schedules that run every day, in both directions.

Bring your stubbornest interface.

Show us the message that keeps breaking between your ERP and your warehouse. We will show you what it looks like when it fails visibly, gets fixed at the source, and gets replayed — with the trail intact.

Book an operational demo →