Source: https://billingmart.com/developers/tax-categories # Tax categories on bills, expenses and invoices Read the categories, ask for a suggestion, and read each record’s category. A suggestion is a draft: a person confirms it, in the console or the app. [API reference](https://billingmart.com/developers/api) [OpenAPI document](https://api.billingmart.com/v1/openapi.json) Tax categories ## The rules, in order 01 ## The categories `GET /v1/tax-categories` (`reports:read`) lists the edition `us-sch-c-2026`: the lines of IRS Schedule C. Each has a `code`, a `direction` (`expense` for bills and expenses, `income` for issued invoices), a label and what belongs in it. A record stores the code beside its free-text category and the edition it belongs to. Tax categories | Code | Direction | Form line | | --- | --- | --- | | `advertising` | expense | Line 8 | | `car_truck` | expense | Line 9 | | `commissions_fees` | expense | Line 10 | | `contract_labor` | expense | Line 11 | | `depletion` | expense | Line 12 | | `depreciation` | expense | Line 13 | | `employee_benefits` | expense | Line 14 | | `insurance` | expense | Line 15 | | `interest_mortgage` | expense | Line 16a | | `interest_other` | expense | Line 16b | | `legal_professional` | expense | Line 17 | | `office_expense` | expense | Line 18 | | `pension_profit_sharing` | expense | Line 19 | | `rent_vehicles_equipment` | expense | Line 20a | | `rent_property` | expense | Line 20b | | `repairs_maintenance` | expense | Line 21 | | `supplies` | expense | Line 22 | | `taxes_licenses` | expense | Line 23 | | `travel` | expense | Line 24a | | `meals` | expense | Line 24b | | `utilities` | expense | Line 25 | | `wages` | expense | Line 26 | | `home_office` | expense | Line 30 | | `other_expense` | expense | Line 27a | | `cost_of_goods` | expense | Part III | | `capital_asset` | expense | — | | `personal_not_deductible` | expense | — | | `income_goods` | income | Line 1 | | `income_services` | income | Line 1 | | `income_other` | income | Line 6 | | `income_interest` | income | Line 6 | | `not_income` | income | — | 02 ## Asking for a suggestion `POST /v1/tax-categories/{bills|expenses|invoices}/suggest` takes up to 25 `recordIds` and needs that kind’s write scope (`bills:write`, `expenses:write` or `invoices:write`). The answer is one result per record. The free answers come first and cost nothing: a default set on a vendor or customer, the person’s own earlier choices for the same payee, and for an invoice the rate basis of its lines. The model is asked only when none of those decides, and that uses AI credits; when the workspace has none, only those records are skipped. A suggestion is a draft stored beside the record. It sets nothing, and its reason is returned inside the untrusted-data envelope. 03 ## Confirming There is no REST route that sets a category: a person confirms in the console or the app. An assistant calls `confirm_tax_category` (`POST /v1/actions/confirmTaxCategory`, target: the suggestion), which is an action request. A person approves it, or it runs at once only under a rule the owner set for that kind. 04 ## Reading a record’s category A bill, expense or invoice answer carries `taxCategory`, `taxCategoryVersion` and `taxCategorySource` (`person` or `suggestion`), and, while one waits, the read-only `taxSuggestion`. 05 ## The report `GET /v1/reports/tax-categories?from=&to=` (`reports:read`) totals each category per currency over a period: bills (not draft, not void) and expenses by expense category, and issued invoices as gross receipts without the sales tax collected, with the uncategorised counted separately. The basis is what was invoiced. A suggestion, not tax advice. Check your categories with your accountant. Next guide ## Work records Read the record type first, send each answer in the form its question takes, check before you move a record, and upload a document in three calls. Activating, issuing and delivering stay with a person. [Continue to Work records →](https://billingmart.com/developers/work-records) ## Try it in your sandbox A bmk_test_ key reaches only your sandbox workspace. [Start free](https://app.billingmart.com/sign-up) [All guides](https://billingmart.com/developers) --- This is the Markdown copy of https://billingmart.com/developers/tax-categories. Live plans, prices and limits are published as JSON at https://billingmart.com/plans.json and https://billingmart.com/agent-info.json.