What B1 manages per item.

In SAP Business One you decide per item whether it is tracked. In Inventory > Item Master Data, on the General tab, the field Manage Item by has three values: None, Serial Numbers and Batches. A batch is a quantity of the same item with shared characteristics, such as one production run of a medicine. A serial number identifies one single piece, such as one laptop. An item has batches or serial numbers, not both, and it must be an inventory item: not a sales-only or purchase-only item, and not a phantom item.

Next to it sits the Management Method, with two values:

  • On Every Transaction: the batch or serial number is required on every receipt and every issue. A goods receipt PO cannot be added until its full quantity is divided over batches or serial numbers.
  • On Release Only: the number is required only when stock leaves: on deliveries, A/R invoices, goods issues, inventory transfers, issues for production and the like. On receipt it is optional; the numbers are "completed" later.

The company-wide default is in Administration > System Initialization > General Settings, Inventory tab, Items subtab; the item master overrides it. Changing Manage Item by later is blocked as long as the item has stock, available batches or serial numbers in any warehouse, or batches allocated on open sales orders or A/R reserve invoices. So decide before the first receipt.

What a batch and a serial number carry.

A batch in B1 is more than a number. In the Batches - Setup window, and later in Batch Details (Inventory > Item Management > Batches > Batch Details), every batch has:

  • the batch number itself, up to 36 characters;
  • Batch Attribute 1 and Batch Attribute 2, two free fields, often used for the supplier's own lot number;
  • an expiration date, a manufacturing date and an admission date;
  • a free-text Location and Details;
  • a status: Released, Locked or Not Accessible.

The status matters in the warehouse. A Released batch can be used anywhere. A Locked batch can only be used in inventory documents, such as inventory transfers and goods issues. Not Accessible is meant for batches in production or in a quality check: it cannot go on a sales document or an A/P credit memo, but it can still be transferred. The default status for new batches is set in General Settings.

One trap: a batch number is shared across warehouses. If you receive a batch number that already exists for the item, B1 warns you, and if you continue, the new batch takes over the attributes of the existing one, user-defined fields included; only Location stays as you entered it. A supplier who reuses lot numbers can replace the expiry date you typed with an old one.

A serial number has its own set: Serial Number, Mfr. Serial No. and Lot Number, with admission, manufacturing and expiration dates and a manufacturer warranty start and end. In General Settings, Unique Serial Numbers by decides which of those fields must be unique per item: None, Mfr. Serial No., Serial Number or Lot Number. B1 also keeps an internal System Number of its own. With On Release Only you can tick Automatic Serial Number Creation on Receipt: B1 then numbers the pieces itself on receipt, and the real serial numbers are filled in later.

Receiving: where batches and serial numbers are created.

Batches and serial numbers are created on an inventory receipt document: a goods receipt PO, an A/P invoice, a goods receipt, a receipt from production or an A/R credit memo. With On Every Transaction, the Batches - Setup or Serial Numbers - Setup window opens by itself when you add the document. Otherwise you open it with Ctrl+Tab in the Quantity field, by right-clicking and choosing Batch/Serial Numbers, or from the Go To menu.

For each document row you enter batches and quantities in the Created Batches table, or let B1 generate them with Automatic Creation and a string pattern. Only the field defined as unique is required; dates and attributes can be filled in later. With On Every Transaction the row quantity must be fully divided over batches before the document can be added. In a warehouse with bin locations every batch or serial number must also go to a bin; see the guide on bin locations.

With On Release Only nothing is asked on receipt. The stock is there, without numbers. When it is issued, someone completes the batches first, through Inventory > Item Management > Batches > Batch Management. That saves typing at the dock but moves the work to the moment of shipping, and between receipt and issue B1 does not know which batch is where.

Issuing: selecting batches and serial numbers.

On an outgoing document, such as a delivery, A/R invoice, goods issue, inventory transfer or issue for production, B1 opens the Batch Number Selection or Serial Number Selection window. Available Batches lists what is in stock, with the quantity, the quantity allocated to other orders and the first document it is allocated to. You move batches to Selected Batches until Total Needed is reached; with less, the document cannot be added. Auto Select fills the remaining quantity for you, following the current sort of the list. By default that sort is the batch number, not the expiry date, so first-expired-first-out only happens if someone sorts or checks for it.

