Importing deliveries
You have a season of delivery notes in a spreadsheet and want stock levels and costs to reflect them. The deliveries import posts each row as a real delivery, dated and costed. The shared upload-map-check flow is described in CSV imports.
Columns
Section titled “Columns”| Field | Required | What goes in it |
|---|---|---|
| Ingredient | Yes | Matched by name against your inventory |
| Quantity | Yes | How much arrived |
| Unit | No | The unit of the quantity, if not the ingredient’s own |
| Unit cost | No | Cost per unit, in the same unit the row uses |
| Date | No | The delivery date; blank means today |
| Lot code | No | The lot printed on the goods |
| Expiry date | No | Best-before or expiry date |
| Notes | No | Anything worth keeping, like a delivery note number |
Exactly like a manual delivery
Section titled “Exactly like a manual delivery”Each committed row goes through the same stock ledger as a delivery you type on the ingredient’s card. Stock rises by the quantity; the cost folds into the weighted average cost. 20 kg of habaneros at 8.40 per kg behaves identically whether imported or entered by hand, and the movement shows up in the ingredient’s stock history like any other.
Quantities in another unit convert on the way in. A row of 25 lb with a cost per lb is restated in kg for an ingredient kept in kg: both the quantity and the per-unit cost, so the math stays right.
Dates, lots and expiry
Section titled “Dates, lots and expiry”The date column becomes the movement’s date, so backfilled history sorts correctly in the ledger. Write dates as 2026-07-16, or day-first as 16/07/2026; the import never assumes month-first. A date it cannot read flags the row instead of guessing.
Lot code and expiry date are carried onto the delivery, so imported stock keeps its traceability.
Two boundaries to know. The ingredient must already exist; unknown names are flagged and you map them to a record (import ingredients first if the list is long). And deliveries you receive against a purchase order inside BatchDash are posted for you when you receive the order; the import is for stock that arrives outside that flow, or arrived before you started.