SuperBooksDevelopers
API reference

Invoices

Invoices tools exposed over the SuperBooks MCP API.

The invoices domain exposes 5 tools, 1 of which is destructive.

Destructive tools are hidden from tools/list unless the credential holds apis.all and the team has enabled destructive AI tools. See Authentication.

Tools

invoices_create_draft

Scope tier: write

Create a draft invoice. Draft is not sent to the customer; user reviews and calls invoices_send to deliver.

ParameterTypeRequiredDescription
customer_idstring (uuid)yesCustomer ID — must already exist for this team
currencystringyes3-letter currency code (e.g., USD, EUR)
issue_datestringyesIssue date, YYYY-MM-DD
due_datestringyesDue date, YYYY-MM-DD
line_itemsarray of objectyesAt least one line item; amount is computed from these
notestringnoOptional note shown on the invoice

Each line_items entry:

FieldTypeRequiredDescription
namestringyesLine item name/description
quantitynumberyesQuantity (must be > 0)
pricenumberyesUnit price per item (>= 0)

invoices_get

Scope tier: read

Fetch one invoice with line items, customer, and totals.

ParameterTypeRequiredDescription
idstring (uuid)yesInvoice ID

invoices_list

Scope tier: read

List invoices for the current team, ordered by created_at desc (newest first). Supports cursor pagination plus filters by status, date range (issue_date), and customer. Pass the returned nextCursor to fetch the next page.

ParameterTypeRequiredDescription
statusdraft | overdue | paid | unpaid | canceled | scheduled | refundednoFilter by invoice status
fromstringnoInclusive lower bound on issue_date, YYYY-MM-DD
tostringnoInclusive upper bound on issue_date, YYYY-MM-DD
customer_idstring (uuid)noFilter by customer ID
cursorstringnoPagination cursor returned by the previous call
limitintegernoMax items per page (1-100) Default: 25.

invoices_send

Scope tier: write

Mark a draft invoice as sent (status transitions draft -> unpaid; the schema does not have a 'sent' status). Triggers customer email delivery in the background. Throws if the invoice is not in 'draft' status.

ParameterTypeRequiredDescription
idstring (uuid)yesInvoice ID to send

invoices_void

Scope tier: destructive · Destructive — requires the two-gate check

Void an invoice (soft-cancel that preserves audit trail). Status becomes 'canceled' (the schema does not have a 'voided' status; canceled is the closest soft-cancel). Destructive — confirm with the user before calling. Throws if the invoice is not found OR is already canceled (so re-voiding never silently succeeds).

ParameterTypeRequiredDescription
idstring (uuid)yesInvoice ID to void

On this page