# Bill MCP connector

The Bill connector lets Claude, ChatGPT, Cursor, and the Elaichi Agent look up, create, and update bills, approval policies, and bank accounts in Bill, with each person signed in as themselves and every action logged.

Source: https://elaichi.ai/connectors/bill/

## Facts

| | |
| --- | --- |
| Application | Bill |
| Category | Spend Management |
| AI tools | 136 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 136 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Bill is connected

- List bills awaiting approval over 10,000 this week
- Which Bill approval policies apply to our EMEA organization
- Show bank accounts linked to each Bill organization

## Connect Bill in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Bill.
2. Optionally set Share with, then press Connect.
3. Paste a Bill API key. One person generates a token in Bill and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Bill tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Bill to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Bill to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Bill to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Bill to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Bill tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Bill through Elaichi

### Enter a new vendor bill from an email

Accounts payable. Paste the invoice details and have the bill created in Bill with the right vendor, amount, and due date, then confirm it landed by pulling the record back.

### Fix a bill before it goes for approval

Accounts payable. Ask which bills are still open, then correct the amount, the invoice number, or the due date on the one that was keyed in wrong.

### Check which approval policy applies

Finance. Ask how bills above a certain amount are routed today, and adjust or add an approval policy when a new spending threshold comes in.

### Confirm bank accounts on file

Controller. Pull the list of bank accounts connected in Bill and check a specific account's details before a payment run, without opening the application.

### Archive stale bills in one pass

Operations. Find duplicates or bills that were entered by mistake, archive them, and restore any that turn out to be genuine.

### Review multiple Bill organizations at once

Finance leadership. List every Bill organization the company runs, pull the details of one, and update its settings when an entity name or address changes.

## Frequently asked questions

### How do I connect Bill to Claude?

In Elaichi, choose Bill from the catalog and paste the API key from your Bill account when asked. There is no OAuth application to register and no client ID or secret to generate. Then in Claude, open Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp. Sign in as yourself and Bill is available in your conversation.

### Does Bill work with ChatGPT and Cursor as well as Claude?

Yes. Once Bill is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client, and the Elaichi Agent. You connect Bill once and every client you use picks it up.

### What can an AI agent actually do with my Bill data?

With Bill connected, an agent can list your bills, pull up a single bill, create a new one, correct an existing one, and archive or restore bills. It can also show your approval policies and add or change them, list the bank accounts on file, and look up the Bill organizations and partner users you manage. Short, concrete asks work best, such as "show open bills due this week" rather than a long paragraph.

### Does connecting Bill give the AI access to everything in my Bill account?

No. Each person signs in to Elaichi as themselves, so anything an agent does in Bill runs within that person's own Bill access and permissions. Elaichi can narrow that further by hiding actions like creating bills or changing approval policies, but it can never grant more than the person already has in Bill.

### Can my team share one Bill connection?

Yes. One person connects Bill with the API key and shares the connection with a team in Elaichi, and nobody else on the team ever sees or handles that key. Each teammate still signs in as themselves, so the audit log records exactly who created, changed, or archived each bill in Bill.

### Can I stop an agent from deleting or changing things in Bill?

Yes. Restrictions in Elaichi work per action, so you can allow reading bills and bank accounts in Bill while blocking creating bills, updating them, archiving them, or deleting approval policies. A blocked action is never shown to Claude, ChatGPT, or Cursor at all, so no prompt, however worded, can reach it.

### What happens to a Bill connection when someone leaves?

When a person is offboarded in Elaichi, their access to Bill through every client ends at once. A Bill connection they shared with a team keeps working for everyone else on that team. If you want to remove Bill entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor, and every other client together.

## All 136 Bill tools

Every tool below is callable through https://api.elaichi.ai/mcp once Bill is connected, subject to the toolbox it is in and the restrictions on the caller.

