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

# Bill AP | Vendor transactions

Jentic publishes the only available OpenAPI specification for AP | Vendor transactions, keeping it validated and agent-ready. This BILL surface runs the Accounts Payable side of the platform: agents create purchase orders, raise one-off and recurring bills, issue vendor credits, kick off payment runs, record AP payments, and pull the AP summary for cash-flow reporting. Endpoints also expose payment cancel, void, FX rate quotes, sent-pay records, BillPay items, and disbursement and check image data for downstream reconciliation.

## For AI agents

Raise vendor bills, run payment batches, record and reconcile AP payments, and pull the AP summary inside BILL.

## Scope

Does not handle customer invoicing, vendor master data setup, or organisation user management - use for accounts payable bills, payment runs, and AP reconciliation only.

## Capabilities

- Create purchase orders, one-off bills, and recurring bills with bulk variants for batch loads
- Issue, read, and list vendor credits to offset future payments
- Run vendor payment batches via PayBills and record, cancel, or void AP payments
- Fetch FX rate quotes for cross-currency payment runs
- Read sent payments, BillPay records, disbursement data, and check images for reconciliation

## Use cases

### Automated AP payment runs

Batch up approved bills and pay them in one operation while keeping the ledger in sync. The API exposes Crud/Create/Bill for raising bills, PayBills for the run itself, and RecordAPPayment to mark each bill paid. CancelAPPayment and VoidAPPayment cover the exception paths when a payment must be reversed before it clears.

Example prompt: Call PayBills.json with an array of bill IDs and the source bank account, then call RecordAPPayment for each returned payment confirmation

### Recurring bill scheduling

Set up RecurringBill schedules for predictable expenses such as rent, SaaS subscriptions, and retainers. Crud/Create/RecurringBill creates the schedule, Crud/Update/RecurringBill changes the cadence or amount, and List/RecurringBill enumerates active schedules. Each cycle generates a Bill that the agent can pay via PayBills.

Example prompt: Create a RecurringBill for vendor 0vd01AAAAA at $2,500 monthly with a 12-month duration, then list active RecurringBills to confirm the schedule

### Vendor credit and cancellation handling

Issue vendor credits when an overpayment, return, or pricing correction occurs and reverse mistaken payments before they clear. The API exposes Crud/Create/VendorCredit and List/BillCredit for credit handling, plus CancelAPPayment and VoidAPPayment to abort an in-flight payment. This keeps the AP ledger accurate without manual UI rework.

Example prompt: Issue a $150 VendorCredit against vendor 0vd01AAAAA, then call CancelAPPayment for a pending payment that referenced the disputed bill

### AP reporting and reconciliation

Pull the AP summary, sent-pay history, and check image data into a finance dashboard. GetAPSummary returns aggregate open balances, ListPayments and List/SentPay enumerate completed disbursements, and GetCheckImageData and GetDisbursementData support audit drill-downs. Useful for finance agents producing weekly cash-flow briefs.

Example prompt: Call GetAPSummary and ListPayments for the last 30 days, then return a list of payments over $10,000 with their disbursement IDs

### Agent-driven AP automation via Jentic

An AI agent uses Jentic to discover vendor-transaction operations from intents like 'pay our open bills' or 'record a vendor invoice'. Jentic returns the matching operation, loads its schema, and executes with credentials from the vault. The agent can chain Create/Bill + PayBills + RecordAPPayment without ever holding raw BILL session tokens.

Example prompt: Search Jentic for 'pay open bills in bill.com', load the PayBills schema, and execute it for the three open bills due this week

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /Crud/Create/Bill.json | Create a vendor bill |
| POST | /Bulk/Crud/Create/Bill.json | Bulk create vendor bills |
| POST | /Crud/Create/RecurringBill.json | Create a recurring bill schedule |
| POST | /PayBills.json | Run a vendor payment batch |
| POST | /RecordAPPayment.json | Record an AP payment |
| POST | /CancelAPPayment.json | Cancel a pending AP payment |
| POST | /Crud/Create/VendorCredit.json | Issue a vendor credit |
| POST | /GetAPSummary.json | Retrieve consolidated AP summary |

## Key resources

- **PurchaseOrder** — Create and list purchase orders
- **Bill** — Full CRUD, bulk, and undelete on vendor bills
- **RecurringBill** — Manage recurring bill schedules
- **VendorCredit** — Issue and manage vendor credits
- **BillCredit** — Read and list credits applied to bills
- **SentPay** — Read and list sent vendor payments
- **BillPay** — Read and list BillPay records
- **PaymentRun** — Run, record, cancel, and void AP payments

## Why Jentic

- **Setup:** Wiring the BILL vendor-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 bill 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 bill and payment 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 a bill or reading the AP summary. You choose that set, so PayBills or CancelAPPayment are 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 'record a vendor invoice' or 'pay open bills', and Jentic returns the matching vendor-transactions operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **BILL AP Vendor Management** — Vendors must exist in BILL before bills can be raised against them.
- **Xero Accounting** — Xero handles AP at the ledger level for smaller businesses.
- **BILL Organization Accounts Tracking** — Tracking dimensions code each bill to the GL.

## FAQ

### Why is there no official OpenAPI spec for AP | Vendor transactions?

BILL does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call AP | Vendor 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 Vendor Transactions API use?

BILL uses an API key plus session token model. Agents log in once to obtain a session token and pass it on each call alongside the developer key. Jentic stores both encrypted in the vault and exposes only a scoped reference, which matters because this API can move money via PayBills.

### Can I run a vendor payment batch through this API?

Yes. Call POST /PayBills.json with the array of bill IDs and the source bank account. Pair with POST /RecordAPPayment.json to mark each bill paid in BILL, and POST /CancelAPPayment.json or POST /VoidAPPayment.json to reverse a payment before it clears.

### How do I record a new bill through Jentic?

Search Jentic for 'record a vendor bill in bill.com'. Jentic returns the Crud/Create/Bill operation, loads its schema, and your agent calls POST /Crud/Create/Bill.json with the vendor ID, line items, and due date. Use POST /Bulk/Crud/Create/Bill.json for batch loads from an OCR pipeline.

### What rate limits apply to this API?

BILL applies per-organisation throttling. Specific quotas are not exposed in the spec, so prefer POST /Bulk/Crud/Create/Bill.json over looped single-creates and batch bill IDs into one POST /PayBills.json call instead of calling once per bill.

### Is the AP Vendor Transactions API free?

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

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

Yes. Because you run Jentic One yourself, you decide which of this API's RPC-style operations the agent may call, so you can grant read-only access like GetAPSummary or Crud/Create/Bill while excluding anything else. Money-moving operations such as PayBills, CancelAPPayment, and VoidAPPayment stay unreachable unless you explicitly include them in the agent's allowed set. Your BILL developer key and session token are held by your own instance and injected only when a permitted operation runs, so the agent never sees the raw credentials.
