We have moved the BILL terms of service to the beginning of the onboarding flow. In addition, we have removed the BILL terms of service from the footer of the Onboarding widget. The user now sees the BILL terms of service more prominently when they begin onboarding.
We have added a list of BILL ACH IDs in the Add funding account experience. This information is required in case the user's bank account has a debit block or debit filter. When the user adds a funding account with the Plaid flow or with the manual setup, the user now sees BILL ACH ID values that they copy to clipboard.
On December 4, 2025, we will release a fix in the v3 bills response to correctly show the fundingAmount and amount information for international vendors (outside US). You are receiving this email because you are a BILL API user and you currently have bills created for international vendors in the production environment.
v3 bills for international vendors
When you create a bill with POST /v3/bills for an international vendor, the API response correctly shows the fundingAmount and amount information.
Field
Description
fundingAmount
Bill total amount. This value is in USD.
amount
Bill total amount. For a bill in an international currency (not USD), this value is in the international currency.
We learned that when you get bill details (with GET /v3/bills or GET /v3/bills/{billId}), the fundingAmount and amount field values were not correctly displayed.
📘
NOTE
This issue occurs only in bills created for an international vendor (outside US). Any bill created for a US vendor is not affected.
On December 4, 2025, we will release a fix for the GET /v3/bills and GET /v3/bills/{billId} API endpoints to correctly display the fundingAmount and amount field values for bills created for international vendors.
Developer actions
In your integrations, if you get bill details with GET /v3/bills or GET /v3/bills/{billId}, make sure that the fundingAmount and amount information is correctly displayed for bills created for your international vendors.
We have added two new developer tutorials in the BILL API Platform for developers YouTube playlist. See the BILL API Platform for developers playlist for the complete set of developer tutorials.
BILL API Platform authentication
In this tutorial, we walk through everything you need to authenticate with the BILL API Platform.
You’ll learn how to:
Generate your developer key (devKey)
Find your organization ID (organizationId)
Use AP & AR sync token as a BILL app partner
Use a console token for multi-org or accounting firm access
Generate a BILL Spend & Expense API token for the Spend & Expense API
Bill approvals and S&E 3DS challenge integration example
In this tutorial, we walk you through real-time bill approvals, document fetching, and handling Spend & Expense 3DS authentication flows in your existing systems.
In the Spend & Expense Transactions API, we have added syncStatus to the list of transaction filters. In the Get list of transactions (GET /v3/spend/transactions) request, you can now filter transactions with the syncStatus field.
This field provides information about the current sync status of the transaction with your accounting system. The possible syncStatus values are PENDING, SYNCED, ERROR, MANUAL_SYNCED, or NOT_SYNCED.
In the invoices API endpoints, we have introduced the capability of adding convenience fees. In the Create an invoice (POST /v3/invoices), Replace an invoice (PUT /v3/invoices/{invoice_id}), and Update an invoice (PATCH /v3/invoices/{invoice_id}) requests, you can now set convenience fees in the convenienceFee object. To set the convenience fee, the new enableCardPayment field must be set as true.
In the convenienceFee object, you can now set a convenience fee percentage that you want to charge your customer when they pay the invoice using a card.
Sales tax
In the invoices API endpoints, we have introduced the capability of adding a sales tax to taxable invoice line items. In the Create an invoice (POST /v3/invoices), Replace an invoice (PUT /v3/invoices/{invoice_id}), and Update an invoice (PATCH /v3/invoices/{invoice_id}) requests, you can now set a sales tax with the new salesTaxItemId field.
You can set salesTaxItemId as the BILL-generated ID of the SALES_TAX item. The value begins with 0ii. The tax rate is applied to all the invoice line items set as taxable. You can set up a SALES_TAX percentage item with POST /v3/classifications/items.
Invoice PDF
In the invoices API endpoints, we have introduced the invoicePdfId field. In all the invoices API responses, you can now get the BILL-generated ID of the invoice PDF.
The invoice PDF is sent as an email attachment when you send an invoice to a customer. The invoice PDF also appears when the customer clicks the invoice payment link to complete the invoice payment.
We have added a loading button spinner at the beginning of the adding a bank account with Plaid flow. This ensures that the Plaid modal loading is complete before the user can continue with adding a bank account.
We have improved the instructions for the user to follow when manually adding a bank account.
Theming and experience improvements
We have improved the themes and styles across all widget screens. We have ensured that all UI elements in the widget screens have the correct CSS property set.
We have improved the alignment of icons across all widget screens.
We have improved the button hover states across all widget screens.
We have added ARIA labels for all SVG elements across all widget screens. This is an accessibility improvement.
In the invoice attachment API endpoint, we have introduced the replaceInvoicePdf field. In the Upload invoice attachment (POST /v3/attachments/invoices/{invoiceId}) request, you can now set the replaceInvoicePdf field as true to replace the existing invoice PDF with a new PDF attachment.
The invoice PDF is sent as an email attachment when you send an invoice to a customer. The invoice PDF also appears when the customer clicks the invoice payment link to complete the invoice payment.
We have introduced a new API endpoint for deleting an attachment.
You can now delete an existing attachment, A deleted attachment cannot be restored. The deleted attachment is not available in the list of attachments.
In the organizations API endpoints, we have introduced the individualTransferOut and individualTransferIn fields. In the Update an organization (PATCH /v3/organizations/{organizationId}) request, you can now set these fields to specify how ACH transfers are made with the organization funding bank account.
Field
Description
individualTransferOut
Rule for how ACH transfers are made from the organization funding bank account to vendors.
Set as true for an individual ACH transfer for each payment made.
Set as false for a single batch ACH transfer for all payments made in a day. The default value is false.
individualTransferIn
Rule for how ACH transfers are made from customers to the organization funding bank account.
Set as true for an individual ACH transfer for each payment received.
Set as false for a single batch ACH transfer for all payments received in a day. The default value is false.
We have introduced a set of API endpoints for bill approvals. With v3 bill approvals, you can now create and manage approval policies for bills based on a set of rules. In an approval policy, the approvers can be individual users or user groups.
When you create or update a bill with the v3 API, set billApprovals as true for BILL to add approvals information in the v3 bills response.
When you have approval policies set up for bills and a bill matches the policy, you now see an additional approvers array of objects in the v3 bills 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.
For any approvers added to a v3 bill, the approvals must be complete before you can pay the bill with the API.