Tool Catalog

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 #

ToolWhat it does
get_ledger_setupThe 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 #

ToolWhat it does
find_accountsSearch the chart of accounts by partial name and/or account type — how the assistant finds the account_id values every other tool needs
get_transactionInspect one transaction: header (including is_posted), line items, and its assignments/clearances

Reporting #

ToolWhat it does
get_financial_reportIncome statement, balance sheet, cashflow statement (by date range) or trial balance (by four-digit year), as JSON
get_account_statementOne account’s activity over a period; outstanding_only=true returns just the uncleared items — the natural input for reconciliation
get_agingAging 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.

ToolTypesWhat it does
record_saleCS, IN, CNCash sale, client invoice, or credit note
record_purchaseCP, BL, DNCash purchase, supplier bill, or debit note
record_client_receiptRCMoney received from a client; auto-allocated against their outstanding invoices
record_supplier_paymentPYMoney paid to a supplier; auto-allocated against their outstanding bills
record_contra_entryCEA 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_entryJNSimple or compound double-entry adjustments

Amending and committing #

ToolWhat it does
amend_draftChange 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_transactionCommit a draft to the ledger. Irreversible. Reads the transaction back afterwards and reports whether the post actually landed
reconcile_paymentAllocate 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.