> ## Documentation Index
> Fetch the complete documentation index at: https://docs.slash.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Recurring invoices

> Invoice a customer on a schedule with an invoice series.

## How a series works

A series bills a customer the same line items on a schedule: weekly, monthly
on a date, or monthly on a weekday. It keeps exactly one invoice
`scheduled`, its `nextInvoiceId`. The first is scheduled when you create the
series, and each time one is sent the next is scheduled. Every invoice is due
`paymentTermsDays` after it's issued.

Once sent, a series invoice is an ordinary invoice: collect, remind and void
it like any other. Find a series' invoices with `seriesId` on
[List invoices](/api-reference/invoices/list).

<Frame>
  <img className="block dark:hidden" src="https://mintcdn.com/slash-9da6c7e7/qM8oQYdlXzblh7FI/images/charts/invoice-series-lifecycle.light.svg?fit=max&auto=format&n=qM8oQYdlXzblh7FI&q=85&s=e2ee9fd750f10c122475b86e4a4045ba" alt="Invoice series lifecycle" width="999" height="486" data-path="images/charts/invoice-series-lifecycle.light.svg" />

  <img className="hidden dark:block" src="https://mintcdn.com/slash-9da6c7e7/qM8oQYdlXzblh7FI/images/charts/invoice-series-lifecycle.dark.svg?fit=max&auto=format&n=qM8oQYdlXzblh7FI&q=85&s=7d34bd62217692158d2166f9fafc2c35" alt="Invoice series lifecycle" width="999" height="486" data-path="images/charts/invoice-series-lifecycle.dark.svg" />
</Frame>

A series ends on its own when its `end` is reached, after a number of
invoices or on a date. Ended and cancelled series can't be restarted; create
a new one.

## Create a series

[Create an invoice series](/api-reference/invoices/series/create) with a
[customer](/docs/v2/invoices/overview#customers), a recurrence and a first day
it can issue on.

```bash theme={null}
curl https://api.slash.com/v2/invoices/series \
  -X POST \
  -H "X-API-Key: $SLASH_API_KEY" \
  -H "x-legal-entity: $SLASH_LEGAL_ENTITY_ID" \
  -H "X-Idempotency-Key: series-acme-retainer" \
  -H "Content-Type: application/json" \
  -d '{
    "customerId": "le_cus_2rj4l7hmrrrcv",
    "accountId": "sa_group_2rj4l7hmrrrcv",
    "recurrence": { "type": "monthly_day_of_month", "dayOfMonth": 1 },
    "startDate": "2026-11-01",
    "timezone": "America/New_York",
    "paymentTermsDays": 30,
    "end": { "type": "after_count", "count": 12 },
    "lineItems": [
      {
        "name": "Monthly retainer",
        "quantity": 1,
        "unitAmount": { "amount": 500000, "currency": "USD" }
      }
    ]
  }'
```

## Edit a series

[Update an invoice series](/api-reference/invoices/series/update) to change
the next invoice and every one after it. The scheduled invoice is rewritten to
match; invoices already sent are left as they are. Moving the end into the
past ends the series. To change a single invoice, edit that invoice instead.

## Skip or cancel

[Skip](/api-reference/invoices/series/skip) voids the scheduled invoice and
schedules the one after it, or ends the series if none is left.
[Cancel](/api-reference/invoices/series/cancel) voids the scheduled invoice and
stops the series. Either way, invoices already sent are untouched.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.