Batches can be allocated earlier, on the sales order or A/R reserve invoice, and on the pick list. Returns work the other way round: on a return or A/R credit memo B1 suggests the batches that went to that customer, From Base Document or Related to Current BP. One limitation to know: when a delivery is copied to an A/R invoice, the batches of the delivery are not shown on the invoice.

In a warehouse with bin locations, the field Issue Primarily By on the item decides the order of the questions: first the batch and then the bin, or first the bin and then the batches in it. A serial number is always in one bin, so choosing one chooses the other.

Tracing a batch or serial number.

Traceability is why most companies switch batches on. B1 has four reports for it, all under Inventory > Inventory Reports:

  • Batch Number Transactions Report: per batch and warehouse the current quantity, and below it every receipt and issue of that batch. It also opens from a document or the item master through the Go To menu.
  • Serial Number Transactions Report: the same per serial number, with filters on dates, warehouse, business partner and documents.
  • Forward and Reverse Batches and Serials Trace Report: follows batches and serial numbers forwards and backwards through production and distribution.
  • Batches and Serials Inventory Audit Report: the value per batch or serial number, for items that use the serial/batch valuation method; see the guide on valuation methods.

For a recall the question is usually: which customers received batch X, and which raw material went into it? Those answers only exist if every receipt and every issue recorded the batch. A few months on On Release Only, or a warehouse that just took one from the shelf, is exactly the gap a recall falls through.

Common mistakes.

  • Switching batches on after go-live. Manage Item by cannot change while there is stock, so it means emptying the item first or starting a new item code.
  • On Release Only to save time on items you really have to trace. The time is saved at the dock and spent at the recall.
  • Supplier lot numbers that collide. The same number for a different production run takes over the old attributes, expiry date included.
  • Empty expiry dates because the field is optional. A batch without an expiry date cannot be checked on shelf life, by B1's reports or by anything else.
  • Treating Locked as a full stop. Locked and Not Accessible keep a batch away from customers, but neither stops an inventory transfer.
  • Batch numbers longer than a label can hold. B1 takes up to 36 characters; the batch field in a GS1-128 barcode up to 20.

Before you start.

  • Decide per item: batch, serial number or nothing, before the first receipt.
  • Use On Every Transaction for anything you may have to recall; On Release Only only where you never need to know which batch is in stock.
  • Agree what goes in Batch Attribute 1 and 2, and make the expiry date part of receiving.
  • Set Unique Serial Numbers by and the default batch status in General Settings.
  • Ask suppliers for GS1-128 labels with batch and expiry date; see the guide on GS1-128.
  • Run the Batch Number Transactions Report once on a test batch, from receipt to delivery, so you know the trace works before you need it.

How KoonScan handles batches and serial numbers.

KoonScan, our scanner app, posts the same standard documents through the Service Layer, so every batch and serial number lands in B1's own fields and shows up in the reports above. On receipt it asks for the batch or serial number of every batch or serial item, whatever the management method; it does not leave them to be completed later. A GS1-128 label fills item, batch and expiry date in one scan. For a batch that already exists, KoonScan takes the expiry date from B1; it warns when the same batch is scanned with two expiry dates, and can ask about or refuse a batch that has expired or is too short-dated. A serial number is one piece, scanned once, and must not already exist in B1.

When issuing, KoonScan checks the scanned batch against what B1 allocated to the line, and refuses Locked and Not Accessible batches for customers. FEFO is optional: when it is on, KoonScan asks about or refuses a batch while an earlier-expiring one is in the warehouse; serial numbers fall outside that check. On the scanner you can look up a batch, lock it with a reason (in B1 it becomes Locked; Not Accessible is set in B1 only), move a whole batch in one go and print a label with item, batch and expiry date. All about KoonScan.

Sources: SAP Business One 10.0 help documentation (Managing Batch Numbers, Managing Serial Numbers, Item Master Data: General Tab, General Settings: Inventory Tab, Batches - Setup, Batch Number Selection, the batch and serial number reports); the SAP Business One 10.0 database reference (OBTN, OSRN, OBTQ); the Service Layer $metadata of SAP Business One 10.0 FP 2608 (BatchNumberDetails, SerialNumberDetails).