Converting a client from Xero to Prosaic

This guide walks through converting a client from Xero to Prosaic. You bring across one comparative year as balances, the most recent year as full transaction detail, the fixed asset register, and any sales invoices still unpaid at conversion.

The examples use a 31 March year end, with the client starting in Prosaic on 1 April 2026:

  • FY25 (year ended 31 March 2025) comes across as balances, from a trial balance.
  • FY26 (1 April 2025 to 31 March 2026) comes across as transactions, from Xero's General Ledger Detail report.
  • From 1 April 2026, the bank feed takes over.

Substitute your client's own dates throughout.

Before you start

This guide assumes two things are already done:

  • The client has been invited and their bank feeds are connected. If not, start with Getting Started With Prosaic.
  • The entity uses a chart template with Xero mapped codes. Mapped codes let most accounts match automatically during import. If the template isn't set up yet, see Chart of Accounts Templates.

You'll also need:

  • Asset types set up for the template or the entity. See Setting Up Asset Types.
  • Xero up to date: depreciation run up to 31 March 2026, and GST returns filed for every period up to that date.

You can convert before or after the client starts using Prosaic. If they're already coding bank transactions in Prosaic, the conversion fills in the history behind them.

Step 1: Export from Xero

You'll need four files.

  1. Trial balance at 31 March 2025. In Xero, open Reporting → All reports → Trial Balance. Set the date to 31 March 2025, keep the default settings with no comparison periods, and export to Excel.
  2. Trial balance at 31 March 2026. Export it the same way. You'll only use it to check the conversion at the end.
  3. General Ledger Detail, 1 April 2025 to 31 March 2026. Follow the export steps in Import ledger transactions from Xero. Every column must be ticked, and Grouping/Summarising set to None.
  4. Fixed asset register. Export the client's assets from Xero's fixed assets page as a CSV. Check that the DepreciationToDate column says 31/03/2026.

Step 2: Set the entity's dates

Open the entity's settings and check two dates:

  • Conversion Date: 1 April 2026. Prosaic takes over from this date. Imported history must end before it, and earlier bank feed transactions stay off the reconciliation screen.
  • Start GST Returns From: 1 April 2026. Xero has already returned the GST on everything you're importing.

Convert on the first day of a GST period where you can. If the conversion date falls part way through a GST period, Prosaic's first return won't include the part before it. Add that part to the return as an adjustment.

Step 3: Import the FY25 balances

The 31 March 2025 trial balance comes in as one journal. It gives you the FY25 profit and loss and the balance sheet at 31 March 2025.

  1. Go to Journals → New Journal.
  2. Date the journal 31 March 2025 and give it a narration, for example "Opening balances from Xero as at 31 March 2025".
  3. Choose Import lines → Import from Trial Balance and upload the 31 March 2025 trial balance.
  4. Select Mapped Codes so lines match on their Xero codes.
  5. Fix any lines that didn't match. The usual ones are Retained Earnings and any Xero bank account without a code, which should go to the client's bank account in Prosaic.
  6. Check the journal balances, then post it.

Trial balance lines come in as No GST, so the balances don't affect any GST return. See Manual Journals for more on importing lines.


Don't import the 31 March 2026 trial balance as a journal as well. The FY26 transactions in the next step already build up to that position, so importing both would count FY26 twice.

Step 4: Import the FY26 transactions

The batch import brings across every Xero journal from FY26, each on its own date.

  1. Go to Journals → Import and choose History from another system.
  2. Choose Import GST on line items (recommended).
  3. Upload the General Ledger Detail file.
  4. Map accounts. Matching by mapped code is usually quickest. Map Tracking Transfers, if it appears, to a suspense account.
  5. Review the totals, then Post batch, or save as a draft to post later.

If something is wrong after posting, void the batch and import a corrected file. Import ledger transactions from Xero covers each step, how GST works and what to do with tracking categories.

Step 5: Import the fixed asset register

The ledger already holds each asset's cost and accumulated depreciation from steps 3 and 4. The register import adds the asset-level detail, so Prosaic can depreciate from 1 April 2026.

Each asset comes in at its original cost with its accumulated depreciation to 31 March 2026, taken from Xero's AccumulatedDepreciation column. Prosaic needs both, not just the book value. Straight-line depreciation is calculated on cost, and when an asset is sold, cost decides how much of any gain is depreciation recovered.

