The starting point
A global medical-device manufacturer sells consumables, maintenance kits and spare parts to distributors worldwide. Distributors could place an order, but nobody could follow it afterwards, and nothing reconciled with the ERP. Payment, proof, approval and fulfilment all lived in email.
What we built
- Checkout and order creation. Cart, customer order number, shipping address and method, order review. The order is created before payment and anchors everything that follows.
- Export-control declaration. For restricted destinations the flow adds an end-use declaration. The distributor signs in the browser, and the signature is rendered into a PDF and stored with the order.
- Three payment methods. Card through an external gateway. Wire transfer, where the system issues a pro-forma document, accepts the distributor's proof of payment and routes it to finance. Credit line, for customers on agreed terms, with hold status and limits read from the ERP.
- Finance verification. Staff review uploaded proof in the back office and approve or reject it with a reason. Rejections go back to the distributor with what to fix, and the order stays alive.
- Production tracking. Estimated lead time per part, status through manufacturing and an email at every transition.
- Quotations. A parallel quote flow with its own validity window, and a conversion path that locks quoted pricing into a new order.
- Multi-currency and minimum order value, applied per account and read from the ERP.
The ERP integration
The portal runs against the client's Priority ERP. Orders flow out after payment; billing profiles, customer terms, credit balances, lead times and the full spare-parts catalogue flow in.
The hard part isn't the sync — it's the contract. There is no documentation and no developer on the ERP side. We establish how the API actually behaves by observation, write it down and build against what is true rather than what is claimed. That documentation is now the reference both sides use.
The engagement
One senior engineer and one developer, around 80 hours a month, for years. In the last two months alone: 36 shipped changes — from a fix for duplicate orders under concurrent payment confirmations to a Drupal 11.4 upgrade on both sites.