Record AP payments
Use POST /v3/bills/record-payment to record an offline AP payment made to a vendor. See the POST /v3/bills/record-payment API for more information.
An offline payment is a payment made outside the BILL system. BILL simply applies the recorded payment amount to one or more bills for the vendor. BILL does not process the payment or transfer funds to the vendor when you record an AP payment with this endpoint.
Use POST /v3/payments to create a payment with the BILL system. When you pay with POST /v3/payments, BILL processes the payment and transfers funds from your BILL organization funding account to the vendor.
To record an AP payment, set the required fields in your request.
Field | Description |
|---|---|
| BILL-generated ID of the vendor. The value begins with |
| Payment processing date. The value is in the |
| Set as |
| List of bill payments. In the
|
See the POST /v3/bills/record-payment API for more information about the other fields you can set.
Sample request
In this cURL example, an AP payment of $100 is recorded. The payments array lists two bills ($70 and $30).
curl --request POST \
--url 'https://gateway.stage.bill.com/connect/v3/bills/record-payment' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'devKey: {developer_key}' \
--header 'sessionId: {session_id}' \
--data '{
"vendorId": "{vendor_id}",
"processDate": "2026-12-20",
"toPrintCheck": false,
"payments": [
{
"billId": "{bill_id01}",
"amount": 70
},
{
"billId": "{bill_id02}",
"amount": 30
}
]
}'Response
In the response, a BILL-generated payment id is available. The value begins with stp. In addition, disbursementType is set as OFFLINE.
{
"id": "{payment_id}",
"vendorId": "{vendor_id}",
"billPayments": [
{
"id": "{bill_payment_id01}",
"billId": "{bill_id02}",
"amount": 70.00
},
{
"id": "{bill_payment_id01}",
"billId": "{bill_id02}",
"amount": 30.00
}
],
"processDate": "2026-12-20",
"amount": 100.00,
"transactionNumber": "{transaction_number}",
"confirmationNumber": "{confirmation_number}",
"status": "PAID",
"onlinePayment": false,
"disbursementType": "OFFLINE",
"createdTime": "2026-12-10T00:04:52.612+00:00",
"updatedTime": "2026-12-10T00:04:52.854+00:00",
"createdBy": "{user_id}",
"disbursementStatus": "DONE",
"singleStatus": "PAID_OFFLINE",
"toPrintCheck": false,
"allowExport": true
}See the POST /v3/bills/record-payment API for more information.
Updated 12 days ago
