All connectors
Implemented
Accounting, billing & payments
FreshBooks logo

FreshBooks

Read and write FreshBooks clients, draft invoices and estimates with lines, expenses, items, taxes, recorded payments, projects, time entries and journal entries.

Keep client billing, expenses, time and ledger adjustments in FreshBooks aligned with CRM, project and operations systems.

Source actions

20

Destination actions

19

Data types

11

Validation status

Implemented · fixture tested.

Implementation is checked against provider-shaped fixtures for every action, authentication failures, rate limits, pagination and duplicate safety. Provider sandbox and authorised account validation are recorded separately when credential-backed runs are completed.

What you can map

businesses
  • List businesses
    Source

    Business memberships of the authorising user with account ID, business ID and business UUID.

    businesses.list
clients
  • Create client
    Destination
    Not retried automatically
    Approval before production

    Creates a client in FreshBooks.

    clients.create
  • Get client
    Source

    One client by ID.

    clients.get
  • List clients
    Source
    Incremental

    Clients with incremental search[updated_min] and FreshBooks search filters.

    clients.list
  • Update client
    Destination
    Provider duplicate protection
    Approval before production

    Updates supplied client fields. Omitted fields are unchanged.

    clients.update
estimates
  • Create estimate
    Destination
    Not retried automatically
    Approval before production

    Creates a Draft estimate with line items.

    estimates.create
  • Get estimate
    Source

    One estimate by ID with lines.

    estimates.get
  • List estimates
    Source
    Incremental

    Estimates with incremental search[updated_min] and FreshBooks search filters.

    estimates.list
  • Update estimate
    Destination
    Provider duplicate protection
    Approval before production

    Updates supplied estimate fields. Omitted fields are unchanged.

    estimates.update
expenses
  • Create expense
    Destination
    Not retried automatically
    Approval before production

    Creates a expense in FreshBooks.

    expenses.create
  • Get expense
    Source

    One expense by ID.

    expenses.get
  • List expenses
    Source
    Incremental

    Expenses with incremental search[updated_min] and FreshBooks search filters.

    expenses.list
  • Update expense
    Destination
    Provider duplicate protection
    Approval before production

    Updates supplied expense fields. Omitted fields are unchanged.

    expenses.update
invoices
  • Create invoice
    Destination
    Not retried automatically
    Approval before production

    Creates a Draft invoice with line items. Sending or marking as sent is not automated.

    invoices.create
  • Get invoice
    Source

    One invoice by ID with lines.

    invoices.get
  • List invoices
    Source
    Incremental

    Invoices with incremental search[updated_min] and FreshBooks search filters.

    invoices.list
  • Update invoice
    Destination
    Provider duplicate protection
    Approval before production

    Updates supplied invoice fields. Omitted fields are unchanged.

    invoices.update
items
  • Create item
    Destination
    Not retried automatically
    Approval before production

    Creates a item in FreshBooks.

    items.create
  • Get item
    Source

    One item by ID.

    items.get
  • List items
    Source
    Incremental

    Items with incremental search[updated_min] and FreshBooks search filters.

    items.list
  • Update item
    Destination
    Provider duplicate protection
    Approval before production

    Updates supplied item fields. Omitted fields are unchanged.

    items.update
journal entries
  • Create journal entry
    Destination
    Not retried automatically
    Approval before production

    Creates a balanced manual (adjustment) journal entry in the ledger.

    journal_entries.create
  • List journal entries
    Source

    Manual (adjustment) journal entries with their debit and credit lines.

    journal_entries.list
  • Update journal entry
    Destination
    Provider duplicate protection
    Approval before production

    Updates a manual journal entry. Supplying lines replaces all lines.

    journal_entries.update
payments
  • Create payment
    Destination
    Not retried automatically
    Approval before production

    Records a payment already received against an invoice (bookkeeping only; no money moves).

    payments.create
  • Get payment
    Source

    One payment by ID.

    payments.get
  • List payments
    Source
    Incremental

    Payments with incremental search[updated_min] and FreshBooks search filters.

    payments.list
projects
  • Create project
    Destination
    Not retried automatically
    Approval before production

    Creates a project in FreshBooks.

    projects.create
  • Get project
    Source

    One project by ID.

    projects.get
  • List projects
    Source
    Incremental

    Projects with updated_since and documented filters.

    projects.list
  • Update project
    Destination
    Provider duplicate protection
    Approval before production

    Updates supplied project fields.

    projects.update
taxes
  • Create tax
    Destination
    Not retried automatically
    Approval before production

    Creates a tax in FreshBooks.

    taxes.create
  • Get tax
    Source

    One tax by ID.

    taxes.get
  • List taxes
    Source
    Incremental

    Taxes with incremental search[updated_min] and FreshBooks search filters.

    taxes.list
  • Update tax
    Destination
    Provider duplicate protection
    Approval before production

    Updates supplied tax fields. Omitted fields are unchanged.

    taxes.update
time entries
  • Create time entry
    Destination
    Not retried automatically
    Approval before production

    Creates a time entry in FreshBooks.

    time_entries.create
  • Get time entry
    Source

    One time entry by ID.

    time_entries.get
  • List time entries
    Source
    Incremental

    Time entries with updated_since and documented filters.

    time_entries.list
  • Update time entry
    Destination
    Provider duplicate protection
    Approval before production

    Updates supplied time entry fields.

    time_entries.update

Authentication

FreshBooks OAuth application with a rotating refresh token

Plans and access

All FreshBooks plans with API access through a developer application. Calls act as the authorising user and follow that user's role in the business; scopes are chosen on the developer application.

Test environment

FreshBooks has no sandbox host; use a separate trial business for testing.

Rate limits

FreshBooks throttles bursts of requests without publishing fixed numbers; there is no daily cap. Nexra backs off on HTTP 429.

Pagination

page and per_page (max 100) with result page and pages; journal entries use page_number and page_size.

Provider events

FreshBooks webhook callbacks for create, update and delete events per business. Nexra event triggers are not yet available; flows run on demand or on a schedule.

Before you build a flow

  • Invoices and estimates are created in Draft status; sending, emailing or marking as sent is not automated.
  • Payments are records of money received against invoices (Check, Cash, Credit and similar); FreshBooks moves no money and online payment processing is not automated.
  • Journal entries use the adjustment journal entry API keyed by business UUID with x-api-version 2023-09-25; account UUIDs come from the FreshBooks chart of accounts.
  • Deletes, archives (vis_state changes on update), invoice emailing and online payment charges are not automated.
  • The token request is sent as a standard OAuth form body without redirect_uri; FreshBooks documents a JSON body that includes redirect_uri, so confirm refresh against a live application.
  • search[updated_min] filters by date (YYYY-MM-DD) on accounting entities; projects and time entries take an ISO timestamp.
  • FreshBooks has no idempotency key; uncertain creates are not repeated automatically.

Developer reference

  1. Create the FreshBooks credentials described above with the narrowest permissions your flows need.
  2. In Nexra, open Connect, then Connections, then New connection, choose FreshBooks, enter its settings and credentials, and tick only the write actions you need. Connection guide
  3. Test the connection, then use its actions as flow sources and destinations. Flow guide

Machine-readable detail: GET /api/public/connect/connectors/freshbooks and the Connections API.