Tool catalog #
The server exposes fifteen tools by default, and up to thirty once the optional groups are enabled. Read tools only ever see posted transactions in reports; drafts appear once posted.
You do not need to memorise any of this: every tool carries its own
description, a strict argument schema with the valid values baked in, and
readOnlyHint / destructiveHint annotations your client can act on. The
catalog below is for you, deciding what to switch on and what to watch.
Orientation #
| Tool | What it does |
|---|---|
get_ledger_setup | The entity’s reporting currency, the configured currencies, which reporting periods are open, and the exact vocabularies the other tools accept. The sensible first call in a session |
get_ledger_setup reads GET /meta
and trims it to what an assistant needs. Its current_reporting_period is
worth knowing: when it is null, today falls outside every open period and
posting will be refused until one exists.
Looking things up #
| Tool | What it does |
|---|---|
find_accounts | Search the chart of accounts by partial name and/or account type — how the assistant finds the account_id values every other tool needs |
get_transaction | Inspect one transaction: header (including is_posted), line items, and its assignments/clearances |
Reporting #
| Tool | What it does |
|---|---|
get_financial_report | Income statement, balance sheet, cashflow statement (by date range) or trial balance (by four-digit year), as JSON |
get_account_statement | One account’s activity over a period; outstanding_only=true returns just the uncleared items — the natural input for reconciliation |
get_aging | Aging schedule of receivables (clients owing you) or payables (suppliers you owe), bucketed by how overdue |
Recording — always drafts #
Each recording tool creates a pending draft and accepts dry_run=true for
a no-commit preview. Between them they reach all ten transaction types.
| Tool | Types | What it does |
|---|---|---|
record_sale | CS, IN, CN | Cash sale, client invoice, or credit note |
record_purchase | CP, BL, DN | Cash purchase, supplier bill, or debit note |
record_client_receipt | RC | Money received from a client; auto-allocated against their outstanding invoices |
record_supplier_payment | PY | Money paid to a supplier; auto-allocated against their outstanding bills |
record_contra_entry | CE | A transfer between two of your own bank accounts. Takes from_account_id and to_account_id rather than exposing which end the API treats as the “main” account, so the money cannot flow the wrong way by misreading the argument |
record_journal_entry | JN | Simple or compound double-entry adjustments |
Amending and committing #
| Tool | What it does |
|---|---|
amend_draft | Change a pending draft’s header, add or remove line items, or discard it. Refuses a posted transaction outright and names the correction instruments instead. Discarding is a soft delete — recoverable from the recycle bin |
post_transaction | Commit a draft to the ledger. Irreversible. Reads the transaction back afterwards and reports whether the post actually landed |
reconcile_payment | Allocate a posted receipt or payment against specific outstanding invoices/bills, or clear oldest-first with all_outstanding=true |
Optional groups #
Fifteen further tools are available but off by default — period close, the recycle bin, and chart-of-accounts setup. See tool groups for what each adds and when turning it on is the right call.