Bulk Import (CSV)

Several parts of the app let you load many records from a spreadsheet instead of typing them one at a time — suppliers, rates, and tour templates. They all work the same way, so once you have done one you have done them all.

Sample → Export → Import

Wherever bulk import lives, you get the same three buttons:

  • Sample CSV — downloads a sheet with the right column headers and one filled-in example row, so you never have to guess the shape.
  • Export — downloads what is already in the app, in the same shape. Edit it and re-import to make changes in bulk.
  • Import — reads a filled-in sheet back in.

Screenshot: The Sample / Export / Import buttons in the Tour Manager

Import upserts by code

Each row is matched on its stable code — a supplier’s SUP-#### code, a template code, a rate’s key. If the code already exists the row updates it; if it is new the row creates it. Running the same file twice is safe. Everything imports into your own organization’s data and nowhere else.

The example row in a Sample CSV uses an EXAMPLE- code, and import quietly skips those. So you can download a sample, import it unchanged to prove the round-trip, and nothing is created.

What a sheet does and does not carry

A flat sheet carries the flat facts — names, types, durations, contact details, prices. It does not carry the nested things a spreadsheet cannot hold: a tour’s day-by-day itinerary, its hotels, or its variations. Importing tour rows creates the shells; you build each itinerary in the editor afterwards. Crucially, import writes only the columns in the sheet, so re-importing a template never wipes an itinerary you have already built.

Rates and the supplier code

Rate sheets carry a supplier code column so each rate re-attaches to the right supplier. If a rate names a code that does not exist in your organization, that row is reported and skipped rather than guessed — import the supplier first (or fix the code), then re-run. This is what lets a set of rates move cleanly between installs; the full story is in Suppliers.