publicToken, stripeInvoiceId, lastSyncedAt, and syncSource. Returned
manual payments also omit customerTransactionId, stripePaymentIntentId, and
idempotencyKey.
Invoices
createInvoice
Create a draft invoice header for a business and customer. Permission:invoices:write
Parameters:
Returns: The invoice with line items.
getInvoice
Get an invoice with its line items by ID. Permission:invoices:read
Parameters:
Returns: The invoice with line items, or
null if it is not found.
listInvoices
List invoices with pagination and optional filters. Permission:invoices:read
Parameters:
Returns: A paginated list of invoices with line items.
When
overdueOnly is true, omit status or set it to open.
updateInvoice
Update public fields on a draft invoice. Issued invoices cannot be edited with this tool. Permission:invoices:write
Parameters:
Returns: The updated invoice with line items.
sendInvoice
Email an invoice to its customer from the business’s sending address. A draft is issued first, which freezes its bill-to details and moves it toopen; an open
invoice is sent again.
The email goes to the invoice’s bill-to address, falling back to the customer’s.
The wording comes from the organization’s Invoice email template, which is
created on the first send.
Permission: invoices.send:write (default level Ask — approval-gated
in agent chat; over MCP, callable only at Allow)
Parameters:
Returns: The sent invoice with line items.
A new key sends the invoice again — except after a send that failed, which a new
key retries rather than delivering a second copy.
Fails when the invoice has no email address to send to, or when no sending
address is set up for invoices.
markInvoicePaid
Record an explicit manual payment against an invoice. Issue a draft before recording payment. Partial payments leave an open invoiceopen; cumulative
payments move it to paid once they cover the invoice total.
Permission: invoices.payments:write (default level Ask —
approval-gated in agent chat; over MCP, callable only at Allow)
Parameters:
Returns: The payment and refreshed invoice.
The key is scoped to your organization and shared with the REST invoice-payment
endpoint, chat, and automations. Retrying with the same key and the same details
returns the original payment. Reusing that key for a different invoice, amount,
time, or note fails instead, so record each new payment with a new key.
voidInvoice
Void an open invoice so it can no longer be collected or paid. Permission:invoices.void:write (default level Ask — approval-gated
in agent chat; over MCP, callable only at Allow)
Parameters:
Returns: The voided invoice with line items.
Invoice line items
createInvoiceLineItem
Add a line item to a draft invoice. Permission:invoices:write
Parameters:
Returns: The refreshed invoice with line items.
updateInvoiceLineItem
Update a draft invoice line item. Permission:invoices:write
Parameters:
Returns: The refreshed invoice with line items.
deleteInvoiceLineItem
Delete a draft invoice line item. Permission:invoices:write
Parameters:
Returns: The refreshed invoice with line items.