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

# Bill AR | Customer transactions

Jentic publishes the only available OpenAPI specification for AR | Customer transactions, keeping it validated and agent-ready. The BILL main bundle exposes the Accounts Receivable surface that automates how an organisation invoices customers and collects what is owed. Agents can create one-off and recurring invoices, issue credit memos, send invoices by email or postal mail, charge authorised customers, and record received payments back into the BILL ledger. Invoice credits, received payments, conversion fees, and a top-line AR summary are also exposed for reconciliation.

## For AI agents

Send customer invoices, run recurring billing, charge authorised customers, and reconcile received payments through BILL's AR API.

## Scope

Does not handle vendor bills, AP payment runs, or organisation-level user and bank-account administration - use for accounts receivable customer invoicing and collections only.

## Capabilities

- Create, update, and bulk-modify customer invoices and recurring invoice schedules
- Send invoices to customers by email or postal mail and capture customer charge authorisations
- Charge authorised customers and record AR payments against the originating invoice
- Issue credit memos and read invoice credits applied to customer accounts
- Inspect received payment records, processing fees, and an aggregate AR summary

## Use cases

### Automated subscription invoicing

Generate and dispatch recurring invoices for subscription customers and post received payments back to the ledger. The API creates RecurringInvoice schedules, sends each cycle's Invoice via SendInvoice or MailInvoice, and writes a ReceivedPay record once funds clear. A small finance team can manage hundreds of recurring customers without hand-keying invoices.

Example prompt: Create a RecurringInvoice for customer ID 0cu01AAAAA at $299/month with email delivery, then verify the next-run date populated correctly

### AR collection on authorised customers

Charge authorised customers' bank accounts and reconcile inflows against open invoices. The agent calls SetCustomerAuthorization to capture mandate, ChargeCustomer to debit, and RecordARPayment to mark the invoice settled. This closes the AR loop end-to-end through one API surface.

Example prompt: Call ChargeCustomer for invoice 00n01AAAAA against the authorised bank mandate, then call RecordARPayment with the returned reference

### Credit memo and adjustment workflow

Apply credit memos for disputed, returned, or partially refunded services, and audit the resulting credits. The API exposes Crud/Create/CreditMemo plus Read and List operations on InvoiceCredit so an agent can reverse charges and confirm the credit posted, useful for AR teams managing chargebacks or pricing corrections.

Example prompt: Create a $75 CreditMemo against invoice 00n01AAAAA, then call List/InvoiceCredit to confirm the credit posted to the customer record

### Cash-flow reporting for finance agents

Pull a consolidated AR position on demand. GetARSummary returns aggregate balances and aging while List/ReceivedPay enumerates inflows over a window. A finance agent can answer 'how much is outstanding?' or feed a weekly cash-flow brief without the user opening BILL.

Example prompt: Call GetARSummary for the connected organisation and return total outstanding balance plus current-period received payment total

### Agent-driven AR operations via Jentic

An AI agent uses Jentic to discover BILL operations from a natural-language intent like 'send a customer invoice'. Jentic returns the matching SendInvoice operation, loads its input schema, and executes the call with credentials held in your Jentic One instance. The agent can chain Create + Send + RecordARPayment with no direct exposure to BILL session tokens.

Example prompt: Search Jentic for 'send a customer invoice', load the SendInvoice schema, and execute it for invoice 00n01AAAAA

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/Crud/Create/Invoice.json` | Create a customer invoice |
| POST | `/Crud/Create/RecurringInvoice.json` | Create a recurring invoice schedule |
| POST | `/SendInvoice.json` | Email an invoice to the customer |
| POST | `/ChargeCustomer.json` | Charge an authorised customer |
| POST | `/RecordARPayment.json` | Record a payment received against an invoice |
| POST | `/Crud/Create/CreditMemo.json` | Issue a credit memo |
| POST | `/GetARSummary.json` | Retrieve consolidated AR summary |

## Key resources

- **Invoice** — Create, read, update, delete, undelete, list, and bulk-modify customer invoices
- **RecurringInvoice** — Manage recurring invoice schedules with full CRUD and bulk operations
- **CreditMemo** — Issue and manage credit memos applied against customer accounts
- **InvoiceCredit** — Read and list credits applied to invoices
- **ReceivedPay** — Read and list customer payments received against invoices
- **RPConvFee** — Inspect processing fees deducted from received payments

## Why Jentic

- **Setup:** Wiring the BILL customer-transactions surface by hand means logging in for a session id, pairing it with your developer key on every RPC-style POST, and shaping each invoice and payment body yourself. Through Jentic you install once, import this BILL API from the API Directory, store the credentials once, and your agent calls it.
- **Permission scoping:** This API carries the invoice and customer ids in the request body of RPC-style operations rather than the URL path, so limit the agent to the operations it needs, such as creating or sending a customer invoice. You choose that set, so charging a customer or recording a payment is not reachable unless you include them.
- **Credential handling:** Your BILL developer key and session token are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'send a customer invoice' or 'create a recurring invoice', and Jentic returns the matching BILL operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Stripe** — Stripe handles card-led subscription invoicing where BILL handles ACH-led B2B AR.
- **Xero Accounting** — Xero is the accounting ledger BILL invoices typically sync to.
- **Recurly** — Recurly is a dedicated subscription billing engine.

## FAQ

### Why is there no official OpenAPI spec for AR | Customer transactions?

BILL does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call AR | Customer transactions via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the BILL main API use?

BILL uses an API key plus session token model. Agents log in once to obtain a session token and pass it with each call alongside the developer key. Through Jentic these credentials sit encrypted in the vault and the agent only ever holds a scoped reference.

### Can I create recurring invoices through the BILL main API?

Yes. Call POST `/Crud/Create/RecurringInvoice.json` with the customer ID, frequency, and line items. POST `/Crud/Update/RecurringInvoice.json` adjusts an existing schedule and POST `/List/RecurringInvoice.json` enumerates active schedules.

### How do I charge a customer through Jentic?

Search Jentic for 'charge a customer in bill.com'. Jentic returns the ChargeCustomer operation, loads its schema, and your agent calls POST /ChargeCustomer.json with the customer ID and amount, then posts the receipt with POST /RecordARPayment.json.

### What rate limits apply to the BILL main API?

BILL applies per-organisation throttling on the v2 API. Specific quotas are not exposed in the spec. For higher throughput use the Bulk/Crud endpoints (for example POST `/Bulk/Crud/Create/Invoice.json`) rather than looping single creates.

### Is the BILL main API free?

API access is bundled with paid BILL plans rather than a separate free tier. You need an active BILL organisation plus a developer key. Jentic does not add usage charges on top of the underlying plan.

### Can I limit what my agent is allowed to do with the BILL Accounts Receivable API?

Yes. Because you run Jentic One yourself, your own rules decide which of BILL's RPC-style operations the agent may call and which credentials it may use. These operations carry the invoice and customer IDs in the request body rather than the URL path, so you scope access by choosing the operation set, for example allowing only Create/Invoice and SendInvoice for a billing agent. Since you pick that set, ChargeCustomer and RecordARPayment stay out of reach unless you explicitly include them.
