---
title: "Create multiple bills"
method: POST
path: "/v3/bills/bulk"
tags: ["bills"]
---

# Create multiple bills

`POST /v3/bills/bulk`

Create multiple bills with one API request. You can create up to 100 bills with one `POST /v3/bills/bulk` request.

Bulk bill creation at BILL follow a set of rules.
* **Successful response**: In your bulk bill creation request, all your bills must be successfully created for a successful response. If any bill creation is not successful, the entire request fails and none of the bills in the request are created.
* **You can create bills for multiple vendors**: You can create bills for one vendor or for multiple vendors with one `POST /v3/bills/bulk` request.

See [Bills](https://developer.bill.com/docs/ap-bills) in the Guides section for more information, sample requests, and responses.

## Headers

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

## Request body

- BillCreateRequestDto[]
  - `vendorId` string, required — BILL-generated ID of the vendor. The value begins with `009`.
  - `description` string — Bill description
  - `dueDate` string, date, required — Bill due date. The value is in the `yyyy-MM-dd` format.
  - `paymentTermId` string
  - `billLineItems` BillCreateLineItemDto[], required — Bill line items information
    - `amount` number — Bill line item amount. For a bill in an international currency (not USD), this value is in the local currency. If you set `amount`, `quantity`, and `price`, BILL uses the `amount` value as the bill line item total amount.
    - `quantity` number — Bill line item unit quantity
    - `price` number — Bill line item unit price. For a bill in an international currency (not USD), this value is in the local currency.
    - `description` string — Bill line item description
    - `classifications` object — General ledger classifications information for the 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`.
      - `customerId` string — BILL-generated ID of the customer. The value begins with `0cu`.
  - `invoice` object, required — Invoice information
    - `invoiceNumber` string
    - `invoiceDate` string, date
  - `payFromChartOfAccountId` string — BILL-generated ID of the chart of accounts for the bill payment. The value begins with `0ca`.
  - `classifications` object — General ledger classifications information for the bill
    - `chartOfAccountId` string
    - `accountingClassId` string
    - `departmentId` string
    - `locationId` string
  - `vendorCredits` BillVendorCreditRequestItemDto[] — Vendor credits applied to the bill
    - `id` string, required — BILL-generated ID of the vendor credit applied to the bill payment. The value begins with `vcr`.
    - `amount` number, required — Credit amount
  - `purchaseOrderNumber` string — Purchase order number linked with the bill
  - `billApprovals` boolean — Set as `true` for BILL to add approvals information in the response. When you have approval policies set up for bills and a bill matches a policy, you see an additional `approvers` array of objects in the response. The array shows the list of individual users and/or user groups assigned as bill approvers. In addition, the array provides information about the status of the bill in the current approval flow. **Note**: When you set `billApprovals` as `true`, you must set the field as `true` if you want to update the bill (`PATCH /v3/bills/{billId}`) or replace the bill (`PUT /v3/bills/{billId}`).

## Response `201`

Create multiple bills response

- BillWithoutApproversResponseDto[]
  - `id` string, required — BILL-generated ID of the bill. The value begins with `00n`.
  - `archived` boolean, required — Set as `true` if the bill is archived
  - `vendorId` string, required — BILL-generated ID of the vendor. The value begins with `009`.
  - `fundingAmount` number — Bill total amount. This value is in USD.
  - `amount` number — Bill total amount. For a bill in an international currency (not USD), this value is in the local currency.
  - `paidAmount` number — Bill paid amount. This value is the sum of all cleared payments and any credit amount applied to the bill.
  - `dueAmount` number — Bill due amount. The value is calculated by subtracting any applied credits (`creditAmount`), scheduled payment (`scheduledAmount`), and cleared payment from the bill `amount`.
  - `scheduledAmount` number — Bill scheduled amount. The value is set as the vendor payment amount that is pending clearance.
  - `creditAmount` number — Credit amount applied to the bill
  - `exchangeRate` number — Exchange rate for the bill amount in an international currency (not USD). The BILL exchange rate changes periodically and a different rate may apply at the time of payment.
  - `description` string — Bill description
  - `dueDate` string, date — Bill due date. The value is in the `yyyy-MM-dd` format.
  - `paymentTermId` string
  - `invoice` object — Invoice information
    - `invoiceNumber` string
    - `invoiceDate` string, date
  - `billLineItems` BillResponseLineItem[] — Bill line item information
    - `id` string — BILL-generated ID of the bill line item. The value begins with `bli`.
    - `amount` number, required — Bill line item amount. For a bill in an international currency (not USD), this value is in the local currency. If you set `amount`, `quantity`, and `price`, BILL uses the `amount` value as the bill line item total amount.
    - `quantity` number — Bill line item unit quantity
    - `price` number — Bill line item unit price. For a bill in an international currency (not USD), this value is in the local currency.
    - `description` string — Bill line item description
    - `classifications` object — General ledger classifications information for the 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`.
      - `customerId` string — BILL-generated ID of the customer. The value begins with `0cu`.
  - `payFromChartOfAccountId` string — BILL-generated ID of the chart of accounts for the bill payment. The value begins with `0ca`.
  - `paymentStatus` 'PAID' | 'UNPAID' | 'PARTIALLY_PAID' | 'SCHEDULED' | 'IN_PROCESS' | 'UNDEFINED' — Bill payment status.
  - `approvalStatus` 'UNASSIGNED' | 'ASSIGNED' | 'APPROVED' | 'APPROVING' | 'DENIED' | 'UNDEFINED' — Bill approval status.
  - `createdBy` string — BILL-generated ID of the user that created the bill. The value begins with `006`.
  - `createdTime` string, date-time — Created date and time
  - `updatedTime` string, date-time — Updated date and time
  - `classifications` object — General ledger classifications information for the bill
    - `chartOfAccountId` string
    - `accountingClassId` string
    - `departmentId` string
    - `locationId` string
  - `purchaseOrderNumber` string — Purchase order number linked with the bill

## 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)
