HKBooks · double-entry ledger · Hong Kong

Every filing traces back to one ledger.

Import the bank statements, review what rules-v1 proposes, and post with an accountant’s approval. The statements, the NAR1, the IR56B, and the audit schedules all come from the same postings.

Statement reviewdraft · awaiting review

Statement line · imported, not posted

2026-03-18SHOPIFY PAYOUTS LTD+12,480.00

Suggestion · rules-v1 · confidence 0.93

Dr 100012,480.00
Cr 500012,480.00

counterparty · Shopify Payments HK · balanced Dr = Cr

The AI never posts. A human approves this draft — then the entry is immutable.

What the ledger does.

One double-entry ledger sits under the books, the working papers, and every statutory document. Nothing outside a posted entry is ever authoritative.

Statements

Bank statements in, drafts out.

Upload a bank statement as CSV, MT940, or a PDF. Extraction turns it into editable statement lines — and importing never changes the books until a line is journaled.

2026-03-18SHOPIFY PAYOUTS LTD+12,480.00review
2026-03-19HANG SENG — BANK CHARGES−85.00review
2026-03-21FPS INWARD — WING FAT TRADING+3,200.00review

Coding · rules-v1

It proposes the whole journal.

Each line gets an account, a counter-account, a counterparty, and a confidence score. Nothing reaches the ledger — it lands as a draft.

confidence0.93
accountcounter-accountcounterparty

Posting

A person posts every entry.

Drafts wait for review. Posting makes an entry immutable, and corrections are reversing entries — so the audit trail is never rewritten.

Reconciliation

Reconcile the bank to the ledger.

Match statement lines against bank-account postings for the period and carry the uncleared balance forward.

Compliance

Filings from the same postings.

Financial statements, NAR1 prefill, and IR56B are generated from one source of truth — as versioned snapshots you submit yourself.

See the compliance pack →

Reporting

Statements from the trial balance.

Profit & loss, a grouped balance sheet with notes, FX revaluation, and budget-vs-actual — computed from postings, never from categories.

Sales & purchases

Invoices, bills, and stock.

Invoices with deposit and balance receipts, purchase orders, bills, quotes, and stock counts — each posting straight to the ledger.

Workspaces

One workspace, or one company.

Accounting firms

Every client company in one workspace — a cross-client review queue, statutory registers, and the compliance calendar side by side.

Solo directors

The same double-entry ledger and the same filing pack, scoped to your own company. No firm’s overhead.

From bank statement to filed document.

The same four steps, every month and every year end.

  1. 1.0

    Import.

    CSV, MT940, or a PDF statement becomes editable statement lines.

  2. 2.0

    Code.

    rules-v1 proposes a complete journal for each line, with a confidence score.

  3. 3.0

    Post.

    An accountant reviews the drafts and posts. Postings are immutable.

  4. 4.0

    Comply.

    Statements, NAR1, IR56B, and audit schedules derive from the same postings.

The compliance pack

One set of postings, every Hong Kong document.

Each document is a versioned snapshot you download and submit. HKBooks prepares the pack — it never files on your behalf.

  • Financial statements in audited-report format — SOPL, grouped SOFP, and ten numbered notes derived from the ledger.
  • Directors’ report skeleton.
  • NAR1 prefill, with share capital read from the members register.
  • IR56B built from payroll postings.
  • Audit schedules: bank reconciliations, AR aging from the invoice register, AP and fixed-asset listings, and the trial balance.
  • BR renewal tracked on the compliance calendar.

Straight answers.

Does the AI write to my books?

No. Every suggestion lands as a draft journal entry. A person reviews and posts it, and only postings are authoritative.

Is HKBooks a filing service?

No. It prepares the documents as versioned snapshots and you submit them. The system never files for you.

I run an accounting firm. Can I manage many clients?

Yes. One workspace holds every client company, each with its own reporting period, registers, and compliance calendar — plus a cross-client review queue.

I’m a director doing my own books. Is this overkill?

It’s the same ledger, scoped to one company. You get the same import, coding, and filing pack without a firm’s overhead.

What stops a wrong posting?

Posted entries are immutable, so corrections are reversing entries and the audit trail is never rewritten. Every action is logged.

How does data get in and out?

Import bank statements as CSV, MT940, or PDF; export the ledgers, statements, and schedules you need. Documents print clean.

Start with your first statement.

Create a workspace and import one bank statement — or take the read-only demo first.