---
title: "Recurring Invoice Templates API · COUNT Partner API"
description: "Recurring invoice templates define a schedule that automatically generates invoices (or estimates) in a workspace. Each template stores the invoice payload…"
canonical: "https://developers.getcount.com/reference/recurring-invoice-templates"
source: "https://developers.getcount.com/reference/recurring-invoice-templates"
---
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

`id` uuid

Template identifier (UUID). Use in path parameters.

`invoiceTitle` string

Display title for generated invoices.

`summary` string

Optional summary or memo line on generated invoices.

`email` string

Customer email used when emailing generated invoices.

`currency` string

ISO 4217 currency code.

`subtotal` number

Subtotal before tax.

`taxTotal` number

Total tax amount.

`total` number

Grand total including tax.

`invoiceType` enum

Document type generated from this template. Cannot be memo.

One of: `invoice`, `estimate`

`customer` object

Embedded customer record with billing details.

`invoiceProducts` array

Line items (products/services) on each generated invoice.

`createdInvoiceTemplate` object

Recurrence schedule and generation settings.

`recurrencePattern` enum

Cadence unit. Aliases like biweekly and quarterly are normalized on save.

One of: `daily`, `weekly`, `monthly`, `yearly`

`recurrenceInterval` integer

Interval multiplier for the pattern (for example every 2 months when pattern is monthly and interval is 2).

`occurrenceCount` integer

Total number of occurrences when limited; null for open-ended schedules.

`remainingOccurrence` integer

Occurrences left before the schedule ends.

`recurrenceEndDate` date

Optional end date for the schedule (ISO).

`nextInvoiceDate` date

Next invoice date (ISO). Null when the template is paused.

`inAdvanceCreationDays` integer

Days before each scheduled date that the invoice instance is created.

`creationDate` date

Date the next invoice instance will be created (ISO).

`emailCustomer` boolean

When true, generated invoices are emailed to the customer automatically.

`project` object

Linked project, when set, or null.

`attachments` array

Attachments copied to each generated invoice.

`tags` array

Tags applied to generated invoices.

`createdAt` datetime

ISO 8601 creation timestamp.

`updatedAt` datetime

ISO 8601 last update timestamp.

Example

```json
{
  "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

- [Invoices API](https://developers.getcount.com/reference/invoices)
- [Customers API](https://developers.getcount.com/reference/customers)
- [Products & Services API](https://developers.getcount.com/reference/products-and-services)

## Recent changes

2026-09-07

Accounting Playbooks and Ledger Semantics published as documentation

The workflows and behaviour rules the MCP server serves to agents through COUNT_playbooks and COUNT_knowledge are now readable documentation. Accounting Playbooks (/guides/playbooks) covers nine ordered workflows across 54 steps — invoicing, credit memos, recurring templates, vendor bill payment, chart-of-accounts setup, migration imports, budget planning and round-trip, and month-end review — each naming the exact tool per step. Ledger Semantics & Lifecycles (/guides/ledger-semantics) documents 33 confirmed behaviours across twelve resources: the state each operation is valid in, the fields accepted and then ignored, and the calls that cannot be undone, with every irreversible behaviour collected in one table at the top of the page. Both pages carry the COUNT_playbooks and COUNT_knowledge ids they were ported from so the agent-facing and human-facing copies stay in step. Playbooks, lifecycle sections, and individual behaviour rules are indexed into site search.

2026-06-21

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

[GET List recurring invoice templates `/partners/recurring-invoice-templates` Returns a paginated list of recurring invoice templates in the workspace.](https://developers.getcount.com/reference/recurring-invoice-templates/list-recurring-invoice-templates) [POST Create a recurring invoice template `/partners/recurring-invoice-templates` Creates a draft invoice plus a recurring template with the supplied schedule.](https://developers.getcount.com/reference/recurring-invoice-templates/create-recurring-invoice-template) [GET Get a recurring invoice template `/partners/recurring-invoice-templates/{uuid}` Retrieves a single recurring invoice template by its UUID.](https://developers.getcount.com/reference/recurring-invoice-templates/get-recurring-invoice-template) [PATCH Update a recurring invoice template `/partners/recurring-invoice-templates/{uuid}` Updates an existing recurring invoice template. Only sent fields are changed.](https://developers.getcount.com/reference/recurring-invoice-templates/update-recurring-invoice-template) [DELETE Delete a recurring invoice template `/partners/recurring-invoice-templates/{uuid}` Removes a recurring invoice template and stops future generation.](https://developers.getcount.com/reference/recurring-invoice-templates/delete-recurring-invoice-template) [POST Pause a recurring invoice template `/partners/recurring-invoice-templates/{uuid}/pause` Pauses generation by clearing nextInvoiceDate.](https://developers.getcount.com/reference/recurring-invoice-templates/pause-recurring-invoice-template) [POST Resume a recurring invoice template `/partners/recurring-invoice-templates/{uuid}/resume` Resumes generation by setting nextInvoiceDate.](https://developers.getcount.com/reference/recurring-invoice-templates/resume-recurring-invoice-template)
