canonical: https://jentic.com/apis/bill.com

# BILL APIs

BILL is a financial operations platform for accounts payable and accounts receivable. Its APIs let an organisation onboard vendors and customers, raise and pay bills, issue and collect customer invoices, route bills through approval policies, code every transaction to the general ledger, and subscribe to platform events. Jentic publishes and maintains the OpenAPI specifications for these BILL v2 surfaces, since BILL documents its API in narrative form rather than publishing OpenAPI documents, keeping each one validated and agent-ready.

## For AI agents

Across BILL's APIs an agent can log in for a session, onboard vendors and customers, raise vendor bills and run payment batches, issue customer invoices and collect payments, route items through approval policies, set up the chart of accounts and tracking dimensions, administer users and read bank balances, and subscribe to platform events. It covers the full accounts payable and accounts receivable loop from master data through to reconciliation.

## Scope

Use for: Automating BILL accounts payable and accounts receivable: onboarding vendors and customers, raising and paying bills, issuing and collecting invoices, routing approvals, coding transactions to the general ledger, and subscribing to platform events.

Not supported:
- general ledger bookkeeping
- bank feed reconciliation
- payroll processing
- expense report management
- card issuing
- tax filing

## APIs

| API | Category | Endpoints | Description |
| --- | --- | --- | --- |
| Organization \| Accounts tracking | finance | 74 | Manage the chart of accounts, classes, departments, items, jobs, locations, and payment terms used to code BILL transactions to the ledger. |
| AP \| Vendor transactions | finance | 45 | Raise vendor bills, run payment batches, record and reconcile AP payments, and pull the AP summary inside BILL. |
| AR \| Customer transactions | finance | 40 | Issue customer invoices, run recurring billing, charge authorised customers, and record received payments inside BILL's AR workflow. |
| BILL Approvals API | finance | 28 | Define BILL approval policies, set or clear approvers on bills and vendor credits, and approve or deny pending items via the BILL v2 Approvals API. |
| Organization \| Basic operations | finance | 25 | Provision users, manage profiles and permissions, read bank balances and money-movement records, and fetch documents inside a BILL organisation. |
| BILL Customer Management API | crm | 24 | Create, read, update, and delete customers, customer contacts, and customer bank accounts in BILL's accounts receivable platform via single-item and bulk operations. |
| AP \| Vendor management | finance | 16 | Onboard vendors, attach their bank account details, and keep vendor records in sync with the procurement system inside BILL. |
| BILL Connect Events API | developer-tools | 12 | Subscribe to BILL platform events, manage webhook subscriptions, rotate security keys, and trigger test-event delivery for verification. |
| BILL Authentication API | identity-auth | 6 | Log in to BILL, satisfy MFA challenges, and obtain a session ID required by every other BILL v2 API endpoint. |

## Which API to use

| Need | API | Why |
| --- | --- | --- |
| Record vendor bills, run payment batches, and reconcile AP | vendor-transactions | Vendor transactions raises bills and pays them; vendor management only holds the vendor master data those bills reference. |
| Onboard a vendor and attach bank account details | vendor-management | Vendor management creates the vendor and VendorBankAccount records that must exist before vendor transactions can bill or pay them. |
| Issue customer invoices, charge customers, and record AR payments | customer-transactions | Customer transactions runs the AR invoicing and collection flow; customer management only holds the customer, contact, and bank account records. |
| Create or update customer, contact, and bank account records | customer-management | Customer management owns AR master data CRUD; customer transactions consumes those records when invoicing. |
| Set up the chart of accounts and cost-coding dimensions | organization-accounts-tracking | Accounts tracking defines the GL accounts, classes, and departments; basic operations handles users, documents, and bank balances instead. |
| Provision users, read bank balances, or fetch documents | organization-basic-operations | Basic operations administers the workspace itself; accounts tracking handles ledger dimensions, not user or bank administration. |

## Cross-API use cases

### End-to-end vendor onboarding and payment

Onboard a vendor with its bank account details, then raise a bill and run the payment batch against it. The vendor and VendorBankAccount records are created first, then bills are recorded and paid, so ACH runs land at the right destination.

Example prompt: Call Crud/Create/Vendor.json and Crud/Create/VendorBankAccount.json, then Crud/Create/Bill.json and PayBills.json for that vendor

