× FreshBooks App Logo
FreshBooks
Official App
Free - Google Play
Get it
You're currently on our US site. Select your regional site here:

Journal Entries

Access Requirements

AccessRequires Authorization
Scopesuser:journal_entries:read
user:journal_entries:write

What are Journal Entries?

Journal entries are the building blocks of financial accounting and record all transactions in your business. In FreshBooks, all your activities – sending invoices, accepting payments, and creating credits and expenses – are compiled into journal entries. 

Request Details

Like most requests, you’ll need the <accountId> for the FreshBooks account that you’ll be querying. To find out what accounts the user using your app has access to, it’s good to make a query related to the identity model 

Before creating a journal entry you will need to query the Get Accounts endpoint. This will return an array of accounts. TheĀ account_uuid will be used when adding a journal entry. New entries must include the account_uuid, and the debit or credit amounts.

Create Adjustment Journal Entry

Headers

NameFieldDescription
x-api-versionstringRequired header. Must be set to 2023-09-25

Field Descriptions

FieldTypeDescription
namestringName of the journal entry
journalEntryNumberstringIdentifier assigned to journal entry
descriptionstringDescription of journal entry
userEnteredDateobjectSubfields: year, month, day
detailsarray[object]List of journal entry line items.
ā†³ accountIduuidUUID of the Account associated with the line item
ā†³ amountobjectAmount object of the journal entry line item
ā”†ā†’ amountfloatAmount of the journal entry line item
ā”†ā†’ codestringCurrency code of the amount
ā†³ typeenumType of the journal entry line item. Possible values: TYPE_CREDIT, TYPE_DEBIT

Get Adjustment Journal Entries

Headers

NameFieldDescription
x-api-versionstringRequired header. Must be set to 2023-09-25

Available Filters

Filter TypeNameTypeDescription
Equalspage_numberintThe starting page number
Equalspage_sizeintThe size of each page

Field Descriptions

FieldTypeDescription
manualJournalEntriesarray[object]List of journal entries retrieved
ā†³ iduuidUUID of the account
ā†³ userEnteredDateobjectSubfields: year, month, day
ā†³ namestringName of the account
ā†³ journalEntryNumberstringJournal entry number
ā†³ descriptionstringDescription of the journal entry
ā†³ detailsarray[object]List of the journal entry line items
ā”†ā†’ accountIduuidUUID of the Account associated with the line item
ā”†ā†’ amountobjectAmount details of line item containing amount and currency
ā”†ā”†ā†’ amountfloatAmount of the journal entry line item
ā”†ā”†ā†’ codestringCurrency code of the amount
ā”†ā†’ typestringType of the journal entry line item. Possible values: TYPE_CREDIT, TYPE_DEBIT
ā”†ā†’ manualJournalEntryIduuidId of the journal entry. Links the line item to the adjustment journal entry.

Get Journal Entries by Account

Available Filters

Filter TypeNameTypeDescription
EqualspageintThe starting page number
Equalsper_pageintThe size of each page
Betweenstart_datedateCreated during or after the given date
Betweenend_datedateCreated during or before the given date
Equalsinclude_childrenbooleanInclude journal entries in child accounts
Equalscurrency_codestringJournal entries using the given currency as primary currency
Equalsuse_ledger_entriesbooleanRequired field. Must be set toĀ true

Field Descriptions