Before importing, tidy up the Xero file:

  • Delete rows where AssetStatus is Draft. Only registered assets are on Xero's register. Draft assets often duplicate registered ones, so importing them would count those costs twice. If a draft is a real asset, register it in Xero first.
  • Delete the Book_DepreciationStartDate column. Prosaic could read it instead of the new column below.
  • Add a DepreciationStartDate column straight after DepreciationToDate. Set it to the day after DepreciationToDate, 1/04/2026, for every asset, so Prosaic depreciates from the conversion date and nothing earlier is depreciated again. If an asset's DepreciationToDate is blank or isn't 31/03/2026, run depreciation to that date in Xero, then export the register and General Ledger Detail again.
  • Check asset types. Each AssetType in the file must match an asset type on the entity.

Then:

  1. Go to Fixed Assets → Import and upload the file. Assets import as drafts.
  2. Check for skipped rows and warnings, complete any missing fields, and confirm each asset's depreciation start date is 1 April 2026.
  3. Activate the assets, individually or with Bulk actions → Activate. If you activate one at a time, leave Create Purchase Journal off, because the purchases are already in the ledger.
  4. Run depreciation from April 2026 as usual.

See Managing Fixed Assets for more on each field.

Step 6: Unpaid invoices

Skip this step if the client had no unpaid sales invoices at 31 March 2026.

Bringing unpaid invoices across lets you match each customer's payment to its invoice after conversion. It needs the Accounts Receivable beta, which we switch on for you.

This step is for clients on the payments basis only. Prosaic counts an invoice's GST when its payment is matched. On the invoice basis, Xero has already returned that GST, so it would be returned twice. For those clients, skip this step and code each payment to Accounts Receivable.

We don't support the invoice basis yet. When we do, debtors and creditors will need matching to their outstanding invoices and bills.

  1. Import the invoices awaiting payment, following Importing invoices in bulk. They import as drafts.
  2. Review the drafts, then finalise them without sending. Finalising posts each invoice to Accounts Receivable on its issue date.
  3. Those sales are already in the imported history, so they're now counted twice. Post one journal dated 31 March 2026, using No GST, that reverses them. Debit each sales account with its total excluding GST, debit GST with the GST total, and credit Accounts Receivable with the invoices' total.

Accounts Receivable now matches Xero again, and each invoice is open in Prosaic, ready to match against the customer's payment.

The journal corrects the balance sheet at 31 March 2026 whichever year the invoices are from. An invoice issued before 1 April 2025 does leave its sale in the earlier year and takes it off FY26, though. To keep each year's profit matching Xero, reverse those invoices in a separate journal, dated the last day of the year they were issued.

Import the balance still owing, not the original amount. For a part-paid invoice, import only what's outstanding.

Unpaid bills come across as balances only for now, so code each payment to Accounts Payable. If you're unsure how to handle a client's unpaid invoices or bills, get in touch.

Step 7: Check the conversion

  • Trial balance: run Reports → Trial Balance at 31 March 2025 and at 31 March 2026, and compare each line with Xero's. They should match, except for accounts you combined while mapping and any Tracking Transfers amount now in suspense.
  • Fixed assets: the register's cost and accumulated depreciation should agree with the balance sheet at 31 March 2026.
  • Bank: each bank account's statement balance at 31 March 2026 should match the bank statement. See Bank Accounts, Opening Balance and Conversion Dates.
  • Debtors: if you brought across unpaid invoices, Prosaic's Aged Receivables report at 31 March 2026 should match Xero's and agree with the ledger.

Once everything ties, reconcile forward from 1 April 2026. See Bank Rec & Bulk Cash Coding and Rules.

✅ Attach the Xero exports to the entity in Files, so the conversion is documented. If the client is cancelling Xero, keep a full General Ledger Detail export as a backup first.

Bringing across more, or less, history

  • More years: start from an earlier trial balance and widen the General Ledger Detail date range. For example, a 31 March 2024 trial balance plus transactions from 1 April 2024 gives you FY24 balances and two years of transactions.
  • Balances only: import a single trial balance (step 3) dated the day before the conversion date, and skip step 4.
  • Converting part way through a year: import the last year-end trial balance, then transactions up to the day before the conversion date. Choose a conversion date on the first day of a GST period.

Need help? Use the 💬 button in the app or email help@prosaic.works.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us