Moving open invoices and payments to a new invoicing tool
To move open invoices to a new tool, import each fully unpaid invoice with its old number, dates and total, and settle partly paid ones in the old tool before you switch. Swiftly Workspace's Data Import brings them in as finalized invoices that keep their numbers.
Open invoices are the part of a switch that can cost money. Forget one and nobody chases it; import one twice and a customer gets a reminder for something already paid. A little planning avoids both.
Decide what to bring
- Fully unpaid open invoices: yes. These are what you will chase from the new tool.
- Partly paid invoices: settle them before you switch. Record the remaining payment in the old tool, or wait until the invoice is fully paid, and bring over open invoices that are fully unpaid.
- Paid invoices: your choice. Many businesses keep their full history in the old tool, exported and archived, and start the new one with open items alone. Bring paid invoices if you want one place to look up past sales.
- Payments: optional. The balance of each invoice comes from the invoice file, so past payments are history rather than a requirement.
Pick a cutover date and stop invoicing in the old tool from that day, so the open list you export stays true. The switching checklist covers the rest of the move.
How imported invoices behave
Swiftly treats an imported invoice as a historical document, not a new one:
- It lands finalized, with the number it had in your old tool.
- Its totals, the amount already paid and the due date are taken from your file as they are, not recalculated, so the amount owed is exactly what your file says.
- Importing doesn't move the numbering of the invoices you create in Swiftly. Invoice numbers must not repeat, so check that your old numbers can't clash with the new ones; keeping the old tool's prefix is an easy way. Invoice numbering rules explains why.
The order of the imports
Data Import works one record type per session. Each session has an acquisition source, which names where the data came from, and you use the same one for every session in this move.
| Step | Record type in the importer | What each row needs |
|---|---|---|
| 1 | Customer | An external ID, the customer's ID in your old tool |
| 2 | Customer Document | The customer's external ID, document type, document status, currency code, document number and issue date, plus the totals, amount paid and due date |
| 3 (optional) | Customer Document Line | The invoice's external ID, line number, item, quantity, unit price, tax rate and line amounts |
| 4 (optional) | Customer Payment | The customer's external ID, payment type, payment number, date, amount and currency |
Each invoice finds its customer through that customer's external ID, so import your customers through Data Import before the invoices, under the same acquisition source. Give every invoice an external ID too: invoice lines find their invoice through it, and if you fix a mistake and import the file again, the invoice is updated instead of added twice.
For each record type, Download CSV Template gives you the exact column names. Working with import templates explains how to fill them, and the step-by-step import guide for Mac walks through a session.
Matching types and statuses
Document type, document status and payment type are lookups: every value in those columns appears in Lookups, and you match it to an entry from your own lists before Commit becomes available.
- Document type: match "Invoice" in your file to your invoice type, and a credit note value to your credit note type.
- Document status: match it to a finalized status, such as the one for sent invoices. A draft status is refused, because an imported invoice is already issued.
- Payment type: match bank transfer, card and so on to your payment types.
Use one value per meaning in your file and the list stays short. The AI Mapping Assistant can point out lookup values for you, but you still pick each entry.
What about past payments?
Imported payments arrive open and unapplied, with their old payment number. They record money you received, and they are not linked to an invoice. Don't allocate imported payments to imported invoices: each invoice's amount paid already counts them. Payments your customers make after the switch are recorded and allocated in Swiftly as usual on the fully unpaid invoices you brought over; how payment allocation works explains that part.
Check before you switch off the old tool
- In the old tool, run an open receivables report on the cutover date.
- After the commit, compare the number of open invoices and the total still owed per customer.
- Spot-check a few invoices end to end: number, dates, total, amount paid and due date.
- Fix differences in your file and import again; the external IDs make the second run an update.
Frequently asked questions
Should I import paid invoices too?
You don't have to. Open invoices are what you need to chase payment. Paid ones are useful if you want your sales history in one place, and they import the same way with an amount paid equal to the total.
Will imported invoices be recalculated?
No. Their totals, amount paid and due date are taken from your file as they are, so they match what your customer received. Check the file carefully, because the importer trusts it.
Do I need to import invoice lines to carry a balance?
No. The balance comes from the invoice's own totals and amount paid. Lines add detail when you look an invoice up later, and each line needs its item and tax rate matched.
Can my new invoices continue the old numbering?
Imported invoices keep their old numbers, and the numbering of new invoices is separate. Make sure the two can't produce the same number, for example by keeping the old tool's prefix on the imported ones.
Run your business on Apple.
Create your account on the web, then set up your workspace in the app on your iPhone, iPad or Mac.
Create your account


