Guides
Concrete migration path: what to export, what the CSV mapping looks like, what not to migrate, and the dirty trick that compresses it to 30 minutes.

Key takeaways
5 minutes: check column names (German consistent or English consistent, not mixed), remove duplicates by email column (Data > Remove duplicates), delete obviously dead rows (empty applications, rejections from 5 years ago).
Google Sheets: File > Download > .csv. Excel: Save As > CSV UTF-8. Check file: first row is column names, data from row 2.
Free tier suffices to start. Create your first role, optionally activate KI screening. The role must exist before you import applications (every application belongs to a role).
Candidates > Import CSV. The mapping UI shows all CSV columns and proposes KI BMS fields. Confirm or correct. KI BMS imports in batches of 50, shows validation errors, you can fix in UI or skip the row.
On import all applications got source 'CSV import'. Go to Reports > Sources, split sources by original Sheets values ('LinkedIn', 'Stepstone', 'Referral') via bulk update with filter. Funnel analysis is clean from day 1.
Set Sheet to 'view only' (Share > Permissions). Send to everyone: 'From today new applications land in KI BMS at [URL]; old sheet stays read-only for 6 months for reference.' Clear comms prevent hybrid-phase problems.
Three questions. One - cutover date. Pick a day from which all new applications land in KI BMS, everything before stays in Sheets. Ideally month-start. Two - migrate only the talent pool or also active applications? Rule of thumb: active applications with running interviews stay in Sheets until done; closed applications + talent pool can migrate immediately. Three - what to do with Sheets data after migration? Keep 6 months read-only as backup, then archive or GDPR-delete.
Standard Sheets columns and their KI BMS fields: 'First name' -> data.first_name; 'Last name' -> data.last_name; 'Email' -> data.email; 'Phone' -> data.phone; 'City' -> data.city; 'LinkedIn' -> data.linkedin; 'Status' -> data.pool_status (active / talent_pool / blocked / withdrawn); 'Source' -> data.source_id (map to a source row after import); 'Note' -> attach as application_note; 'CV URL' -> data.cv_url.
What doesn't auto-work: PDF attachments (CV files stored as Drive links in Sheets must be manually uploaded), mail histories (stay in your mail client), internal discussion threads (added as application notes after import).
One - date format. Sheets stores dates in German format (DD.MM.YYYY), KI BMS expects ISO (YYYY-MM-DD). If you import date columns, keep them as text in CSV and convert in the mapping step. Two - encoding. Sheets CSV export can be UTF-8 or Windows-1252 depending on setup. KI BMS expects UTF-8; on encoding issues, re-export via 'Save as > UTF-8 CSV' trick in LibreOffice or Excel. Three - empty required fields. KI BMS has field_schemas with mandatory validation; if 30 applications lack first name, you get a validation error. Fix: check + fill in Sheets before export.
FAQ
Free plan, no credit card. We host in Germany. You can export and delete everything self-serve.
Read next
KI BMS vs Excel sheet: when does a dedicated ATS pay off?
When the sheets workflow breaks - and the five things a sheet structurally can't do.
Read
Publishing your first job with KI BMS - online in 8 minutes
Step-by-step from empty account to public role with application form and KI pre-sorting. No magic, no setup day.
Read
Recruiting with KI - a practical guide
A practical guide, not hype - with clear legal limits and concrete step-by-step instructions.
Read