assets/portfolio/ontex/featured.png · 16 / 10
Ontex
A synchronisation service generating custom SAP iDoc files from retail point-of-sale sales and delivering them for processing.
View case study , Ontex
Case study · ERP integration
Getting retail sales into an enterprise finance system in the exact shape it expects, and making the pipeline visible enough to trust.
Production system
assets/portfolio/business-central/featured.png · 16 / 10
01The business situation
Sales happen in Lightspeed, a point-of-sale built for a counter. Finance happens in Microsoft Dynamics 365 Business Central, a cloud ERP built to connect sales, service, finance and operations across a business. Both are correct about their own domain and neither describes a transaction the way the other does. Someone has to translate, and if that someone is a person with a spreadsheet, the finance record is always a few days behind the business.
Core challenge
Move transactions between two systems that model them differently, continuously, and let the business see it happening.
Before
Sales reconciled into finance by hand
After
Transactions flowing into finance in the right shape
Sync Service
02The system at a glance
03Workflow 01
A sale leaves the point-of-sale in one shape and has to arrive in another. The transformation layer is where the integration earns its keep, because an ERP will reject anything it does not recognise.
assets/portfolio/business-central/workflow-transform.png · 16 / 11
04Workflow 02
The framework was chosen partly because watching queues and background work is straightforward in it. That decision is why the business can glance at a screen and know the integration is healthy.
assets/portfolio/business-central/monitoring.png · 16 / 10
assets/portfolio/business-central/job-detail.png · 1 / 2.04
05Engineering behind the product
Integrations fail quietly. Most of the design here is about making sure this one cannot.
Point-of-sale transactions are reshaped into the structure the ERP requires before delivery.
Synchronisation runs as background jobs, so throughput is decoupled from the systems on either side.
The stack was selected specifically because monitoring queues and background processes in it is straightforward.
A deliberately simple web interface gives the business a view of synchronisation activity.
Jobs that do not complete are visible rather than silently lost.
The service conforms to the Business Central API contract, transforming Lightspeed L Series sales into exactly what the endpoint expects.
06Technical architecture
Laravel was chosen specifically because monitoring queues and background processes in it is straightforward, which is what makes the pipeline auditable.
Backend
Processing
Integrates
07Delivery journey
Define the sync scope and target
Establish the transformation contract
Ingestion, transform and delivery
Build the monitoring view
Validate against the ERP endpoint
Release into live operation
Operate and extend
The service is in production. Dates, durations and transaction volumes are withheld until confirmed. Verify before publishing
08What the system enabled