# FreshBooks — Accounting API: gotchas

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

## GET /accounting/tax-rates

The Freshbooks Bills api is currently in beta.
## GET /accounting/bills

The Freshbooks Bills api is currently in beta.
## GET /accounting/bills/{id}

The Freshbooks Bills api is currently in beta.
## DELETE /accounting/bills/{id}

Delete will set the bill to inactive and will soft delete it, meaning it will stop appearing in the list API call. However, it can still be found via the get by id call.

## GET /accounting/invoices

FreshBooks supports up to two taxes per line item (`taxName1`/`taxAmount1` and `taxName2`/`taxAmount2`).
The unified API supports one `tax_rate` per line item, so Apideck maps the tax with the largest rate as
`tax_rate` (name, rate, code) and sets `tax_amount` to the combined total of both taxes applied to the line.

If you need both individual tax values, use the `raw` query parameter (`?raw=true`) to access the original
FreshBooks response, where both `taxName1`/`taxAmount1` and `taxName2`/`taxAmount2` are available on each line item.

## POST /accounting/invoices

The status field can be set to either "submitted", "partially_paid", "paid" or "draft". The due_date and invoice_date fields are required for the invoice to be created.

## GET /accounting/invoices/{id}

FreshBooks supports up to two taxes per line item (`taxName1`/`taxAmount1` and `taxName2`/`taxAmount2`).
The unified API supports one `tax_rate` per line item, so Apideck maps the tax with the largest rate as
`tax_rate` (name, rate, code) and sets `tax_amount` to the combined total of both taxes applied to the line.

If you need both individual tax values, use the `raw` query parameter (`?raw=true`) to access the original
FreshBooks response, where both `taxName1`/`taxAmount1` and `taxName2`/`taxAmount2` are available on each line item.

## PATCH /accounting/invoices/{id}

The status field can be set to either "submitted" or "draft". The other available statuses are set by the Freshbooks API and cannot be updated manually. The due_date and invoice_date fields are required for the due date to be updated.

## DELETE /accounting/invoices/{id}

Delete will set the invoice to inactive and will soft delete it, meaning it will stop appearing in the list API call. However, it can still be found via the get by id call.

## GET /accounting/ledger-accounts

The Freshbooks Bills api is currently in beta.
## GET /accounting/invoice-items

The Freshbooks Bills api is currently in beta.
## DELETE /accounting/invoice-items/{id}

Delete will set the invoice item to inactive and will soft delete it, meaning it will stop appearing in the list API call. However, it can still be found via the get by id call.

## GET /accounting/credit-notes

The Freshbooks Bills api is currently in beta.
## DELETE /accounting/credit-notes/{id}

Delete will set the credit note to inactive and will soft delete it, meaning it will stop appearing in the list API call. However, it can still be found via the get by id call.

## POST /accounting/customers

Freshbooks API set status to active by default for new customers. To change the status, you can use the Update Customer endpoint.

## PATCH /accounting/customers/{id}

The status field can be updated to either "active" or "archived".

## DELETE /accounting/customers/{id}

Delete will set the customer to inactive and will soft delete it, meaning it will stop appearing in the list API call. However, it can still be found via the get by id call.

## POST /accounting/suppliers

Freshbooks API set status to active by default for new suppliers. To change the status, you can use the Update Supplier endpoint.

## PATCH /accounting/suppliers/{id}

The status field can be updated to either "active" or "archived".

## DELETE /accounting/suppliers/{id}

Delete will set the supplier to inactive and will soft delete it, meaning it will stop appearing in the list API call.

## GET /accounting/payments

The Freshbooks Bills api is currently in beta.
## DELETE /accounting/payments/{id}

Delete will set the payment to inactive and will soft delete it, meaning it will stop appearing in the list API call. However, it can still be found via the get by id call.

## GET /accounting/journal-entries

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

## GET /accounting/trial-balance

Built from FreshBooks' accounting trial balance report for the business in the connection, as of `filter[end_date]` (today by default). Balance sheet accounts are cumulative to that date and income and expense accounts are fiscal year-to-date, with earlier years' income already closed into retained earnings by FreshBooks; `start_date` is the fiscal year start FreshBooks reports, and a window that is not a valid fiscal year to date returns a `502`. Lines are sub-accounts, so parents are not counted twice; accounts with a zero balance are left out. The report is accrual only: `filter[accounting_method]=cash` returns a `400`. FreshBooks' accounting reports need a Plus, Premium or Select plan. A report whose debits and credits do not balance returns a `502`. Not verified against a live FreshBooks business: the route, the mandatory `use_ledger_entries=true` and the response shape follow FreshBooks' API reference, but no real response has been read, so the connector is unverified. `start_date` is not sent (the business's fiscal year start is not available); the window FreshBooks answers with is validated and returned. `account_id` is the row's `sub_accountid`, whose match with the ledger account `id` is unverified. Every line has `line_type` `account`.
## GET /accounting/bill-payments

The Freshbooks Bills api is currently in beta.
## PATCH /accounting/bill-payments/{id}

The `transaction_date` field is required.

## DELETE /accounting/bill-payments/{id}

Delete will set the payment to inactive and will soft delete it, meaning it will stop appearing in the list API call. However, it can still be found via the get by id call.


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