Docs / Operations
Handing the numbers to your accountant
A period's books as the files QuickBooks and Xero import — sales, credits, payments, bills, expenses, fees and a journal that balances every day — with your own chart of accounts mapped once.
At some point every quarter somebody has to hand the numbers over — to an accountant, a bookkeeper, or to the software they work in. The usual way that goes is a spreadsheet re-typed out of a screen, and the usual result is three weeks later somebody asking why the sales figure moved.
Reports → Accounting export is the other way. Pick the period, pick the package, get a zip.
What comes out
One zip, seven files, and a README that says what is in it:
| File | What it is |
|---|---|
sales.csv |
Invoices issued in the period, line by line |
credits.csv |
Credit notes, and what was written off |
payments.csv |
Money received, against the invoice it settled |
bills.csv |
Purchases from suppliers |
expenses.csv |
Everything recorded as an expense |
fees.csv |
Payment-processor fees |
journal.csv |
The double entry behind all of it |
The first six are lists. Nothing in them is recomputed: each row is a straight read of something the app already wrote, so any figure can be followed back to the document behind it.
The seventh is the one that has to be right. For every day in the period, the journal's debits equal its credits — if they ever did not, the export would refuse to generate rather than hand over a set of books that will not import. Tax is split out onto its own line rather than buried in a total, because that is the line your return is built from.
Which shape
Three, picked at the top of the page:
- QuickBooks Online — its own import columns, matched by account name.
- Xero — its own import columns, matched by account code.
- OrderDen CSV — every column named in full. For a human reading it, for a package neither of the others covers, and for an accountant who would rather do the import themselves.
The rows are the same in all three; only the column names and the account identifiers differ.
Mapping your chart of accounts
OrderDen knows it sold something taxable and took a card payment. It does not know your business calls those 4000, 2200 and 1201, and it will not guess: a figure landing quietly in the wrong account is exactly the error nobody finds until year end, by which point it is in a filing.
So Company Settings → Accounting asks, once, for:
- Sales, cost of goods sold and inventory — the three the whole ledger hangs off.
- One account per spend category, so your expense lines land where your accountant expects them.
- One per tax rate, one per payment method (the bank account each kind of money lands in), and accounts for fees, bad debt, client credit and deposits held.
Each row shows what that package usually calls it, greyed out in the box. Accept all defaults takes the lot in one click; typing over any of them is the point of the screen. A mapping is per package, because the same business exports to QuickBooks for its accountant and to a plain CSV for its own files, and the codes are not the same in both.
An export refuses while anything is unmapped, and names what is missing. If you want to see the shape of one before the chart of accounts is finished, tick put anything unmapped into a suspense account: it generates, everything homeless lands in 9999, and the README lists exactly what went there.
Changed since the books went over
Tick This is the copy I am sending when you generate, and the workspace remembers how far it has handed over.
From then on, any invoice, credit note, purchase or expense dated inside that period that somebody edits is listed on the accounting page under Changed since the books went over, with what it was and when it moved. Those documents also carry a note on their own page saying so.
Nothing is ever frozen. An invoice that has to be corrected has to be corrected, whoever already has a copy of it. What the business needs is not a lock; it is to know that correcting it means telling somebody — which a list does and a lock does not.
Every export is kept
The zip is stored exactly as it was generated. When the accountant asks again in March for what you sent in January, send them the same file rather than a fresh read of a database that has moved on. The history at the bottom of the page has every one, with what it contained and a download.
Through the API
Everything here is available through the public API:
GET/PUT /accounting/map reads and replaces the mapping,
POST /accounting/exports generates one (returning 422 and the list of
unmapped accounts when it refuses), GET /accounting/exports and
/accounting/exports/{id}/download fetch what has gone over, and
GET /accounting/changed-since-export answers the awkward question.
Everything on this page is in the free tier — one person, the whole product, no card.
Start free