ERP and MES for Radiopharmaceutical Therapy (RPT) Manufacturing - How to Split the Work and Wire It Together Without Regret
- John Hannan
- Apr 1
- 5 min read
Updated: 1 day ago
I’m writing this for teams running (or planning) RPT manufacturing who are considering both

an ERP and an MES. Done right, the combo gives you financial control, supply-chain visibility, and compliant batch execution. Done poorly, it doubles work, hides deviations, and creates audit risk.
My aim here is vendor‑agnostic and non‑sales: a field guide from projects I’ve led where dose-to‑door speed, validation, and scale all mattered.
Why RPT is different for ERP+MES
Beyond GMP and Part 11, RPT adds physics and time pressure:
Half‑life math everywhere - Any inventory or WIP number without time-of‑calibration context is wrong.
Room/hot‑cell segmentation - Movement controls at the suite level, not just the site.
Dose-to‑door logistics. Activity at delivery, not just at ship, with Class 7 labels and carrier cutoffs.
RAM licensing - Possession tracking by radionuclide, form, location, and use.
Inspection‑ready evidence - Clear receipt→manufacture→QC/QA release→ship/transfer story, with electronic signatures.
This is why many teams layer ERP for commercial & supply-chain control and MES for eBR/eDHR and execution.
The boundary that works (in practice)
Use this as a starting point. Adjust deliberately—don’t let it “just happen.”
Process / Object | MES (L3) - single point of truth for… | ERP (L4) - single point of truth for… |
Recipes & execution | Master/controlled recipes (ISA‑88 style), weigh‑dispense, equipment states, in‑process checks, eBR with signatures | None (reference only) |
Quality results | In‑process data, QC results capture, equipment qualification status | Release status consumed from MES/QMS; CoA distribution |
Inventory in rooms/hot cells | WIP, room‑level movements, segregation checks | Site‑level inventory, financial valuation, cost |
Labels & controlled print | Batch/dose labels, reprint governance, on‑line printers | Shipping docs, invoices |
Planning & procurement | — | Forecast/MRP/MPS, POs, suppliers, contracts |
Order-to‑cash | Execution against dose order (tied to patient appointment time if applicable) | Order entry, ATP/CTP, pricing, invoicing |
RAM license gates | Room/hot‑cell checks for in‑process moves | Receipt/transfer hard stops and possession roll‑up |
Waste & decay‑in‑storage | Generation, clocks, status | Financial disposition, carrier/disposal vendor integration |
Master data | Equipment, recipes, eBR parameters | Items, lots/serials, sites/rooms catalog, customers, suppliers |
Analytics | Right‑now execution KPIs | Financial/operational rollups |
Rule of thumb - Put operator actions and batch truth in MES; put money, commitments, and legal docs in ERP. Synchronize only what must be shared.
Integration flow that keeps you sane
Think in events, not nightly file drops:
Order created in ERP ➜ published to MES as an executable work order with required attributes (isotope, target activity at calibration, appointment time window).
Materials issued in MES ➜ event posts back to ERP with lot/serial and time‑stamped activity so financial and possession ledgers update.
In‑process results in MES ➜ summarized status back to ERP/QMS (pass/fail/hold), not raw data.
QA release in MES/QMS ➜ status gate opens for ERP to ship/invoice.
Pack/ship in ERP ➜ shipment details echo to MES for eBR closure; proof‑of‑delivery closes the loop.
Technical notes that pay off:
Use idempotent messages (safe to replay), global unique IDs for batches/doses, and clock sync across both systems (half‑life math depends on timestamps).
Make integrations transactional with compensating actions (i.e. if shipment fails in ERP after MES closes a batch, send a “reopen” or “void” event).
Version your message schemas; RPT plants evolve rapidly.
Where two‑system projects go off the rails
I see the same failure modes on troubled programs:
Double data entry - If operators must touch both systems, you will get mismatches. MES should be the only operator UI for execution.
Ambiguous master data - Two sources for items, rooms, or label content create audit chaos. Decide the golden record per object and stick to it.
Label divergence - MES prints batch/dose labels; ERP prints ship docs. When teams split this unintentionally, reprint control disappears.
Off‑by‑time errors - If MES and ERP disagree on time of calibration (time zones, daylight savings), activity math and license totals drift.
Release ping‑pong - QA releases in MES but ERP lets users ship from a different status. Result: product leaves while MES shows “hold.”
Unvalidated glue - The custom integration is “just a script,” so it dodges CSV. Inspectors don’t care if it can change product or records, it’s in scope.
Waste is invisible - Decay‑in‑storage tracked in MES but not counted in ERP possession; you discover this during an inspection or a licensing amendment.
No outage plan - If MES is down, can ERP ship? If ERP is down, can MES continue? Design degraded modes before day one.
The governance that keeps ERP and MES aligned
One RACI for batch truth - MES owns the eBR, ERP references it. Only QA can change release state. Fail this, and you’ll spend days reconciling “which record wins.”
Change control with cross‑checks - Any change to recipes, labels, room maps, or master data must specify which system is touched and how the other is verified.
Documented reprint policy - MES controls all production label content and reprint reasons; ERP controls shipping labels/documents. No exceptions without QA sign‑off.
License‑first receipts - ERP blocks receipt if it would exceed possession limits at the intended location; MES blocks internal moves into unauthorized rooms.
Time discipline - NTP on every node; store UTC in payloads; display local time in UIs; log the timezone with the event.
What to demand in demos (to expose the gaps early)
Ask vendors/partners to run these scenario‑based demos with your isotopes and data. No slides.
Dose-to‑door with split responsibilities
ERP: create an order tied to a patient appointment window and target activity at calibration.
MES: execute, calculate in‑process activity, capture QC, perform QA release.
ERP: ship with Class 7 docs and invoice; proof‑of‑delivery closes the eBR.
Watch for duplicate data entry, time drift, missing labels, missing record links.
Receipt under a tight RAM limit
ERP hard‑stops a receipt that breaches site/location possession; user selects an alternate authorized room; MES accepts the internal move.
Watch for possession math reflecting decay, waste counting, and post‑receipt transfers.
Exception & rework
MES flags an OOS result; ERP cannot ship; deviation/CAPA link appears in both systems.
Watch for who can override, how signatures are captured, and how the release is re‑established.
Degraded mode
Simulate ERP outage: MES continues, queues events, and reconciles when ERP returns—without duplicate postings.
Watch for idempotency, event ordering, and audit trail completeness.
Validation (CSV) across two systems—without boiling the ocean
Traceability matrix by process, not by system - Map the dose‑to‑door flow and attach risks to steps. Then link tests to ERP, MES, and integration controls at each step.
Validate the integration as a GxP component - Requirements, design, code review, and test evidence for the interfaces—especially for label data, release status, and time/decay math.
Data integrity (ALCOA+) in both places - One audit trail for eBR actions (MES), one for commercial transactions (ERP), and a tie via immutable IDs in every message.
Periodic review that spans both - Are clocks still in sync? Did a schema change? Are reprint reasons drifting? Treat it like preventive maintenance.
Staffing & cutover patterns that actually work
One Product Owner per domain - Operations/QA for MES; Supply Chain/Finance for ERP. Give them equal weight in decisions.
Integration architect early - Don’t “bolt on” interfaces in the last sprint. Most rework I’ve seen comes from late, brittle integrations.
Data sprint zero - Agree on object ownership and codes (items, rooms, label content, recipe IDs) before configuration starts.
Rehearse Day‑in‑the‑Life - A full mock to receive RAM, execute a batch, release, ship, handle waste, and prove the records are inspection‑ready.
Bottom line
Running ERP and MES in RPT manufacturing is powerful when you draw a sharp boundary, synchronize only what matters, and treat the integration as part of the validated system. Put operator reality and batch truth in MES; put commercial and legal truth in ERP. Add gates for licensing and release, keep clocks in sync, and rehearse the exception days. That’s how you scale without surprises or audit drama.
Glossary
ERP–MES integration, electronic batch record (eBR), 21 CFR Part 11, GxP CSV validation, dose‑to‑door, time of calibration, decay‑aware inventory, radioligand therapy (RLT), radiopharmaceutical therapy (RPT), theranostics, hot cell movements, Class 7 shipping, RAM license limits, segregation, controlled print, CoA, idempotent messaging, ISA‑95/ISA‑88.