What's different in v3

In this section, we highlight the key differences between the BILL v3 API and v2 API. See the v3 API Release Notes for more information about additions and updates in the v3 API.

v3 APIv2 API
Sandbox base URL:
https://gateway.stage.bill.com/connect/v3
Sandbox base URL:
https://api-sandbox.bill.com/api/v2
Production base URL:
https://gateway.prod.bill.com/connect/v3
Production base URL:
https://api.bill.com/api/v2
The v3 API follows the REST standard.Each V2 API endpoint is a POST operation.
Simple AP features available today

- Search for vendors in the BILL network
- Create and manage vendors (including international vendors)
- Create and manage bills (including bill line items) for vendors
- Pay vendor bills (including international vendors)
- Set up recurring bills (including bill line items) and enable auto-payments
- Document management
Simple AP features are available. There are additional AP features.

- Create and manage vendor credits
- Set up bill approvals and manage approval policiesThese features will be available with the v3 API in the future.
Simple AR features available today

- Create and manage customers
- Create and manage invoices for customers. Email invoice reminders.
Simple AR features are available. There are additional AR features.

- Charge authorized customers
- Create and manage credit memosThese features will be available with the v3 API in the future.
API header: The header value in the v3 API requests is content-type: application/json.The header value in the v2 API requests is content-type: application/x-www-form-urlencoded.
Vendors: One POST /v3/vendors API call for 2 operations.

1. Create a vendor.
2. In addition, you can add vendor bank information.
Create a vendor with /v2/Crud/Create/Vendor.json.

Add vendor bank account information for the vendor with /v2/Crud/Create/VendorBankAccount.json.
Bills: When you create a bill for an international vendor, the local currency amount and exchange rate is calculated automatically based on the USD funding amount.

You can also create multiple bills with one v3 API call.
Create a bill with /v2/Crud/Create/Bill.json.

For international vendors, retrieve the BILL exchange rate with /v2/GetDynamicExchangeRateQuote.json.

When you create a bill for an international vendor, you must set the exchange rate in your request.
Recurring bills: One POST /v3/recurringbills API call for 3 operations.

1. Set up recurring bills on a schedule.
2. In addition, you can enable auto-payment for each generated bill.
3. Add payment information for auto-payments.
Create a recurring bill with /v2/Crud/Create/RecurringBill.json.

Pay each generated bill with /v2/PayBills.json.
Payments: One POST /v3/payments API call for 3 operations.

1. Pay a vendor for a created bill.
2. Pay a vendor without creating a bill. In this case, an auto-generated billId is available in the response.
3. Pay multiple bills with one request (/v3/payments/bulk).
Create a payment with /v2/PayBills.json.

You can combine payments made to the same vendor.

As of today with the v3 API, you cannot combine payments made to the same vendor.

This feature will be available with the v3 API in the future.
Invoices: One POST /v3/invoices API call for 3 operations.

1. Create an invoice.
2. In addition, you can create a customer for the invoice.
3. You can email the invoice to the customer.
Create an invoice with /v2/Crud/Create/Invoice.json. An existing customer is required for creating an invoice.

Email the created invoice to the customer with /v2/SendInvoice.json.

See the v2 to v3 migration guide for detailed information about migrating your code from the BILL v2 API to the v3 API.