Exporting sales and purchases for your accountant
Summary
Section titled “Summary”Your accountant wants your sales and purchases in a file they can import. The Sales and Purchases reports each export a CSV in three layouts. Pick one row per invoice when they need payment figures. Pick one row per line item when they need to see each line’s own nominal code and VAT rate: invoices with more than one VAT rate, disposal fees or totals by nominal code. This article explains the three layouts, what each column means and the two rows in the line file that surprise people.
Prerequisites
Section titled “Prerequisites”- The
finance.reports.viewcapability to open Finance > Reports, andfinance.reports.exportto download. Owner and Manager have both by default. - Invoices in the period you want to export.
Download a ledger file
Section titled “Download a ledger file”- Go to Finance > Reports.
- Open the Sales or Purchases tab.
- Set the date range and any filters. The file contains what the filters show.
- Open the Export CSV dropdown and pick a layout:
- Current CSV (unchanged). The original layout. Keep using it if you have a spreadsheet built around it.
- Ledger Export - one row per invoice (CSV). One row per invoice, with the amount paid and the amount outstanding.
- Ledger Export - one row per line item (CSV). One row per invoice line, each with its own nominal code and VAT rate. No payment columns.
- The file downloads. Send it to your accountant.
Both ledger layouts use ISO dates (2026-09-29), a full stop for decimals and a numeric VAT rate, and end with a totals row. Your accountant maps the columns when they import.
Read the line file
Section titled “Read the line file”The line file has these columns: Invoice Date, Document Number, Document Type, Internal Reference, Counterparty, Line, Line Type, Description, Quantity, Unit Price, Nominal Code, Net Amount, VAT Rate, VAT Amount, Gross Amount and Payment Status.
The rows for one invoice always add up to that invoice’s total, to the penny.
Line Type says what each row is.
| Ledger | Values |
|---|---|
| Sales | parts, labour, quote, adhoc, disposal, callout, line |
| Purchases | item, delivery, discount, core_charge, core_credit, handling_fee, surcharge |
| Both | unitemised, adjustment |
quote covers both parts and labour on a job invoiced from approved quote items. So the column is not a clean parts versus labour split.
The two rows you will not expect
Section titled “The two rows you will not expect”unitemised. An invoice recorded without line items goes out as one row carrying the invoice’s own totals. This is normal on purchases, where it can be about half the file, because the quick New Invoice form records a total rather than items. On purchases, its Description is the invoice’s own description if one was entered, otherwise the document number.adjustment. If an invoice’s stored total differs from the sum of its lines, a balancing row carries the difference. That way the file always agrees with the invoice the customer or supplier holds. Its VAT Rate is blank on purpose, because a difference has no single rate.
An unitemised row with a net of zero but some VAT (a bill for import VAT only, say) also has a blank VAT Rate. No rate can be worked out from a zero net. The per-invoice file shows 0.00 for the same invoice.
Expected Outcome
Section titled “Expected Outcome”- A CSV your accountant can import, covering the same invoices the report shows on screen.
- In the line file, each invoice’s rows add up to its total, and each line carries its own nominal code and VAT rate.
- Credit notes are not in either ledger file yet. Separate sales credit notes and supplier credit notes are left out, so a period with credit notes exports gross of them. Tell your accountant, and give them the credit notes separately. Older purchase invoices recorded with the type credit note or proforma do appear, as ordinary rows. The Document Type column tells them apart.
- The VAT Summary report can show slightly less VAT than the line file. The VAT Summary adds up invoice lines. The line file adds an
adjustmentrow where the lines and the invoice total disagree. The difference is that adjustment. - A blank Nominal Code on a sales line is normal for ad-hoc lines and for anything imported from a previous system. Your accountant codes those at import.
- The Purchases nominal code filter picks invoices by their header code, then shows every line of each one, including lines coded to something else.
- Payments are only in the per-invoice file. Payment money belongs to the whole invoice, so repeating it on every line would count it several times.
Troubleshooting
Section titled “Troubleshooting”Problem: The line file has a row my invoice does not.
Cause: It is an adjustment row. The invoice’s total and the sum of its lines differ, and the row makes the file match the total.
Fix: Nothing to fix in the file. If the difference matters, look at the invoice’s lines.
Problem: Half my purchases have only one row, with Line Type unitemised.
Cause: Those invoices were entered as totals only, without line items.
Fix: That is expected. Enter parts invoices itemised in future if you want line detail. See Purchase invoices.
Problem: The VAT in the line file does not match the VAT Summary report.
Cause: See the note on adjustment rows above.
Fix: Compare the adjustment rows’ VAT with the difference.
Problem: My totals are higher than my accounting package says. Cause: Credit notes are not in the export yet. Fix: Deduct the period’s credit notes, or send them to your accountant separately.
Problem: The Export CSV button is missing.
Cause: Your role does not have finance.reports.export.
Fix: Ask an Owner to grant it.
Permissions
Section titled “Permissions”- View reports:
finance.reports.view. Owner, Manager. - Export CSV:
finance.reports.export. Owner, Manager.