In the bills API endpoints, we have introduced the quantity and price fields at the line item level.

FieldDescription
quantityBill line item unit quantity
priceBill line item unit price. For a bill in an international currency (not USD), this value is in the local currency.

In the billLineItems array, when you set amount for a bill line item, BILL uses this value as the bill line item amount. You can now set quantity and price for BILL to calculate the bill line item amount. For example, if quantity is 2 and price is 79.99 for a bill line item, BILL calculates and displays the line item amount in the response as 159.98 (2 x 79.99).

In addition, we have introduced the customerId field at the line item level in the classifications object. You can now tag a bill line item with a customerId.

See POST /v3/bills in the API reference for more information.

The spend.transaction.updated webhook notification now includes the currencyData object. The object provides information about the transaction currency.

FieldDescription
exchangeRateBILL exchange rate for currency conversion
exponentNumber of decimal places in the currency format
originalCurrencyAmountTransaction amount in the local currency before conversion
originalCurrencyCodeThree-letter ISO currency code for the transaction amount in the local currency
symbolCurrency symbol, such as $, €, and £

See Spend & Expense transaction notification payloads for more information.

In the bills API endpoints, we have introduced the capability of adding vendor credits to the bill. In the Create a bill (POST /v3/bills), Replace a bill (PUT /v3/bills/{billId}), and Update a bill (PATCH /v3/bills/{billId}) requests, you can now add vendor credits in the vendorCredits object.

FieldDescription
idBILL-generated ID of the vendor credit applied to the bill payment. The value begins with vcr.
amountCredit amount

See Vendor credits for more information.

We have introduced a set of API endpoints for vendor credit operations. You can now create vendor credits for adjusting the amount that you owe a vendor.

OperationAPI endpoint
Create a vendor creditPOST /v3/vendor-credits
Get list of vendor creditsGET /v3/vendor-credits
Get vendor credit detailsGET /v3/vendor-credits/{vendorCreditId}
Update a vendor creditPATCH /v3/vendor-credits/{vendorCreditId}
Replace a vendor creditPUT /v3/vendor-credits/{vendorCreditId}
Archive a vendor creditPOST /v3/vendor-credits/{vendorCreditId}/archive
Create multiple vendor creditsPOST /v3/vendor-credits/bulk
Update multiple vendor creditsPATCH /v3/vendor-credits/bulk
Replace multiple vendor creditsPUT /v3/vendor-credits/bulk
Archive multiple vendor creditsPOST /v3/vendor-credits/bulk/archive

See Vendor credits for more information.

In the Get international payments configuration (GET /v3/vendors/configuration/international-payments) API response, we now provide the description information for more fields objects in the validations array. This information can help you correctly set the required information in your API request.

For example, when you want to add a Brazilian vendor bank account, the "name": "accountNumber" fields object now includes the "description": "IBAN" information. This confirms that you must set the bank account IBAN value as the accountNumber in your API request.

See Create an international vendor for more information.

In the Get list of payments (GET /v3/payments) and Get payment details (GET ​​/v3/payments/{paymentId}) API response, we have introduced the vendorName field. You can now get the vendor name for each payment with these endpoints.

See GET /v3/payments in the API reference for more information.

Features

User verification widget improvements

Based on the BILL API response, we have improved error handling in the user verification widget.

Onboarding widget improvements

On the KYC/KYB screen, we have improved the pre-population logic for the full name of the organization owner in the Owner name field.

Bug fixes

User verification widget

  • We learned that a spinner would intermittently go beyond the bounds of the widget. We have now fixed this issue.
  • We learned that the camera was preventing the user from uploading documentation for user verification. We have now fixed this issue.

Manage funding widget

The user that has added a bank account must also be the one that verifies the bank account. We learned that for an unverified bank account, we would show the Verify link to all the users on the bank account details screen. We have now fixed this issue. When a user on the bank account details screen is not the one that added the bank account, we now display a message stating that the account is waiting for verification by the user who added the account.