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.

See PATCH /v3/organizations/{organizationId} in the API reference for more information.

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.

OperationAPI endpoint
Create a bill approval policyPOST /v3/bill-approvals
Get list of bill approval policiesGET /v3/bill-approvals/policies
Update a bill approval policyPUT /v3/bill-approvals/policies/{policyId}
Delete a bill approval policyDELETE /v3/bill-approvals/policies/{policyId}
Approve or deny a billPOST /v3/bill-approvals/actions
Get list of bills pending approvalsGET /v3/bill-approvals/pending-user-approvals

See Bill approvals for more information.


We have introduced a new Update an organization price plan (PATCH /v3/partner/organizations/{organization_id}/price-plan) endpoint.

When you onboard as a BILL partner, BILL works with you to set up price plans for the organizations you create. Your organizations can have up to 5 price plans. Each price plan is named in the PricePlanN format (PricePlan1 up to PricePlan5). Use this new endpoint to update the price plan for an existing organization.

See PATCH /v3/partner/organizations/{organizationId}/price-plan in the API reference for more information.

Features

  • We have added block spinners across all the widget screens wherever applicable. This ensures that the user is blocked from performing any UI actions while a widget screen is loading.
  • We have blocked all users from trying to access the BILL widgets in OFAC sanctioned countries. See Understand US Economic Sanctions in the BILL Help Center to learn more about OFAC sanctioned countries.

Use BILL webhooks to subscribe to and receive real time notifications for events, such as create a vendor, update a bill, or create a payment. When you get the events catalog and create subscriptions, set the required header values based on the events you want to subscribe to.

EventHeader values
Organization-level AP & AR eventsdevKey and sessionId
Partner-level AP & AR eventsappKey and sessionId
Spend & Expense eventsapiToken

Idempotency key and notification URL for creating subscriptions

In your Create a subscription (POST /v3/spend/subscriptions) request, the X-Idempotent-Key header value must be in the UUID4 format. In addition, you can use an online service for generating a test notificationUrl value. For example, webhook.site.

Helpful links

Features

Billing improvements

  • In the Add funding, Manage funding, and User verification widgets, the user can now set a default funding and billing account method right when the bank account is eligible.
  • In the Manage funding widget, we have added clarity by explaining that the default funding account method will be used for their monthly account billing and as the default payables account for vendor payments.
  • In the Add funding widget, the fundingAddSuccess event is emitted when the user successfully adds a new funding payment method. We have added the defaultBilling field to the bankData payload. This field is set as true if the bank account is set a default for billing and payments.
{
  bankData: {
    status: string;
    accountNumber: string;
    userVerificationRequired: boolean;
    id: string;
    nameOnAccount: string;
    defaultBilling: boolean;
  }
}

Miscellaneous

We have replaced overlay spinners with loading buttons across all the widget screens. This is a user experience improvement.

We have introduced a new feature for accepting or rejecting a Spend & Expense transaction in response to a 3D Secure challenge triggered to verify the identity of the cardholder.

New webhook for 3D Secure challenges

We have updated the webhooks events catalog to include the spend.three-ds-challenge.created event. Notifications are triggered for this event when a 3D Secure challenge is triggered for a Spend & Expense transaction. You can now set up subscriptions to receive notifications for the new event.

See Spend & Expense 3D Secure challenge notification payload for more information.

New v3 API endpoint for responding to 3D Secure challenges

We have a new API endpoint for responding to 3D Secure challenges for Spend & Expense transactions. With the Accept or reject a transaction (POST /v3/spend/transactions/{acsTransactionId}/3ds-challenge) request, you can respond to a webhook notification you receive when a 3D Secure challenge is generated for a transaction.

See POST /v3/spend/transactions/{acsTransactionId}/3ds-challenge in the API reference for more information.

In the Record AP payment endpoint, we have introduced the capability of adding vendor credits. In the Record AP payment (POST /v3/bills/record-payment) request, 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 POST /v3/bills/record-payment in the API reference for more information.

Features

New Add vendor widget

The Add vendor widget enables users to add and manage vendors in the organization. With saved vendor information and vendor bank account information, users can pay vendors and bills. Users can also add and manage international vendors with this widget.

The Add vendor widget provides a set of features.

Feature

Description

Vendor management

Add and manage (edit or delete) vendor information in the organization. This includes international vendors.

When a user enters vendor information, BILL searches the entire BILL network for the vendor and provides the list of vendors that match. When the user selects a vendor from the list of results, BILL saves the selected vendor in the organization. In addition, BILL automatically enables payments from the user to the vendor. Optionally, the user can manually add a vendor.

Vendor bank account management

When the user manually adds a new vendor, a vendor bank account is required for enabling electronic payments from the user to the vendor. The user can add a new vendor bank account information for a new vendor or for an existing vendor.

BILL takes up to 2 business days to verify the added vendor bank account before enabling payments to the vendor bank account.

Vendor search

The user can search for vendors from the list of vendors added in the organization. A set of filters are available in the widget for search.