# FreshBooks — Accounting API: overview

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

The best cloud based small business accounting software. Send invoices, track time, manage receipts, expenses, and accept credit cards.
- Status: live
- Authentication: oauth2

- **account type required:** Any FreshBooks account (trial or paid); no specific plan tier required.
- **apideck credentials available:** true
- **apideck credentials note:** For testing, the consent screen shows "Apideck"; production connections use your own FreshBooks OAuth app.
- **authentication note:** Authorization code flow.
- **consumer access level:** Owner or admin role on the FreshBooks Business being connected.
- **costs:** API access is free; consumers need an active FreshBooks subscription, and a free trial covers evaluation.
- **difficulty:** straightforward
- **difficulty reason:** Self-Service OAuth App, Free to Register — No Partnership or App Review
- **environment notes:**   - **description:** FreshBooks provides no separate sandbox: testing and production share the same API and the same OAuth app credentials.
  - **environment:** Single environment
  - **description:** Test with a FreshBooks free trial or a dedicated dummy account, or request Apideck's temporary shared test credentials via Apideck Support: https://help.apideck.com/en/articles/7774658. Any account you connect holds live business data, so treat writes accordingly.
  - **environment:** Testing options
- **external guides:**   - **source:** FreshBooks
  - **title:** FreshBooks API — Getting Started
  - **url:** https://www.freshbooks.com/api/start
  - **source:** FreshBooks
  - **title:** FreshBooks API — Authentication
  - **url:** https://www.freshbooks.com/api/authentication
- **important to know:** The FreshBooks Bills API is still in beta, so the accounts-payable side rides on an interface FreshBooks has not finalised yet.
A customisable chart of accounts is only available on FreshBooks' Plus, Premium and Select plans, so a consumer on Lite exposes just the default accounts — two customers on different plans can return different ledger-account data.
One FreshBooks login can hold several Businesses, but a connection covers exactly one of them — a customer spanning multiple entities needs a separate connection per Business.
- **partnership note:** No partner program to join — register your own OAuth app free in the Developer Hub. A public FreshBooks App Store listing is optional.
- **partnership portal name:** FreshBooks Developer Hub
- **partnership required:** false
- **partnership url:** https://www.freshbooks.com/developers
- **rate limits:** No daily cap and no published numeric limit — FreshBooks throttles bursts of requests.
- **responsibility matrix:**   - **area:** Create FreshBooks Account
  - **customer:** ✓
  - **apideck:** Docs provided
  - **area:** Register & Configure OAuth App
  - **customer:** ✓
  - **area:** Add Credentials to Apideck
  - **customer:** ✓
  - **apideck:** Handles OAuth flow
  - **area:** Authorize Connection (OAuth)
  - **consumer:** ✓
  - **area:** Select FreshBooks Business
  - **consumer:** ✓
  - **apideck:** Maintains connector
  - **area:** Build via Unified API
  - **customer:** ✓
  - **apideck:** ✓ Automatic
  - **area:** Token Refresh
  - **apideck:** Logs & alerts
  - **area:** Monitor Connections
  - **consumer:** ✓ Can revoke anytime
  - **customer:** ✓ Via dashboard
- **sandbox available:** true
- **sandbox url:** https://www.freshbooks.com/signup
- **supported resource categories:**   - **name:** Core Financial
  - **resources:** ledger-accounts
journal-entries
balance-sheet
profit-and-loss
  - **name:** Accounts Receivable
  - **resources:** invoices
invoice-items
customers
credit-notes
payments
  - **name:** Accounts Payable
  - **resources:** bills
suppliers
bill-payments
  - **name:** Company & Tax
  - **resources:** users
tax-rates
- **webhooks:** No webhooks — FreshBooks offers none, so data sync is polling-based.

## Supported resources

[Accounting data model](/guides/accounting-data-model.md)

- **custom field support:** false
- **downstream id:** clients
- **downstream name:** Clients
- **id:** customers
- **name:** Customers
- **status:** live
- **custom field support:** false
- **downstream id:** ledger-accounts
- **downstream name:** Ledger Accounts
- **id:** ledger-accounts
- **name:** Ledger Accounts
- **status:** live
- **custom field support:** false
- **downstream id:** bill-vendors
- **downstream name:** Bill Vendors
- **id:** suppliers
- **name:** Suppliers
- **status:** live
- **custom field support:** false
- **downstream id:** taxes
- **downstream name:** Taxes
- **id:** tax-rates
- **name:** Tax Rates
- **status:** live
- **custom field support:** false
- **downstream id:** items
- **downstream name:** Items
- **id:** invoice-items
- **name:** Invoice Items
- **status:** live
- **custom field support:** false
- **downstream id:** payments
- **downstream name:** Payments
- **id:** payments
- **name:** Payments
- **status:** live
- **custom field support:** false
- **downstream id:** invoices
- **downstream name:** Invoices
- **id:** invoices
- **name:** Invoices
- **status:** live
- **custom field support:** false
- **downstream id:** bills
- **downstream name:** Bills
- **id:** bills
- **name:** Bills
- **status:** live
- **custom field support:** false
- **downstream id:** credit-notes
- **downstream name:** Credit Notes
- **id:** credit-notes
- **name:** Credit Notes
- **status:** live
- **custom field support:** false
- **downstream id:** journal-entries
- **downstream name:** Journal Entries
- **id:** journal-entries
- **name:** Journal Entries
- **status:** live
- **custom field support:** false
- **downstream id:** balance-sheet
- **downstream name:** Balance Sheet
- **id:** balance-sheet
- **name:** BalanceSheet
- **status:** live
- **custom field support:** false
- **downstream id:** profit-and-loss
- **downstream name:** Profit And Loss
- **id:** profit-and-loss
- **name:** ProfitAndLoss
- **status:** live
- **custom field support:** false
- **downstream id:** trial-balance
- **downstream name:** Trial Balance
- **id:** trial-balance
- **name:** Trial Balance
- **status:** beta
- **custom field support:** false
- **downstream id:** bill-payments
- **downstream name:** Bill Payments
- **id:** bill-payments
- **name:** Bill Payments
- **status:** live

An omitted operation list does not establish operation support. Verify the selected operation in the coverage matrix.

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