FAQs

In this section, we list frequently asked questions about the BILL API Platform.

Common API error codes

See Common API error codes for information about the common BILL API error codes.

I get the BDC_1101 (User name and/or password do not match our records.) error. What should I do?

Confirm whether your username and password is correct. In addition, confirm whether the username and password belong to the correct environment: sandbox or production.

Note that the BILL sandbox and production environments do not share any data.

I get the BDC_1102 (Developer key is invalid.) error. What should I do?

Confirm whether your username and password is correct. In addition, confirm whether the username and password belong to the correct environment: sandbox or production.

Note that the BILL sandbox and production environments do not share any data.

I get the BDC_1121 (API not supported.) error. What should I do?

If the HTTP status code of the response is 404, confirm that you have the correct API endpoint path without any spelling errors or capitalization errors.

I get the BDC_1322 (Max number of concurrent requests per organization reached.) error. What should I do?

Confirm whether your concurrent API requests per developer key per organization is not more than three.

When you receive this error, all subsequent API requests fail until one concurrent request is completed. Implement exponential backoff in your code to address concurrent rate limits.

See API rate limits for more information.

I get the BDC_1402 (Please select a payment processing date two business days out from today.) error. What should I do?

When you add a vendor bank account, BILL requires 2 business days to complete a one-time verification of the bank account. To pay such a vendor, you must set a processDate that is 2 business days from the current date.

Vendors

Can I delete a vendor bank account or vendor while BILL is processing a payment?

Yes. BILL enables you to delete a vendor bank account or vendor while BILL is processing a payment. If an ACH payment is in progress but has not reached the SENT state, BILL switches the payment disbursement method from ACH to CHECK.

Why can I not see the bank account information for a BILL Network vendor?

BILL does not display BILL Network vendor bank account information to maintain system privacy. Review vendor details in the vendor record to ensure you are connected with the correct vendor. You can also use the vendor Payment Network ID (PNI) to confirm the vendor and payment destination.

With the BILL v3 API, you can get the PNI of a connected vendor with GET /v3/vendors. See Get list of vendors in the API reference for more information.

How does BILL determine auto-connections in the BILL Network?

BILL has business logic to determine if a BILL Network vendor is eligible to be auto-connected. The system automatically connects with a BILL Network vendor only when there is high confidence in the BILL Network match.

Does BILL auto-connect with a BILL Network vendor after they have been disconnected?

No. BILL considers previous disconnections when determining whether BILL auto-connects with a BILL Network vendor.

My vendor payment disbursement method is WALLET. What is WALLET?

When a vendor accepts a BILL Network invitation and joins BILL, the vendor is on the Advanced Receivables or Basic Receivables plan. The payment disbursement method for this vendor is set as WALLET. When you pay this vendor, BILL typically deposits funds directly into the vendor bank account (unless the vendor opts in to the BILL Wallet feature).

AP payments

How do I get a scanned copy of a check sent to a vendor?

Yes. You can get a scanned copy of a check with GET /v3/payments/{paymentId}/check-image. The check image is available when the vendor bank processes the check payment. BILL checks in with the bank every 30 minutes to get the check image. The image file format is determined by the vendor bank.

See Get check image data in the API reference for more information.

What is the funding window and cut-off time for BILL processing a payment?

The final cut-off time for BILL processing a payment is 6:00 PM Pacific Time (PT) each US business day.

  • Before 6:00 PM PT: BILL processes the payment on the same day.
  • 6:00 PM PT onwards: BILL processes the payment on the next business day.
What is the meaning of the FUNDS_ESCHEATED payment status?

The FUNDS_ESCHEATED payment status indicates that the disbursed payment funds are not claimed by the vendor. BILL takes the necessary regulatory actions for FUNDS_ESCHEATED payment.

Other BILL API Platform questions

Do I build with the BILL v3 API or v2 API?

Start building with the BILL v3 API. We keep adding new features to the v3 API. See API release notes for information about new features and updates in the v3 API. You can also subscribe to the RSS feed.

BILL has no plans to deprecate the BILL v2 API. As you continue building and find a useful v2 API feature, note that each version has its own API base URL.

For example, POST https://gateway.stage.bill.com/connect/v3/login is v3 sandbox API login, and POST https://api-stage.bill.com/api/v2/Login.json is v2 sandbox API login.

I see that my sandbox account trial subscription is expiring. Am I required to pay with my credit card?

In the sandbox environment, BILL does not charge you for any pricing plan or subscription. When you sign up to create your sandbox developer account, you are on a trial subscription plan. Upgrade your subscription plan to make sure you have access to all the BILL features in sandbox.

See Add a test credit card in sandbox for more information.

Am I required to set up a new developer key (devKey) for each of my test organizations and test users?

When you generate a developer key, the key is available for you to use with any of your test organizations and test users.

When you sign in with POST /v3/login, the generated sessionId in the response is available only for the selected devKey in your request. This sessionId does not work with another devKey.

How do I move all my production data to sandbox?

We do not recommend that you move any of your production data to sandbox. There can be unintended consequences. For example, you may be testing with your production data in sandbox, but the vendors and customers will receive emails based on your testing with bills and invoices.

In the BILL web app, navigate to Settings > Import & Export to move any required information between your development environments.

How do I link a money movement object to a bill id, invoice id, or payment?

Money movement objects enable you to view BILL money movement information for a bill, invoice, or payment. Currently, you cannot link a MoneyMovement object with any other BILL object.