Billing Management

Switching invoicing tools: what moves over, what doesn't, and how long it takes

By Darren Clark · 13 min read

Illustration: A long ledger book being carried across a narrow footbridge by two hands, pages intact, bold flat silhouette

When you switch invoicing tools, your clients and your invoice history can move across, and your invoice numbers can keep counting from where they left off. What doesn't move by itself is anything the new tool can't read from an export: automations, templates, saved payment details. Your accounting system doesn't have to change at all.

That's the short version. The long version is the one that matters if you're an owner who already has this working.

Plenty of agency owners have already automated most of their billing. They don't have a problem the new tool solves in a day. What they have is a question: what do I lose, and what will it cost me to find out? One owner told me about the last time he switched. He closed the old tool and lost every invoice he'd ever sent. The new tool started its numbering at 1, which collided with his old invoices in the 800s, so he had to add a prefix to tell them apart. "Little headaches like that," he said, make adopting any new technology "a pain in the butt."

So this page answers the questions that sit behind a decision to switch. What happens to the history, the numbers and the clients. What stays where it is. How long it takes. And what your clients see.

What moves when you switch invoicing tools?

Three things move when you switch: your clients, your invoice history, and your invoice numbering. Clients and history come across from an export of your old tool, and numbering continues from your highest existing number. What moves is whatever the export contains, so check the export before you commit.

Here is how that works in Handl, taking each in turn.

Your invoice history

Your history comes across in one of three ways, depending on what your old tool can give you.

A CSV export. If your old tool can export a CSV, you upload it under Settings, then Import from another tool. Handl has presets that pre-fill the column mapping for Harvest, HoneyBook, FreshBooks, Zoho Invoice and Xero. Not on the list, or the preset misses a column? Map the columns yourself. Only two columns are required: client name and amount before tax. The file can be up to 10 MB, and larger exports can be split into several files.

Invoice PDFs, if there's no clean export. Upload old invoice PDFs or images (phone photos included), and Handl's AI reads each one and pulls out the client, invoice number, dates, amounts, tax and status. You get up to 10 files per upload.

A forwarded email. Every agency gets a private forwarding address. Forward old invoice emails to it and Handl reads the attachments.

All three routes end the same way: with a preview. Nothing is saved until you look at what Handl found and confirm. The CSV route has a dry-run preview that shows how many invoices would be created, how many clients are new and how many match existing ones, totals by currency, and any rows that would be skipped, with the reason. Only Owners and Admins can run an import.

A few safety properties are worth knowing, because they answer the nervous version of the question:

  • Imports are silent. Your clients are never emailed during or after an import.
  • Imported invoices never enter your reminders. Even unpaid or overdue ones are recorded for your records and left alone.
  • Re-running is safe. Every imported invoice is fingerprinted, so importing the same file twice doesn't create duplicates.
  • Bad rows are skipped, not guessed. A row with no client name, an unreadable amount or a zero or negative total is listed in the preview so you can fix it.
  • The AI doesn't invent numbers. If an amount isn't clearly printed on a PDF, it's left blank and flagged.
Illustration: three different ledgers being poured into one clean ledger through a funnel, bold flat graphic

Your clients

Clients are matched to ones you already have in Handl, first by email address and then by name, so importing doesn't create duplicates of clients already there. A new client is created only when there's no match.

If your export includes a project name, invoices are filed under a project with that name. Anything without one goes into a project called "Imported invoices (historical)", so it's easy to find and keep out of the way.

Your invoice numbers

This is the one that bites, so here is the exact behavior.

When you import, Handl keeps your original invoice numbers where they don't clash with a number already in Handl. If one does clash, Handl assigns a new number to that invoice instead of overwriting or duplicating anything.

Then the counter moves. After an import, Handl finds the highest number at the end of your imported invoice numbers and starts the next invoice after it. If your last invoice in the old tool was number 845, your next one in Handl is 846. The preview shows you what the next number will be before you import, and warns if the import would move the counter by a lot.

