Skip to content
A grid of twenty-one empty teal cells in three rows on a dark ground; one cell in the middle is filled and brighter than the rest.

“A system with one way to enter data gets bypassed.”

A construction ERP: from the warehouse shelf to rebar crews in Sweden

A system that knows where every bolt is across fifteen warehouses — and which trades are needed on which site in ten days. Built from scratch, integrated with SAP, not instead of it.

Get in touch
Led development · team of 4 · 2025 · in production
150,000
items, located down to the shelf
15
warehouses across countries
10
modules in 6 months
Summary

A construction company with sites in several countries ran inventory and workforce on spreadsheets and phone calls. The system we built knows where every bolt sits across fifteen warehouses — down to the shelf — and which trades are needed on which site in ten days.

SAP stayed the system everything starts from. The ERP was built next to it, integrated, not instead of it: existing records did not move, and the company did not have to stop to get a new system.

Data goes in three ways — a barcode in the warehouse, a purchase order at intake, by hand for everything else — because a system with one way to enter data gets bypassed. Ten modules shipped in six months, across 150,000 items.

The problem

A construction company with its own machinery and sites in several countries ran the business on scattered records. When a bolt can't be found, it gets ordered again; when nobody knows who is where, planning happens by phone.

The constraint

SAP stays for finance and formal accounting. The new system lives next to the existing one and exchanges data with it — it doesn't replace it. And it has to survive real habits: a system that allows only one way of entering data gets bypassed, and then the database stops matching the shelf.

What we did

  1. Three ways to enter data — so the system doesn’t get bypassed

    Barcode in the warehouse, purchase order at intake, manual for the rest. Location down to the shelf: the bolt gets found instead of reordered.

    150,000 items across 15 warehouses
  2. Trade planning, not just record-keeping

    Sites are projects — say, a refinery in Sweden. The system knows who is where, who needs moving, and which trades are needed in ten days: rebar and carpenters yes, excavator operators no longer.

    The question a standard ERP can’t answer
  3. SAP stays — data exchanged at the boundary

    Invoicing, payments, suppliers with accounting export, dashboards and tasks. NestJS, Next.js, PostgreSQL, a monorepo — the same proven stack, a team of four developers.

    10 modules in 6 months
ONE SYSTEM INSTEAD OF SCATTERED RECORDS
Intake — 3 ways · barcode, purchase order, manual

A system that allows only one way of entering data gets bypassed — and then the database stops matching the shelf. Barcode in the warehouse, purchase order at intake, manual for the rest.

150,000items down to the shelf — and a plan for which trades are needed in ten days

The result

Ten modules in six months, the whole company in one system instead of scattered records. In production today — and SAP never had to know anything changed.
For context

When an item cannot be found, what is missing is not the item but a day: the site waits, the goods are ordered a second time and paid for twice. The same holds for people — a trade you look for on the day you need it is a trade you pay more for.

What we’d do differently

We would document the SAP integration while it was being built. The direction, the payload and the mechanics of that link now live in the code and in four people’s heads — and it is the most sensitive part of the system.

We would measure how long it takes to find an item, before and after. A hundred and fifty thousand items is scope, not a result; one stopwatch run in the warehouse would give a number that speaks for itself.

Related
Four re-platformings, zero downtimeThe same rule: change what sits underneath, not what people rely on.A 15-minute report to 0.2 sThe customer’s schema kept, the speed-up underneath it.
All 18 case studies
  • NestJS
  • Next.js
  • PostgreSQL
  • Turborepo
  • styled-components
  • SAP integration

Running operations on spreadsheets and phone calls?

Get in touch

Systems that can’t stop — from architecture to production.

© 2026 Micro Tech, Sarajevo