Skip to content
手册 v0.1.0 · KaiderBooks v2.0.0 · 2026-07-20

Create a client and engagement

In one sentence

Register the client company first — every accounting record belongs to one — then attach an engagement that records what you charge and how often.


1. Why the client comes first

KaiderBooks is multi-client by design: every journal, invoice and ledger account belongs to a specific client. Without one, nothing in Books can be created — the "New" buttons stay disabled.

Screenshot 01-clients-list
图 01-clients-list

The list shows every client your firm manages, with UEN, industry, GST registration status and financial year-end.


2. Creating a client

Click New Client in the top right.

Screenshot 02-client-form
1
Registered company name, matching ACRA
2
An invalid UEN is flagged immediately, before you submit
3
Financial year-end month; drives reporting and filing periods
图 02-client-form
FieldRequiredNotes
Client nameRegistered company name, matching ACRA — it appears on reports and filings
UENSingapore Unique Entity Number. An invalid format is flagged immediately
IndustryRetail / F&B / Real estate / Micro / Pre-IPO / Other; drives industry templates in Insights
FY end month1–12. Determines reporting periods and ECI / Form C-S timing
Contact name / emailYour counterpart at the client; used by communication records
GST registeredEnables the GST registration number field; unregistered clients invoice without output tax

UEN validation

Three formats are accepted: 9 digits + 1 letter (e.g. 202512345K), 8 digits + 1 letter, and a T/S/R-prefixed 10-character form. An invalid value shows Invalid Singapore UEN under the field.

On save a "Client created" toast appears and the list refreshes immediately.

Deactivate is not delete

Deactivate is a soft delete: the client disappears from the list but every journal and invoice is retained for audit. The same UEN can be registered again afterwards.


3. Right after creating a client: the chart of accounts is empty

This is the most common trap. A new client has no ledger accounts, so invoicing or posting a journal fails with "Required system account is missing".

Go to Books → General Ledger → Chart of Accounts and create these first (the codes matter — the system looks accounts up by code):

CodeNameTypeUsed by
1000Cash on handAssetDefault counter-account for receipts/payments
1010BankAssetLinked to bank accounts
1100Trade receivablesAssetInvoice posting
1490Accumulated depreciationAssetFixed asset depreciation
2000Trade payablesLiabilityBill posting
2200GST controlLiabilityOutput and input tax
2300 / 2310CPF payable / Salaries payableLiabilityPayroll posting
4000Sales revenueRevenueInvoice line income
5000 / 5100 / 5200 / 5600Expenses / Salaries / Employer CPF / DepreciationExpensePurchases, payroll, depreciation

The chart is a tree — add child accounts under any account for finer analysis.


4. Attaching an engagement

Go to Practice → Clients → Engagements and click New engagement.

Screenshot 03-engagements
图 03-engagements
FieldNotes
ClientFixed once saved (disabled when editing) — create a new engagement to change it
ServiceBookkeeping / GST / Tax / Payroll / Secretarial / Audit support
FeeEntered in dollars, stored internally in cents
Billing cycleMonthly / Quarterly / Yearly
Start / end dateLeave the end date empty for an open-ended engagement
StatusActive / Paused / Ended

Engagements feed the time-and-billing view and define the scope of work you manage for that client.


Next: Raise your first invoice and collect payment →