AccountingKitDocs

Automations

Durable accounting recipes and their execution model.

Queue a recipe with POST /v1/automations:

{
  "connection_id": "00000000-0000-0000-0000-000000000000",
  "recipe": "quote.accept_and_create_invoice",
  "input": {
    "quote_resource_id": "00000000-0000-0000-0000-000000000000",
    "external_reference": "deal_814"
  }
}

Recipes

RecipeResult
contact.upsertCreates or reconciles a contact
quote.draftCreates a draft quote
quote.accept_and_create_invoiceAccepts a quote, then creates a linked draft invoice
invoice.createCreates an invoice
invoice.record_paymentRecords a payment against an invoice
purchase_order.createCreates a purchase order
document.fetchFetches an invoice, quote, or purchase-order PDF

Every recipe runs as a durable operation: claimed under a lease, retried with bounded exponential backoff, resumed from its last completed step, and moved to dead_letter when attempts are exhausted rather than failing silently. Operations covers the states, the reconciliation safety net, and replay.

An automation run is metered once, after it succeeds. Failed attempts do not create duplicate usage events.

On this page