QuickBooks to FreeAgent Migration: UK Sole Trader & CIS Path
FreeAgent has no native QuickBooks importer. Learn the CSV migration method, VAT opening balance rules, and CIS traps for UK sole traders switching from QBO.
Planning a migration?
Get a free 30-min call with our engineers. We'll review your setup and map out a custom migration plan — no obligation.
Schedule a free call- 1,200+ migrations completed
- Zero downtime guaranteed
- Transparent, fixed pricing
- Project success responsibility
- Post-migration support included
FreeAgent has no native QuickBooks importer. No migration wizard. No "connect and transfer" button. If you're a UK sole trader or CIS subcontractor moving from QuickBooks Online to FreeAgent — likely because your NatWest, Royal Bank of Scotland, or Ulster Bank business account gives you FreeAgent for free — you're looking at a CSV-and-opening-balances migration, manual VAT configuration, and a CIS setup that doesn't map cleanly from QuickBooks.
FreeAgent is free for all NatWest business current account customers as long as you retain your account. FreeAgent is free with a NatWest, Royal Bank of Scotland or Ulster Bank business current account for as long as you retain your bank account. That's the full product — not a trial, not a feature-reduced version. FreeAgent was designed from the start for freelancers and sole traders, with native support for Self Assessment, MTD for Income Tax, and VAT. The software itself isn't the problem. Getting your existing data into it is.
This guide covers exactly what transfers, what breaks, and how to handle the HMRC compliance risks — particularly around VAT opening balances and CIS deductions — when making this move.
For a broader pre-migration framework, see our Accounting Data Migration Checklist: The 10-Point Plan.
The QuickBooks to FreeAgent challenge
FreeAgent operates on a different architectural philosophy than QuickBooks Online. QBO is a traditional double-entry ledger that allows flexible — sometimes contradictory — journal entries. FreeAgent is built around the UK tax calendar, enforcing strict rules on how transactions affect Self Assessment and Corporation Tax.
Because of this gap, there is no direct, automated import path from QuickBooks to FreeAgent.
FreeAgent's own switching guidance tells you to bring over a trial balance, contacts, debtor and creditor detail, bank statements, and opening balances. For historical sales invoices and bills, it points to third-party tools like AutoEntry or Fabio — not a built-in QuickBooks importer. (support.freeagent.com)
Two details matter before you start:
-
FreeAgent start date is the date bookkeeping begins in the new system. Everything before that date must be captured as opening balances. You should only import bank transactions, invoices, bills and out-of-pocket expenses that are dated on or after your FreeAgent start date.
-
Business type cannot be changed later. The account type you choose at setup — sole trader, limited company, partnership — determines which features are available, including CIS. Get this wrong and you'll need to start over. (support.freeagent.com)
On the source side, QuickBooks Online's native export is mostly reports and lists packed into Excel files in a ZIP. If you need a cleaner extract, Intuit's query API paginates with STARTPOSITION and MAXRESULTS, so even a modest historic pull becomes a scripting task. Before you export anything, read How to Export Data from QuickBooks Online: API Limits & Audit Gaps.
Why standard migration tools won't help you
If you search for automated QuickBooks-to-FreeAgent migration tools, you'll find two names: Movemybooks and Dataswitcher. Neither supports FreeAgent as a destination.
Movemybooks
Movemybooks partners with the three leading accounting software providers and can move data from over 95% of SMEs' accounting systems, from Xero, QuickBooks, Sage, KashFlow and FreeAgent. But look at the destination options: the platform pages link to "Moving to Xero," "Moving to Sage," and "Moving to QuickBooks." FreeAgent is a supported source — you can migrate out of FreeAgent — but it is not a supported destination. There is no "Moving to FreeAgent" page.
Dataswitcher
Dataswitcher is a data conversion partner fully supported by Intuit for QuickBooks Online data conversion. It migrates data into QuickBooks Online from platforms like Sage 50, Xero, and QuickBooks Desktop. Data migration to your QuickBooks Online account at no cost includes up to two years of opening balances, customers & suppliers, Chart of Accounts, invoices, transactional histories, and journal entries. It's a one-way street pointing toward QBO — not away from it.
Why these tools ignore FreeAgent as a target
Building a generic mapping tool that reliably translates global QBO data into FreeAgent's strict HMRC-compliant structures is complex. FreeAgent calculates tax using specific internal logic — particularly around VAT, CIS, and stock valuation — that doesn't align with raw exported data from other systems. The commercial incentive to build and maintain such a tool doesn't exist when the destination platform is UK-specific.
SwitchMyBooks
A third-party service called SwitchMyBooks does advertise QuickBooks Online to FreeAgent migration. It's a boutique, done-for-you service — not an automated tool you can run yourself. Worth investigating if you want a hands-off approach, but it's not a self-service platform.
If someone tells you Movemybooks or Dataswitcher can move your QuickBooks data into FreeAgent, they are wrong. Both tools treat FreeAgent only as a source platform, not a destination.
The DIY CSV method: what works and what breaks
FreeAgent does have import paths. They're narrower than most people expect.
What FreeAgent accepts via CSV
| Data Type | Import Method | Format Constraints |
|---|---|---|
| Opening balances | CSV template or manual | 3 columns: category code, debit, credit |
| Contacts | CSV upload | 14 headers in fixed order; only First Name/Last Name or Company required |
| Bank transactions | CSV statement upload | Exactly 3 columns: Date, Amount, Description. No header row. |
| Projects | CSV or Basecamp | Related customer contact must already exist |
| Out-of-pocket expenses | Bulk import | Hard limit of 1,000 per import |
| Historical invoices/bills | Third-party only (AutoEntry, Dext, Fabio) | Not available via native CSV |
To create a basic CSV file to upload to FreeAgent, you'll need to include three columns in the following order: Date, Amount (formatted as 'number' to 2 decimal places), and Description. Transactions for money paid out should have minus signs (-) in front of them.
What doesn't transfer
- Invoice line items and payment history — No native CSV import for historical invoices. You can import historical sales invoices or bills using a third-party integration such as AutoEntry, Dext or Fabio, but these aren't designed for bulk historical migration.
- Recurring transactions — No import path. Recreate manually.
- Attachments and receipts — Manual re-upload required.
- Bank rules / categorisation rules — Not transferable. FreeAgent uses its own "explanation" system.
- Chart of Accounts mapping — QuickBooks Online's chart structure doesn't map 1:1 to FreeAgent's category codes. You'll need to manually map each QBO account to the nearest FreeAgent nominal code.
The bank CSV format that causes most errors
FreeAgent's bank CSV import is extremely rigid. FreeAgent requires exactly three columns: column A - date in a specific format only, column B - the Amount, column C - the Description. Unlike QuickBooks Online, FreeAgent does not let you map custom columns during upload. If your QuickBooks CSV export has separate debit/credit columns, split transaction references, or header rows, the upload will silently fail.
A valid bank CSV file looks like this:
01/04/2026,-85.00,HMRC VAT payment
02/04/2026,1200.00,INV-1042 Acme Ltd
03/04/2026,-320.00,Subcontractor paymentNo header row. Dates in dd/mm/yyyy format. Negative values for money out, positive for money in. No commas, quotes, or line breaks inside the description field.
Most QuickBooks exports need significant cleanup: headers removed, US-style dates converted, separate debit/credit columns collapsed into a single signed amount column, and memo fields with commas or carriage returns normalised.
Contact address mapping is another common failure point. QBO often stores billing and shipping addresses in monolithic text blocks. FreeAgent expects structured address fields (Address Line 1, Town, Region, Postcode). If you don't split these fields using Text-to-Columns or a script before uploading, FreeAgent will cram the entire address into Line 1, breaking your invoice formatting.
The duplicate detection trap
FreeAgent's bank import attempts to spot duplicate transactions based on date, amount, and description. If you split a single day across multiple uploads or rewrite descriptions during cleanup, deduplication can behave differently than expected. Uploaded statements should start the day after the last imported transaction. (support.freeagent.com)
For a deeper look at the risks of CSV-based migrations across platforms, see Using CSVs for SaaS Data Migrations: Pros and Cons.
Handling VAT history and opening balances
This is where most QuickBooks-to-FreeAgent migrations fail silently. The risk: your first VAT return in FreeAgent double-counts, under-counts, or contains figures from a period already filed with HMRC.
The one-way lock
FreeAgent recommends you enter opening balances before you file your first VAT return, because once that VAT return is filed, you won't be able to edit entries to VAT reclaimed (818) or VAT Charged (819).
This is not a warning you can work around later. If your opening VAT balances are wrong when that first return goes through Making Tax Digital, corrections must be pushed to the next open VAT period.
Best practice: Time your migration to coincide with the start of a new VAT quarter. This eliminates the mid-quarter split problem and gives you a clean trial balance to import. Moving data at either your year-end or the end of a VAT quarter makes the process much easier. If contractor-side CIS is the bigger risk, the 6th of a tax month can reduce split-period cleanup — that's operational advice, not an HMRC rule.
How to set opening VAT balances
The exact entries depend on whether your FreeAgent start date falls at the beginning of a new VAT quarter or mid-quarter, and whether you're on the VAT Flat Rate Scheme.
Scenario 1: New quarter start (cleanest path)
Opening VAT balances are the amount of VAT that you owed to, or from, HMRC from your last VAT return. The opening VAT balances that you need to enter depend on whether you're invoice accounting for VAT or cash accounting for VAT.
For invoice accounting (standard method):
- Enter a credit to code '817 - VAT' for the amount owed to HMRC (or debit if HMRC owes you).
For cash accounting, you also need deferred VAT entries for outstanding debtors and creditors.
Scenario 2: Mid-quarter start (common, dangerous)
If you're switching mid-quarter — say your VAT quarter runs April–June and you start FreeAgent on 1 May — you'll need to enter some figures for VAT for April on your VAT return. This requires splitting the quarter: VAT charged and reclaimed for the pre-FreeAgent period goes into opening balances (codes 818 and 819), while FreeAgent handles everything after the start date.
For mid-quarter starts with invoice accounting, you also need to adjust boxes 6 and 7 on the VAT return for net sales and purchase values from the part of the quarter before your FreeAgent start date. (support.freeagent.com)
For mid-quarter starts with cash accounting, use money received and money paid before the FreeAgent start date instead of invoiced or billed values, and explain opening debtor and creditor cash movements using Receipt from Initial Debtor and Payment to Initial Creditor.
If your QBO file was operating on a Cash Accounting scheme for VAT but your accountant advises switching to Accrual (Standard) in FreeAgent, your opening balances must reflect the uncollected VAT on open invoices. The reverse — moving from Accrual to Cash — requires isolating the VAT on unpaid debtors and creditors to ensure it is collected in the correct period upon payment.
The opening balance import template
You can download FreeAgent's opening balances template and then fill in the required columns for each opening balance. Alternatively, you can create your own .CSV file to import into your FreeAgent account. The template needs three columns: the accounting categories (nominal codes), the amounts of any debit balances, and the amounts of any credit balances.
You'll need a trial balance from QuickBooks as at your FreeAgent start date. Export it from QBO, then manually map each QBO account line to its FreeAgent category code equivalent.
If you import opening balances and the debits and credits do not match, FreeAgent will show the difference and create a Suspense Account entry. That is a migration smell, not a harmless warning. Fix the trial balance before go-live. (support.freeagent.com)
One nuance worth noting: FreeAgent states that a full set of brought-forward balances may not be required for sole traders or partnerships because those balances don't affect the current year's tax return. That's true for income tax, but it does not mean VAT, debtors, creditors, or management reporting can be ignored. If you want the first FreeAgent VAT return and balance sheet to agree with QuickBooks, the carry-forward positions still need to be correct. (support.freeagent.com)
The CIS subcontractor trap
If you're a sole trader or limited company subcontractor in the construction industry, CIS deductions are a compliance-critical data point. QuickBooks handles CIS natively, tracking deductions and generating reports. FreeAgent also supports CIS — but the migration gap is where records get lost.
What FreeAgent supports for CIS
FreeAgent explains how CIS works for sole trader and limited company subcontractors. If you're a subcontractor, you need to set up CIS in FreeAgent and then either explain the payment from the contractor as CIS income or add CIS to your invoices.
FreeAgent's CIS functionality won't be available if you have a partnership or an unincorporated landlord account. This is why the business type you choose at setup matters — it's locked after creation.
FreeAgent doesn't support the filing of the monthly CIS300 return. However, you can use the information in FreeAgent's contractor monthly return to prepare and file your monthly returns outside of FreeAgent, for example using HMRC's CIS online service.
The migration problem
Historical CIS deductions in QuickBooks — the amounts contractors have withheld from your invoices over the tax year — don't transfer via any CSV import. You need to handle them in three steps:
-
Set up CIS in FreeAgent under Settings → Construction Industry Scheme. If you have a sole trader account type, you'll need to set up CIS and then select the available deduction rates.
-
Enter your initial CIS balance. Enter the total value of CIS deductions that you've incurred since your chosen starting tax year and select 'Save changes' to complete the process. Make sure this figure is correct as it will be filed to HMRC if you're making RTI submissions.
-
Enter corresponding opening balances. If you choose to enter an initial CIS balance and you haven't explained the income or created those invoices in FreeAgent, then you'll also have to enter opening balances to have an accurate set of accounts.
Contractor vs. subcontractor workflows
If you are a Contractor, you withhold money from subcontractors and pay it to HMRC. You must map your QBO subcontractor list and ensure their specific CIS deduction rates (20%, 30%, or gross) are correctly toggled in FreeAgent before importing any open bills. If you import an open bill without the contact configured for CIS, FreeAgent treats it as a standard payable and you'll overpay the subcontractor.
If you are a Subcontractor, those withheld amounts are advance payments toward your final tax bill. For sole traders, deductions accumulate in 812 - CIS Deductions and feed into Self Assessment box 38 (short self-employment pages) or box 81 (long pages). MTD for Income Tax users can also include the CIS tax deducted to date in quarterly updates. (support.freeagent.com)
Getting the initial CIS balance wrong has direct HMRC consequences. This figure flows into RTI submissions. If you under-report CIS deductions, you'll overpay tax. If you over-report, HMRC will flag the discrepancy. Pull the exact YTD CIS deduction total from QuickBooks before migrating.
Outstanding CIS items at cutover
If you're operating under CIS and you enter opening balances relating to CIS invoices or bills that are still outstanding as at your FreeAgent start date, further steps will be required in FreeAgent when these are paid. You're not just moving old transactions — you're preserving a tax position that continues to unwind after the cutover.
CIS and the domestic VAT reverse charge
If you operate under the CIS reverse charge for VAT, this adds another layer. If you need to apply the domestic VAT reverse charge to the payment from the contractor and the payment relates to labour only, you'll need to select 'Adjustments' and choose 'More options' from the drop-down menu. This requires manual configuration per transaction — there's no bulk import for reverse charge history.
The filed-period edge case
If you add or edit a paid subcontractor bill inside a period already marked as filed, FreeAgent flags that the CIS300 figures changed and tells you to resubmit outside FreeAgent. It shows CIS amounts exclusive of VAT, matching HMRC's CIS treatment. This matters if your QuickBooks history mixes labour, materials, and VAT in ways that looked fine in source reports but don't map cleanly into FreeAgent's CIS model. (support.freeagent.com)
Stock, inventory, and FIFO valuation limits
If your QuickBooks account tracks inventory, FreeAgent handles stock valuation differently — and the mismatch can break your balance sheet.
FreeAgent produces accounts in real-time using perpetual inventory. When you buy stock, FreeAgent puts the cost into the balance sheet under code 609, with a sub-code for each stock item. It uses the "first-in, first-out" (FIFO) method to value stock, which is one of the methods accepted in the UK.
The problem: QuickBooks Online uses weighted average cost by default for inventory valuation — not FIFO. Importing weighted-average-valued stock into a FIFO system will produce balance sheet discrepancies from day one.
FreeAgent calculates cost of goods sold internally based on the chronological order of purchases. You can't import a pre-calculated COGS figure from QuickBooks. Movemybooks, which handles migrations from FreeAgent, documents this limitation: when selling stock items in FreeAgent, the cost price is calculated by FreeAgent using the FIFO principle. This calculated cost is then adjusted for in the balance sheet and Profit and Loss. FreeAgent does not provide details of the adjustment. As a result, stock is unlikely to be correct in the destination system.
The same problem applies in reverse when migrating into FreeAgent.
Resolving the inventory mismatch
Do not import years of historical stock purchases and sales via CSV. FreeAgent's FIFO engine will process them differently than QBO did, resulting in discrepancies in your Cost of Goods Sold and net profit.
Instead:
- Run a final physical inventory count and valuation report in QBO on your cut-off date.
- Set up stock items in FreeAgent with opening quantities and current costs via the Price List & Stock settings.
- Let FreeAgent begin FIFO tracking fresh from the migration date.
This locks in the historical valuation from QBO and forces FreeAgent to apply its FIFO logic only to purchases made after migration.
FreeAgent's stock functionality is not available for unincorporated landlord accounts or businesses preparing accounts on a cash basis. If you carry minimal stock (common for sole trader subcontractors), a clean opening position is straightforward. If you have significant inventory, consult your accountant about the valuation method change and its tax implications before migrating.
One more trap: do not record the same stock sale both on an invoice and by separately explaining the bank transaction as a sale, or FreeAgent will double-count the income. (movemybooks.com)
FreeAgent's API: the programmatic alternative
FreeAgent offers a well-documented REST API (v2) that opens migration paths beyond CSV. The FreeAgent API uses OAuth 2.0, supports XML and JSON responses and organises resources according to REST.
Key migration endpoints
/v2/contacts for customers and suppliers, /v2/invoices for sales invoices, /v2/bills for purchase invoices, /v2/expenses for expense claims, /v2/bank_accounts for connected bank accounts, /v2/bank_transactions for bank transaction data.
The API also exposes /v2/journal_sets for journal entries, /v2/stock_items for inventory, and /v2/cis_bands for CIS configuration. It supports CIS-aware contact fields like is_cis_subcontractor, cis_deduction_rate, UTR, and verification number. (dev.freeagent.com)
Rate limits
FreeAgent enforces the following rate limits: 120 requests per minute per user, 3,600 requests per hour per user, 15 token refreshes per minute per user.
The API paginates results with a default of 25 items per page. You can provide the per_page param, limited to 100 items per page.
For a typical sole trader migration — say 200 contacts, 500 invoices, 1,000 bank transactions — the API can handle the full migration in under 30 minutes with proper batching. For larger datasets, the 3,600 requests/hour ceiling becomes the binding constraint.
What the API enables that CSV doesn't
- Invoices with line items, contact references, and project associations — all linked correctly
- Bills with supplier references and category codes — preserving the accounting structure
- Bank transaction explanations — so imported transactions arrive pre-categorised
- CIS-specific invoice categories — maintaining the link between CIS income and deduction rates
- Attachments — uploaded per invoice or bill via the
/v2/attachmentsendpoint
CSV gets your contacts and bank lines in. The API gets your full accounting structure in — with relationships intact. But the API is not enough to skip the accounting judgment around start dates, VAT opening balances, and filed-period tax history.
When to call in help
The QuickBooks-to-FreeAgent migration is deceptively simple for businesses with a handful of contacts and a clean year-end cutover. It gets complicated fast when any of these apply:
- Mid-quarter VAT switch requiring split-period opening balances
- Active CIS deductions that must reconcile to HMRC's records
- Outstanding invoices and bills at the migration date that need to carry forward
- Inventory valued under a different costing method in QuickBooks
- Multi-year history that needs to be preserved for HMRC queries or Self Assessment
- Foreign currency transactions — FreeAgent's handling of multi-currency has well-documented limitations
At ClonePartner, we use FreeAgent's API directly to map QuickBooks data into the correct structures — contacts linked to invoices, invoices linked to projects, CIS deductions reconciled to the correct tax year totals, and VAT opening balances calculated from your actual QBO trial balance. We handle the nested relationships that CSVs break, and we audit the figures that actually affect your HMRC filings.
If your migration involves anything beyond contacts and a year-start opening balance, it's worth a 30-minute conversation to scope it properly.
Frequently Asked Questions
- Can I use Movemybooks or Dataswitcher to migrate from QuickBooks to FreeAgent?
- No. Movemybooks supports FreeAgent as a source platform (migrating data out of FreeAgent) but not as a destination. Dataswitcher is an Intuit-supported tool that migrates data into QuickBooks Online, not out of it. Neither tool can push data into FreeAgent.
- How do I import bank transactions into FreeAgent from QuickBooks?
- Export your bank transactions from QuickBooks as a CSV, then reformat to FreeAgent's strict 3-column format: Date (dd/mm/yyyy), Amount (negative for outgoings), and Description. No header row. Upload via Banking > Upload a bank statement.
- What happens to my VAT history when I switch from QuickBooks to FreeAgent?
- VAT history doesn't transfer. You enter opening VAT balances manually using FreeAgent's nominal codes (817, 818, 819). Once your first VAT return is filed via Making Tax Digital, you cannot edit the opening VAT figures — corrections must go into the next open period.
- Does FreeAgent support CIS for sole trader subcontractors?
- Yes. FreeAgent supports CIS for sole trader and limited company account types. You set it up under Settings > Construction Industry Scheme and enter your initial CIS deduction balance. FreeAgent does not support filing the monthly CIS300 return — you must file that via HMRC's online service.
- When is the best time to migrate from QuickBooks to FreeAgent?
- At the start of a new VAT quarter and ideally at your financial year-end. This avoids the complexity of mid-quarter VAT splits and gives you a clean trial balance for opening balance entry.