canonical: https://jentic.com/apis/bill.com/customer-transactions

# Bill AR | Customer transactions

Jentic publishes the only available OpenAPI specification for AR | Customer transactions, keeping it validated and agent-ready. The BILL Accounts Receivable API automates how an organisation invoices and collects payments from its customers. 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. The API also surfaces invoice credits, received payments, processing fees, and an AR summary so agents can reconcile cash-flow positions against accounting records.

## For AI agents

Issue customer invoices, run recurring billing, charge authorised customers, and record received payments inside BILL's AR workflow.

## Scope

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

## Capabilities

- Create and update invoices and recurring invoice schedules for individual customers or in bulk batches
- Send invoices to customers by email or postal mail and capture customer authorisation for charges
- Charge authorised customers and record received AR payments against open invoices
- Issue and manage credit memos and look up invoice credits applied to customer balances
- Read received payments, processing fees, and an aggregate AR summary for cash-flow reporting

## Use cases

### Recurring SaaS invoicing

Generate and send recurring invoices to subscription customers on a fixed schedule and reconcile collected funds back to the accounting ledger. The customer-transactions API provisions RecurringInvoice records, issues each cycle's Invoice via SendInvoice or MailInvoice, and writes the matching ReceivedPay record once the customer pays. A small finance team can run a multi-hundred customer book without manual invoice creation each month.

Example prompt: Create a RecurringInvoice for customer ID 0cu01AAAAA with monthly frequency, $499 USD line item, and email delivery enabled, then verify the next-run date is set

### Customer charge and AR reconciliation

Charge authorised customers' stored payment methods and record the resulting funds against the originating invoice. Agents call SetCustomerAuthorization to capture mandate, ChargeCustomer to debit the account, and RecordARPayment to mark the invoice paid. This lets professional services and B2B firms close their AR loop without touching the BILL web UI.

Example prompt: Call ChargeCustomer for invoice ID 00n01AAAAA against the customer's authorised bank account, then call RecordARPayment with the returned transaction reference

### Credit memo and dispute handling

Apply credit memos to customer accounts when invoices are disputed, partially refunded, or adjusted. The API exposes Crud/Create/CreditMemo for issuing the memo and Crud/Read/InvoiceCredit plus List/InvoiceCredit so agents can audit which credits have been applied. Useful for AR teams handling chargebacks, returns, or pricing corrections.

Example prompt: Create a CreditMemo for $120.00 against customer ID 0cu01AAAAA referencing invoice 00n01AAAAA, then list InvoiceCredit records to confirm it posted

### AR summary reporting for finance agents

Pull the consolidated AR position for a BILL organisation on demand. GetARSummary returns aggregate open balances, aging buckets, and received payment totals so a finance agent can answer cash-flow questions or feed a weekly board pack. Combined with List/ReceivedPay it gives a complete view of inflows over a window without the user opening BILL.

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

### Agent-driven invoice operations via Jentic

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

Example prompt: Search Jentic for 'send an invoice to a customer', load the SendInvoice schema, and execute it for invoice ID 00n01AAAAA with the customer's email address

## 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 | /MailInvoice.json | Send an invoice by postal mail |
| 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 API 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 BILL customer-transactions 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 'create a customer invoice in BILL' or 'record an AR payment', and Jentic returns the matching customer-transactions operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Stripe** — Stripe handles card-based 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 AR | Customer transactions API use?

BILL uses an API key plus session token model. Agents authenticate to bill.com once and pass the session token with each request alongside the developer key. Through Jentic these credentials are held encrypted in the vault, so the agent receives a scoped handle and never sees the raw key.

### Can I create a recurring invoice with this API?

Yes. Call POST /Crud/Create/RecurringInvoice.json with the customer ID, frequency, and line items. Use POST /Crud/Update/RecurringInvoice.json to change a schedule, and POST /List/RecurringInvoice.json to enumerate active schedules for an organisation.

### How do I charge an authorised 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. Follow with POST /RecordARPayment.json to post the receipt against the invoice.

### What rate limits apply to the AR | Customer transactions API?

BILL applies per-organisation throttling on its v2 API. Specific quotas are not exposed in the spec; in practice agents should batch via the Bulk/Crud endpoints (for example POST /Bulk/Crud/Create/Invoice.json) when issuing more than a handful of records to stay within limits.

### Is the BILL AR API free to use?

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

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

Yes. Because Jentic One is self-hosted, you decide which of the RPC-style operations your agent may call, so you can allow it to create or send a customer invoice while leaving charging a customer or recording an AR payment out of reach. Since these operations carry the invoice and customer ids in the request body rather than the URL path, the agent can only act on the operations you have granted. Your BILL developer key and session token stay with your own instance and are injected at execution time, so the agent works inside the boundary you set.
