Batch Tracking + FEFO — expiry never missed again
Every batch carries a batch number, manufacturing date, expiry date and supplier lot reference from the moment it arrives at GRN. FEFO is configured per item — the earliest-expiring batch is always suggested at delivery. Expired stock cannot be dispatched without a deliberate override.
✓
Batch number, mfg date and expiry date captured at Purchase Receipt — mandatory before stock enters quarantine
✓
FEFO per item — configurable per product. Earliest-expiring batch always suggested at Delivery Note and POS.
✓
Supplier lot reference — stored alongside ERPNext's internal batch number for complete traceability
✓
Batch-wise balance report — quantity, expiry date and days-to-expiry visible for every batch in every warehouse
✓
Full dispatch traceability — every delivery challan shows batch number. Find all deliveries from a batch in seconds.
ERPNext · Stock › Batch-wise Balance Report
FEFO Active
Batch-wise Balance — All Items · Expiry ascending · Oct 2026
| Item | Batch | Mfg Date | Expiry | Qty | Status |
| Amoxicillin 250mg | BAT-2025-041 | Jan 2025 | Jan 2027 | 180 strips | FEFO Next |
| Paracetamol 500mg | BAT-2025-034 | Mar 2025 | Mar 2027 | 240 strips | FEFO Next |
| Metformin 500mg | BAT-2026-012 | Feb 2026 | Feb 2028 | 600 tabs | Current |
| Cetirizine 10mg | BAT-2026-088 | Aug 2026 | Aug 2028 | 1,200 tabs | Current |
Zero
Expired in usable stock
Quality Inspection — GRN quarantine and 3-stage QC
Incoming API and excipients are held in a Quarantine warehouse in ERPNext until QC inspection is completed. Inspection parameters — COA check, assay, moisture — are configured per item. Pass → stock moved to RM store. Fail → returned to supplier or destroyed with a full rejection record.
✓
Quarantine warehouse — separate from usable RM. Incoming stock held here automatically pending QC.
✓
Inspection parameters per item — assay %, moisture content, particle size, visual inspection — all configurable
✓
COA linked to batch — Certificate of Analysis attached to the Quality Inspection record. Auditable.
✓
3-stage QC — GRN incoming, in-process during manufacturing, final before dispatch
✓
Rejection records — quantity rejected, reason, disposition (return/destroy). Debit note to supplier for substandard material.
ERPNext · Quality › Quality Inspection · QI-2026-0284
GRN Inspection
GRN Inspection — Paracetamol API · Batch: API-2026-0041 · 25 Oct 2026
| Parameter | Specification | Result | Status |
| Assay (% w/w) | 99.0 – 101.0 | 99.8 | Pass |
| Moisture content (%) | NMT 0.5 | 0.3 | Pass |
| Melting point (°C) | 168 – 172 | 169.5 | Pass |
| Visual appearance | White crystalline powder | Complies | Pass |
Formulation BOM and Manufacturing Batch
Formulation BOM defines the standard quantities of API and excipients per batch size. Work Orders track actual consumption. Yield variance — actual output vs standard — calculated automatically per batch. Scrap and rework recorded with accounting entries.
✓
Formulation BOM — API, excipients, packaging materials with standard yield per batch size (e.g., 10,000 tablets)
✓
Work Order per batch — tracks actual API issued, actual excipient consumed, actual FG produced
✓
Yield variance per batch — actual output vs standard. Yield loss posted to Yield Loss account automatically.
✓
Batch Manufacturing Record — all RM lots used, quantities consumed, operator, date and yield in one document
✓
COGM posting — Cost of Goods Manufactured posted to accounts when batch Work Order is completed. No manual journal.
Expiry Alerts and Batch Ageing Report
Configure an expiry alert threshold per item — 30, 60 or 90 days before expiry. Items approaching this threshold are flagged automatically in ERPNext. The Batch-wise Ageing report shows all batches sorted by days-to-expiry so the sales team can prioritise fast-moving distributors for near-expiry stock.
✓
Alert threshold per item — 30/60/90 days before expiry. Email alert auto-sent to warehouse manager.
✓
Batch-wise ageing report — all batches sorted by expiry date. Days-to-expiry column immediately visible.
✓
Act before expiry — 60-day warning gives time to push near-expiry stock to fast-moving distributors. Write-offs become avoidable.
✓
Expired batches blocked — expired batches flagged in the batch selector. FEFO prevents expired stock selection at dispatch.
GST — Multi-rate pharma tax structure
Pharmaceutical GST is complex — 0% for some APIs, 5% for formulations, 12% above a threshold, 18% for some healthcare devices. ERPNext handles all rates — HSN code and GST rate configured per item and applied automatically on every Sales Invoice. GSTR-1 JSON export ready for portal upload.
✓
HSN code per item — Chapter 29 (APIs), Chapter 30 (formulations), Chapter 90 (medical devices) all configured
✓
GST rate per item — 0%, 5%, 12%, 18% configured in the item master. Applied at invoice — no manual selection needed.
✓
e-Invoice IRN — auto-generated for businesses with AATO above ₹5 crore. QR code embedded in print format.
✓
e-Way Bill — from Delivery Note for goods movement above ₹50,000 via India Compliance app
✓
GSTR-1 JSON export — B2B with distributor GSTIN, B2CS, HSN summary. Upload directly to GST portal.
Batch Traceability — drug inspector and recall ready
Complete forward and backward traceability in ERPNext. Forward: which distributors and customers received stock from a specific batch. Backward: which API lots and excipient batches went into a specific finished product batch. Both available from one report in 90 seconds.
✓
Forward traceability — find all deliveries from a specific FG batch: customer, date, quantity, delivery challan number
✓
Backward traceability — find which API lot and excipient batches went into a specific finished batch
✓
Recall management — all affected deliveries identified in seconds. Customer contact information in CRM linked.
✓
Drug inspector audit — traceability report generated on demand. No manual paper file search required.
✓
Batch Manufacturing Record — all inputs, outputs, QC results and operators in one linked document per batch