You also control the format. An owner can set a prefix for invoice numbers, up to 12 characters of letters, numbers and -, _ or ., and choose whether the year is included. By default numbers look like INV-2026-846. The owner can also set the next number directly, but only forward: never below the highest number you already hold, so Handl can't mint a duplicate.

There is a caveat, and it's worth stating plainly. The counter continues from the digits at the end of an invoice number. That has three consequences:

  1. Numbers with no trailing digits don't move the counter. If your old invoices were called things like ACME-Q-A, there is no sequence to continue. The invoices still import with their original numbers, but your next Handl number comes from Handl's own counter.
  2. Very long digit runs are ignored. A trailing run of more than six digits, such as a date-style number like INV-20240115, is not treated as a sequence number on import. One stray date-style number in a file shouldn't push every future invoice to twenty million. The counter only moves forward, so a wrong jump would be permanent.
  3. A number that clashes is replaced. If your old INV-0900 is already taken in Handl, the imported invoice gets a new number rather than reusing it.

If your numbering has no trailing digits, or you want your own scheme, set the prefix and the next number yourself before you send the first invoice. It takes a minute and it's the cheapest way to avoid the collision that cost one owner a prefix.

What doesn't move?

Anything that isn't in your export doesn't move. Handl reads client name and email, invoice number, issue, due and paid dates, amount, tax, currency, amount paid and status. It doesn't rebuild your old tool's automations, templates or saved card details from a file, so those get set up again in Handl.

I want to be careful here. I can tell you what the importer reads. I can't tell you what your old tool puts in its export, and that varies. HoneyBook's export format, for example, differs by plan, so Handl flags that preset as one to double-check. The practical rule is simple: open your export before you decide, and see whether the columns you care about are in it.

Things to plan to redo rather than expect to import:

  • Recurring billing setups. Retainer cycles, billing schedules and triggers are set up in Handl on your projects. They aren't carried over from a CSV of past invoices.
  • Client payment details. Saved cards aren't something a file can carry. Clients who want auto-pay opt in again.
  • Templates and branding. Set once in Handl.
  • Anything your old tool kept off the export. Check, and keep a copy of the original export somewhere safe for a while.

That last point is the lesson from the owner who lost his history. Before you close the old account, export everything you can get, and keep it until you're sure you won't need it. Importing into the new tool is not the same as having a backup.

Do I have to replace QuickBooks or Xero?

No. Handl doesn't replace your accounting system. We integrate rather than replace. QuickBooks or Xero stays your books, and Handl handles the part before it: scope, milestones, hours, drafting the invoice, reminders and the client portal.

This is the part owners most often misunderstand. Switching invoicing tools doesn't mean moving your accounting. Your chart of accounts, bank feeds, tax returns and reporting stay where they are, and so does your accountant's workflow.

What changes is where the invoice starts. Handl builds the invoice from milestones, hours and retainers, then pushes it to your accounting system:

  • QuickBooks: Handl creates the invoice in QuickBooks with the same invoice number, dates, currency, line items, discount and tax. If you change it in Handl, the same QuickBooks invoice is updated instead of a new one being made. One setup note: custom transaction numbers must be switched on in QuickBooks, because Handl uses its own invoice number there and needs QuickBooks to keep it.
  • Xero: Handl creates the invoice in Xero as a sales invoice with the same number, dates, currency, line items, discount and tax. You choose whether new invoices land as Authorised or as Draft so you can review them in Xero first. If your bookkeeper records a payment against the invoice in Xero, Handl picks it up and records it on the Handl invoice.

You pick the sync timing: when the invoice is sent, when payment is received, or only when you hit Sync. Handl connects to one accounting system at a time.

If you use QuickBooks or Xero, those two pages walk through the connection step by step. They also say, honestly, what each side does: Handl is not your accounting system and doesn't pretend to be.

How long does switching invoicing tools take?

