Documentation/ Checking the line items/ Batch and expiry date
Batch and expiry date
The batch and the expiry date are traceability data that travel with the line. They are stored as text, and whether they appear at all depends on the document type: they are not asked for everywhere.
Document › items tab › Batch and Expiry columns
On this page
Where they appear
Both columns are governed by the document type and they ignore the saved column choice. Whatever you ticked or unticked on another document, the type's rule wins:
| Document type | Batch | Expiry |
|---|---|---|
| Purchase invoice | Always shown | Available |
| Expense invoice | Hidden | Available |
| Transport invoice | Hidden | Hidden |
| Delivery notes | Hidden | Available |
| Customs documents | Hidden | Available |
The logic is simple: the batch is handled where the purchase of goods is posted, which is the purchase invoice. And a transport invoice moves no goods, so neither column means anything on it.
The batch
The batch identifies the units made or packed under the same conditions. It is what lets you know, when there is a safety or quality problem, exactly which goods are affected and which customers they went to.
In the application it is a free text field on the line. You fill it in by typing straight into the cell and it is written with the list's Save button, along with every other line.
Industries where it stops being optional: food, drink, pharmacy, cosmetics, chemicals and anything under traceability rules.
The expiry date
The Expiry column records the use-by or best-before date of the batch you received. It is free text too.
It is used for two things: keeping stock rotating, so what expires first goes out first, and spotting on arrival that goods have less shelf life than the supplier agreed, which is grounds for refusing them or raising it.
Format: stored exactly as typed
Both fields are text. The application does not convert or check date formats: it stores exactly what you type. Typing 03/09/26 does not turn into a normalised date.
Which matters in practice: if these values are headed for the ERP, the format to type is the one the ERP expects, not whatever is convenient. And it is worth always using the same one across the organisation, because a text field with three different formats in it is a field nobody can use afterwards.
What we would advise: settle on one format, four digits for the year, say, and write it down internally. It is the kind of agreement that saves months of unusable data.
Where the data comes from
When the supplier prints the batch and the expiry on the document line, the reading picks them up and they arrive filled in. That is normal on delivery notes in industries where traceability is required.
When the supplier prints them somewhere else, on a label, at the foot of the document, or only on the physical box, there is nothing to read and the field arrives empty. In that case you type it in.
There is no automatic correction for these two fields: the column corrections work on quantity, price and discount, not on batch and expiry.
Why the ERP insists on them
On accounts integrated with SAP, the line of a purchase invoice has to carry an item, a nominal account and, where the item is managed in batches, a batch. Without it the send is refused.
That is why the batch column is forced visible on purchase invoices: if the user's column choice had hidden it, the value would be missing with no visible reason.
You recognise the ERP refusing something for a missing batch because the document comes back with a line error and the line concerned has that field empty.
Two batches on one line
The same item can arrive on a single row of the document but split across several batches. The field takes one value per line, so the right way to record it is to split the line: one line per batch, with the quantity that belongs to each.
- Set the original line's quantity to the first batch and fill in its batch field.
- Add a new line with the same item, the second batch's quantity and its batch.
- Check on the totals bar that the amounts still agree with the document.
- Save.
Typing two batches separated by a slash in the same field only looks like a solution: the ERP will treat it as one batch with an odd name, and the traceability will be worthless.
Things that come up
| What you see | Why | What to do |
|---|---|---|
| The Batch column is not there | The document is not a purchase invoice. | That is how it should behave. On other types the batch is not handled. |
| The Batch column is there although it was unticked | On purchase invoices it is forced visible. | Deliberate: without that value the ERP send fails. |
| The batch is empty on every document from one supplier | That supplier does not print it on the line. | Type it in, or ask the supplier to set it out per line. |
| The ERP refuses the expiry date | The format you typed is not the one the destination expects. | Type it in the ERP's format. The field does not convert it. |
| One line covers goods from two batches | The supplier invoiced it on one row. | Split it into two lines, one per batch. |