API Reference
Recurring Invoice Templates
Recurring invoice templates define a schedule that automatically generates invoices (or estimates) in a workspace. Each template stores the invoice payload, recurrence cadence, and next run date. Credit memos cannot be recurring.
Last updated 2026-06-21
Overview
The Recurring Invoice Templates API lets your integration list, create, update, pause, resume, and delete scheduled invoice templates. A template holds the same invoice-shaped fields as a one-off invoice — customer, line items, taxes, and totals — plus recurrence settings that control when new invoices are generated.
Templates are identified by a UUID returned as `id` in partner responses. Pause stops generation by clearing `nextInvoiceDate`; resume requires you to supply a new `nextInvoiceDate` in the request body. Credit memos (`invoiceType: "memo"`) are rejected on create — use the Invoices API for memos.
Key concepts
Identification
A template is referenced by its UUID, returned as `id`. Pass that value in the path for retrieve, update, pause, resume, and delete.
Create payload
POST uses the same UUID field rules as invoice create (`customerUuid`, product UUIDs on line items, `tagUuids`) plus a required `recurrencePattern`. Optional `inAdvanceCreationDays`, `recurrenceInterval`, `recurrenceEndDate`, and `emailCustomer` control scheduling.
Draft and pause
New templates default to draft (`isDraft: true`) and are paused until you resume them with a `nextInvoiceDate`. POST `/{uuid}/pause` sets `nextInvoiceDate` to null and stops generation without deleting the template.
Resume requires nextInvoiceDate
POST `/{uuid}/resume` must include `nextInvoiceDate` (ISO date) in the JSON body. The API returns 400 if it is missing.
Credit memos excluded
Setting `invoiceType` to `memo` on create returns 400. Credit memos are one-off documents created through POST /partners/invoices.
The recurring invoice template object
Fields returned on a template. Recurrence-specific settings are nested under `createdInvoiceTemplate`; line items appear as `invoiceProducts`.
Attributes
iduuidTemplate identifier (UUID). Use in path parameters.
invoiceTitlestringDisplay title for generated invoices.
summarystringOptional summary or memo line on generated invoices.
emailstringCustomer email used when emailing generated invoices.
currencystringISO 4217 currency code.
subtotalnumberSubtotal before tax.
taxTotalnumberTotal tax amount.
totalnumberGrand total including tax.
invoiceTypeenumDocument type generated from this template. Cannot be memo.
One of: invoice, estimate
customerobjectEmbedded customer record with billing details.
invoiceProductsarrayLine items (products/services) on each generated invoice.
createdInvoiceTemplateobjectRecurrence schedule and generation settings.
recurrencePatternenumCadence unit. Aliases like biweekly and quarterly are normalized on save.
One of: daily, weekly, monthly, yearly
recurrenceIntervalintegerInterval multiplier for the pattern (for example every 2 months when pattern is monthly and interval is 2).
occurrenceCountintegerTotal number of occurrences when limited; null for open-ended schedules.
remainingOccurrenceintegerOccurrences left before the schedule ends.
recurrenceEndDatedateOptional end date for the schedule (ISO).
nextInvoiceDatedateNext invoice date (ISO). Null when the template is paused.
inAdvanceCreationDaysintegerDays before each scheduled date that the invoice instance is created.
creationDatedateDate the next invoice instance will be created (ISO).
emailCustomerbooleanWhen true, generated invoices are emailed to the customer automatically.
projectobjectLinked project, when set, or null.
attachmentsarrayAttachments copied to each generated invoice.
tagsarrayTags applied to generated invoices.
createdAtdatetimeISO 8601 creation timestamp.
updatedAtdatetimeISO 8601 last update timestamp.
{
"id": "c4d5e6f7-a8b9-0123-cdef-456789012345",
"invoiceTitle": "Monthly consulting retainer",
"summary": "Recurring monthly invoice for Acme Corporation",
"email": "contact@acme.com",
"currency": "USD",
"subtotal": 1000,
"taxTotal": 85,
"total": 1085,
"invoiceType": "invoice",
"customer": {
"id": "dfa3219e-6af8-4c53-997a-037534f63a35",
"customer": "Acme Corporation",
"email": "contact@acme.com",
"contactName": "John Doe"
},
"invoiceProducts": [
{
"id": "d5e6f7a8-b9c0-1234-defa-567890123456",
"productServiceId": "aa11bb22-cc33-dd44-ee55-ff6677889900",
"description": "Consulting services",
"quantity": 10,
"unitPrice": 100,
"price": 100,
"nonTaxable": false
}
],
"createdInvoiceTemplate": {
"recurrencePattern": "monthly",
"recurrenceInterval": 1,
"occurrenceCount": null,
"remainingOccurrence": null,
"recurrenceEndDate": null,
"nextInvoiceDate": "2026-04-01",
"inAdvanceCreationDays": 0,
"creationDate": "2026-04-01",
"emailCustomer": true
},
"createdAt": "2026-01-15T10:30:00.000Z",
"updatedAt": "2026-01-28T14:22:30.000Z"
}List excludes draft templates by default
GET /partners/recurring-invoice-templates returns only non-draft templates (`isDraft: false`) unless you pass `isDraft=true` or `isDraft=all`. A template stays `isDraft: true` (and is skipped by the recurrence job) until its seed invoice is approved.Search
The `search` query parameter matches invoice title, summary, email, customer name, and rounded total amounts.Supported recurrence patterns
Accepted values include daily, weekly, biweekly, monthly, quarterly, and yearly. Unsupported patterns return 400 with a descriptive message.Related
Recent changes
Complete Partner API reference
Documented all remaining API reference groups: Chart of Accounts, Vendors, Products & Services, Recurring Invoice Templates, Credit Memos, Bills, Journal Entries, Tags, People, Projects, Tasks, Time Entries, Expense Receipts, Reports, and Workspace Stats. Added missing invoice endpoints (audit log, attachments, credit application, remove transaction) and group overviews for Invoices and Transactions.
Endpoints
/partners/recurring-invoice-templatesReturns a paginated list of recurring invoice templates in the workspace.
/partners/recurring-invoice-templatesCreates a draft invoice plus a recurring template with the supplied schedule.
/partners/recurring-invoice-templates/{uuid}Retrieves a single recurring invoice template by its UUID.
/partners/recurring-invoice-templates/{uuid}Updates an existing recurring invoice template. Only sent fields are changed.
/partners/recurring-invoice-templates/{uuid}Removes a recurring invoice template and stops future generation.
/partners/recurring-invoice-templates/{uuid}/pausePauses generation by clearing nextInvoiceDate.
/partners/recurring-invoice-templates/{uuid}/resumeResumes generation by setting nextInvoiceDate.
