---
title: "Update a recurring bill"
method: PATCH
path: "/v3/recurringbills/{recurringBillId}"
tags: ["recurringbills"]
---

# Update a recurring bill

`PATCH /v3/recurringbills/{recurringBillId}`

Update details about a recurring bill line item. You can also update other recurring bill details.

You can use the PATCH operation to modify line item details, such as amount and description. The recurring bill line item `id` does not change with a PATCH operation.

When a recurring bill is modified, all future bills are automatically changed.

## Path parameters

- `recurringBillId` string, required — BILL-generated ID of the recurring bill. The value begins with `btp`.

## Headers

- `sessionId` string, nullable — API session ID generated with `/v3/login`
- `devKey` string, nullable — Developer key generated with your BILL developer account

## Request body

- RecurringBillUpdateRequestDto — Update a recurring bill
  - `vendorId` string — BILL-generated ID of the vendor. The value begins with `009`.
  - `description` string — User-generated invoice number. This value can be your chosen number scheme or bill due date.
  - `schedule` object — Recurring bill scheduling information
    - `period` 'DAILY' | 'WEEKLY' | 'MONTHLY' | 'YEARLY' | 'NONE' — Time period for setting up recurring bills
    - `frequency` integer — Bill frequency per time `period`. For example, if the time `period` is `MONTHLY` and `frequency` is `3`, a bill is generated once every 3 months.
    - `nextDueDate` string, date — Due date for the next bill. This value is in the `yyyy-MM-dd` format.
    - `endDate` string, date — End date for the recurring bills schedule. Recurring bills stop on the `endDate`. This value is in the `yyyy-MM-dd` format.
    - `daysInAdvance` integer — Number of days before `nextDueDate` when the next bill is generated. If the date has occurred in the past for one or more bills, all those bills are generated.
  - `recurringBillLineItems` RecurringBillUpdateLineItem[] — Recurring bill line item information
    - `id` string, required — BILL-generated ID of the recurring bill line item. The value begins with `tli`.
    - `amount` number — Recurring bill line item amount. For a bill in an international currency (not USD), this value is in the local currency.
    - `description` string — Recurring bill line item description
    - `classifications` object — General ledger classifications information for the recurring bill line item
      - `chartOfAccountId` string — BILL-generated ID of the chart of accounts. The value begins with `0ca`.
      - `accountingClassId` string — BILL-generated ID of the accounting class. The value begins with `cls`.
      - `departmentId` string — BILL-generated ID of the department. The value begins with `0de`.
      - `employeeId` string — BILL-generated ID of the employee. The value begins with `emp`.
      - `jobId` string — BILL-generated ID of the job. The value begins with `job`.
      - `locationId` string — BILL-generated ID of the location. The value begins with `loc`.
      - `itemId` string — BILL-generated ID of the item. The value begins with `0ii`.
  - `processingOptions` object — Payment processing options. **Note**: Enabling recurring bill `autoPayment` requires an MFA-trusted API session. See [MFA setup](https://developer.bill.com/reference/setup) for information about the BILL MFA process.
    - `autoPayment` boolean — Set as `true` to enable auto-payment for each bill
  - `paymentInformation` object — Payment information
    - `bankAccountId` string — BILL-generated ID of the bank account used to pay each bill. The value begins with `bac`.

## Response `200`

Update a recurring bill response

- RecurringBillResponseDto — Recurring bills response.
  - `id` string, required — BILL-generated ID of the recurring bill. The value begins with `btp`.
  - `archived` boolean, required — Set as `true` if the recurring bill is archived
  - `vendorId` string, required — BILL-generated ID of the vendor. The value begins with `009`.
  - `description` string — Recurring bill description
  - `schedule` object, required — Recurring bill scheduling information
    - `period` 'DAILY' | 'WEEKLY' | 'MONTHLY' | 'YEARLY' | 'NONE' | 'UNDEFINED' — Time period for setting up recurring bills
    - `frequency` integer — Bill frequency per time `period`. For example, if the time `period` is `MONTHLY` and `frequency` is `3`, a bill is generated once every 3 months.
    - `nextDueDate` string, date — Due date for the next bill. This value is in the `yyyy-MM-dd` format.
    - `endDate` string, date — End date for the recurring bills schedule. Recurring bills stop on the `endDate`. This value is in the `yyyy-MM-dd` format.
    - `daysInAdvance` integer — Number of days before `nextDueDate` when the next bill is generated. If the date has occurred in the past for one or more bills, all those bills are generated.
  - `recurringBillLineItems` RecurringBillResponseLineItem[], required — Recurring bill line item information
    - `id` string — BILL-generated ID of the recurring bill line item. The value begins with `tli`.
    - `amount` number, required — Recurring bill line item amount. For a bill in an international currency (not USD), this value is in the local currency.
    - `description` string — Recurring bill line item description
    - `classifications` object — General ledger classifications information for the recurring bill line item
      - `chartOfAccountId` string — BILL-generated ID of the chart of accounts. The value begins with `0ca`.
      - `accountingClassId` string — BILL-generated ID of the accounting class. The value begins with `cls`.
      - `departmentId` string — BILL-generated ID of the department. The value begins with `0de`.
      - `employeeId` string — BILL-generated ID of the employee. The value begins with `emp`.
      - `jobId` string — BILL-generated ID of the job. The value begins with `job`.
      - `locationId` string — BILL-generated ID of the location. The value begins with `loc`.
      - `itemId` string — BILL-generated ID of the item. The value begins with `0ii`.
  - `processingOptions` object — Payment processing options
    - `autoPayment` boolean — Set as `true` to enable auto-payment for each bill
  - `paymentInformation` object — Payment information
    - `bankAccountId` string — BILL-generated ID of the bank account used to pay each bill. The value begins with `bac`.
  - `createdTime` string, date-time — Created date and time
  - `updatedTime` string, date-time — Updated date and time

## Other responses

- `4XX` — List of errors.
- `5XX` — List of errors.

---

[API](https://skmtc.net/bill/apis/bill-v3-api.md) · [All operations](https://skmtc.net/bill/apis/bill-v3-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bill/bill-v3-api/revisions/0483350c434e/schema)
