# Rillet — Accounting API: gotchas

> Canonical URL: https://developers.apideck.com/apis/accounting/rillet/gotchas

## GET /accounting/tax-rates

Rillet does not expose a total record count in list responses. `meta.total_count` will not appear.

## GET /accounting/bills

Rillet does not expose a total record count in list responses. `meta.total_count` will not appear.

A bill settled in part by an applied vendor credit reports `status: partially_paid` — the same
value used when a bill is settled in part by payment. The two cannot be told apart from
`status`, and Rillet exposes no `balance` for a bill, so there is no field to disambiguate them.

## GET /accounting/invoices

Rillet does not expose a total record count in list responses. `meta.total_count` will not appear.

## GET /accounting/ledger-accounts

Rillet does not expose a total record count in list responses. `meta.total_count` will not appear.

## GET /accounting/invoice-items

Rillet does not expose a total record count in list responses. `meta.total_count` will not appear.

## GET /accounting/credit-notes

Rillet does not expose a total record count in list responses. `meta.total_count` will not appear.

## POST /accounting/bill-credit-notes

`subsidiary.id` is required, and line ledger accounts are selected by `line_items[].ledger_account.id` using the account code (e.g. `50110`), not a UUID.
Supplying `allocations` (type `bill`) applies the credit against those bills on create — each allocation's `amount` is applied to its `bill_id` (a null allocation amount defaults to the credit's `total_amount` only when a single bill is targeted; when applying to multiple bills every allocation must carry its own amount). Rillet rejects applying a credit to a bill that contains fixed-asset lines; when an application is rejected the credit note is still created but left unapplied, and the error names its id so it can be applied afterwards. An applied credit cannot be deleted and there is no way to unapply it through the API. The create response reflects the credit *before* its allocations are applied (`status: posted`, full `balance`, empty `allocations`); re-fetch it to see the applied state.
Line-level tax is not sent — `line_items[].tax_rate`/`tax_amount` are ignored, so send `line_items[].total_amount` tax-inclusive and set tax in Rillet if needed. `currency_rate` is not persisted and always reads back null.

## PATCH /accounting/bill-credit-notes/{id}

Update replaces `line_items` wholesale — send the full set of lines on every update; a shorter array removes the omitted lines. The credit note `number` cannot be changed after creation and is ignored on update.

## GET /accounting/customers

Rillet does not expose a total record count in list responses. `meta.total_count` will not appear.

## GET /accounting/suppliers

Rillet does not expose a total record count in list responses. `meta.total_count` will not appear.

## GET /accounting/payments

Rillet does not expose a total record count in list responses. `meta.total_count` will not appear.

## GET /accounting/balance-sheet

Rillet's `/reports/balance-sheet` endpoint returns a point-in-time snapshot keyed by a single `as_of_date` parameter (required). The unified `filter[end_date]` is mapped to `as_of_date`, so pass it to retrieve the balance sheet as of that date. `filter[start_date]` is not applicable and is ignored — a balance sheet has no start date.

## GET /accounting/journal-entries

Rillet does not expose a total record count in list responses. `meta.total_count` will not appear.

## GET /accounting/subsidiaries

Rillet does not expose a total record count in list responses. `meta.total_count` will not appear.

## GET /accounting/bank-accounts

Rillet does not expose a total record count in list responses. `meta.total_count` will not appear.

## GET /accounting/trial-balance

Built from Rillet's trial balance report, using each account's ending balance, which is debit positive (Rillet returns credit totals as negative amounts); a line whose ending balance is not its beginning balance plus its debits and credits returns a `502`, as does a report whose ending balances do not balance (debits and credits differ by half a cent or more, compared before amounts are rounded to cents). Rillet's report resets income and expense accounts at the report's start date and carries everything before it in Retained Earnings. Its API does not expose the fiscal year start, so the report runs from 1 January of the `filter[end_date]` year (today by default) and `start_date` is that date: income and expense accounts are calendar year-to-date, which is not the fiscal year-to-date for organizations whose fiscal year is not the calendar year, though debits still equal credits. `x-apideck-company-id` selects the subsidiary. Every line has `line_type` `account`, and `account_id` is Rillet's account id. Accrual only: `filter[accounting_method]=cash` returns a `400`. Accounts whose balance rounds to zero are left out.
## GET /accounting/bill-payments

Rillet does not expose a total record count in list responses. `meta.total_count` will not appear.

## GET /accounting/expenses

Rillet does not expose a total record count in list responses. `meta.total_count` will not appear.

## GET /accounting/bank-feed-statements

Rillet does not expose a total record count in list responses. `meta.total_count` will not appear.


[API reference](https://developers.apideck.com/apis/accounting/reference.md) · [Coverage matrix](https://developers.apideck.com/apis/accounting/coverage)