FieldTypeDescription
pageintCurrent page number returned
pagesintNumber of pages returned
per_pageintNumber of journal entries returned per page
totalintTotal journal entries returned
account_entry_detailsarray[object]List of journal entry details
ā†³ idintIdentifier of the journal entry
ā†³ detail_typeenumPossible values: received
ā†³ namestringReferences the original entity
ā†³ descriptionstringDescription from the original entity
ā†³ entryobjectEntry details
ā”†ā†’ idintIdentifier of the journal entry line item
ā”†ā†’ entryidintIdentifier of the journal entry line item
ā”†ā†’ clientidintClient ID if the journal entry is associated with a client. null if not.
ā”†ā†’ expenseidintExpense ID if the journal entry is associated with an expense. null if not.
ā”†ā†’ invoiceidintInvoice ID if the journal entry is associated with an invoice. null if not.
ā”†ā†’ paymentidintPayment ID if the journal entry is associated with a payment. null if not.
ā”†ā†’ incomeidintIncome ID if the journal entry is associated with income. null if not.
ā”†ā†’ creditidintCredit ID if the journal entry is associated with a credit. null if not.
ā”†ā†’ accounting_systemidstringSystem ID
ā†³ accountobjectAmount details of line item containing amount and currency
ā”†ā†’ uuiduuidUUID of the Account
ā”†ā†’ namestringName of the Account
ā”†ā†’ typestringThe type of account. Possible values:Ā asset,Ā liability,Ā equity,Ā income,Ā expense
ā”†ā†’ numberstringAccount number
ā”†ā†’ parent_account_uuiduuidUUID of the parent account
ā†³ debitobjectDetails about the debit. null if credit.
ā”†ā†’ amountstringDebit amount
ā”†ā†’ codestringCurrency code of the debit
ā†³ creditobjectDetails about the credit. null if debit.
ā”†ā†’ amountstringCredit amount
ā”†ā†’ codestringCurrency code of the credit
ā†³ balanceobjectAccount balance details
ā”†ā†’ amountstringAccount balance after debit/credit
ā”†ā†’ codestringCurrency code of the amount
ā†³ accounting_systemidstringSystem ID

Create Adjustment Journal Entry

#REQUEST
curl --location --request POST 'https://api.freshbooks.com/accounting/businesses/<business_uuid>/journal_entries' \
--header 'Authorization: Bearer <SET BEARER TOKEN>' \
--header 'x-api-version: 2023-09-25' \
--data-raw '{
  "manualJournalEntry": {
      "userEnteredDate": {
          "year": "2024",
          "month": "10",
          "day": "31"
      },
      "name": "halloween test",
      "journalEntryNumber": "JE131",
      "description": null,
      "details": [
          {
              "accountId": "184ba7f5-ce2a-4435-ab67-824cbc082c47",
              "amount": {
                  "amount": "123.45",
                  "code": "USD"
              },
              "type": "TYPE_CREDIT"
          },
          {
              "accountId": "ccbf7404-a0f4-4580-ac71-8b77a9644fe2",
              "amount": {
                  "amount": "123.45",
                  "code": "USD"
              },
              "type": "TYPE_DEBIT"
          }
      ]
  }
}'


Get Adjustment Journal Entries

#REQUEST
curl --location --request GET 'https://api.freshbooks.com/accounting/businesses/<business_uuid>/journal_entries?page_number=1&page_size=30' \
--header 'Authorization: Bearer <SET BEARER TOKEN>' \
--header 'x-api-version: 2023-09-25'

#RESPONSE
{
  "manualJournalEntries": [
      {
          "id": "005f5c22-8166-47e9-926d-098fe523f929",
          "userEnteredDate": {
              "year": 2023,
              "month": 11,
              "day": 3
          },
          "name": "do something",
          "journalEntryNumber": "JE1",
          "description": "test test",
          "details": [
              {
                  "id": "a560a0b8-a9b5-4df1-a58e-98e33b88d682",
                  "accountId": "184ba7f5-ce2a-4435-ab67-824cbc082c47",
                  "amount": {
                      "amount": "100.000",
                      "code": "USD"
                  },
                  "type": "TYPE_DEBIT",
                  "manualJournalEntryId": "005f5c22-8166-47e9-926d-098fe523f929"
              },
              {
                  "id": "406d5579-5a09-4f1a-b79b-ebf7c4529cc5",
                  "accountId": "0f321fa9-78db-41ce-8c5f-11605718e5fb",
                  "amount": {
                      "amount": "100.000",
                      "code": "USD"
                  },
                  "type": "TYPE_CREDIT",
                  "manualJournalEntryId": "005f5c22-8166-47e9-926d-098fe523f929"
              }
          ]
      },
      {
          "id": "6ebd82b8-b9cd-4570-9c55-c5b430edd53e",
          "userEnteredDate": {
              "year": 2023,
              "month": 11,
              "day": 2
          },
          "name": "hey hey",
          "journalEntryNumber": "JE12",
          "description": "1",
          "details": [
              {
                  "id": "d9da0006-0438-49b5-9d7c-c887ea3cce0f",
                  "accountId": "184ba7f5-ce2a-4435-ab67-824cbc082c47",
                  "amount": {
                      "amount": "1233.000",
                      "code": "CAD"
                  },
                  "type": "TYPE_DEBIT",
                  "manualJournalEntryId": "6ebd82b8-b9cd-4570-9c55-c5b430edd53e"
              },
              {
                  "id": "0476c354-8720-450e-bf69-fc665255a35e",
                  "accountId": "48c444f7-17cf-4977-a0b3-bc04c8bd0f53",
                  "amount": {
                      "amount": "1233.000",
                      "code": "CAD"
                  },
                  "type": "TYPE_CREDIT",
                  "manualJournalEntryId": "6ebd82b8-b9cd-4570-9c55-c5b430edd53e"
              }
          ]
      },
      ...
  ],
  "page": {
      "number": 1,
      "size": 30,
      "pages": 2,
      "total": 36
  }
}


