Vendix SFA
Industries · Pharma · MRIS

MR call-cycle, chemist orders, batch traceability - one platform.

Pharma doesn't fit FMCG software. The visit is to a doctor, the buyer is a chemist, the regulator is everyone. Vendix MRIS - the Medical Rep Information System - runs the whole loop natively: tour plans, doctor appointments, sample tracking, chemist and stockist orders, expense and leave, all on the same multi-tenant platform with batch-level recall and near-expiry alerts built in.

6
MRIS pipelines
FEFO
Batch picking
211
MRIS tests green

Pharma call cycle · MR's day

07:00 · Tour plan

Pre-approved tour for the week. 4 doctors, 2 chemists, 1 stockist.

09:30 · Doctor visit

Appointment kept · samples logged · CME notes · GPS verified.

12:00 · Chemist order

Script-driven demand. Prescriber linkage captured.

15:30 · Stockist order

Wholesaler bulk order. Batch + expiry pinned. Cold-chain SKUs flagged.

17:00 · Expense + DCR

Daily Call Report submitted. Expense voucher uploaded for ASM approval.

MRIS modules

Six pipelines. Sixteen sync endpoints. One audit trail.

MRIS is built on the same Pipeline Engine and the same offline-first Android stack as the FMCG side. New pharma-specific steps drop in as DB rows; tested against 211 unit tests as of the latest wave.

Tour plan

Weekly/monthly tour plan with manager approval. ASM signs off, MR works against the approved plan, deviations flagged.

Doctor appointment

Fixed-time appointments with auto-link to actual visit. GPS + duration verification. Sample tracking per visit.

Chemist order

Script-anchored demand. Prescriber linkage captured. Inventory deducted FEFO with batch + expiry stamping.

Stockist order

Wholesaler bulk orders with cold-chain enforcement and pre-shipment QC hold capability.

Expense voucher

Per-trip expense capture with attachment upload. Manager-ladder approval via MrisApprovalRouter.

Leave request

Leave application with auto-routing to the line manager. Tour plan auto-adjusted on approval.

DCR (Daily Call Report)

Structured call summary at end-of-day. Auto-pulls visits, samples, prescription notes, orders.

Sample tracking

Every sample handed to a doctor is logged against the visit. Stock deducted from MR's sample inventory.

Hierarchy approvals

MrisApprovalRouter walks TenantUser.ManagerId - same approval ladder as the rest of the platform.

Pharma-grade rigor

Batch-level traceability.
Recalls in minutes, not days.

Every GRN binds stock to a Batch - manufacturer, mfg date, expiry, shelf-life. Every sale deducts inventory FEFO. When something has to come off the market, one RecallBatchCommand quarantines warehouse stock, generates retrieval tasks per outlet that has the batch, and flips the Batch master to Recalled. The GetBatchTraceQuery gives you the full lifecycle in one read.

  • Quarantine warehouse auto-created per distributor / sales-manager / direct outlet - recalls land here, not back in saleable stock.
  • Near-expiry alerts at Information / Warning / High / Critical thresholds. Daily Hangfire scan at 06:00 UTC; tenant-tunable thresholds.
  • BlockExpiredStock + AutoQuarantineOnExpiry tenant params keep expired stock off the shelf at the source.
  • Sales return → quarantine via ReturnReason.RoutesToQuarantine - outlet-returned stock can\'t accidentally re-sell.
GetBatchTraceQuery · BAT-PAN-2026-0042
# Mfg: 2026-02-14 · Expiry: 2028-02-14
[GRN] In · 12,000 units · WH-DIST-NEG-12
[Sale] Out · 240 units · INV-2026-001247
[Sale] Out · 180 units · INV-2026-001312
[Transfer] · 600 units · WH→Van VAN-NEG-04
[Sale] Out · 60 units · INV-2026-001428
[Return] In · 24 units · SR-2026-00091 · Quarantine
[Recall]
· 8 outlets affected · 1,140 units in field
· 3 retrieval tasks generated
· Status flipped to Recalled

06:00

UTC daily scan

Near-expiry alert orchestrator. Hits every tenant. Threshold-tunable.

5 statuses

Batch lifecycle

Active → NearExpiry → Expired → Recalled → Quarantine. Auditable.

SI · TA · EN

Native languages

MR app + chatbot speak the language of your local territory.

A regulator-friendly demo.

Bring your batch master, a recall scenario, and a tour plan. We'll show you the trace query, the recall propagation, and the audit row before the demo ends.