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; where your workspace buys products, a product line too |
| Kind | No | ingredient, packaging, supply or product. Blank lets the name decide |
| 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.
Products you buy
Section titled “Products you buy”Where your workspace buys products ready-made, the same file carries their prices. The first column then reads Ingredient or product, and a row can name a product line by its SKU, or by its name as the product page shows it, with or without its format. Kind settles a name an ingredient and a product share: write product, or ingredient, packaging or supply. With Kind blank, an ingredient of that name wins, then a product’s SKU, then a product’s name.
Any product line takes a vendor’s price except a pack, which is filled from other products: “A pack is filled from other products. It cannot be bought.” A product you make takes one too, since a co-packer’s quote for making it is how buying it from them starts. The pack is counted in the product’s own unit: a case of 12 jars is quantity 12, with jar, jars or nothing in Unit. Any other unit is flagged “A product is counted in its own unit. Leave the unit blank or use that one.”
Naming a product takes the right to manage products, on top of the right to import. Without it, a row whose Kind says product waits with “Naming a product here takes the right to manage products.” In a workspace that does not buy products, the same row waits with “Products bought ready-made are not enabled for this workspace.” A Kind that is none of the four words is flagged with a message that lists them.
The vendor offers file of the export writes Kind and the product rows, so it comes back in as the same prices.
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, for ingredients and products alike.