How does the CSV import map my columns?
Upload the file exactly as it came out of your old system. ibakepro reads the headers and a sample of the rows, proposes a mapping from your column names to its own fields and shows you a preview of every row as it would land. Nothing is written until you press import. Smart Import costs no Choux credits.
How the mapping is worked out
Obvious headers are matched first, before any AI is involved. "Customer First
Name", customer_first_name and "FirstName" all pin to the same field without
Choux ever seeing them. Only the headers left over
go to Choux, which sees them and a small sample of rows and proposes the rest.
Its suggestions never overrule a header that already matched cleanly.
Choux can also propose small conversions rather than just pairings: reading dates written day-first, stripping a currency symbol, splitting a single "Billing Name" column into first and last name, mapping your old system's status words onto ibakepro's or matching a supplier by name. You can remap any column yourself in the preview, or unmap it to leave it out.
Rows it cannot read
Every row is validated against the target fields before you commit, and the
ones that fail are separated out with the specific reason: event_date must be YYYY-MM-DD, total must be a number. From there you can fix a whole group of
identical errors in one step, have Choux repair a batch, edit rows
individually or skip them.
If you import anyway, ibakepro names the number being left out and offers the failing rows as a CSV first, so you can fix them in your spreadsheet and import them as a second file. Rows are never silently dropped, but they are also never guessed at: a row that will not validate does not get written.
What imports
Orders, customers, expenses, ingredients and supplies. Up to 2,500 rows per file.
The catalogue is assembled once in the product builder. Products are built from components, components from pantry items, so that costs and allergens roll up properly and your pricing means something. See pricing a custom cake for why they are assembled rather than typed.
Imports create; they never update. A customer whose email already exists, an order whose number or external ID already exists, a pantry item with a name already in use: all skipped, not overwritten. That makes re-running the same file safe, and it means you cannot use an import to bulk-change prices on records you already have.