How to Import Data into Magic Heidi: Clients, Invoices & Expenses in Seconds
Import clients, invoices, and expenses into Magic Heidi by dragging and dropping any file. The AI reads the format automatically — here's how it works.
Founder of Magic Heidi
You import data into Magic Heidi by dragging and dropping your file — clients, invoices, or expenses — directly into the matching section. The AI reads whatever format you upload, recognises the fields, and imports everything in seconds. No templates, no column mapping, no manual cleanup.
That's the short answer. But if you've ever switched accounting tools, you know the migration is usually the worst part. Hours of reformatting spreadsheets. Templates that demand exact column names. Errors when one date is written "15.03.2025" instead of "2025-03-15". So when a tool says "just drag and drop", it's fair to be sceptical.
This guide walks you through exactly how the import works for each data type, what the AI handles for you, and what to expect when you bring years of existing data into a new system. By the end, you'll know whether you can realistically move your freelance business to Magic Heidi over a coffee break.
Why Import Matters More Than You Think
For most Swiss freelancers, switching accounting software is a decision shaped by one fear: the data. You've got two years of clients in a spreadsheet, a folder of issued invoices, and a CSV export from your bank with every expense from January. Moving all of that into a new tool sounds like a weekend lost.
That's where a smart importer changes the maths. If you can bring everything across in a few minutes, the switch becomes almost frictionless. You stop comparing tools on features alone and start comparing them on how quickly you can actually start working.
Magic Heidi's import system is built around one principle: you shouldn't have to reformat anything. Whatever file you have — a messy spreadsheet a client sent you, a bank export, a PDF invoice — the AI figures out what it is and where it belongs.
Want to see it in action with your own data? Open Magic Heidi and try a drag-and-drop import — you'll know within 30 seconds whether your files import cleanly.
Importing Your Client List
Clients are usually the easiest place to start, because most freelancers already keep them somewhere — a Notes file, a Google Sheet, an Excel export from an old tool. To import them into Magic Heidi:
- Open the Clients section.
- Click the upload arrow, or drag and drop your file directly onto the page.
- Wait a few seconds while the AI parses the file.
That's it. In the demo, nine clients imported successfully from a single file. The AI didn't ask which column was the name, which was the email, or which was the address. It just read the file and figured it out.
Why the format doesn't matter
Traditional importers require you to match your spreadsheet to a rigid template. Column A must be "First Name", column B must be "Last Name", and so on. If your file uses "Client" instead of "Name", the import breaks.
Magic Heidi's AI works the other way around: it looks at your file and infers what each column represents. So a freelancer's quick contact list and a polished CRM export both work — even though they look nothing alike.
A quick example
Imagine Léa, a fictional graphic designer in Lausanne who's been tracking clients in a Notion table for three years. Her columns are in French, some entries have phone numbers and some don't, and a few rows are missing email addresses entirely. She exports the table as a CSV, drags it into Magic Heidi, and watches all 47 of her clients appear — fields auto-mapped, missing data simply left blank rather than blocking the import.
No template. No cleanup. The migration she'd been postponing for six months took about 20 seconds.
Importing Existing Invoices
Once your clients are in, invoices are the natural next step. This is where the AI gets more interesting, because invoices aren't just data — they have status. Some are drafts, some are sent, some are already paid. A good importer needs to understand the difference.
To import invoices:
- Navigate to the Invoices section.
- Drag and drop your file (or click the upload button).
- Magic Heidi reads the file and routes each invoice to the correct tab.
In the tutorial, an imported document was automatically recognised as a paid invoice. It showed up directly in the "Paid" tab, with the payment description (a subscription charge) already attached. No manual status-setting required.
Why this matters for your books
Swiss freelancers often need a complete record for tax purposes, and rebuilding that record from scratch in a new tool is painful. Being able to import a year's worth of paid invoices — with payment status intact — means your reporting works from day one, not from day "whenever I finish the migration".
You can find a full overview of import scenarios in the grid below.
Importing Expenses: The Real Time-Saver
If client and invoice imports are useful, the expense import is the part that genuinely changes how you do bookkeeping. For most freelancers, expenses are the bottleneck. Every coffee receipt, every software subscription, every train ticket has to be logged, categorised, and tied to a date. It's the work that everyone postpones.
Here's how Magic Heidi handles it:
- Export your expenses as a CSV — typically from your bank, your card, or a previous tool.
- Drag and drop the file into the Expenses section.
- The AI reads every line and assigns: description, date, amount, category, and payment status.
When the import finishes, you get a clear summary: how many entries were imported, how many were skipped, and how many were dropped because the data wasn't valid. That transparency matters — you're never left wondering whether everything actually made it in.
What the AI categorises automatically
The categorisation is the part that feels almost suspicious the first time you see it. A CSV with cryptic bank descriptions like "SBB MOBILE 14.03" or "GOOGLE*GSUITE" gets parsed into proper categories: travel, software, office supplies, and so on. Dates are normalised, amounts are read in the right currency, and each line lands in the right bucket of your accounting.
A realistic scenario
Consider Marc, a fictional freelance developer based in Zürich. He's been meaning to set up proper bookkeeping for eight months but has been putting it off because his expenses live in three places: a UBS bank statement, a Revolut export, and a list of cash receipts he typed into Numbers.
Marc spends a Saturday morning exporting all three as CSV files. He drags the first one — the UBS statement with 142 transactions — into Magic Heidi. The import completes in under ten seconds. 138 expenses are recognised and categorised, 4 are skipped because they're internal transfers between his own accounts, and the summary tells him exactly what happened. He drops in the Revolut file next. Twenty minutes later, his entire year of expenses is in the system, sorted, and ready for tax season.
The morning he'd blocked out for "starting bookkeeping" ends at 9:47 AM.
How the AI Actually Reads Your Files
It's worth pausing on why this works. Traditional importers fail because they're rule-based: they expect specific column names, specific date formats, specific currency notation. The moment your file doesn't match, the import breaks.
Magic Heidi's importer uses AI to do something closer to what a human would do — look at the file, recognise patterns, and infer what each field means. A column full of names with "@" symbols is obviously emails. A column with values like "CHF 142.50" is obviously amounts. A column with dates in any reasonable format is obviously dates.
That's why the same drag-and-drop motion works for a CRM export, a bank statement, and a hand-typed spreadsheet. The AI adapts to your file, not the other way around.
What about errors?
The system is honest about what it can't process. When some lines can't be parsed — maybe a row is malformed, or a transaction is missing critical data — they're skipped or dropped, and you see the count in the import summary. You can review what didn't make it and decide whether to fix the source file or move on.
This matters more than it sounds. A silent importer that drops 5% of your data without telling you is dangerous. A transparent one lets you trust the numbers.
Putting It All Together: A Full Migration in One Sitting
Let's connect the three imports into a single workflow. Imagine Anna, a fictional freelance translator in Geneva who's been using a mix of Word documents and Excel sheets for three years and finally wants a real tool.
Her morning:
- Coffee in hand (8:30 AM): She exports her client list from her old CRM as CSV. Drag, drop, done. 63 clients imported.
- Second coffee (8:35 AM): She drops in a folder of PDF invoices from the past year. The AI recognises the paid ones and routes them to the "Paid" tab. Her invoice history is now in Magic Heidi.
- Almost done (8:50 AM): She exports her bank statement for the year, drags it into the Expenses section, and watches her bookkeeping materialise. Categories assigned, dates normalised, status set.
By 9:00 AM, Anna has migrated three years of business data into a new tool. She hasn't reformatted a single file, written a single formula, or matched a single column. That's the experience the importer is designed to deliver.
The Bigger Picture
Most freelance tools sell themselves on features: invoice templates, VAT calculations, payment links. Those matter. But the feature that determines whether you'll actually adopt a tool is the one nobody talks about: how fast you can get your existing data in.
Magic Heidi's importer is built so that switching isn't a project. It's a few drag-and-drops, a few summary screens, and you're working. For a freelancer juggling client work, that difference — between "I'll migrate this weekend" and "I migrated during my morning coffee" — is the difference between switching and not switching.
If you've been postponing a move from spreadsheets, Word invoices, or a tool that's not quite right, the import flow is the lowest-risk way to test the alternative. Try one file. See what comes out. Decide from there. You can also explore the dedicated bank statement import page for more detail on that flow.