Xero Accounting
for Asset Management
How to use Xero invoices, bills, credit notes, and contra accounts to run a full asset management operation — client fund tracking, investment deployment, FX gain/loss, crypto flows, and period-end close. All 15 processes with full double-entry treatment.
01 Overview & Core Principles
This guide covers every operational accounting process mapped to the correct Xero transaction type. The design goal is clean, auditable records using Xero's native capabilities — favouring bank feeds, Spend/Receive Money, Invoices, and Bills over manual journals wherever possible.
Key design rules
- Client-facing liability movements always flow through 4001 Client Cash Account (per-investor sub-accounts). 4003 is strictly an internal adjustment contra — not client-facing.
- 4002 Client Investment Account tracks deployed capital. Funds are reclassified 4001 → 4002 on deployment, and 4002 → 4001 on redemption.
- All 4900 contra accounts must net to zero at period end. Any residual = a missing or misposted leg.
- Xero auto-realised FX (account 499) only fires on AR/AP invoice/bill settlement. It never fires on Spend Money, Receive Money, or Transfer Money.
- Do not post manual journals to Xero system accounts 497, 498, or 499. These are managed automatically.
The three core Xero hacks
02 FX & Forex — Xero Behaviour
The single most important thing to understand: Xero calculates FX automatically only when you settle a multi-currency Invoice or Bill. Everything else is manual.
| Transaction type | FX auto-calc? | Account | Action required |
|---|---|---|---|
| Spend / Receive Money | No — manual | 5300.0001 | Calculate manually, post via MJ |
| Transfer Money (bank to bank) | No — manual | 5300.0001 | Calculate manually, post via MJ |
| Invoice / Bill settlement | Yes — auto | 499 | None — Xero handles automatically |
| Outstanding AR/AP revaluation | Yes — auto | 498 | None — Xero handles automatically |
| Month-end bank revaluation | Yes — auto | 497 | Run Accounting → Currency Revaluation |
03 Chart of Accounts — Key Accounts
| Code | Account name | Purpose |
|---|---|---|
| 4001-XXXX | Client deposit (liability) | Per-investor cash balance. Primary client-facing liability. |
| 4002-XXXX | Client investment (liability) | Per-investor invested amount. Reclassified from 4001 on deployment. |
| 3001-XXXX | Promissory note — principal | Investment asset. Debited on deployment, credited on redemption. |
| 3002-XXXX | Equities — principal | Investment asset. Per-deal equity cost basis. |
| 3051-XXXX | Investment return receivable | Accrued interest/return not yet received in cash. |
| 3100.1XXX | Cash at bank — client funds | Client-segregated bank accounts (DBS, UOB, HL, ICBC, OCBC, etc.). |
| 3100.2XXX | Cash at bank — company funds | Company operating bank accounts. |
| 4900.0000 | Contra — USD (temporary) | Clears inter-bank USD moves. Must net to zero at period end. |
| 4900.0009 | Contra — Independent Reserve | Clears USDT/crypto exchange legs. |
| 4900.0011 | Contra — SGD (temporary) | Clears inter-bank SGD moves. |
| 4900.1000 | Contra clearing (bank type) | Internal client-to-client transfers. |
| 497 | Bank revaluations (Xero) | Auto-posted by Currency Revaluation tool. Do not touch. |
| 498 | Unrealised currency gains (Xero) | Auto-posted on outstanding FC invoices/bills. |
| 499 | Realised currency gains (Xero) | Auto-posted on FC invoice/bill settlement. |
| 5300.0001 | Realised gain/loss on forex | Manual FX entries for cash-move conversions. |
| 5300.0002 | Unrealised gain/loss on forex | Manual unrealised FX entries at period end. |
| 9R01.0000 | Referral fee expense | Referral fees paid to clients. |
| 6000.2001 | Promissory note interest expense | Client's pass-through share of investment return. |
| 5000.2001 | Promissory note interest income | Interest earned from investment platform. |
04 Transaction Processes
All 15 operational processes with double-entry, step-by-step Xero instructions, and notes. Click any card to expand.
05 Period-End Checklist
Run through this checklist at each period close. Click each item to mark it complete.
- Reconcile all bank accounts in Xero — clear every outstanding transaction from bank feeds.
- Run Currency Revaluation (Accounting → Currency) for all foreign currency bank accounts → auto-posts to 497.
- Review outstanding multi-currency invoices/bills — Xero posts unrealised FX to 498 automatically.
- Mark-to-market equities — Manual Journal to 6000.3001 + relevant 3002-XXXX; reverse prior period entry first.
- Mark-to-market crypto — same as equities above using the relevant 3002-XXXX or 3010.0000 account.
- Accrue investment return receivable — Manual Journal to 3051-XXXX / 3052 / 3053-XXXX vs 5000.2001/2/3.
- Reconcile crypto asset register (Koinly / CryptoTaxCalculator) to Xero balances.
- Reconcile equity register (broker statements + cost basis schedule) to Xero 3002-XXXX.
- Verify ALL 4900 contra accounts net to zero — any balance indicates an unmatched leg.
- Accrue salary and payroll liabilities if not processed via Xero Payroll (post to 4100.0001–0006).
- Lock the period in Xero to prevent back-dating.