Importing your data from your old system
Bring your catalogue, customers and jobs across from whatever you ran before, finished work and upcoming bookings alike, with a preview and an undo on each.
Last updated 1 October 2026
Catalogue → Import holds three importers: your catalogue, your customers, and your jobs (finished work and the bookings still in your old diary). Each previews before it writes anything; the customer and job importers can be undone afterwards. Do it on a desktop.
Export whatever your current system gives you, upload that, and tell Velobook which column is which. The only requirement is a header row.
Your catalogue
Import your catalogue reads what you already sell and suggests services, add-ons, workshops, rentals, tours and fittings. Three sources, on tabs:
- Website: the URL of your existing services page
- Upload: a price list as a CSV, image or PDF under 4MB
- Hire fleet: a CSV of your hire bikes
- Website and upload land everything in a review list first. Every row is editable and can be unticked. Nothing is written until you press Import, and what you import is added to your catalogue, never replacing it.
- Where your price list is split under headings, those headings come across as sections on your Service menu.
- Tidy blurbs and details afterwards in the matching Catalogue tab. Building from scratch instead? Start at add your first service.
Hire fleet takes one row per bike:
- A model or name column is the only must-have; size, serial, status, rates and rider heights are picked up if present
- Bikes are grouped under their model and given fleet numbers
- A bike whose serial you already have is skipped, so re-running the same file is safe
- Rows it cannot read are listed above the review, never dropped quietly
Your customers
Import your customers takes a CSV, up to 10,000 customers and 5MB at a time. It is built around a Lightspeed R-Series export and also handles X-Series or a plain CSV; pick which under Where it came from, which keeps each system's customer numbering separate.
- 1Upload the CSV. Velobook works out each column from its contents, then from its name, and tags each column with which it used.
- 2Check the mapping. Suggest the rest fills in the gaps. It sends your column names only; no customer row leaves the page.
- 3Map at least Email or Phone. Without one there is nothing to tell customers apart and every row is skipped.
- 4Press Check to run the real matcher without importing, read the preview, then import.
- Every preview row comes back New, Matches existing, Duplicate in file, Skipped or Error
- The same customer listed twice in your file is collapsed to one; rows with no email and no phone are skipped
- Anything not imported downloads as a CSV to fix and re-upload
An import only fills in details you do not already have: it can add a missing phone number but never changes one you have. Booking history is left alone. The flip side: a customer you erased at their request comes back if they are still in the file. Take them out first if unsure.
Undo this import removes the customers this import added. Customers who already existed are not touched, and anyone who has booked since the import is kept.
Your jobs
Import completed jobs covers finished work and the jobs still in your old diary. Import your customers first, so jobs land against people you already have. Same limits: CSV, 10,000 rows and 5MB at a time.
- The first question is What is in this file?. Finished jobs fills in each bike's history so its record starts the day you first saw it. Jobs still to do lands work booked in your old system as live jobs on your board.
- Two columns are required: Date and Service. Job or invoice number, first and last name, email, phone, bike or item and notes are optional.
- A Jobs still to do file can also map a Start time (24 hour, like 14:30). Without one, each job sits at 9am for you to drag into place.
- You are asked whether dates are day-first or month-first. Reading 03/04/2025 the wrong way shifts a shop's whole history by months.
- Then match services: every distinct service name in your file is listed with how many jobs use it, and you map each onto one of yours. Anything unmatched is skipped, not guessed.
- A preview of the first rows shows what will land before you commit.
Finished jobs land completed: nobody is emailed, no stock moves (see parts, stock and ordering), and money is not imported. Jobs still to do land as booked jobs at their own time, with no email or text to the customer, and do not use up your online booking slots. Neither kind is billed as a Velobook booking.
Re-importing the same export is safe if you mapped the job or invoice number: rows already there count as skipped. Undo takes the whole import back out in one click.
- Map the bike make, model and serial number and each customer's bike is saved, so it comes up when they next book
- Already imported without them? Upload the same file again: jobs already there are left as they are and just gain their bike
- Undo takes the jobs back out but keeps the saved bikes
Your hires
Shops that hire bikes get a fourth importer, Import existing hires, for the hires you have already agreed: the ones that have been and gone, and the ones still to come. Import your customers first, so these land against people you already have.
- 1Choose whether the file holds past hires, which fill in each customer's history, or hires still to come, which land on your grid as booked.
- 2Export or type your hires as a CSV and upload it. Download a blank template if you are typing them up from scratch.
- 3Match the columns, then match the item names in your file to your own hire items. Bikes go out against the item you match, so your fleet grid shows what is really out.
- 4Check the preview, then import.
Nobody is emailed or texted, nothing is pushed to your till, no deposit is asked for, and nothing is billed. Prices are not imported, or what your old system charged would read as money you took here. A row is not turned down for being over your fleet's numbers, because you already promised it, so check your grid afterwards if the file is big. Undo takes the whole import back out in one click.