Importing vendor offers
A vendor sends a price list; you want those prices on your ingredients without retyping them. The offers import takes one row per price: this vendor sells this ingredient in this pack at this price. Committed rows become vendor offers on each ingredient’s card, feeding its price history. 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 |
| Vendor | Yes | Matched by name; an unknown name creates the vendor |
| Price | Yes | What the pack costs, in the vendor’s currency |
| Quantity | Yes | The pack size that price buys |
| Unit | No | The unit of the pack size, if it differs from the ingredient’s |
| Vendor SKU | No | The vendor’s own reference for the item |
| Lead time (days) | No | Days between ordering and delivery |
| Min order qty | No | The smallest quantity the vendor accepts |
| Currency | No | A code such as EUR or USD, read only when your plan includes buying in other currencies |
Matching by name
Section titled “Matching by name”The ingredient must already exist; import your ingredients first if needed. A row whose ingredient name matches nothing in your inventory is flagged. Use Map to ingredient on the row to point it at the right record, then save and recheck.
Vendors are more forgiving. An existing vendor matches by name (capitalization does not matter). An unknown name creates the vendor when you import, exactly like the manual offer form. Importing a new supplier’s full price list therefore creates the vendor once and attaches every offer to it.
Currency
Section titled “Currency”Until your plan includes buying in other currencies, every price is in your base currency and the Currency column changes nothing. Once it does, a price is in the currency the vendor invoices in:
- A blank cell takes the vendor’s own currency, or your base currency for a vendor the file creates.
- A code on a row that creates a vendor creates it in that currency.
- For a vendor you already have, the code must be the one they invoice in. Anything else is flagged “Currency differs from the vendor’s.” A supplier who invoices in two currencies is two vendors.
- A code BatchDash does not recognize is flagged “Unknown currency code.”
Price and pack size
Section titled “Price and pack size”Price and Quantity describe the pack together. Rio Chili Farm sells fresh habaneros in 5 kg crates at 42.00: price 42.00, quantity 5, unit kg. BatchDash works that out to 8.40 per kg. A pack quoted in another unit converts into the ingredient’s unit (a 25 lb sack for an ingredient kept in kg), so unit costs stay comparable across vendors.
Importing the same list again
Section titled “Importing the same list again”No row ever writes an offer twice. What a repeated row does depends on which price it repeats.
- What the vendor charges today. The row goes through with a note: Same price as the one on file. Importing it marks that price as checked today. Nothing is added to the price history. The offer keeps the day it was set, reads checked today, and its Old price flag drops. Re-importing a supplier’s list every quarter is how prices that did not move stay current. A file re-run the day it was imported changes nothing, since those offers were recorded today.
- An older price of theirs. If the vendor has moved from 12.00 to 13.00 and the file still says 12.00, the row is flagged “This exact offer is already recorded.” That price is a point on the history now, and the file is out of date.
See vendor offers and price history for what a check changes.
One thing an offer does not do: move stock. It records a price. Goods that actually arrived go through imported deliveries or a purchase order.