AI Tools (Finance)

The 27 finance tools exposed to Leenops AI and MCP.

Leenops currently registers 27 finance tools across invoicing, expenses, banking, payments, credit notes, and PEPPOL. These definitions come from the shared @leenops/tools registry used by the in-app assistant and MCP.

In the Leenops AI panel, write tools show a confirmation step. External MCP clients do not receive that Leenops UI confirmation card: a permitted tool call executes immediately, subject to the API key's scopes and MCP policy.

Invoicing (9)

ToolModePurpose
list_invoicesReadFilter invoices by status, customer, amount, or overdue state
get_invoiceReadGet an invoice with contact, company, and line items
create_invoiceWriteCreate an invoice
get_invoice_statsReadSummarize paid, pending, and overdue invoices
list_productsReadSearch finance products
get_productReadGet one finance product
convert_quotation_to_invoiceWriteIdempotently convert an accepted quotation
bill_time_entries_to_invoiceWriteAppend billable time to a draft invoice or create one
delete_invoiceWritePermanently delete an unpaid invoice and its line items

delete_invoice refuses paid invoices. bill_time_entries_to_invoice marks selected time entries as billed so a retry cannot bill them twice.

Expenses (5)

ToolModePurpose
list_expensesReadFilter expenses
create_expenseWriteSubmit an expense
update_expenseWriteEdit mutable fields
approve_expenseWriteApprove or reject a pending expense
delete_expenseWritePermanently delete a non-approved expense

Banking (3)

ToolModePurpose
list_bank_accountsReadList connected bank accounts
list_bank_transactionsReadFilter bank transactions
sync_bank_accountReadReturn sync state, provider, cursor, and last-sync time

Despite its name, sync_bank_account does not initiate a provider sync. Use the Finance UI sync action or the server-side banking route to force a refresh.

Payments (3)

ToolModePurpose
list_invoice_paymentsReadList recorded invoice payments
create_payment_checkoutWriteCreate a Stripe-hosted checkout session
refund_paymentWriteIssue a full or partial provider refund

A checkout URL is only usable when Stripe and the workspace's payment readiness requirements are configured. Review Payments before sending a generated URL to a customer.

Credit notes (4)

ToolModePurpose
list_credit_notesReadFilter credit notes
create_credit_noteWriteCreate a credit note
apply_credit_noteWriteApply all or part of a credit note to an invoice
delete_credit_noteWritePermanently delete an unapplied credit note

Applied credit notes cannot be deleted through the tool.

PEPPOL (3)

ToolModePurpose
send_peppol_invoiceWriteQueue a PEPPOL submission intent
list_peppol_inboxReadList inbound PEPPOL messages
get_peppol_inboundReadRead one inbound PEPPOL message

send_peppol_invoice queues the submission and marks it pending; server-side routes perform provider dispatch.

Test through MCP

  1. Create an API key with the relevant finance permissions.
  2. Connect an MCP client using MCP setup.
  3. Call tools/list and confirm the expected finance tools are allowed.
  4. Test reads first.
  5. Use a disposable workspace for destructive tools such as invoice, expense, or credit-note deletion.

Live tool discovery and permission behavior are documented in MCP Tool Catalog.

Surface differences

SurfaceContract
In-app AIShared tool registry plus Leenops confirmation UI for writes
MCPShared tool registry; permitted calls execute through the MCP tool-call endpoint
REST APIHTTP resources and schemas; not a one-to-one mirror of tool names

Do not assume a tool name is also a REST endpoint.