Pay vendors with BILL

Use /v2/PayBills.json to pay a vendor with BILL for one or more bills. You can also pay multiple vendors with a single /v2/PayBills.json request. See the PayBills API for more information.

❗️

You cannot pay a vendor without linking it to a bill

With the /v2/PayBills.json API, you cannot pay a vendor without linking it to a bill. This feature is available only with the BILL web app.

Prerequisites

There are two prerequisites for using /v2/PayBills.json.

  • This is an MFA protected endpoint. Create an MFA-protected API session with /v2/Login.json before using /v2/PayBills.json. See the Login API for more information.
  • The user paying a bill must have either the Administrator, Payer, or another user role profile that has the permission to pay bills.

Pay a single vendor

In your request, the billPays information is required.

  • In the billPays array, set billId and amount for each bill to be paid.
  • You can set vendorId as the ID of the vendor you want to pay. If you do not set the vendorId, the vendorId is automatically set for each bill to be paid.

In this cURL example, the vendor (vendorId) is paid $100 and $50 as payments for two bills.

curl --request POST \
--url 'https://api-stage.bill.com/api/v2/PayBills.json' \
--header 'accept: application/json' \
--header 'content-type: application/x-www-form-urlencoded' \
--data 'devKey={developer_key}' \
--data 'sessionId={session_id}' \
--data 'data={
  "vendorId":"{vendor_id}",
  "billPays":[{
    "billId":"{bill01_id}",
    "amount":100
  },
  {
    "billId":"{bill02_id}",
    "amount":50
  }]
}'

Combine payments made to the same vendor

You can combine payments for multiple bills to the same vendor into one payment if you pay from a bank account.

Ensure that you set enableCombinePayments as true for the vendor (with /v2/Crud/Create/Vendor.json or /v2/Crud/Update/Vendor.json) before paying for multiple bills as one combined payment. See the Create a vendor API for more information.

In the above cURL example, if enableCombinePayments is true for a vendor, the vendor receives one combined $150 payment for two bills.

❗️

Rules for combined payments

Payments can be combined only when they have the same process date, the same arrives-by date, and are scheduled to be paid at the same time.

Pay multiple vendors

In your request, the billPays information is required.

  • In the billPays array, set billId and amount for each bill to be paid.
  • Do not set the vendorId. The vendorId is automatically set for each bill to be paid.

In this cURL example, two bill payments of $100 and $50 are sent to their respective vendors.

curl --request POST \
--url 'https://api-stage.bill.com/api/v2/PayBills.json' \
--header 'accept: application/json' \
--header 'content-type: application/x-www-form-urlencoded' \
--data 'devKey={developer_key}' \
--data 'sessionId={session_id}' \
--data 'data={
  "billPays":[{
    "billId":"{bill01_id}",
    "amount":100
  },
  {
    "billId":"{bill02_id}",
    "amount":50
  }]
}'

Pay vendors with Pay Faster

With BILL Pay Faster, you can pay vendors with faster check and ePayment options.

To use the Pay Faster feature, set processDate and processingOptions based on the disbursement method accepted by the vendor (only CHECK or ACH).

❗️

The RTP_DELIVERY option is not available for vendor payments by check

You can set the RTP_DELIVERY option only if the vendor accepts ACH payments or if the vendor is connected in the BILL Network.

Pay Faster

Rules (for a payment created on Monday, November 30, 2026 at 9 AM PT / 12 PM ET)

Estimated payment arrival date

ACH payment

Set processDate as 2026-11-30
Set isFasterPayment as true
Set deliveryType as 13

2026-11-30

Check payment via UPS 1-day delivery

Set processDate as 2026-12-01
Set isFasterPayment as true
Set deliveryType as 10

2026-12-02

Check payment via UPS 2-days delivery

Set processDate as 2026-12-01
Set isFasterPayment as true
Set deliveryType as 11

2026-12-03

Check payment via UPS 3-days delivery

Set processDate as 2026-12-01
Set isFasterPayment as true
Set deliveryType as 12

2026-12-04

See Pay Faster and other expedited payment methods in the BILL Help Center for information about BILL Pay Faster payment limits. See BILL plans and pricing for information about BILL Pay Faster pricing (Under Payor - Transaction Fees).

Sample request: Pay Faster ACH payment

In this cURL example, a vendor payment of $228.99 is created on Monday, November 30, 2026 at 9 AM PT / 12 PM ET. For the Pay Faster ACH payment, processDate is set as 2026-11-30. The required fields for Pay Faster are set.

curl --request POST \
--url 'https://api-stage.bill.com/api/v2/PayBills.json' \
--header 'accept: application/json' \
--header 'content-type: application/x-www-form-urlencoded' \
--data 'devKey={developer_key}' \
--data 'sessionId={session_id}' \
--data 'data={
  "vendorId":"{vendor_id}",
  "processDate":"2026-11-30",
  "isFasterPayment":true,
  "deliveryType":"13",
  "billPays":[{
    "billId":"{bill01_id}",
    "amount":228.99
  }]
}'