Skip to content
Cash Flow Inventory / Docs
Operations

Batch/Lot Tracking & Quality Control

If something ever goes wrong with a finished lot, this is what lets you answer "which raw materials actually went into it" in seconds instead of guessing: every batch you produce is a trackable record with its own manufacture date, expiry date, and (if serial-tracked) individual unit numbers — and it can go through a formal, attributable pass/fail inspection with dual sign-off and a printable Certificate of Analysis. Lot Genealogy is what traces a finished lot back to exactly which incoming raw material batches made it.

There are actually two related but separate batch records under the hood, and knowing which is which avoids confusion (see section 5): a stock-side batch (created automatically on Finished Goods Receipt, used for expiry/quantity tracking and genealogy) and a QC-tracking batch (created as a deliberate extra step on the Batches list, used to drive the QC Dashboard's queue/inspection/sign-off workflow).

Who this is for

  • Food & beverage producers needing expiry tracking and recall readiness.
  • Pharmaceutical, cosmetics, or any regulated-goods manufacturer that needs a real, attributable inspection record for what it ships.
  • Any manufacturer that wants real traceability instead of "we think it was probably from that batch."

Batch/Lot Tracking & Quality Control — the main screen

drop a screenshot at assets/screenshots/guides/batch-lot-qc.png to replace this

1. CREATING A BATCH

When finished goods are received against a Work Order for a batch-tracked item, the stock-side batch record is created automatically: a batch number (generated automatically if you don't specify one), manufacture date, expiry date, and quantity. If the item is also serial-tracked, an individual serial number is created for every unit in the batch at the same time.

Putting that batch through formal Quality Control is a separate, deliberate action, not something the receipt screen does for you: go to the Batches list, use Add Batch against the same Work Order, and optionally Generate Serials and/or Send to QC right from that form. This creates the QC-tracking batch record that the QC Dashboard actually works against.

2. SENDING TO QUALITY CONTROL

From the Batches list, a batch (or whatever portion of it hasn't been queued yet) can be sent to inspection at any time. This correctly handles partial sends — a 100-unit batch could have 30 units in QC while 70 remain un-sent for now, and sending again only queues what's genuinely still outstanding, so you never accidentally double-queue the same units. Once queued, a row shows up on the QC Dashboard as Queued, then Processing once someone opens it to work the inspection.

3. RECORDING A QC RESULT

The QC Dashboard supports a real, multi-step sign-off chain, not just a single button:

The QC sign-off chain
graph LR
  A["Queued"] --> B["Processing"]
  B --> C["Operator Sign"]
  C --> D{"QC Analyst Result"}
  D -->|"Pass"| E["Pass Quantity recorded"]
  D -->|"Fail"| F["Reject Reason recorded"]
  F --> G["Rework Quantity"]
  F --> H["Scrap Quantity"]
  E --> I["QA Manager Sign-off"]
  G --> I
  I -->|"Approve"| J["QA-Approved"]
  I -->|"Reject"| K["QA-Rejected"]
  • Operator sign — an attestation step (name required) marking that the operator has performed the run being inspected.
  • QC Analyst result — Pass, Fail, or Pending, plus:
  • Pass Quantity — exactly how many units passed.
  • Reject Reason — a clear reason code/text for anything that failed.
  • Rework Quantity / Scrap Quantity — of the failed units, how many can be salvaged through rework versus written off entirely. A faster inline "quick approve" path is also available directly from the queue row (pass quantity + a registered approver + a PIN entered for the audit record) for straightforward passes.
  • QA Manager final sign-off — a distinct second signature that moves an already-Passed/Rejected row to a QA-namespaced terminal status (QA-Approved / QA-Rejected), so the analyst's call and the manager's final approval stay visibly separate in the record. Every step — operator sign, analyst result, QA sign-off — is permanently logged with who performed it, when, and any comments, and a printable Certificate of Analysis (batch summary + full audit trail) can be generated straight from the dashboard.

The approver PIN is an attestation/audit field, not a stored credential — there's no PIN column to check it against, so treat it as "who signed this," not a password gate.

Important: this whole chain is real, working audit and compliance evidence, and on one specific path it's also a real stock gate. Saving a Finished Goods Receipt itself never blocks — that stock posts and is sellable immediately (see the Finished Goods Receipts guide). But if you invoice straight from the Work Order screen's "Create Invoice" shortcut, that path DOES enforce QC: for an item marked QC Required, it will only let you invoice the quantity that has actually passed QC, and refuses outright if nothing has passed yet. POS, Sales Orders, and standalone Sales Invoicing don't check QC status at all, so on those paths "QC Required" is still process and paper trail, not a system- enforced hold — treat the Work-Order-to-Invoice shortcut as the one place this chain has real teeth today.

4. LOT GENEALOGY — TRACE ANY FINISHED LOT BACK TO ITS INGREDIENTS

Given any finished Work Order, Lot Genealogy shows exactly which specific raw-material batches went into it — answering, in seconds, "if we need to recall or investigate this finished batch, which incoming batches of which ingredients were actually used to make it?" It's a read-only report that draws on both the stock-side batch ledger and the QC-tracking batch records, so it gives one combined picture even though the two systems are recorded separately. This is the report you pull out during a recall, a customer complaint investigation, or a supplier quality dispute.

5. HOW IT CONNECTS TO THE REST OF THE SYSTEM

  • Products & Inventory — Batch Tracked, Serial Tracked, and Require QC are all opt-in flags set per item, so this rigor only applies where you actually need it.
  • Finished Goods Receipts — where the stock-side batch (and serials) are created; does not itself touch the QC-tracking system.
  • Batches list — where a QC-tracking batch is created against a Work Order and, optionally, sent to QC. This is the bridge into the QC Dashboard.
  • Material/Ingredient Issues — where raw material batch selection feeds the genealogy trail.
  • QC Dashboard — a live view of everything currently Queued or Processing, plus the full sign-off workflow described above, so nothing sits waiting indefinitely without anyone noticing.

6. WHY IT SCALES FROM SMB TO ENTERPRISE

01

Small producer

Turn on batch tracking for the one product line that actually needs expiry dates; leave everything else simple, and skip the QC Dashboard entirely if you don't need formal inspection.

02

Growing operation

Partial QC sends and rework/scrap tracking match the reality of a busy production floor, not an idealized all-or-nothing process.

03

Enterprise / regulated manufacturing

A full, dual-signature pass/fail audit trail with a printable Certificate of Analysis, plus ingredient-to-finished-lot genealogy, gives auditors and enterprise customers real inspection evidence — pair it with your own process discipline, since the system tracks and reports but does not itself block a sale on a missing or failed result.

Quick Reference

Quick reference — where things live
  QC Dashboard .............................. Production > Quality Control
  Lot Genealogy ............................. Production > Lot Genealogy
  Batches list (create QC batch, send to QC). Production > Batches
  Stock-side batch/serial creation .......... Finished Goods Receipt screen
                                              (Open Work Order > Receive)

See this running in your own account

Free to start, no credit card required — most businesses are set up and creating real records within minutes.

Create free account