Case study 16 · Business systems and integrations
An ERP that plans crews by trade across several countries
We built it for a construction company in six months as a team of four. It tracks 150,000 items across 15 warehouses and runs alongside SAP.
150,000+ items, 15 warehouses, located to the shelf
In production and running without trouble
a bad ERP is obvious straight away, because people start working around it
The story in 5 steps
Stack
- NestJS
- Next.js
- PostgreSQL
- Turborepo
- SAP
01 · Context
A construction company with its own machinery and sites in several countries needed one system to replace its scattered records.
A construction company with its own machinery and sites in several countries needed one system to replace its scattered records. As a team of four, we built ten modules from scratch in six months, and the system is in production and running without trouble.
The inventory is what people see first, but the crew planning is the part no off-the-shelf product could provide.
02 · Could not change
Standard ERP software knows how many workers you have and what they cost.
Standard ERP software knows how many workers you have and what they cost. It does not know that a site entering its next phase no longer needs excavator operators, or that the rebar workers it frees up are exactly what another site, in a different country, needs in ten days.
The most expensive question in this business is which workers go to which site, and when. Get it wrong and you either pay people to stand idle or hold up a site because there is no carpenter. No off-the-shelf system answers that question, which is why the client had this one built.
The client was also keeping SAP, so the new system had to run alongside it.
03 · What we did
Inventory down to the shelf. The system tracks more than 150,000 items across 15 warehouses in several countries.
Inventory down to the shelf. The system tracks more than 150,000 items across 15 warehouses in several countries. For every item it records the warehouse, the rack and the shelf, so a stock check gives an answer like "we have 400, in the Sweden warehouse, rack 12, shelf 3", and someone can go straight there.
Three ways to enter stock. Stock can be entered by barcode in the warehouse, from the purchase order at goods-in, or by hand for everything else, which matches how people work in each of those places. A system with only one way in gets worked around, and that is how inventory systems fail: the stock in the system stops matching the stock on the shelf.
Crew planning across sites. Each site is a project in the system, which tracks who is on which site, who needs to move and which trades the site will need. A spreadsheet cannot plan people across time and across borders like this, and that planning is the main reason the client has the system.
Integration with SAP. The integration carried customers, items, orders, invoices, stock and finance between the two systems, effectively the whole operational picture, not a monthly export. This is the hardest kind of integration, because both systems describe the same reality, and whenever they disagree, the person looking at one of them makes a wrong decision straight away.
We also built invoicing, payments, a supplier ledger with accounting export, dashboards, notes and tasks.
04 · Result
150,000+ items, 15 warehouses, located to the shelf
- 150,000+ items, 15 warehouses, located to the shelf
- Crew planning by trade, across sites and countries
- SAP integration carrying the full operational picture
- Ten modules in six months, built by a team of four
- In production and running without trouble: a bad ERP is obvious straight away, because people start working around it
05 · Differently
With ten modules to deliver in six months, the planning module got the same share of the schedule as invoicing.
With ten modules to deliver in six months, the planning module got the same share of the schedule as invoicing. Invoicing is something any system does, and the planning module was the part nobody else could have supplied. Given that time again, I would spend less of it on the standard modules and more on the one that made the system worth building.
Related services
The services that draw on this work.
- Web developmentFull-stack web developmentAn ERP that runs alongside SAP for a construction company: 150,000 items in 15 warehouses, and crews planned by trade across several countries.
- How we can workA developer in your teamLead developer in a team of four, building an ERP that had to work alongside the client’s existing SAP.
- Web developmentAdmin dashboards and internal toolsA construction company’s ERP, where warehouse staff find any of more than 150,000 items spread over 15 warehouses down to the shelf, and planners assign crews by trade to sites in several countries. We built its ten modules in six months.
- Web developmentSaaS MVPA complete ERP built from scratch in six months. All ten modules are in production and running without trouble.
- Backend, data and integrationsERP, CRM and third-party integrationsA construction ERP connected to SAP, which the company kept. Instead of a monthly export, the integration carried customers, items, orders, invoices, stock and finance.
- Regulated and sensitive systemsInvoicing and customs systemsInvoicing, payments and a supplier ledger with accounting export, as part of a construction ERP that runs alongside SAP.
- How we can workTechnical leadershipDevelopment lead on a construction company’s ERP with a team of four: ten modules in six months, now in production.
Case study 16
Working on a similar problem? We reply within one business day.
The first call takes 30 minutes, and you’re under no obligation.