### Approval-gated bill payment

Route a new bill through an approval policy before it is paid. Approvers are set on the bill, the item is approved, and only then is the payment run executed, keeping AP controls enforced end to end.

Example prompt: Call Crud/Create/Bill.json, SetApprovers.json and Approve.json, then PayBills.json once the bill is approved

### CRM-to-AR invoicing

Sync a customer from an external CRM into BILL, then issue and collect an invoice against it. The customer and contact records are created first, then an invoice is raised, sent, and settled with a recorded AR payment.

Example prompt: Call Crud/Create/Customer.json and Crud/Create/CustomerContact.json, then Crud/Create/Invoice.json, SendInvoice.json, and RecordARPayment.json

### Authenticated session with real-time event delivery

Establish a BILL session, then subscribe to platform events so downstream systems react as bills are approved or customers change. The login issues the session every other call needs, and a Connect Events subscription pushes signed callbacks.

Example prompt: Call Login.json for a session, then POST /v3/subscriptions and POST /v3/subscriptions/{subscriptionId}/test to verify delivery

## Why Jentic

- **Setup:** Wiring the BILL platform by hand means logging in for a session ID, pairing it with your developer key on every RPC-style POST, and shaping each bill, invoice, and record body yourself across nine separate surfaces. With Jentic you install Jentic One once, add the BILL APIs you need from the Jentic directory, store the credentials once, and your agent calls them.
- **Permission scoping:** Most BILL operations carry their identifiers in the request body rather than the URL path, so you scope the agent by choosing which operations it may call. Your own rules in your Jentic One instance decide the set, so money-moving actions like PayBills, ChargeCustomer, or Approve are not reachable unless you include them.
- **Credential handling:** Your BILL developer key, organisation ID, username, and password are stored encrypted by your own self-hosted Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context, and the returned session ID stays inside the instance.
- **Discovery method:** Agents search the Jentic directory by intent such as 'pay open bills in BILL' or 'send a customer invoice', and Jentic returns the matching BILL operation with its input schema so the agent calls the right endpoint across the AP, AR, approvals, and administration surfaces without browsing reference docs.

## Related vendors

- **Stripe** — Alternative for card-led subscription invoicing and collection where BILL handles ACH-led B2B receivables.
- **Xero** — Accounting ledger BILL transactions typically sync to for journal entries and bank reconciliation.
- **Recurly** — Dedicated subscription billing engine when dunning and revenue recognition matter more than AP/AR breadth.

## FAQ

### Do all of BILL's APIs share one login?

Yes. You authenticate once against the BILL Authentication API with a developer key, organisation ID, username, and password to obtain a session ID, and that same session ID is carried on every other BILL v2 call across accounts payable, accounts receivable, organisation administration, and approvals. The Connect Events gateway uses the same BILL credential model.

### Why does Jentic publish these specs when BILL does not?

BILL documents its v2 API in narrative form on its developer site but does not publish OpenAPI documents. Jentic generates and maintains a structured OpenAPI specification for each BILL surface so agents and developers can call them through tooling, and validates each one against the live API.

### How do accounts payable and accounts receivable fit together here?

The vendor management and vendor transactions APIs cover the AP side, onboarding vendors and paying bills, while the customer management and customer transactions APIs cover the AR side, holding customer records and issuing invoices. The accounts tracking API supplies the shared chart of accounts and dimensions that both sides code transactions against.

### Can an agent enforce approval controls before money moves?

Yes. The Approvals API defines approval policies and sets approvers on bills and vendor credits, and an item can be approved or denied before the vendor transactions API runs a payment batch. This lets a workflow gate payments behind the right routing rather than paying immediately.

### Can I react to BILL activity in real time?

Yes. The Connect Events API lets you subscribe to platform events such as approval state changes and customer updates, delivered as signed callbacks to your endpoint. You can verify a subscription with a test-event delivery and rotate the per-subscription security key as part of routine credential hygiene.

### Which BILL API sets up the general ledger structure?

The Organization Accounts Tracking API manages the chart of accounts, accounting classes, departments, items, jobs, locations, and payment terms. These dimensions must exist before invoices and bills on the other APIs can be coded to the correct ledger account and cost centre.
