CSV imports
Your data rarely starts in BatchDash. The stock list lives in a spreadsheet, prices sit in a vendor’s export, deliveries in an old tool. CSV imports bring all of that in without retyping it. If you are just getting started, this is the fast lane through setting up your inventory.

BatchDash imports three kinds of file. Each has its own article:
| Kind | A committed row creates |
|---|---|
| Ingredients | An ingredient (name and unit), optionally with opening stock |
| Vendor offers | A vendor price for an existing ingredient |
| Deliveries | A stock movement that raises stock and updates the average cost |
CSV imports are part of the larger plans.
The workflow
Section titled “The workflow”Every import follows the same steps.
- Pick a kind on the imports page. There are shortcuts where you work: the Import menu on the Ingredients page, Import deliveries on the Orders page.
- Drop a CSV, or click to browse. The first row must be column headers; Download a template gives you a file with the right ones. The file is read in your browser; nothing is created yet. Files are capped at 5,000 rows and 8 MB, so split anything bigger.
- Map columns. Under Column mapping, match each field to a column from your file. BatchDash guesses from your headers where it can: a column named “prix” finds Price on its own.
- Review the rows. Each row gets a status, Ready or Needs attention, with the issue spelled out: unknown unit, invalid number, duplicate of an earlier row.
- Press Import ready rows. Ready rows are committed and turn Imported. Rows that still need attention stay put.
Fixing rows
Section titled “Fixing rows”You do not need a perfect file. Click Fix on a flagged row to edit its values in place, then Save & recheck. Offer and delivery rows can also be pointed at the right record with Map to ingredient or Map to vendor when a name in the file does not match yours.
Work in passes if you like: fix a few rows, import, fix a few more. The counters at the top track Ready, Needs attention and Imported until everything in the file is in.