Case study · Distribution
Orders, invoices and deliveries on one platform.
A national distributor of medical products was spending 17 hours per day processing orders and invoices across disconnected systems. We replaced manual order and invoice handling with a single, purpose-built platform.
The challenge.
- Sector
- Medical distribution
- Scale
- Thousands of orders daily
- Codebase
- 18,000+ lines of Python
- Deployment
- Hosted on a server in Germany
Our client is a national distributor of medical products. It handles a high volume of orders every day, from a wide range of partners, delivered across an extensive distribution network.
Its operations ran on disconnected systems: a legacy ERP, spreadsheets, email inboxes and paper records built up over years. Orders arrived by email, as PDF attachments, by telephone and through EDI links with larger partners, and staff had to read, interpret and re-enter each one by hand. Invoice matching, reconciling supplier invoices against orders placed and goods received, was entirely manual and had grown to consume 17 hours of staff time per day across the team.
Nobody could say with confidence where a given order stood. Questions that should have taken seconds meant chasing email threads, spreadsheets and phone calls. Errors crept in, work was duplicated, and growing the business would have meant hiring more people to do more of the same manual work.
What we built.
A sales force automation and logistics platform written around how this business works, not a configured off-the-shelf product. It handles every order from the moment it arrives to the point it is delivered and reconciled.
It runs to over 18,000 lines of Python with more than 335 functions, covering ingestion, processing, matching, dispatch, reporting and administration.
-
Orders in any format
Email text, PDF attachments, telephone orders keyed into a simple web form, and EDI feeds from larger partners. PDFs are read with parsing logic trained on the client’s own supplier formats; every order enters the same pipeline.
-
Invoice parsing and article matching
Supplier invoices are read line by line and each line is matched to the client’s own article catalogue, even where the supplier’s code or description differs. An ambiguous match is flagged for one human decision.
-
Order tracking
Every order moves through received, processed, allocated, dispatched and delivered. Each change is timestamped and logged, so anyone can see where an order stands in seconds.
-
Partners and suppliers
One register of partners and suppliers: contacts, order formats, pricing agreements and history. Staff onboard a new supplier, including how its documents are read, without a developer.
-
Sales analytics
A real-time dashboard of order volumes, processing throughput, revenue by partner, product performance and trends. Reports that were compiled by hand are generated on demand, for authorised users.
-
Roles and audit trail
Warehouse staff, account managers, administrators and management each see their own view. Administrative actions and logins are recorded with a timestamp and the user, which meets the client’s internal compliance rules.
Technical approach
- Stack
- Python and Flask; SQLite in WAL mode for reliable concurrent access, JSON stores for configuration and the catalogue.
- Interface
- Server-rendered Jinja2 and Bootstrap 5: plain, predictable screens for warehouse and office staff who need to work quickly without training.
- Hosting
- A server in Germany, run by Tiraverse, with backups every hour.
The results.
76% Reduction in daily processing time
The platform went into full production use across the client’s operations.
The 17 hours of daily manual processing collapsed to under four hours. Orders that previously required minutes of individual attention now process in seconds. The team is no longer a bottleneck in the distribution chain.
Staff who spent their days on data entry now work on customer relationships, partner management and work that needs human judgement. Errors fell too: the system validates data as it arrives, rather than relying on staff to catch discrepancies under time pressure.
Management sees order throughput, processing times and revenue trends in real time, without asking anyone to compile a report. The audit trail gave the client’s compliance team the record they needed without any additional tooling.
The hours recovered — more than 13 a day, every working day — represent a substantial and ongoing saving.
Facing a similar challenge? We will give you an honest assessment of what automation could save you.
contact@tiraverse.co.uk