The import itself takes minutes. The real time is in the work around it: connecting your accounting system, checking the preview, setting your invoice numbering, and setting up billing on your active projects. Plan a few hours for a small agency, and run the old and new side by side for one billing cycle.

Here is a realistic sequence:

  1. Export from your old tool. Save a copy of everything. Keep it.
  2. Set your numbering. Decide your prefix, the year setting, and check what the next number will be.
  3. Run the import preview. Pick your old tool's preset, check the column mapping, and look at the preview. Preview as many times as you like. It changes nothing.
  4. Import. Confirm. Clients aren't emailed.
  5. Connect QuickBooks or Xero. A couple of minutes, from Settings, then Automation, then Integrations.
  6. Connect your project and time tools so invoices draft from the work. Handl reads Jira, Asana, Monday, ClickUp and Linear for the work, and Harvest, Toggl, Clockify and Hubstaff for hours.
  7. Set up billing on your live projects. The part that takes the longest, and the part that decides whether the switch was worth it.
  8. Run one cycle in parallel. Issue next month's invoices from Handl and compare them with what the old tool would have produced.

The sequence is mine, not a promise of timing. Your count of active projects is what sets the pace. If you have two retainers and a project, it's an afternoon. If you have forty live engagements, set up the biggest clients first and bring the rest across over a couple of cycles.

The same owner's rule was "known issues over unknown issues." If your current setup works, the bar for switching is high, and that's reasonable. A parallel cycle is how you find out whether you're clearing that bar, without risking a single real invoice.

Illustration: two bridges side by side, one old and worn and one new, a figure crossing on the old one while carrying a toolbox, bold flat graphic

What does the client see when you switch?

Your clients see very little. The import sends them nothing. The first they notice is the next invoice, which arrives from Handl with a pay link in a client portal, where they can see what each invoice is for and pay in one click, with no account to create.

A few specifics:

  • No emails about the import. Imported history is silent, and nothing enters your reminder queue.
  • Their old invoices stay valid. Nothing about an invoice they've already paid or are about to pay changes.
  • The next invoice looks different. It comes from Handl, not your old tool, so the layout and the way they pay change. Warn your bigger clients with a line in the last old-tool invoice or a short email, especially if their accounts team has the old invoice format set up.
  • Numbering carries on. If you've set it up as above, they see your next number follow on from the last, not a restart at 1.

I'd be straight with clients that you're changing tools. Most will say nothing. The few who care will be the ones whose accounts payable process is built around a particular invoice, and those are exactly the clients to tell first. For the ones that care about how they get paid, our guide to what happens inside your client's accounts payable explains why.

Switching checklist

Use this before you close the old account.

  • Full export of invoices, clients and payments saved somewhere safe
  • Highest invoice number in the old tool noted
  • Prefix and year setting chosen in Handl
  • Preview run, with no unexplained skipped rows
  • Next invoice number checked after the import
  • QuickBooks or Xero connected, and custom transaction numbers on if you use QuickBooks
  • Largest clients told about the change in tool
  • One billing cycle run in parallel
  • Old account kept open, read-only, for a few months

FAQ

Will my old invoice numbers collide with new ones?

Not if the import runs first. Handl keeps your original numbers where they don't clash and moves its counter past your highest number, so the next invoice continues the sequence. The exception is numbers with no trailing digits: there's no sequence to continue, so set your prefix and next number yourself.

Can I import without a CSV?

Yes. Upload old invoice PDFs or images, or forward the emails to your agency's private forwarding address. In both cases Handl's AI reads the invoices into a preview and nothing is saved until you confirm.

Will my clients get an email when I import?

No. Imports are historical and silent. Clients aren't emailed, and imported invoices never enter your reminders.

Do I have to move my accounting?

No. Keep QuickBooks or Xero. Handl pushes invoices into them with the same invoice number, and your books stay where your accountant expects them.

Who can run an import?

Owners and Admins.

Darren Clark ran digital agencies for over 20 years before building Handl.

← All resources