- **Bill session login** (Action). Sign in to your BILL developer account and create an API session. Returns: sessionId, organizationId, userId, trusted. Required: devKey, username, password, organizationId. Sessions expire after 35 minutes of inactivity.
- **Bill session logout** (Action). Sign out of your BILL developer account and terminate the current API session. Returns an empty response on success. You must sign in again with login before making further API calls.
- **Bill session partner login** (Action). Sign in as a BILL partner to create an API session. Returns: sessionId, organizationId, userId, trusted. Required: appKey, username, password. The generated sessionId is used in all subsequent API calls.
- **Bill session get info** (Get). Get details about the current BILL API session including organization, user, and MFA status. Returns: organizationId, userId, mfaStatus, mfaBypass, sessionId, trusted.
- **List all Bill organizations** (List). List BILL organizations accessible with the current API session. Returns: organizations, consoleOrganizations. 100 results per page.
- **Get single Bill organization by ID** (Get). Get a single BILL organization by id. Returns: id, timestamp, code, severity, category, message. Required: id.
- **Update a Bill organization by ID** (Update). Update a BILL organization's details including name, address, phone, tax ID, business category, and processing options. Returns the updated organization object with id, archived, name, displayName, address, phone, accountType, createdTime, and updatedTime. Required: id. The organization ID begins with `008`; organizations cannot be archived via the API.
- **Bill health check** (Action). Check the health status of the BILL API. Returns: status, openapi, info, servers, paths, components. No required parameters.
- **List all Bill Bill approval policies** (List). List bill approval policies in BILL. Returns: id, policyName, status, rules, approvers. Each policy contains rule definitions (key, op, values) and approver information.
- **Create a Bill Bill approval policy** (Create). Create a bill approval policy in BILL. Returns: id, policyName, status, rules, approvers. Required: policyName, rules, approvers. Policy rules are applied in the specified order and approvals are requested in the specified order.
- **Update a Bill Bill approval policy by ID** (Update). Update a bill approval policy in BILL by id. Returns: id, policyName, status, rules, approvers, sessionId, organizationId, userId, trusted. Required: id, policyName, rules. Policy rules are applied in the specified order and each rule requires a list of approver user IDs.
- **Delete a Bill Bill approval policy by ID** (Delete). Delete a bill approval policy in BILL by id. Returns: status, sessionId, organizationId, userId, trusted. Required: id.
- **List all Bill bank accounts** (List). List bank accounts in BILL with optional filtering and sorting. Returns each bank account's id, status, type, routingNumber, accountNumber, nameOnAccount, ownerType, bankName, and default AP/AR settings.
- **Get single Bill bank account by ID** (Get). Get a single bank account in BILL by id. Returns: id, archived, status, createdBy, routingNumber, accountNumber, nameOnAccount, type, ownerType, bankName, accessToAdmins, createdTime, updatedTime, chartOfAccountId. Required: id.
- **List all Bill card funding purposes** (List). List card funding purposes in BILL for a given vendor and card brand. Returns: category, subCategories. Required: vendorId, brand. Use a subCategories value for AMEX, VISA, or MASTERCARD card brands; use a category value for all other card brands.
- **List all Bill partner users** (List). List BILL partner users with optional filtering and sorting. Returns: id, archived, firstName, lastName, email, role, createdTime, updatedTime. Max 100 results per page.
- **Create a Bill partner user** (Create). Create a new BILL partner user. Returns the created user object including id, firstName, lastName, email, archived, role, createdTime, and updatedTime. Required: firstName, email, username, acceptTermsOfService.
- **Get single Bill partner user by ID** (Get). Get a single BILL partner user by id. Returns: id, archived, firstName, lastName, email, role, createdTime, updatedTime. Required: id.
- **List all Bill bills** (List). List bills in BILL with filtering and sorting support. Returns: id, recordStatus, archived, vendorId, vendorName, fundingAmount, amount, paidAmount, dueAmount, scheduledAmount, creditAmount, exchangeRate, description, dueDate, paymentTermId, invoice, billLineItems, payFromChartOfAccountId, paymentStatus, approvalStatus, createdBy, createdTime, updatedTime, classifications, purchaseOrderNumber,…
- **Create a Bill Bill** (Create). Create a new bill in BILL. Returns: id, recordStatus, archived, vendorId, vendorName, fundingAmount, amount, paidAmount, dueAmount, scheduledAmount, creditAmount, exchangeRate, description, dueDate, paymentTermId, invoice, billLineItems, payFromChartOfAccountId, paymentStatus, approvalStatus, createdBy, createdTime, updatedTime, classifications, purchaseOrderNumber, approvers. Required: vendorId,…
- **Get single Bill Bill by ID** (Get). Get details of a single BILL bill by id. Returns: id, recordStatus, archived, vendorId, vendorName, fundingAmount, amount, paidAmount, dueAmount, scheduledAmount, creditAmount, exchangeRate, description, dueDate, paymentTermId, invoice, billLineItems, payFromChartOfAccountId, paymentStatus, approvalStatus, createdBy, createdTime, updatedTime, classifications, purchaseOrderNumber, approvers.…
- **Update a Bill Bill by ID** (Update). Update an existing BILL bill by id, including line item details. Returns: id, recordStatus, archived, vendorId, vendorName, fundingAmount, amount, paidAmount, dueAmount, scheduledAmount, creditAmount, exchangeRate, description, dueDate, paymentTermId, invoice, billLineItems, payFromChartOfAccountId, paymentStatus, approvalStatus, createdBy, createdTime, updatedTime, classifications,…
- **Bill bills archive** (Archive). Archive an existing BILL bill by bill_id. Returns: id, recordStatus, archived, vendorId, vendorName, fundingAmount, amount, paidAmount, dueAmount, scheduledAmount, creditAmount, exchangeRate, description, dueDate, paymentTermId, invoice, billLineItems, payFromChartOfAccountId, paymentStatus, approvalStatus, createdBy, createdTime, updatedTime, classifications, purchaseOrderNumber. Required:…
- **Bill bills restore** (Restore). Restore an archived BILL bill by bill_id. The `archived` field is set as `false` in the response and any valid BILL operation can be performed on the restored bill. Returns: id, archived, vendorId, fundingAmount, amount, paidAmount, dueAmount, scheduledAmount, creditAmount, exchangeRate, description, dueDate, paymentTermId, invoice, billLineItems, payFromChartOfAccountId, paymentStatus,…
- **Bill bills record payment** (Action). Record an offline AP payment made to a vendor in BILL. BILL applies the recorded payment amount to one or more bills but does not process or transfer funds. Returns: id, toPrintCheck, payments. Required: vendorId, processDate, toPrintCheck, payments.
- **Bill bills bulk create** (Create). Create multiple bills in BILL with a single request, up to 100 per call. If any bill fails, the entire request fails and no bills are created. Returns an array of created bills including id, vendorId, amount, dueDate, paymentStatus, approvalStatus, and billLineItems. Required: body (array of bill objects, each requiring vendorId, dueDate, invoice, and billLineItems).
- **Bill bills partial update** (Update). Update a bill's details and line items in BILL by id. The PATCH operation modifies line item details such as amount and description without changing the line item id. Returns the updated bill including id, vendorId, amount, dueDate, paymentStatus, approvalStatus, billLineItems, and approvers. Required: id, paymentTermId.
- **List all Bill vendors** (List). List vendors in BILL with optional sorting and filtering. Returns: id, archived, name, shortName, accountNumber, accountType, email, phone, address, paymentInformation, additionalInfo, rppsId, bankAccountStatus, recurringPayments, billCurrency, createdTime, updatedTime, balance, autoPay, networkStatus, paymentNetworkId. Max 100 results per page.
- **Create a Bill vendor** (Create). Create a vendor in BILL. Returns the created vendor including id, archived, name, accountType, email, address, paymentInformation, additionalInfo, billCurrency, balance, autoPay, createdTime, updatedTime, and networkStatus. Required: name, address. Enabling autoPay requires an MFA-trusted API session.
- **Get single Bill vendor by ID** (Get). Get details about a specific vendor in BILL by id. Returns: id, address. Required: id.
- **Update a Bill vendor by ID** (Update). Update a BILL vendor's details including name, contact info, address, payment information, auto-pay, and bill currency. Returns the full vendor object: id, archived, name, email, phone, address, paymentInformation, additionalInfo, createdTime, updatedTime, balance, autoPay, networkStatus, paymentNetworkId. Required: id. billCurrency can only be updated if the vendor has no bills or payments;…
- **Bill vendors archive** (Archive). Archive a BILL vendor, marking it as archived. Returns the full vendor object: id, archived, name, email, phone, address, paymentInformation, additionalInfo, createdTime, updatedTime, balance, autoPay, networkStatus, paymentNetworkId. Required: vendor_id.
- **Bill vendors restore** (Restore). Restore an archived vendor in BILL. Returns the restored vendor object including id, archived, name, accountType, address, paymentInformation, additionalInfo, balance, autoPay, and networkStatus. Required: vendor_id.
- **Bill vendors get configuration** (Get). Get vendor configuration for international payments in BILL. Returns the vendor configuration including internationalPayments with paymentPurpose (required, type, codes) and validations (fields with name, description, regularExpression, required). Required: vendor_id.
- **Bill vendors get intl config** (Get). Get international payments configuration for BILL vendors by country, currency, and account type. Returns: address. Required: country, billCurrency, accountType.
- **Bill vendors bulk create** (Create). Create multiple vendors in BILL with a single bulk request. Returns: address. Required: body (array of vendor objects, each with name and address).
- **List all Bill customers** (List). List BILL customers with optional sorting and filtering. Returns: id, archived, name, companyName, contact, description, invoiceCurrency, accountType, paymentTermId, accountNumber, billingAddress, shippingAddress, balance, hasBankAccount, authorizedToCharge, createdTime, updatedTime. Max 100 results per page.
- **Create a Bill customer** (Create). Create a new customer in BILL. Returns the created customer object including id, name, contact, billingAddress, and createdTime. Required: name and contact.email.
- **Get single Bill customer by ID** (Get). Get a single BILL customer by id. Returns: id, archived, name, companyName, contact, description, invoiceCurrency, accountType, paymentTermId, accountNumber, billingAddress, shippingAddress, balance, hasBankAccount, authorizedToCharge, createdTime, updatedTime. Required: id.
- **Update a Bill customer by ID** (Update). Update a BILL customer by id. Returns the updated customer object including id, name, contact, billingAddress, and updatedTime. Required: id.
- **Bill customers archive** (Archive). Archive a BILL customer by customer_id. Returns the archived customer object including id, archived, name, and updatedTime. Required: customer_id.
- **Bill customers restore** (Restore). Restore an archived customer in BILL. Returns the full customer object including id, name, email, archived, contact, billingAddress, shippingAddress, and createdTime. Required: customer_id.
- **List all Bill invoices** (List). List invoices in BILL with optional filtering and sorting. Returns each invoice with id, invoiceNumber, customerId, totalAmount, dueAmount, status, createdTime, invoiceLineItems, and payments. Max 100 results per page.
- **Create a Bill invoice** (Create). Create a new invoice in BILL. Returns the created invoice including id, invoiceNumber, customerId, totalAmount, status, createdTime, invoiceLineItems, and payments. Required: customer, invoiceLineItems.
- **Get single Bill invoice by ID** (Get). Get a single BILL invoice by id. Returns: id, archived, recordStatus, invoiceNumber, invoiceDate, dueDate, paymentTermId, customerId, totalAmount, dueAmount, scheduledAmount, creditAmount, status, exchangeRate, createdBy, createdTime, updatedTime, invoiceLineItems, payments, salesTaxItemId, salesTaxTotal, salesTaxPercentage, enableCardPayment, convenienceFee, invoicePdfId. Required: id.
- **Update a Bill invoice by ID** (Update). Update a BILL invoice by id. Returns the full invoice object including id, invoiceNumber, status, totalAmount, dueAmount, invoiceLineItems, payments, classifications, and createdTime. Required: id.
- **Bill invoices archive** (Archive). Archive a BILL invoice by invoice_id. Returns the full invoice object including id, archived, recordStatus, status, totalAmount, invoiceLineItems, and payments. Required: invoice_id.
- **Bill invoices restore** (Restore). Restore an archived invoice in BILL. Returns the restored invoice object including id, archived, recordStatus, status, totalAmount, invoiceLineItems, and payments. Required: invoice_id.
- **Bill invoices send** (Send). Send a BILL invoice to a customer by email with sender and recipient details. Returns a 200 response on success. Required: invoice_id, replyTo, recipient.
- **List all Bill recurring invoices** (List). List recurring invoices in BILL. Returns: id, customerId, paymentTermId, description, archived, schedule, recurringInvoiceLineItems, classifications, sendEmail, createdTime, updatedTime. Supports sorting and filtering.
- **Create a Bill recurring invoice** (Create). Create a recurring invoice in BILL. Returns: id, customerId, paymentTermId, description, archived, schedule, recurringInvoiceLineItems, classifications, sendEmail, createdTime, updatedTime. Required: customerId, schedule, recurringInvoiceLineItems.
- **Get single Bill recurring invoice by ID** (Get). Get a single recurring invoice in BILL by id. Returns: id, customerId, paymentTermId, description, archived, schedule, recurringInvoiceLineItems, classifications, sendEmail, createdTime, updatedTime. Required: id.
- **Update a Bill recurring invoice by ID** (Update). Update a recurring invoice in BILL by id. Returns: id, customerId, paymentTermId, description, archived, schedule, recurringInvoiceLineItems, classifications, sendEmail, createdTime, updatedTime. Required: id.
- **Bill recurring invoices archive** (Archive). Archive a recurring invoice in BILL. Returns: id, customerId, paymentTermId, description, archived, schedule, recurringInvoiceLineItems, classifications, sendEmail, createdTime, updatedTime. Required: recurring_invoice_id.
- **List all Bill payments** (List). List payment objects in BILL. Returns a paginated collection of payment records including id, createdTime, and status. Supports compound filtering via `filters` (e.g. `id:eq:<payment_id>`) and sorting via `sort` (e.g. `createdTime:desc`). Returns up to 100 results per page (default 20).
- **Create a Bill payment** (Create). Create a payment in BILL to pay a vendor. Returns the created payment object including its id (begins with `stp`), status, amount, vendorId, fundingAccountId, and processDate. Requires an MFA-trusted API session. Use the Get list of vendor payment options endpoint first to retrieve valid payment options and process dates.
- **Bill payments create mass** (Create). Create a mass payment request in BILL for up to 2000 bills processed asynchronously. Returns a BILL-generated paymentBatchId that can be used to track the current status of each payment in the batch via the get mass payment endpoint. Max 2000 bills per request.
- **Bill payments get mass** (Get). Get details about an existing BILL mass payment batch by its batch ID. Returns the per-status breakdown of all payments in the batch — `scheduled`, `completed`, and `failed` payment lists — along with a `count` of the total number of payments. BILL begins processing completed payments based on each payment's `processDate`. Required: mas_id.
- **Bill payments list options** (List). List vendor payment options available in bill based on the funding accounts in the signed-in organization and the payment methods accepted by the specified vendor. Returns a collection of payment option objects whose fields describe available funding account and disbursement method combinations. Required: vendorId, amount.
- **Bill payments get exchange rate** (Get). Get the current BILL exchange rate and exchange rate batch ID for a single international vendor. Returns: billCurrency, paymentCurrency, baseCurrency, exchangeRate, exchangeRateBatchId, vendorId, amountRange, expirationTime. Required: vendorId, amount. The batch is valid for up to 20 minutes in production; use the returned exchangeRateBatchId when creating a payment with POST /v3/payments or POST…
- **Bill payments get exchange rates** (Get). Get the current BILL exchange rates and exchange rate batch ID for multiple international vendors in a single request. Returns: exchangeRateBatchId, exchangeRates, exchangeRate, expirationTime. Required: a request body array with at least one item containing vendorId and amount. The batch is valid for up to 20 minutes in production; use the returned exchangeRateBatchId when creating payments with…
- **Get single Bill payment by ID** (Get). Get payment details. Returns: id, vendorId, vendorName, billId, billPayments, description, processDate, fundingAccount. Required: id.
- **Bill payments cancel** (Cancel). Cancel an existing payment in BILL. A payment can only be canceled when its `singleStatus` is `SCHEDULED`; once BILL starts processing the payment its status changes and cancellation is no longer possible — use the void endpoint instead. Returns the updated payment object including id and singleStatus. Required: payment_id.
- **Bill payments void** (Action). Void an existing BILL payment that has started processing and can no longer be canceled. Use this for payments made both with BILL (online) and outside BILL (offline). Returns the updated payment object including id and singleStatus. Required: payment_id, type, reason.
- **Bill payments get check image** (Get). Get scanned check image data for an existing payment in BILL. Returns a downloadLink that can be used to download the front and back images of the check once the vendor bank has processed the payment. BILL polls the bank every 30 minutes for availability; the image file format is determined by the vendor bank. Required: payment_id.
- **Bill payments bulk create** (Create). Create a bulk payment request in BILL to pay up to 50 existing bills in a single call. All bill payments in the request must succeed — if any fails, the entire request is rolled back and no bills are paid. Returns a payments array where each item includes id, vendorId, billId, amount, status, processDate, confirmationNumber, and disbursementInfo. Max 50 bills per request.
- **List all Bill vendor credits** (List). List vendor credit objects in BILL. Returns: id, vendorId, referenceNumber, creditDate, description, archived, applyToChartOfAccountId, applyToBankAccountId, amount, appliedAmount, status, createdTime, updatedTime, vendorCreditLineItems, usage. Supports filtering and sorting via the filters and sort query parameters. Maximum 100 results per page.
- **Create a Bill vendor credit** (Create). Create a vendor credit in BILL to adjust the amount owed to a vendor. Returns the created vendor credit object including id, vendorId, creditDate, amount, appliedAmount, and vendorCreditLineItems.
- **Get single Bill vendor credit by ID** (Get). Get vendor credit details. Returns: id, vendorId, referenceNumber, creditDate, description, archived, applyToChartOfAccountId, applyToBankAccountId. Required: id.
- **Update a Bill vendor credit by ID** (Update). Replace a vendor credit in BILL by id, updating line items and other details. New line items receive a generated id; omitting an existing line item id removes it. Returns the updated vendor credit object including id, vendorId, creditDate, amount, appliedAmount, and vendorCreditLineItems. Required: id.
- **Bill vendor credits archive** (Archive). Archive an existing vendor credit in BILL. Returns the archived vendor credit object including id, vendorId, creditDate, amount, appliedAmount, and vendorCreditLineItems, with `archived` set to `true`. An archived vendor credit cannot be restored. Required: vendor_credit_id.
- **Bill vendor credits partial update** (Update). Update details of an existing BILL vendor credit by id. Use PATCH to modify line item details such as amount, quantity, and description; the line item id does not change. Returns the updated vendor credit object including its id, vendorId, lineItems, and status. Required: id.
- **Bill vendor credits bulk create** (Create). Create multiple vendor credits in BILL with a single API request. Returns the created vendor credit objects, each identified by an id beginning with `vcr`, along with archived status and credit details. Max 50 vendor credits per request.
- **Bill vendor credits bulk replace** (Action). Replace line items in multiple BILL vendor credits with one request. Using PUT semantics, omitting an existing line item `id` removes it, while supplying a new line item entry generates a new line item `id`. Returns a bulk response containing the updated vendor credit records. Max 50 vendor credits per request.
- **Bill vendor credits bulk update** (Update). Update line item details across multiple BILL vendor credits in a single PATCH request. Modifiable line item fields include amount, quantity, and description; the line item id is preserved. Returns an array of updated vendor credit objects including id, vendorId, and lineItems. Accepts 1–50 vendor credit objects per request.
- **Bill vendor credits bulk archive** (Archive). Archive multiple vendor credits in BILL with a single API request. Returns a list of vendor credit objects with the `archived` field set to `true` for each archived record. Note: an archived vendor credit cannot be restored. Required: ids (comma-separated BILL-generated vendor credit IDs, each beginning with `vcr`).
- **List all Bill recurring bills** (List). List BILL recurring bills with support for filtering and sorting. Returns each recurring bill with id, archived, vendorId, schedule, recurringBillLineItems, processingOptions, paymentInformation, createdTime, and updatedTime. Max 100 results per page.
- **Create a Bill recurring Bill** (Create). Create a new recurring bill in BILL. Returns the created recurring bill including id, archived, vendorId, schedule, recurringBillLineItems, processingOptions, and paymentInformation. Required: vendorId, schedule, recurringBillLineItems. Enabling autoPayment requires an MFA-trusted API session.
- **Get single Bill recurring Bill by ID** (Get). Get a single BILL recurring bill by id. Returns: id, archived, vendorId, description, schedule, recurringBillLineItems, processingOptions, paymentInformation, createdTime, updatedTime. Required: id.
- **Update a Bill recurring Bill by ID** (Update). Update an existing BILL recurring bill by id. Returns the updated recurring bill including id, archived, vendorId, schedule, recurringBillLineItems, processingOptions, and paymentInformation. Required: id. Enabling autoPayment requires an MFA-trusted API session.
- **Bill recurring bills archive** (Archive). Archive a BILL recurring bill. Returns the archived recurring bill with archived set to true, including id, vendorId, schedule, recurringBillLineItems, and paymentInformation. Required: recurring_bill_id.
- **Bill recurring bills restore** (Restore). Restore an archived recurring bill in BILL. Returns the full recurring bill object including id, archived, vendorId, schedule, recurringBillLineItems, processingOptions, paymentInformation, createdTime, and updatedTime. Required: recurring_bill_id.
- **Bill recurring bills partial update** (Update). Partially update a recurring bill in BILL by id. Returns the updated recurring bill including id, archived, vendorId, schedule, recurringBillLineItems, createdTime, and updatedTime. Required: id. Enabling autoPayment requires an MFA-trusted API session.
- **Create a Bill vendor bank account** (Create). Create a vendor bank account in BILL for electronic payments. Returns: type, address. Required: vendor_id, accountNumber.
- **List all Bill vendor bank accounts** (List). Get vendor bank account details in BILL. Returns: type, address. Required: vendor_id.
- **Bill vendor bank accounts bulk delete** (Delete). Delete a vendor bank account in BILL. Returns an empty 204 response on success. Required: vendor_id.
- **List all Bill credit memos** (List). List credit memos in BILL. Returns: id, customerId, referenceNumber, creditDate, description, archived, salesTaxItemId, payToChartOfAccountId, payToBankAccountId, amount, appliedAmount, salesTaxTotal, salesTaxPercentage, status, createdTime, updatedTime, creditMemoLineItems, classifications, usage. Max 100 results per page.
- **Create a Bill credit memo** (Create). Create a credit memo in BILL. Returns the created credit memo object including id, customerId, referenceNumber, creditDate, amount, status, and line items. Required: customerId, referenceNumber, creditDate, creditMemoLineItems. You can set only one of payToChartOfAccountId or payToBankAccountId.
- **Get single Bill credit memo by ID** (Get). Get a single BILL credit memo by id. Returns the full credit memo object including id, customerId, referenceNumber, creditDate, amount, status, line items, classifications, and usage. Required: id.
- **Bill credit memos archive** (Archive). Archive a BILL credit memo by id. Returns the updated credit memo object including id, archived, status, amount, and line items. Required: credit_memo_id.
- **Bill credit memos restore** (Restore). Restore an archived BILL credit memo by id. Returns the restored credit memo object including id, archived, status, amount, and line items. Required: credit_memo_id.
- **Update a Bill credit memo by ID** (Update). Update a credit memo in BILL by id. Returns: id, customerId, referenceNumber, creditDate, description, archived, salesTaxItemId, payToChartOfAccountId, payToBankAccountId, amount, appliedAmount, salesTaxTotal, salesTaxPercentage, status, createdTime, updatedTime, creditMemoLineItems, classifications. Required: id. You can set only one of payToChartOfAccountId or payToBankAccountId.
- **Bill credit memos bulk create** (Create). Create multiple credit memos in BILL with one API request. Returns: creditMemos. Required: customerId, referenceNumber, creditDate, and creditMemoLineItems for each array item. You can set only one of payToChartOfAccountId or payToBankAccountId.
- **Bill credit memos bulk replace** (Action). Replace multiple credit memos in BILL with one API request, fully replacing line items. Returns: creditMemos. Required: id, customerId, referenceNumber, creditDate, and creditMemoLineItems for each array item. You can set only one of payToChartOfAccountId or payToBankAccountId.
- **Bill credit memos bulk update** (Update). Update multiple BILL credit memos in a single batch request by sending an array of credit memo update objects. Returns: creditMemos. Required: body (array of update objects; each item requires id). You can set only one of payToChartOfAccountId or payToBankAccountId per credit memo.
- **Bill credit memos bulk archive** (Archive). Archive multiple BILL credit memos in a single request by providing comma-separated credit memo IDs. Returns: creditMemos. Required: ids.
- **Bill credit memos bulk restore** (Restore). Restore multiple archived credit memos in BILL. Returns: creditMemos. Required: ids (comma-separated credit memo IDs beginning with `ccr`).
- **Bill credit memos partial update** (Update). Partially update a credit memo in BILL by modifying details such as line items, customer, description, or tax settings. Returns the updated credit memo including id, customerId, amount, status, creditMemoLineItems, and classifications. Required: id.
- **Bill MFA generate challenge** (Generate). Generate an MFA challenge in BILL for creating an MFA-trusted API sign-in session. A six-digit validation token is sent to the registered phone number. Returns: challengeId, timestamp, code, severity, category, message.
- **Bill MFA validate challenge** (Validate). Validate an MFA challenge in BILL to complete MFA sign-in and create an MFA-trusted API session. Returns: rememberMeId. Required: challengeId, token.
- **Bill MFA list phones** (List). List MFA phone numbers registered in BILL. Returns: type, last4digits, primary.
- **Bill MFA setup** (Action). Add a phone number for MFA setup in BILL. The validation token is sent to the provided phone number. Returns: setupId. Required: phone, type.
- **Bill MFA validate setup** (Validate). Validate an MFA phone setup in BILL by confirming the token sent to the registered phone number. Returns: status. Required: setupId, type, token.
- **Bill MFA step up** (Action). Perform an MFA step-up for a BILL API session using a rememberMeId from a prior challenge validation. Returns: trusted.
- **Bill Bill approvals approve deny** (Approve). Approve or deny a bill in BILL. Returns: status.
- **Bill Bill approvals list pending** (List). List bills pending approval for the current user in BILL. Returns: billId, vendorId, amount, dueDate.
- **List all Bill payment terms** (List). List payment terms for a BILL organization. Returns each payment term with id, name, daysDue, createdTime, and updatedTime. Required: organization_id.
- **Get single Bill payment term by ID** (Get). Get a single payment term by id in a BILL organization. Returns: id, toPrintCheck, payments. Required: organization_id, id.
- **List all Bill billing statements** (List). List billing statements for a BILL organization. Returns: id, invoiceNumber, invoiceDate, description, billingPeriod, paymentStatus, paymentDate, amount. Required: organization_id. invoiceDateFrom and invoiceDateTo are mutually required — each must be provided if the other is set.
- **Bill audit trail get vendor** (Get). Get audit trail records for a specific vendor in BILL. Returns an array of audit trail entries including source, type, createdTime, user, and field. Required: vendor_id.
- **List all Bill users** (List). List BILL organization users with optional sorting and filtering. Returns: id, archived, firstName, lastName, email, role, createdTime, updatedTime. Max 100 results per page.
- **Get single Bill user by ID** (Get). Get a single BILL organization user by id. Returns: id, archived, firstName, lastName, email, role, createdTime, updatedTime. Required: id.
- **Create a Bill user** (Create). Create a new organization user in BILL. Returns the created user object including id, archived, firstName, lastName, email, role (with id, type, and description), createdTime, and updatedTime. Required: firstName, email, username, and acceptTermsOfService. The username must be a unique alphanumeric value of 40 characters or fewer and must not be an email address or PII. If roleId is omitted, the…
- **List all Bill roles** (List). List available BILL user roles. Returns: id, type, description, createdTime, updatedTime. Supports standard BILL list filtering and sorting via the `filters` and `sort` query parameters.
- **List all Bill chart of accounts** (List). Get list of chart of accounts. Returns: id, archived, name, description, parentId, account, createdTime, updatedTime.
- **Get single Bill chart of account by ID** (Get). Get details about an existing chart of accounts in BILL by its id. Returns the chart of accounts object including id, name, archived, description, parentId, account, createdTime, and updatedTime. Required: id.
- **Create a Bill chart of account** (Create). Create a new chart of accounts classification in bill. Returns the created chart of accounts object including id, name, archived, description, parentId, account, createdTime, and updatedTime. Required: name.
- **Update a Bill chart of account by ID** (Update). Update a chart of accounts. Returns: id, archived, name, description, parentId, account, createdTime, updatedTime. Required: id.
- **Bill chart of accounts archive** (Archive). Archive an existing chart of accounts in BILL. Returns the updated chart of accounts object with the `archived` field set to `true`, along with id, name, description, account, createdTime, and updatedTime. Required: chart_of_account_id.
- **Bill chart of accounts bulk create** (Create). Create up to 50 chart of accounts in bill with a single API request by sending a JSON array of account objects. Returns an array of the created chart of accounts records, each including id, createdTime, and archived. Max 50 items per request.
- **Bill chart of accounts bulk update** (Update). Update multiple chart of accounts. Returns: chartOfAccounts.
- **List all Bill departments** (List). List department objects in BILL with optional filtering and sorting. Returns: id, name, shortName, description, parentId, archived, createdTime, updatedTime. Results default to 20 per page (up to 100 supported).
- **Get single Bill department by ID** (Get). Get details about an existing department in BILL by its BILL-generated id (begins with `0de`). Returns the department object including its id, name, and createdTime. Required: id.
- **Create a Bill department** (Create). Create a department. Returns: id, name, shortName, description, parentId, archived, createdTime, updatedTime. Required: name.
- **Update a Bill department by ID** (Update). Update details about an existing department in bill by id. Returns the updated department object including its id, archived status, and createdTime. Required: id.
- **Bill departments archive** (Archive). Archive an existing department in bill. Returns the department object with the `archived` field set to `true`, including id, name, and archived status. Required: department_id.
- **List all Bill locations** (List). List location objects in BILL. Returns location records including id, createdTime, and archived. Supports field-based filtering (via filters) and sorting (via sort). Defaults to 20 results per page; maximum 100 per page.
- **Get single Bill location by ID** (Get). Get details about an existing location in BILL by its BILL-generated id (a string beginning with `loc`). Returns the location object including its id, archived status, and createdTime. Required: id.
- **Create a Bill location** (Create). Create a new location classification in BILL. Returns the created location object, including its id and archived status.
- **Update a Bill location by ID** (Update). Update a location. Returns: id, name, shortName, description, parentId, archived, createdTime, updatedTime. Required: id.
- **Bill locations archive** (Archive). Archive a location. Returns: id, name, shortName, description, parentId, archived, createdTime, updatedTime. Required: location_id.
- **Bill locations bulk create** (Create). Create up to 50 locations in BILL with a single API request. Returns an array of the newly created location records, each including id, archived, and createdTime. Max 50 locations per request.
- **Bill risk verifications add phone** (Add). Add a phone number for the currently signed-in user in BILL. BILL requires the signed-in user to have a linked phone number before initiating KYC/KYB risk verification for an organization. Returns an empty 200 response on success. Required: phoneNumber, phoneType.
- **Bill risk verifications initiate** (Action). Initiate KYC/KYB risk verification for a BILL organization. BILL performs identity and business checks based on the organization's existing information and sends an email notification; once the check completes, the organization is approved for AP and AR operations. Returns: processingStatus, decision, referenceId. No request body parameters are required.
- **Bill invoice attachments upload** (Upload). Upload an attachment to a specific invoice in BILL. Returns the created attachment including its id. Required: invoice_id.
- **Delete a Bill invoice attachment by ID** (Delete). Delete a specific attachment from a BILL invoice. Returns an empty 204 response on success. Required: invoice_id, id.