Get Journal Entries by Account

#REQUEST
curl --location --request GET 'https://api.freshbooks.com/accounting/businesses/<business_uuid>/reports/account_entry_details/<account_uuid>?currency_code=USD&end_date=2024-12-31&include_children=true&start_date=2024-01-01&use_ledger_entries=true'

#RESPONSE
{
    "response": {
        "result": {
            "page": 1,
            "pages": 1,
            "per_page": 15,
            "total": 3,
            "account_entry_details": [
                {
                    "id": 16405907,
                    "entry": {
                        "id": 51472165,
                        "entryid": 51472165,
                        "clientid": null,
                        "expenseid": null,
                        "invoiceid": 842847,
                        "paymentid": 700199,
                        "incomeid": null,
                        "creditid": null,
                        "accounting_systemid": "LJx5l5"
                    },
                    "account": {
                        "uuid": "184ba7f5-ce2a-4435-ab67-824cbc082c47",
                        "name": "Petty Cash",
                        "type": "asset",
                        "number": "1000-1",
                        "parent_account_uuid": "bbb2fd89-f70d-4738-85ce-80c47c0ceed2"
                    },
                    "user_entered_date": "2024-10-29",
                    "detail_type": "received",
                    "name": "Invoice 2022-00146",
                    "description": "",
                    "debit": {
                        "amount": "135.60",
                        "code": "USD"
                    },
                    "credit": null,
                    "balance": {
                        "amount": "135.60",
                        "code": "USD"
                    },
                    "accounting_systemid": "LJx5l5"
                },
                {
                    "id": 16405949,
                    "entry": {
                        "id": 51472179,
                        "entryid": 51472179,
                        "clientid": null,
                        "expenseid": null,
                        "invoiceid": 842847,
                        "paymentid": 700199,
                        "incomeid": null,
                        "creditid": null,
                        "accounting_systemid": "LJx5l5"
                    },
                    "account": {
                        "uuid": "184ba7f5-ce2a-4435-ab67-824cbc082c47",
                        "name": "Petty Cash",
                        "type": "asset",
                        "number": "1000-1",
                        "parent_account_uuid": "bbb2fd89-f70d-4738-85ce-80c47c0ceed2"
                    },
                    "user_entered_date": "2024-10-29",
                    "detail_type": "received",
                    "name": "Invoice 2022-00146",
                    "description": "",
                    "debit": null,
                    "credit": {
                        "amount": "135.60",
                        "code": "USD"
                    },
                    "balance": {
                        "amount": "-135.60",
                        "code": "USD"
                    },
                    "accounting_systemid": "LJx5l5"
                },
                {
                    "id": 16158083,
                    "entry": {
                        "id": 51378409,
                        "entryid": 51378409,
                        "clientid": null,
                        "expenseid": 86283915,
                        "invoiceid": null,
                        "paymentid": null,
                        "incomeid": null,
                        "creditid": null,
                        "accounting_systemid": "LJx5l5"
                    },
                    "account": {
                        "uuid": "184ba7f5-ce2a-4435-ab67-824cbc082c47",
                        "name": "Petty Cash",
                        "type": "asset",
                        "number": "1000-1",
                        "parent_account_uuid": "bbb2fd89-f70d-4738-85ce-80c47c0ceed2"
                    },
                    "user_entered_date": "2024-09-14",
                    "detail_type": "expense",
                    "name": "Expense",
                    "description": "100 Expense Test",
                    "debit": null,
                    "credit": {
                        "amount": "10.00",
                        "code": "USD"
                    },
                    "balance": {
                        "amount": "-10.00",
                        "code": "USD"
                    },
                    "accounting_systemid": "LJx5l5"
                }
            ]
        }
    }
}