# Bill.com

Manage Bill.com: bills, vendors, invoices, payments, and approvals. Exposes **29 actions** covering the full API surface
the agent needs - read and write.

## What it can do

| Method | What it does |
| --- | --- |
| `billcom_list_vendors` | List vendors (suppliers) - GET /vendors. |
| `billcom_get_vendor` | Get one vendor by ID - GET /vendors/&#123;id&#125;. |
| `billcom_create_vendor` | Create a new vendor - POST /vendors. |
| `billcom_update_vendor` | Update a vendor - PUT /vendors/&#123;id&#125;. |
| `billcom_list_customers` | List customers - GET /customers. |
| `billcom_get_customer` | Get one customer by ID - GET /customers/&#123;id&#125;. |
| `billcom_create_customer` | Create a new customer - POST /customers. |
| `billcom_update_customer` | Update a customer - PUT /customers/&#123;id&#125;. |
| `billcom_list_bills` | List bills (Accounts Payable) - GET /bills. |
| `billcom_get_bill` | Get one bill by ID - GET /bills/&#123;id&#125;. |
| `billcom_create_bill` | Create a new bill - POST /bills. |
| `billcom_update_bill` | Update a bill - PUT /bills/&#123;id&#125;. |
| `billcom_bill_approve` | Approve a bill - POST /bills/&#123;id&#125;/approve. |
| `billcom_bill_pay` | Mark a bill as paid / record payment - POST /bills/&#123;id&#125;/pay. |
| `billcom_list_invoices` | List invoices (Accounts Receivable) - GET /invoices. |
| `billcom_get_invoice` | Get one invoice by ID - GET /invoices/&#123;id&#125;. |
| `billcom_create_invoice` | Create a new invoice - POST /invoices. |
| `billcom_update_invoice` | Update an invoice - PUT /invoices/&#123;id&#125;. |
| `billcom_invoice_send` | Send an invoice to the customer - POST /invoices/&#123;id&#125;/send. |
| `billcom_list_payments` | List payments - GET /payments. |
| `billcom_get_payment` | Get one payment by ID - GET /payments/&#123;id&#125;. |
| `billcom_create_payment` | Create a payment (AR or AP) - POST /payments. |
| `billcom_list_expenses` | List expenses - GET /expenses. |
| `billcom_get_expense` | Get one expense by ID - GET /expenses/&#123;id&#125;. |
| `billcom_create_expense` | Create an expense - POST /expenses. |
| `billcom_list_accounts` | List accounts (chart of accounts) - GET /accounts. |
| `billcom_get_account` | Get one account by ID - GET /accounts/&#123;id&#125;. |
| `billcom_list_journal_entries` | List journal entries - GET /journal-entries. |
| `billcom_create_journal_entry` | Create a journal entry - POST /journal-entries. |

## How to get credentials

This connector uses an **API key / token**. Create one in the provider
dashboard, then paste it into FlyMyAI:

- **`BILLCOM_DEV_KEY`** - Bill.com developer account. (https://developer.bill.com)
- **`BILLCOM_USERNAME`** - Your Bill.com login email.
- **`BILLCOM_PASSWORD`** - Your Bill.com password.
- **`BILLCOM_ORG_ID`** - Bill.com org id.

## Fields to fill in FlyMyAI

| FlyMyAI field | Where it comes from |
| --- | --- |
| `BILLCOM_DEV_KEY` | Bill.com developer account. |
| `BILLCOM_USERNAME` | Your Bill.com login email. |
| `BILLCOM_PASSWORD` | Your Bill.com password. |
| `BILLCOM_ORG_ID` | Bill.com org id. |

## Troubleshooting

- **`401 Unauthorized` / `403 Forbidden`** - the token is wrong, expired, or missing a required scope - regenerate it.
- **`429 Too Many Requests`** - you hit the provider rate limit; retry after a short backoff.
- **Unexpected `4xx` on writes** - double-check required fields; the agent confirms before write actions.

## Links

- [Bill.com API documentation](https://developer.bill.com/api-docs)
