Integrations

Bill.com

Connect Bill.com to review what you owe and are owed, prepare and pay bills, send invoices, and track card spend and budgets.

API credentialsFinance & BillingBill.com API docsBill.com MCP server overview

For bills, payments and invoices you end up pasting four things: a developer key and an Organization ID from one page in BILL, and the username and password of a BILL user. For card spend you paste one Spend & Expense API token. Either works alone.

Setup time
5 min
Auth
API credentials
API base URL
https://gateway.prod.bill.com/connect
Rate limits
BILL allows 20,000 calls an hour, 200 sign-ins an hour and 3 calls at once for each developer key and organization, and 5 text messages a minute. Spend & Expense allows 60 calls a minute for each token. PopMCP keeps one session and repeats a call refused for too many at once.

Before you begin

  • A BILL account for your organization, with a user who can open Settings
  • Best practice: a separate BILL user just for PopMCP, so your own password is not used. Administrator reaches everything, Payer can pay bills, and Auditor only reads
  • For payments on production: a phone number registered in BILL, because BILL texts a code before the first payment
  • For card spend: BILL Spend & Expense, and an Admin to make the API token

Get your credentials

Open Manage Developer Keys

Sign in to the BILL web app, click Settings, then under Sync & Integrations click Manage Developer Keys. Testing first? Use the sandbox at login.stage.us.bill.com instead: sandbox keys only work there, and PopMCP works out which one you gave it.

Open this screen →

login.us.bill.com/neo/settings
Acme Inc
Settings / Sync & Integrations

Sync & Integrations

Connect BILL to other tools.

Sync & Integrations
Manage Developer Keys
Keys for the BILL API
Tokens
Sync tokens

Generate the developer key

Click Generate developer key, read and accept BILL's terms, then click Generate key. It can take up to a minute: click Reload page to see it. Copy the key, and copy the Organization ID at the bottom of the same page. It begins with 008.

Open this screen →

login.us.bill.com/neo/settings
Acme Inc
Settings / Sync & Integrations / Manage Developer Keys

Manage Developer Keys

Keys for working with the BILL API.

Generate developer key
Your key
Developer key
0123****WXYZ
Organization ID
00801****ABCD

Choose who PopMCP signs in as

BILL's API signs in as a user and has no sign-in button for other apps, so it needs a username and password. Add a separate BILL user just for this, with the role it needs: Administrator reaches everything, Payer can pay bills, Auditor only reads. Or use a sync token: under Sync & Integrations, click Tokens, then NEW, and enter a name. The name is your username and the token is your password, though a sync token cannot pay, send invoices or approve.

Open this screen →

login.us.bill.com/neo/settings
Acme Inc
Settings / Users

Add a user

A separate user for PopMCP keeps your own password yours.

New user
Email
api-user@acme.com
Role
Payer
On production, a user who can pay moves real money. Pick the smallest role that does the job.

Optional: make a Spend & Expense API token

For cards, budgets, transactions and reimbursements, open BILL Spend & Expense as an Admin. Open My account, find API tokens, click Generate new token, enter a name and click Generate Token. Copy it straight away: it is shown once. This token can also connect on its own, with nothing in the other fields.

Open this screen →

login.us.bill.com/neo/spend
Acme Inc
My account / API tokens

API tokens

Tokens for the Spend & Expense API.

Generate new token

Copy the token now. It is only shown once.

Connect in PopMCP

Paste the developer key, Organization ID, username and password into PopMCP's Bill.com form, add the Spend & Expense token if you made one, and click Connect Bill.com. PopMCP signs in, shows your organization's name, and says whether it is your live account or the sandbox.

Open this screen →

Before the first payment: confirm a text code

On production, BILL asks for a code before a payment, a new bank account or vendor auto-pay. There is nothing to do in advance. The first time, the AI asks BILL to text the phone on your account and asks you for the code. PopMCP keeps the result for 30 days, so you are not asked again until then. If no phone is registered, the AI can add one, or you can add it in BILL.

Open this screen →

Connect in PopMCP

Open your workspace, choose Bill.com in the marketplace, and fill in the connect dialog:

FieldWhat to enter
Developer keysecretIn BILL, go to Settings, then Sync & Integrations, then Manage Developer Keys, and click Generate developer key. It can take a minute to appear.Encrypted with AES-256-GCM on save and never shown again.
Organization IDtextAt the bottom of the same Manage Developer Keys page. The connection stays locked to this organization.
UsernametextThe email a BILL user signs in with. A separate user for PopMCP is best. For a sync token, its name.
PasswordsecretBILL's API has no other way to sign in as a user. Stored encrypted and sent only to BILL. For a sync token, the token.Encrypted with AES-256-GCM on save and never shown again.
Spend & Expense API tokensecretIn BILL Spend & Expense, open My account, find API tokens and click Generate new token. You need to be an Admin. Copy it straight away: it is shown once.Encrypted with AES-256-GCM on save and never shown again.
Accountant Console API tokensecretReplaces the password when signing in to a client's organization from the BILL Accountant Console.Encrypted with AES-256-GCM on save and never shown again.

PopMCP verifies the credential against Bill.com immediately. On success the connection flips to Verified and its MCP tools are provisioned.

Verify it worked

PopMCP shows the Bill.com connector as Connected with your organization's name, and says whether it is your live account, where payments use real money, or the sandbox. With a Spend & Expense token alone, it shows the name of the person who made the token.

Troubleshooting

BILL did not accept this username and password

Why: A typing slip, or the password was changed, or the login belongs to the sandbox while the key belongs to production. The two share nothing.

Fix: Sign in at login.us.bill.com with the same details to check them. With a sync token, the username is the token's name and the password is the token.

BILL did not accept this developer key

Why: The key was cut short, or it is from a different system.

Fix: Copy it again from Settings, Sync & Integrations, Manage Developer Keys.

BILL refused this sign-in, and mentions the Organization ID

Why: The Organization ID is wrong, or the developer key was made in a different organization.

Fix: Copy the ID from the bottom of Manage Developer Keys, in the organization you want to connect. It begins with 008.

The connection stopped working after a password change

Why: PopMCP signs in with the password you gave it.

Fix: Connect Bill.com again with the new password.

A payment says it needs a session trusted with a text code

Why: BILL asks for a code on production, and the last one was more than 30 days ago.

Fix: Let the AI ask BILL to send a code, and give it the code you receive. If no phone is registered, one is added first.

A tool says it needs a Spend & Expense API token, or the BILL sign-in

Why: BILL keeps the two apart, and this connection has only one of them.

Fix: Connect Bill.com again and fill in the part that is missing.

A payment says this user cannot pay online

Why: BILL's bank setup is not finished, or the user is not an Administrator or Payer, or is not allowed on that bank account.

Fix: Finish the bank setup in the BILL web app and check the user's role and bank account access.

A payment was refused as a duplicate

Why: The same payment went to BILL in the last 15 minutes, and PopMCP stopped the second one so nothing is paid twice.

Fix: Check the payments list first. If you really want a second identical payment, tell the AI so: it sends it with a new key.

Reference

On this page