Skip to content
← Back to case studies

B2B e-procurement engine for pharmaceutical distribution

A multi-marketplace quoting engine integrated with Bionexo and Sintese, plus catalogue and order synchronisation to the field sales platform over REST and WebSocket.

Industry
Pharmaceutical distribution
Period
2023 — 2026
Role
Development and continuous evolution
Scale
102 routines, 867 business rules

102

routines across quoting and negotiation

2

B2B marketplaces integrated

3 years

of continuous evolution

Technologies

InterSystems IRISObjectScriptRESTWebSocketBionexoSinteseIQVIANeogrid (EDI)

Challenge

A national pharmaceutical distributor buys from dozens of laboratories and responds to electronic quotes on healthcare marketplaces, where hospitals and networks post demands with a short response window. The work was manual at both ends. Someone tracked each marketplace through the browser; then someone else retyped the outcome of the negotiation into the ERP. Meanwhile, the field sales force worked with stale catalogue, price and stock data, because the load to the external platform ran as an overnight batch.

There was also a regulatory requirement in the middle of it: controlled medicines require specific hierarchical approval and traceability of who authorised each commercial condition.

Solution

I built the electronic quoting engine inside the ERP, with an adapter layer per marketplace. Bionexo and Sintese have their own implementations; the rest come in through a generic adapter that only needs field mapping. The engine receives the demand, matches it item by item against the internal catalogue, applies the current commercial policy and returns the proposal through the same channel, with no retyping.

On the supplier-negotiation side, I implemented contracts, batch reservation, deviation checks between the purchase order and the incoming invoice, and a hierarchical approval flow parameterised by product category, with a trail of who approved what. Sensitive categories, controlled medicines among them, fall under their own approval authority.

For the field sales force, I replaced the overnight load with incremental synchronisation. The ERP publishes changes to customer, product, price, stock and order to the external platform over REST. Whatever cannot wait (credit holds and stock-outs, mainly) goes out over a WebSocket channel, in real time.

Outcome

Responding to quotes moved into the ERP itself, with the negotiation history in the same place the order is generated. The sales force’s base stopped operating on yesterday’s data. The approval flow started producing the evidence that audits ask for, without a parallel spreadsheet.

It became the largest single front in my portfolio: three years of continuous evolution, absorbing changes in commercial policy, supplier catalogue and marketplace contract without the engine having to be rewritten.

What this case shows

I integrated third-party B2B platforms that follow no common standard, and the adapter layer is there to absorb that diversity. Synchronisation runs in two regimes, incremental and real time, and the choice between them came down to how critical the data is.

Stuck on a term? There is a glossary. Glossary