Help centre · For airline owners
Moving your airline from another platform
Watch the video: Move your airline to Vaeroly
This article shows how to bring your airline's setup and pilot hours over from the platform you use now, and how your pilots get their hours back when they join.
You need to be the owner, or staff with Import and export airline data, or with one of the Operations permissions Hubs and airports, Fleet, Routes and schedules or Ranks. Each part of a file needs its own permission: staff who can change only routes import only the routes, and are told what was left out. Pilot records and their hours need Import and export airline data (and, for the hours, the permission to change pilots' hours). Everything happens on Staff → Airline settings → Import & export.
The guided page: Move your airline here
Staff → Airline settings → Move your airline here puts the whole move in order, in five steps. Each step ticks itself off from your airline's data and links to the page that does it, so you can come back any time to see what's left. Getting started shows a card for it too, until you press Hide (the page itself stays in the menu).
- Where you come from. Pick what you use now (export files from another crew centre, a platform with an API, spreadsheets or Google Sheets, a database backup of a crew centre you ran yourself, or another airline on Vaeroly). It only changes which tools the next step points to.
- Import fleet, routes and airports, on the Import & export page (see below).
- Import pilots: their records and hours (see Your pilots get their hours below).
- Import flight history: see Importing flight history.
- Share your join link in your own channels (see Share your join link below).
What comes over
The import reads airports, hubs, fleet, routes, ranks and pilot records with their hours. It does not create pilot accounts. Your pilots join Vaeroly themselves and claim their old record, which moves their hours over. Once they've joined, you can bring their past flights (PIREPs) into their logbooks from a file: see Importing flight history.
Moving from a crew centre you ran yourself? A backup of its database brings everything at once, past flights and awards included: see From a database backup file below.
If your current platform has an API with client credentials
Not sure? Use the export files instead (see Export files from your current crew centre below).
1. Create an API client on your current platform
In your current platform's staff settings, create a new API client (API v3). Choose Client credentials with the ops:read scope. Copy the client ID and secret.
2. Preview
- In Vaeroly, open Staff → Airline settings → Import & export.
- In the Import from another platform (API) card, paste the Client ID and Client secret.
- Press Connect and preview.
The ID and secret are only used for this one request and aren't saved, unless you tick Keep in sync every night (see below).
The preview shows how many airports, aircraft, routes, ranks and pilots were found, with samples. Check that the airports, hours and block times look right. Warnings appear in red at the top.
3. Import
Press Import this into your airline. Do this within 30 minutes of the preview. If the preview has expired, press Connect and preview again.
A report then shows what was created and updated. If anything was skipped, open the list or press Download the full report.
A few things to know:
- Aircraft are matched by registration, routes by flight number with departure and arrival, and ranks by name.
- Routes without a block time get an estimated one from the distance.
- Aircraft types are matched against the list of real ICAO types. A code with a suffix, like
B738-ABC, is read asB738. An aircraft with an unknown type is skipped and listed, and a new route whose types are all unknown is imported switched off: pick its types on the Routes page, then switch it on. - Airports without coordinates can't be added and are skipped.
Fly on both platforms while you move: Keep in sync every night
Moving everyone on one day is hard. With the nightly sync your airline can run both platforms side by side for a few weeks: pilots who still fly on the old platform keep their flights, and those who try Vaeroly fly here.
- In the Import from another platform (API) card, tick Keep in sync every night before you press Connect and preview.
- Check the preview and press Import this into your airline as usual.
From the next night on, for 90 days:
- New pilot records and new accepted flights (PIREPs) come over, the same way the first import brings them: straight into the logbook of a pilot who is already a member here, or waiting on their imported record until they claim it.
- Routes, fleet, ranks and hubs are never changed by the sync. Change them here as you like.
- A flight never comes over twice, and a flight a pilot also filed here (the same airports, off blocks within 2 hours) is left out. The same goes for an import by hand and for flights waiting on a record when its pilot claims it. A flight staff rejected here doesn't count.
- A pilot record you remove on the Import & export page while the sync is on isn't brought back by it. To bring one back, import from the other platform by hand.
The sync runs as you, with your staff permissions of that day, and needs Import and export airline data.
The secret. To read every night, Vaeroly keeps the API client: the ID, and the secret sealed so only this site can read it back, for reading only (ops:read). It's never shown again: the Nightly sync from another platform card on the Import & export page shows only its last 2 characters, who saved it and when.
It stops by itself after 90 days (you're emailed a week before), when the other platform refuses the client twice in a row, after 5 failed nights in a row, when whoever set it up can no longer import pilot records, or when the airline is hidden or set to be deleted. Press Stop on the card to stop it any time. When it stops, the saved secret is deleted; everything it brought stays. The owner and whoever set it up are emailed when a night fails and when it stops. Run now reads straight away, at most once every 10 minutes. If a night's read is cut short (the other platform has more than can be read in its time), the card says so, and you're emailed after 3 nights in a row.
To keep going after 90 days, import again with Keep in sync every night ticked. On the other platform, you can also delete the API client once you've moved.
Your pilots get their hours
Imported pilot records are listed in Imported pilots at the bottom of the Import & export page.
When a pilot joins your airline, the join form asks "Flew for … before?". They type their old pilot ID there.
- If an older record has an email that matches their verified account email, the hours usually move over straight away. Records imported from 2 November 2026 have no email.
- Otherwise the claim waits for you on Staff → Pilots. Next to the pilot you'll see "Says they are" with the old ID, name and hours. Press Approve or Reject.
Claiming adds the old hours as transfer hours. From another platform's API, the pilot's accepted flights and points there come too: the flights count as transferred flights, the regular points as transferred points and the bonus points as a points adjustment, and the ranks ask for regular and bonus points apart as they did there, so the dashboard and the ranks match the old platform (the dashboard says how many were transferred). Importing again gives a pilot who already joined only what changed since, never twice. If the old pilot ID starts with your airline's ICAO code and that number is free, the pilot gets their old number back. When the record names a rank with the same name as one of your ranks, the pilot keeps that rank: they never drop below it and move up from there as they fly here. A lower rank, or one you don't have, changes nothing. Importing again gives pilots who already joined the rank on their record.
Link a record yourself
In Imported pilots, pick the pilot from the list next to an unclaimed record and press Link. Press Remove to delete a record nobody will claim.
Share your join link
Vaeroly doesn't email your pilots from a list: they never gave us their address. Share your join link instead.
- Open Move your airline here → Share your join link, and copy the link.
- Post it in your own channels: your Discord, website and news.
- Pilots sign up themselves. When they join, they type their old pilot ID, and their imported record (with its hours) comes with them.
Invitations sent before 2 November 2026 are still listed on that page. A pilot can still accept one while it's open, and Withdraw cancels one that wasn't accepted.
Export files from your current crew centre
Many crew centres have an Import/Export page in their admin area. Export the flights (schedules), aircraft and airports files there, and upload each one here under From a spreadsheet (CSV), choosing what The file contains. Vaeroly reads their own column names, for example dpt_airport, arr_airport, flight_time and subfleets for flights, and icao, registration and airport_id for aircraft. An airports file chosen as Hubs adds only the airports marked as hubs. Upload airports first, then aircraft, then flights.
Easier: choose all three files at once under From another platform's export files. Each flight then gets its aircraft types from the subfleets in the aircraft file, even when a subfleet's name isn't a type code (E330 for an A330-300).
Hubs, fleet, aircraft and routes as separate files
Some platforms export hubs, fleets, aircraft and routes as four separate CSV files, where each aircraft and route names its fleet by a number (the aircraft type is only in the fleet file). Upload all of them together under From another platform's export files: choose every file at once, in any order. Each aircraft and route gets its type from the fleet file, every airport in the hubs file becomes a hub, hidden routes come in switched off, and a flight of another brand you fly (its callsign starts with another airline's code, for example MSC next to MSR) keeps that code. A route that is in the file twice is imported once. SELCAL, fin numbers, hex codes, scoring groups, allowed prefixes, service days, cost index and SimBrief settings aren't read. You see a preview first.
From a database backup file
If you ran your crew centre on your own website, its database holds everything: airports, hubs, fleet, routes, ranks, pilots with their hours, and every pilot's past flights (PIREPs) and awards. Make a backup of the whole database where your web host lets you (its database tool's Export, as SQL), and upload it in From a database backup file on the Import & export page. It can be an .sql file, or an .sql.gz or .zip with one .sql inside, up to 12 MB (a compressed .sql.gz or .zip fits much more).
- Choose the file and press Preview.
- Check the preview: the counts (past flights and awards included), samples, and any problems in red.
- Press Import this into your airline, within 30 minutes.
How the file is handled:
- It's read as text, never run. Only the tables a crew centre has (airports, fleet, flights, ranks, pilots, PIREPs and awards) are read; everything else in it is skipped.
- Passwords, keys and the crew centre's own settings are never read.
- The file is thrown away as soon as the preview is ready. Only what the preview shows is kept, until you import it or for 30 minutes.
What happens to the past flights and awards:
- Only accepted flights come over. A pilot who is already a member here (the same email, or the old pilot ID they claimed) gets them straight away.
- Everyone else's wait on their imported pilot record (Imported pilots shows how many) until they claim it. Claiming puts the flights in their logbook and gives them their awards.
- The flights show as Imported in the logbook, with the network they were flown on, and can't be changed. They count where the pilot has been and what they've flown (the passports, most visited airports and aircraft types), but no flights, points or awards come from them. Their hours, flights and points come with the pilot record, once, as transferred totals, so they aren't added twice.
- An award is matched to one of yours by name; one you don't have is added as a manual award.
- Importing the same file again adds nothing twice. Flights put in a logbook can be undone for a few days on Import flight history.
- A flight needs an aircraft of its type in your fleet. The preview says when some don't have one: those wait until you add one, then import the file again.
Past flights and pilot records need Import and export airline data; awards also need Events, tours and awards.
The API import above brings past flights the same way, when the other platform gives them to your API client.
Where pilots and aircraft are: a pilot whose past flights come in waits at the airport their last one landed at, and an aircraft the other platform gives no airport for waits where its last past flight (by registration) landed. Pilots and aircraft that have flown on Vaeroly since stay where that flight left them.
Spreadsheets instead
If you have data in spreadsheets, use From a spreadsheet (CSV) on the same page. Pick what The file contains (airports, fleet, routes, ranks, pilots or hubs), choose the file and press Preview. Open Column names for each kind to see the headers each file needs. Import airports before routes. Files can be up to 3 MB.
Columns with other names
The preview shows How your file's columns were read: each column of your file, an example value, and what it's read as. If a column was read wrongly, or not at all, pick what it holds (or Ignore) and press Preview again. Anything the file needs that no column gives, such as the arrival airport for routes, is listed in red. When you import, your choices are kept for the next file with the same columns, so next month's export (or a synced sheet) is read the same way.
If the file looks like another kind (an aircraft list chosen as routes, say), the preview says so, with a button to read it as that kind.
When some rows won't be imported, Download the rows that won't be imported (CSV) gives you those rows as they were in your file, with a problem column saying why. Fix them there and import that file. The download is kept for 30 minutes.
Import from a Google Sheet
You can also import from a link instead of a file, with Import from a link on the same page. It takes a Google Sheet, or a CSV or Excel (.xlsx) file on Google Drive, Dropbox or any https site, up to 10 MB. The sheet is read for the preview and isn't stored.
- In Google Sheets, press Share, set General access to Anyone with the link, and copy the link. The tab that's open when you copy it is the one read (the first tab otherwise).
- Paste the link, pick what The sheet contains, and press Preview. The columns are the same as for a file.
- Check the preview, then press Import.
- To bring changes over by themselves, tick Keep this in sync every night before you press Import.
A synced sheet only adds and updates: rows you delete from the sheet stay in Vaeroly, and are never deleted or switched off. Rows with problems are skipped and listed. If the sheet suddenly has less than half the rows it had, nothing is imported that night (the sheet is probably broken or filtered). You and the owner get an email only when something changed or the sync failed; after 5 failed nights in a row it pauses.
Your synced sheets are listed under Synced sheets on the Import & export page, with the last run and its result. Run now runs one straight away (once every 10 minutes), and you can Pause, Resume or Remove it. Removing it keeps what it imported. Syncing a sheet takes the same permission as importing it.
If the preview says That link opens a web page, not the sheet, the sheet isn't shared with Anyone with the link yet.
After the import
Check your hubs, fleet, routes and ranks on their staff pages, and adjust anything the import couldn't read. See Setting up your airline.