---
title: "Draft the next invoice from a template"
method: POST
path: "/invoice-recurring/{template_id}/draft-next"
tags: ["Invoicing"]
---

# Draft the next invoice from a template

`POST /invoice-recurring/{template_id}/draft-next`

## Request

- Base URL: `https://api.app.lastaccountingcompany.com/portal`
- URL: `https://api.app.lastaccountingcompany.com/portal/invoice-recurring/{template_id}/draft-next`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/lastaccountingcompany/apis/lac-customer-api/docs/invoice-recurring/:template_id/draft-next/post.ts> (a function with typed inputs; its response is checked against the schema)

Materializes the template's next occurrence as an invoice draft, optionally overriding the issue date. Requires a write-scoped key.

## Path parameters

- `template_id` string, required

## Request body

- object
  - `customer_id` string: Target company. Optional for API keys.
  - `issue_date` string: Override issue date, `YYYY-MM-DD`.

## Response `200`

Template and the drafted invoice.

- object
  - `template` object
  - `draft` object

## Other responses

- `401`: Missing or invalid bearer token.
- `403`: Insufficient scope or role — e.g. a read-scoped key on a mutating method, or an API key on an admin/approver-only endpoint.

---

[API](https://skmtc.dev/lastaccountingcompany/apis/lac-customer-api.md) - [All operations](https://skmtc.dev/lastaccountingcompany/apis/lac-customer-api/llms.txt) - [OpenAPI document](https://skmtc.dev/lastaccountingcompany/apis/lac-customer-api/revisions/52e277b4f031?raw)
