Crypto accounting for Xero
CryptaCount is the live, two-way Xero connector for crypto. It ingests your on-chain and exchange activity, calculates cost basis and gains, and posts clean period journals to Xero — mapped to your chart of accounts and tracking categories — while the transaction-level detail stays in the sub-ledger. The sync runs both ways: it imports your chart of accounts and tracking categories from Xero so mapping is automatic, and exports (posts) the reconciled journals back.

How it works
Xero is your books; it isn't built to reconcile wallets and token cost basis across thousands of transactions. CryptaCount handles that and feeds Xero clean entries:
- Ingests every transaction from your exchanges and wallets,
- Calculates cost basis and realized gains/losses (your choice of method) and applies your measurement policy,
- Summarizes the activity into journals per period, and
- Posts them to Xero as manual journals, mapped to your chart of accounts.
Your GL stays clean; every line drills back to the underlying transactions in CryptaCount.
How to connect
In CryptaCount, go to Integrations → Xero and authorize the connection (secure OAuth — you sign in to Xero and approve access). Map your crypto accounts — digital assets, realized gain/loss, income (staking, mining, rewards), and fees — to your chart of accounts, optionally assign tracking categories, set your posting frequency, and you're set.
What syncs
- Period journals (export) — summarized, double-entry manual journals posted to Xero
- Chart of accounts + tracking categories (import) — pulled from Xero so mapping stays aligned
- Drill-down — every posted line traces to transaction-level detail in the sub-ledger
Why finance teams use it
- Cost basis at scale — 12 disposal methods (FIFO, LIFO, HIFO, WAVG, Specific ID, and more) across exchanges and wallets; jurisdiction-mandated treatments (UK Section 104 pooling, Canada ACB) apply automatically
- Clean close — summarized journals instead of thousands of raw lines
- Audit-ready — a traceable trail from each journal line to the source transaction
- IFRS / US GAAP — measurement handled in the sub-ledger per your policy, entries posted to Xero
Explore the engine: Crypto sub-ledger & cost basis → · Accounting for firms →
Why the sub-ledger posts summaries, not every transaction
Xero is your set of books; it is superb at bank reconciliation, invoicing and day-to-day bookkeeping, but it was never meant to hold tens of thousands of token movements with individual cost-basis lots behind them. That is exactly the gap CryptaCount fills as the crypto sub-ledger in front of your GL. Rather than firehosing raw transactions into Xero, the connector posts summarized manual journals per period — the net effect of an accounting period's activity on each account. A busy month of trading and on-chain activity can produce thousands of events; posting each one would make your Xero ledger unreadable, slow your reports and bury the few numbers that actually matter to the financial statements.
The principle is the same one finance teams already apply to payroll or a payments processor: the operational system keeps the line-by-line detail, and only the summarized debits and credits reach the GL. CryptaCount aggregates the period into journals that move digital assets, realized gain/loss, income (staking, mining, rewards) and fees by their net amounts, and each posted line drills back to the exact underlying transactions. You keep a clean ledger and a complete, reconcilable record at the same time. The crypto sub-ledger → page describes the engine that produces these journals.
Mapping to your chart of accounts and tracking categories
Because the Xero connector is two-way, it imports your chart of accounts and tracking categories directly, so mapping is driven by your real account structure rather than guesswork. You assign each kind of crypto activity to a Xero account — holdings to asset accounts, disposals to realized gain/loss, staking and reward income to a revenue or other-income account, and network and exchange fees to expense accounts. Where you use tracking categories for class, location, project or strategy reporting, you can carry those onto the posted journals so your crypto results slot into the same analytical structure as the rest of the business.
- Digital asset accounts — combined, or split by asset, venue or strategy
- Realized gain / loss — disposals measured under your chosen cost-basis method
- Income — staking, mining, rewards and airdrops recognized at value on receipt
- Fees — network (gas) and exchange fees, kept separate from trading results
- Tracking categories — optional, for reporting by class, location or project
Set the mapping once and it is reused every period, so the journals stay consistent close after close. Add an exchange, wallet or token and it flows into the same structure with no rebuild. See how the postings are assembled on the journal entries → page.
What the integration does and does not do
A clean division of labor between the sub-ledger and Xero is what makes both systems trustworthy, so it is worth being explicit about the boundary. The connector is a mapping and posting bridge — it does not try to be a second set of books.
What it does: ingests activity from your exchanges and wallets, calculates cost basis and realized results under your policy, imports your chart of accounts and tracking categories from Xero, summarizes each period into double-entry manual journals, and posts them to Xero with drill-down back to the source transactions. What it does not do: it does not push thousands of raw lines into your ledger, does not interfere with your bank feeds or invoicing, and does not make accounting-policy decisions for you. Measurement, classification and method selection stay under your control inside the sub-ledger; Xero remains the system of record for the financial statements.
The close and reconciliation workflow
With the live Xero connector in place, the close follows a steady rhythm. CryptaCount ingests the period's transactions from every connected exchange and wallet and flags whatever needs a decision — an unknown counterparty, an unrecognized token, or a transfer that might be an internal move rather than a disposal. You resolve those exceptions, confirm that on-chain balances reconcile to the sub-ledger, and review the cost-basis results. Then you generate the period journals and post them to Xero.
Reviewing at the Xero end is quick because the journals are summarized: a handful of lines per account, each backed by a full transaction list you can open on demand. Self-transfers between your own wallets net to zero instead of creating phantom gains, balances reconcile to the chain before anything posts, and a closed period stays closed. It is a process you can run the same way every month and hand to a reviewer without a long explanation.
Controls and the audit trail
Auditability is the core reason to run a sub-ledger. Every summarized journal line in Xero traces to the precise disposals, receipts and fees that produced it, and each of those ties to a transaction hash or an exchange record. That unbroken chain — financial statement to journal to lot to transaction to blockchain — is exactly what an auditor walks, and it is recorded as you go rather than rebuilt at year-end. Cost-basis method, measurement policy and classification are applied consistently and retained, so any figure can be reproduced on request. For how this feeds your reporting, see crypto compliance reporting →.
Multi-entity and multi-currency considerations
If you run several Xero organizations, you keep a sub-ledger scope per entity and map each to its own chart of accounts and tracking categories, so intercompany crypto movements stay clean and consolidation is not distorted by mismatched bases or double-counted transfers. CryptaCount values transactions when they occur and can present results in your functional or presentation currency, so the journals posted to Xero reflect the position you report rather than raw token quantities. Measurement under IFRS or US GAAP is applied in the sub-ledger per your policy — see IFRS crypto accounting →.
Common pitfalls this design avoids
- Raw transactions in the GL — bloats Xero and makes reports unusable; the sub-ledger posts summarized journals instead
- Lost cost basis on transfers in — coins arriving from another platform with no basis distort every later gain; CryptaCount carries basis with the asset
- Self-transfers booked as sales — moving funds between your own wallets should never create a disposal or a phantom gain
- Inconsistent cost-basis methods — switching method mid-period produces results no one can reconcile; the engine applies your method consistently
- Spreadsheet closes — error-prone and unauditable; a reconciled sub-ledger replaces the spreadsheet
- Fees hidden in trade lines — network and exchange fees mixed into proceeds hide real costs; CryptaCount keeps them separate
How CryptaCount works with Xero
CryptaCount does the crypto-specific work — ingestion, cost basis, classification and reconciliation — then hands Xero what a general ledger should receive: clean summarized manual journals mapped to your accounts and tracking categories. Because the connector is live and two-way, it pulls your accounts in to drive mapping and posts the reconciled journals back, with full drill-down behind every line. Xero stays the system of record; the transaction detail stays where it can be reconciled and audited. Explore the crypto sub-ledger → and journal entries → for the full picture.
Does connecting Xero change our bank feeds or invoicing?
No. The connector only adds crypto manual journals to your ledger. Your bank feeds, invoices, bills and reconciliations continue exactly as before, and the crypto journals sit alongside them mapped to the accounts you choose.
Can we control which Xero accounts the journals hit?
Yes — entirely. The two-way sync imports your chart of accounts, and you map each crypto event type to the specific account you want. Nothing posts to an account you did not nominate, and you can adjust the mapping whenever your account structure changes.
How are tracking categories handled at posting time?
If you use tracking categories, you can assign them to the posted journals so your crypto results report by the same class, location or project dimensions as the rest of the business. It is optional — leave it off and the journals post to accounts only.
What if we revise a period after journals are posted?
Every posted line traces back to its source transactions, so a revision is transparent: you can see which transactions changed and what the revised summary looks like before reposting. The sub-ledger keeps the history, so adjustments are auditable rather than a silent overwrite.
How are network and exchange fees treated in the Xero journals?
Fees are recognized separately from trading results so your true cost of activity is visible. Network (gas) fees and exchange fees are summarized and posted to the expense accounts you map them to, rather than being netted silently into proceeds where they would distort both the gain on a disposal and your expense reporting. Keeping them distinct also makes period-on-period fee analysis straightforward in Xero, because the figures sit in their own accounts and, if you use them, their own tracking categories.
Does the two-way sync overwrite anything in Xero?
No. The import side only reads your chart of accounts and tracking categories to drive mapping; it does not change them. The export side adds new summarized manual journals for each period and never edits your existing transactions, invoices or reconciliations. Your Xero data is the system of record, and the connector only contributes the crypto journals you have configured it to post, each one reversible and fully traceable back to the underlying activity.
FAQ
Yes. It posts summarized period manual journals to Xero, mapped to your chart of accounts and (optionally) tracking categories, with full sub-ledger detail behind each line.
No. CryptaCount posts summarized journals per period, not every raw transaction — the detail stays in the sub-ledger.
Yes. You can map posted journals to your Xero tracking categories for reporting by class, location, or project.
Twelve disposal strategies, including FIFO, LIFO, HIFO, WAVG, and Specific Identification. Jurisdiction-mandated treatments such as UK Section 104 pooling and Canada ACB apply automatically.
Yes — the connector is live and bidirectional. CryptaCount imports your chart of accounts and tracking categories from Xero to drive mapping, and exports (posts) summarized period journals back to Xero.
Yes. It uses Xero's OAuth authorization — you approve access in Xero, and CryptaCount never sees your password.