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, setbillId
andamount
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 thevendorId
, thevendorId
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, setbillId
andamount
for each bill to be paid. - Do not set the
vendorId
. ThevendorId
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).
Pay Faster | Rules (for a payment created on Monday, December 1, 2025 at 9 AM PT / 12 PM ET) |
---|---|
ACH payment | Set processDate as 2025-12-01 Set isFasterPayment as true Set deliveryType as 13 |
Check payment via UPS 1-day delivery | Set processDate as 2025-12-02 Set isFasterPayment as true Set deliveryType as 10 |
Check payment via UPS 2-days delivery | Set processDate as 2025-12-03 Set isFasterPayment as true Set deliveryType as 11 |
Check payment via UPS 3-days delivery | Set processDate as 2025-12-04 Set isFasterPayment as true Set deliveryType as 12 |
Check payment via USPS to a PO Box or a non-serviceable vendor address | Set processDate as 2025-12-02 Set isFasterPayment as true Set deliveryType as 1 |
See Pay Faster and other expedited payment methods in the BILL Help Center for information about payment limits and Pay Faster pricing.
In this cURL example, a vendor payment of $228.99
is created on Monday, December 1, 2025 at 9 AM PT / 12 PM ET. For the Pay Faster ACH payment, processDate
is set as 2025-12-01
. 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":"2025-12-01",
"isFasterPayment":true,
"deliveryType":"13",
"billPays":[{
"billId":"{bill01_id}",
"amount":228.99
}]
}'
Updated 4 days ago