canonical: https://jentic.com/apis/bill.com/organization-accounts-tracking

# Bill Organization | Accounts tracking

Jentic publishes the only available OpenAPI specification for Organization | Accounts tracking, keeping it validated and agent-ready. This BILL surface manages the accounting dimensions an organisation uses to classify every transaction: chart of accounts, accounting classes, departments, employees, items, jobs, locations, and payment terms. Agents create, update, and bulk-load these tracking entities so that invoices, bills, and payments downstream can be coded against the correct ledger, cost centre, and project. Without this layer, AR and AP records cannot be reconciled to the underlying accounting system.

## For AI agents

Manage the chart of accounts, classes, departments, items, jobs, locations, and payment terms used to code BILL transactions to the ledger.

## Scope

Does not handle invoicing, vendor payments, or bank-account movement - use for organisation-level chart of accounts and tracking dimension setup only.

## Capabilities

- Create, update, and list chart-of-accounts entries with bulk operations for backfills
- Manage accounting classes, departments, locations, and jobs as transaction tracking dimensions
- Maintain item and employee records used as line-level references on invoices and bills
- Configure payment terms used on customer invoices and vendor bills
- Soft-delete and undelete tracking entities to preserve audit history without removing data

## Use cases

### Initial chart of accounts setup

Bulk-load an organisation's chart of accounts, classes, departments, and locations from an accounting source of truth into BILL. The API exposes Bulk/Crud/Create endpoints on each tracking entity so an agent can mirror QuickBooks or Xero structures into BILL in one batch instead of clicking through the UI. Useful for onboarding a new BILL organisation or migrating between accounting systems.

Example prompt: Call Bulk/Crud/Create/ChartOfAccount.json with 50 GL account records exported from the source ledger and verify all returned successfully

### Cost coding dimension management

Keep BILL's accounting classes, departments, jobs, and locations in sync with the operational hierarchy as the business grows. The API provides full CRUD plus undelete on each dimension so an agent can add a new department, retire an old class, or restore a deleted job without losing audit trail. This keeps line-level coding accurate on every downstream invoice and bill.

Example prompt: Create a new Department record named 'EMEA Sales' and a new Location record named 'Dublin Office', then list both to confirm IDs

### Item and payment-term governance

Maintain the item catalog and payment-term records that drive invoice and bill line items. Crud/Create/Item lets an agent register a new product or service, while Crud/Create/PaymentTerm and Crud/Update/PaymentTerm govern net-30, net-45, and custom terms. Useful when finance ops needs to roll out a pricing or terms change without manual UI work.

Example prompt: Update an existing PaymentTerm record from net-30 to net-45 and verify the change persisted via Crud/Read/PaymentTerm

### Accounting reconciliation prep

Pull the active tracking lists before exporting a period close. Calling List/ChartOfAccount, List/ActgClass, List/Department, and List/Location gives a finance agent the dimension lookups needed to map BILL transactions back to the GL during reconciliation. This avoids stale dimension references when the books close.

Example prompt: Call List/ChartOfAccount, List/ActgClass, and List/Department, then return the count and IDs of all active records

### Agent-driven dimension setup via Jentic

An AI agent uses Jentic to discover BILL tracking operations from intents like 'add a new department' or 'create a GL account'. Jentic returns the matching Crud/Create operation, loads its schema, and executes with credentials from the vault. The agent can stand up a full tracking taxonomy without reading BILL's developer docs.

Example prompt: Search Jentic for 'add a department in bill.com', load the Crud/Create/Department schema, and execute it with name 'Customer Success'

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /Crud/Create/ChartOfAccount.json | Create a GL account |
| POST | /Bulk/Crud/Create/ChartOfAccount.json | Bulk create GL accounts |
| POST | /Crud/Create/Department.json | Create a department |
| POST | /Crud/Create/ActgClass.json | Create an accounting class |
| POST | /Crud/Create/Location.json | Create a location |
| POST | /Crud/Create/Item.json | Create a catalog item |
| POST | /Crud/Create/Job.json | Create a job for cost coding |
| POST | /Crud/Create/PaymentTerm.json | Create a payment term |

## Key resources

- **ChartOfAccount** — GL accounts used to code transactions
- **ActgClass** — Accounting classes for revenue and cost classification
- **Department** — Department dimension for transaction tracking
- **Employee** — Employee records referenced by transactions
- **Item** — Catalog of products and services for line items
- **Job** — Project or job dimension for cost coding
- **Location** — Location or entity dimension for multi-site organisations
- **PaymentTerm** — Net-day terms used on invoices and bills

## Why Jentic

- **Setup:** Wiring the BILL organization accounts-tracking API by hand means logging in for a session id, pairing it with your developer key on every RPC-style POST, and shaping each chart-of-account and tracking-dimension 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 record 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 GL account or adding a department. You choose that set, so creating locations, items, or jobs 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 GL account' or 'add a department', and Jentic returns the matching Crud/Create operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Xero Accounting** — Xero exposes the same chart-of-accounts and tracking categories at the ledger level.
- **BILL AP Vendor Transactions** — Vendor transactions consume the tracking dimensions defined here.
- **BILL AR Customer Transactions** — Customer transactions reference these tracking dimensions on invoices.

## FAQ

### Why is there no official OpenAPI spec for Organization | Accounts tracking?

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

BILL uses an API key plus session token model. Agents authenticate once to obtain a session token and pass it on each request alongside the developer key. Jentic stores both in the encrypted vault and exposes only a scoped reference to the agent.

### Can I bulk-load my chart of accounts via this API?

Yes. POST /Bulk/Crud/Create/ChartOfAccount.json accepts a batch of GL account records in one call. The same Bulk/Crud pattern is available for Department, ActgClass, Item, Job, Location, and Employee records to support full chart migrations.

### How do I add a department through Jentic?

Search Jentic for 'add a department in bill.com'. Jentic returns the Crud/Create/Department operation, loads its schema, and your agent calls POST /Crud/Create/Department.json with the department name and parent location.

### What rate limits apply to the tracking API?

BILL applies per-organisation throttling. Specific quotas are not exposed in the spec, so prefer the Bulk/Crud endpoints (for example POST /Bulk/Crud/Create/Item.json) when loading more than a few records to avoid serial-call throttling.

### Is the Organization Accounts Tracking 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 Accounts Tracking API?

Yes. Because you run Jentic One yourself, you decide which of this API's RPC-style operations your agent may call, so you can allow just Crud/Create/ChartOfAccount.json and Crud/Create/Department.json while leaving Crud/Create/Location.json, Crud/Create/Item.json, and Crud/Create/Job.json out of reach. Record ids travel in the request body rather than the URL path, so scoping happens at the operation level: an operation your rules do not include is simply not callable. Your BILL developer key and session token stay in your own instance and are injected only for the operations you permit.
