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

Reports

Reports in FreshBooks provide detailed data on various aspects of your business. There are seven types of reports you are able to access.

  1. Accounts Aging
  2. Balance Sheet
  3. Cash Flow
  4. Chart of Accounts
  5. Expense Details
  6. General Ledger
  7. Invoice Details
  8. Manual Journal Entry
  9. Payments Collected
  10. Profit and Loss
  11. Tax Summary
  12. Trial Balance

Access Requirements

AccessRequires Authorization
Scopesuser:reports:read

Includes

There are no includes for reports

Account Aging Report

The Account Aging Report shows details regarding overdue invoices from clients

Available Filters

Filter TypeNameFieldDescription
betweenstart_datedatecreated during or after the given date
Equalscurrency_codestringreports using the given currency as primary currency

Field Descriptions

FieldTypeDescription
totalsobjectsubfields: intervals (0-30, 31-60, 61-90, 91+). Each interval represents the amount due from overdue invoices.
interval(x)’sobjectsubfields: amount, code
amountstringthe amount of money paid or owed
codestringthe currency that the amount is in
download_tokenstringthe download token allows you to download the report into a csv file
accountsarrayholds client objects
useridintunique id for the client
lnamestringthe last name of the client
fnamestringthe first name of the client
organizationstringthe organization the client belongs to
emailstringthe email belonging to the client
company_namestringthe company that the report refers to
currency_codestringthree-letter currency code for overdue payments
end_datedatethe ending date for the profit/loss report query

Get Account Aging Report

Request

curl -X GET
-H "Authorization: Bearer <a token>"
-H "Api-Version: alpha"
-H "Content-Type: application/json"
"https://api.freshbooks.com/accounting/account/<account_id>/reports/accounting/accounts_aging?start_date=2017-01-01&end_date=2017-12-31"

Response:

{
  "response": {
    "result": {
      "accounts_aging": {
        "end_date": "2017-12-31",
        "totals": {
          "0-30": {
            "amount": "0.00",
            "code": "CAD"
          },
          "61-90": {
            "amount": "0.00",
            "code": "CAD"
          },
          "total": {
            "amount": "0.00",
            "code": "CAD"
          },
          "91+": {
            "amount": "0.00",
            "code": "CAD"
          }, "31-60": {
            "amount": "0.00",
            "code": "CAD"
          }
        },
        "download_token": “Lots of Characters”,
        "accounts": [],
        "company_name": "FB",
        "currency_code": "CAD"
        }
      }
    }
  }

Search Example with Account Aging Report

Get the accounts until a certain end date

Request: GET
https://api.freshbooks.com/accounting/account/<accountid>/reports/accounting/accounts_aging?end_date=2017-05-17

Balance Sheet Report

The Balance Sheet Report

Available Filters

Filter TypeNameFieldDescription
Betweendate1dateDate to use for Report
Betweendate2date2nd Date for comparison
Equalscurrency_codestringCurrency for report
Equalscash_basedbooleanCash-based vs Accrual
EqualslocalestringLanguage to show on report

Get Balance Sheet Report

Request

curl --location --request GET 'https://api.freshbooks.com/accounting/businesses/{business_uuid}/reports/balance_sheet?date1=2023-04-20' \
--header 'Authorization: Bearer  <SET BEARER TOKEN>'

Response

{
  "response": {
    "result": {
      "balance_sheet": {
        "company_name": "",
        "download_token": "",
        "dates": [
          "2023-08-01"
        ],
        "currency_code": "USD",
        "cash_based": false,
        "assets_total": [
          {
            "date": "2023-08-01",
            "balance": {
              "amount": "1115.00",
              "code": "USD"
            }
          }
        ],
        "liabilities_and_equity_total": [
          {
            "date": "2023-08-01",
            "balance": {
              "amount": "1115.00",
              "code": "USD"
            }
          }
        ],
        "data": [
          {
            "account_type": "asset",
            "balances": [
              {
                "date": "2023-08-01",
                "balance": {
                  "amount": "1115.00",
                  "code": "USD"
                }
              }
            ],
            "sub_types": [
              {
                "account_sub_type": "Cash & Bank",
                "balances": [
                  {
                    "date": "2023-08-01",
                    "balance": {
                      "amount": "1025.00",
                      "code": "USD"
                    }
                  }
                ],
                "accounts": [
                  {
                    "account_name": "Cash",
                    "account_number": "1000",
                    "balances": [
                      {
                        "date": "2023-08-01",
                        "balance": {
                          "amount": "1025.00",
                          "code": "USD"
                        }
                      }
                    ],
                    "sub_accounts": [
                      {
                        "sub_account_name": "Cash (general)",
                        "sub_account_number": "1000",
                        "balances": [
                          {
                            "date": "2023-08-01",
                            "balance": {
                              "amount": "-25.00",
                              "code": "USD"
                            }
                          }
                        ]
                      },
                      {
                        "sub_account_name": "Petty Cash",
                        "sub_account_number": "1000-1",
                        "balances": [
                          {
                            "date": "2023-08-01",
                            "balance": {
                              "amount": "1050.00",
                              "code": "USD"
                            }
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "account_sub_type": "Current Asset",
                "balances": [
                  {
                    "date": "2023-08-01",
                    "balance": {
                      "amount": "-10.00",
                      "code": "USD"
                    }
                  }
                ],
                "accounts": [
                  {
                    "account_name": "Customer Deposits",
                    "account_number": "1201",
                    "balances": [
                      {
                        "date": "2023-08-01",
                        "balance": {
                          "amount": "-110.00",
                          "code": "USD"
                        }
                      }
                    ],
                    "sub_accounts": [
                      {
                        "sub_account_name": "Customer Deposits (general)",
                        "sub_account_number": "1201",
                        "balances": [
                          {
                            "date": "2023-08-01",
                            "balance": {
                              "amount": "-110.00",
                              "code": "USD"
                            }
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "account_name": "NFTs Baby!",
                    "account_number": "1205",
                    "balances": [
                      {
                        "date": "2023-08-01",
                        "balance": {
                          "amount": "100.00",
                          "code": "USD"
                        }
                      }
                    ],
                    "sub_accounts": [
                      {
                        "sub_account_name": "NFTs Baby! (general)",
                        "sub_account_number": "1205",
                        "balances": [
                          {
                            "date": "2023-08-01",
                            "balance": {
                              "amount": "100.00",
                              "code": "USD"
                            }
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "account_sub_type": "Property, Plant, and Equipment",
                "balances": [
                  {
                    "date": "2023-08-01",
                    "balance": {
                      "amount": "100.00",
                      "code": "USD"
                    }
                  }
                ],
                "accounts": [
                  {
                    "account_name": "Property, Plant, and Equipment",
                    "account_number": "1500",
                    "balances": [
                      {
                        "date": "2023-08-01",
                        "balance": {
                          "amount": "100.00",
                          "code": "USD"
                        }
                      }
                    ],
                    "sub_accounts": [
                      {
                        "sub_account_name": "Office Equipment",
                        "sub_account_number": "1500-3",
                        "balances": [
                          {
                            "date": "2023-08-01",
                            "balance": {
                              "amount": "100.00",
                              "code": "USD"
                            }
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          },
          < ... more accounts and sub-accounts data ... >
        ]
      }
    }
  }
}

Example Balance Sheet with filters

Request

curl --location --request GET 'https://api.freshbooks.com/accounting/businesses/{business_uuid}/reports/balance_sheet?date1=2023-02-24&currency_code=CAD&locale=en' \
--header 'Authorization: Bearer  <SET BEARER TOKEN>'

Cash Flow Report

Available Filters

Filter TypeNameFieldDescription
Betweenstart_datedateStarting date for report
Betweenend_datedateEnding date for report
Equalscurrency_codestringCurrency for report

Get Cash Flow Report

Request

curl --location --request GET 'https://api.freshbooks.com/accounting/businesses/{business_uuid}/reports/cash_flow' \
--header 'Authorization: Bearer  <SET BEARER TOKEN>'

Response

{
  "response": {
    "result": {
      "cash_flow": {
        "company_name": "",
        "download_token": "",
        "start_date": "2023-01-01",
        "end_date": "2023-12-31",
        "currency_code": "USD",
        "activities": [
          {
            "category": "operating",
            "details": [
              {
                "name": "Sales",
                "accounts": [
                  {
                    "name": "Current Asset",
                    "sub_accounts": [
                      {
                        "name": "Customer Deposits",
                        "categoryid": null,
                        "sub_accountid": null,
                        "total": {
                          "amount": "10.00",
                          "code": "USD"
                        }
                      }
                    ],
                    "total": {
                      "amount": "10.00",
                      "code": "USD"
                    }
                  },
                  {
                    "name": "Customer Credit",
                    "sub_accounts": [
                      {
                        "name": "Customer Credit",
                        "categoryid": null,
                        "sub_accountid": null,
                        "total": {
                          "amount": "175.00",
                          "code": "USD"
                        }
                      }
                    ],
                    "total": {
                      "amount": "175.00",
                      "code": "USD"
                    }
                  },
                  {
                    "name": "Revenue",
                    "sub_accounts": [
                      {
                        "name": "Sales",
                        "categoryid": null,
                        "sub_accountid": null,
                        "total": {
                          "amount": "766.67",
                          "code": "USD"
                        }
                      }
                    ],
                    "total": {
                      "amount": "766.67",
                      "code": "USD"
                    }
                  }
                ],
                "total": {
                  "amount": "951.67",
                  "code": "USD"
                }
              },
              < ... more account and sub-accounts data ... >
            ],
            "total": {
              "amount": "1025.00",
              "code": "USD"
            }
          },
          < ... more category activities data ... >
        ],
        "summary": {
          "ending_balance": {
            "amount": "1025.00",
            "code": "USD"
          },
          "gross_cash_inflow": {
            "amount": "1355.00",
            "code": "USD"
          },
          "gross_cash_outflow": {
            "amount": "-430.00",
            "code": "USD"
          },
          "net_cash_change": {
            "amount": "925.00",
            "code": "USD"
          },
          "starting_balance": {
            "amount": "100.00",
            "code": "USD"
          }
        }
      }
    }
  }
}

Example Cash Flow with report filters

Request

curl --location --request GET 'https://api.freshbooks.com/accounting/businesses/{business_uuid}/reports/cash_flow?start_date=2023-02-01&end_date=2023-02-28&currency_code=CAD' \
--header 'Authorization: Bearer  <SET BEARER TOKEN>'

Chart of Accounts Report

Additional Access Requirements

Scopesuser:account:read

Available Filters

Filter TypeNameFieldDescription
Betweenstart_datedateStarting date for report
Betweenend_datedateEnding date for report
Equalscurrency_codestringCurrency for report
Equalsaccount_typestringFilter by Account Type
EqualsstatestringFilter by Account state; i.e. active
EqualssortstringSort results based on field; Takes a string in the form of <field_name>_<asc/desc>

Get Chart of Accounts

Request
curl --location --request GET 'https://api.freshbooks.com/accounting/businesses/{business_uuid}/reports/chart_of_accounts' \
--header 'Authorization: Bearer  <SET BEARER TOKEN>'

Response
{
  "response": {
    "result": {
      "journal_entry_accounts": [
        {
          "account_name": "Cash",
          "account_number": "1000",
          "account_type": "asset",
          "balance": "925.000",
          "currency_code": null,
          "sub_accounts": [
            {
              "account_type": "asset",
              "balance": "-25.000",
              "currency_code": null,
              "account_name": "Cash (general)",
              "account_number": "1000",
              "account_uuid": "2a990740-40d6-4529-a604-be0d68cf9d90",
              "parent_account_uuid": "2a990740-40d6-4529-a604-be0d68cf9d90",
              "account_sub_type": "Cash & Bank",
              "system_account_name": "Cash",
              "auto_created": true,
              "state": "active"
            },
            {
              "account_type": "asset",
              "balance": "950.000",
              "currency_code": null,
              "account_name": "Petty Cash",
              "account_number": "1000-1",
              "account_uuid": "95026d52-14ac-4008-9f81-c0e4ac77c3ce",
              "parent_account_uuid": "2a990740-40d6-4529-a604-be0d68cf9d90",
              "account_sub_type": "Cash & Bank",
              "system_account_name": "Petty Cash",
              "auto_created": false,
              "state": "active"
            }
          ],
          "account_uuid": "2a990740-40d6-4529-a604-be0d68cf9d90",
          "account_sub_type": "Cash & Bank",
          "system_account_name": "Cash",
          "auto_created": true,
          "state": "active"
        },
        {
          "account_name": "Accounts Receivable",
          "account_number": "1200",
          "account_type": "asset",
          "balance": "0.000",
          "currency_code": null,
          "sub_accounts": [],
          "account_uuid": "734750cd-4b8b-42cd-ab54-38f53aac38ad",
          "account_sub_type": "Current Asset",
          "system_account_name": "Accounts Receivable",
          "auto_created": false,
          "state": "active"
        },
        < ... more accounts data ... >
      ]
    }
  }
}

Example Chart of Accounts request with report filters

Request

curl --location --request GET 'https://api.freshbooks.com/accounting/businesses/{business_uuid}/reports/chart_of_accounts?account_type=liability&currency_code=CAD&end_date=2023-12-31&sort=account_number_asc&start_date=2023-01-01&state=active' \
--header 'Authorization: Bearer  <SET BEARER TOKEN>'

Expense Details Report

The Expenses Report shows all the information involving your Expenses

Available Filters

Filter TypeNameFieldDescription
betweenstart_datedatecreated during or after the given date
betweenend_datedatecreated during or before the given date
Equalscurrency_codestringreports using the given currency as primary currency
Equalsgroup_bystringData returned is organized by the given argument. (parent_category, clients, vendor, author)
Equalsexclude_personalbooleantrue returns data without personal expenses included
Equalsinclude_projectbooleanInclude expenses assigned to Projects
Equalsclient_idintegerFilter by specific Client
EqualslocalestringLanguage to show on report

Field Descriptions

FieldTypeDescription
exclude_personalbooleantrue doesn’t return personal expenses
end_datedateWill only return invoices that were created before the given date
clientsobjectsubfields: clientid(s)
clientid(s)objectsubfields: language, userid, email, lname, fname, organization, id
languagestring2 letter string representing the primary language of the client
useridintduplicate value of the client’s id
emailstringthe email of the client
lnamestringlast name of the client
fnamestringfirst name of the client
organizationstringname of the organization the client is a part of
idintunique id for the client
download_tokenstringthe download token allows you to download the report into a csv file
vendorsobjectsubfields: vendorid
vendorid(s)stringthe name of the vendor
group_bystringThe category that you would like to group your data by
currency_codestringthree-letter currency code for invoice
authorsobjectsubfields: userid(s)
userid(s)objectsubfields: lname, fname, email, organization, userid
dataarrayholds majority of the numerical data that is returned
groupidstringunique id for the group
totalobjectsubfields: amount, code
amountstringthe amount of money that is owed or been paid
codestringthe currency that the amount is in
childrenarrayholds data about a sub expense
expensesarraystores Expense objects
vendoridstringthe unique id for the vendor
vendorstringThe name of the vendor
notesstringcustom notes about the expense
clientidintunique id for the client
taxPercent1stringthe percentage you are being taxed on
authoridstringid for the author
taxName1stringthe name of the first tax
taxName2stringthe name of the second tax
datedatethe date the expense took place
taxAmount2objectsubfields: amount, code
taxAmount1objectsubfields: amount, code
expenseidintuniqueid for the expense
taxPercent2stringthe percentage you are being taxed on
categoryidstringunique id for the category of the expense
start_datedatethe starting date for the expense report query
categoriesobjectsubfields: categoryid(s)
categoryid(s)objectsubfields: category, subcategory_name, categoryid
categorystringname of the category
subcategory_namestringname of the subcategory
categoryidintunique id for the category
company_namestringname of the company that the expenses are charged too

Get Expense Details

Request

curl --location --request GET 'https://api.freshbooks.com/accounting/businesses/{business_uuid}/reports/expense_details' \
--header 'Authorization: Bearer  <SET BEARER TOKEN>'

Response

{
  "response": {
    "result": {
      "expense_details": {
        "company_name": "<company name>",
        "download_token": "<download token>",
        "start_date": "2023-01-01",
        "end_date": "2023-12-31",
        "currency_code": "USD",
        "data": [
          {
            "expenses": [
              {
                "account_name": "",
                "amount": {
                  "amount": "115.00",
                  "code": "USD"
                },
                "authorid": "1",
                "categoryid": "2640410",
                "clientid": "81553",
                "date": "2023-03-08",
                "expenseid": 644429,
                "imported_from_csv": false,
                "is_cogs": false,
                "modern_projectid": null,
                "notes": "expense w/ tax and client",
                "taxAmount1": {
                  "amount": "15.00",
                  "code": "USD"
                },
                "taxAmount2": {
                  "amount": "0.00",
                  "code": "USD"
                },
                "taxName1": "HST",
                "taxName2": null,
                "taxPercent1": "15",
                "taxPercent2": null,
                "vendor": "withClient",
                "vendorid": "b3aa10f59a43d062e6ec5f8353f8f075"
              }
            ],
            "children": [],
            "groupid": "2640410",
            "total": {
              "amount": "115.00",
              "code": "USD"
            }
          },
          {
            "expenses": [
              {
                "account_name": "",
                "amount": {
                  "amount": "115.00",
                  "code": "USD"
                },
                "authorid": "1",
                "categoryid": "2640418",
                "clientid": "0",
                "date": "2023-03-08",
                "expenseid": 644424,
                "imported_from_csv": false,
                "is_cogs": false,
                "modern_projectid": null,
                "notes": "expense w/ tax, no client",
                "taxAmount1": {
                  "amount": "15.00",
                  "code": "USD"
                },
                "taxAmount2": {
                  "amount": "0.00",
                  "code": "USD"
                },
                "taxName1": "HST",
                "taxName2": null,
                "taxPercent1": "15",
                "taxPercent2": null,
                "vendor": "NoClient",
                "vendorid": "d352980c03e945aa5e9eb990c67a3b98"
              }
            ],
            "children": [],
            "groupid": "2640418",
            "total": {
              "amount": "115.00",
              "code": "USD"
            }
          }
        ],
        "authors": {
          "1": {
            "email": "<company email>",
            "fname": "<company fname>",
            "lname": "<company lname>",
            "organization": "",
            "userid": 1
          }
        },
        "categories": {
          "2640410": {
            "category": "Education and Training",
            "categoryid": 2640410,
            "is_cogs": false,
            "subcategory_name": "Education and Training (general)"
          },
          "2640418": {
            "category": "Meals & Entertainment",
            "categoryid": 2640418,
            "is_cogs": false,
            "subcategory_name": "Meals & Entertainment (general)"
          }
        },
        "clients": {
          "0": {
            "email": "",
            "fname": "",
            "lname": "",
            "organization": "",
            "id": null,
            "language": null,
            "level": null,
            "role": null,
            "userid": null
          },
          "81553": {
            "email": "<client email>",
            "fname": "<client fname>",
            "lname": "<client lname>",
            "organization": "<client organization>",
            "id": 81553,
            "language": null,
            "level": null,
            "role": null,
            "userid": 81553
          }
        },
        "modern_projects": {},
        "expense_refunds": [],
        "vendors": {
          "b3aa10f59a43d062e6ec5f8353f8f075": "withClient",
          "d352980c03e945aa5e9eb990c67a3b98": "NoClient"
        },
        "summary": {
          "total_amount": {
            "amount": "230.00",
            "code": "USD"
          },
          "total_expense_refund_amount": {
            "amount": "0.00",
            "code": "USD"
          }
        },
        "summary_only": false,
        "exclude_personal": false,
        "group_by": "category"
      }
    }
  }
}

Example Searches with Expense Details

Get Expense Details Between a Specific Range
Request: GET
 https://api.freshbooks.com/accounting/account/<accountid>/reports/accounting/expense_details?start_date=2016-04-19&end_date=2017-07-25

Get Expense Details including expenses assigned to projects
curl --location --request GET 'https://api.freshbooks.com/accounting/businesses/{business_uuid}/reports/expense_details?start_date=2023-01-01&end_date=2023-12-31&group_by=parent_category&exclude_personal=false&currency_code=CAD&include_project=true' \
--header 'Authorization: Bearer  <SET BEARER TOKEN>'

Get Expense Details Excluding Personal Expenses
Request: GET
 https://api.freshbooks.com/accounting/account/<accountid>/reports/accounting/expense_details?start_date=2016-04-19&exclude_personal=true&end_date=2017-09-17

General Ledger Report

Available Filters

Filter TypeNameFieldDescription
betweenstart_datedatecreated during or after the given date
betweenend_datedatecreated during or before the given date
Equalscurrency_codestringreports using the given currency as primary currency
EqualsaccountiduuidFilter by specific Account
EqualslocalestringLanguage to show on report

Get General Ledger Report

Request

curl --location --request GET 'https://api.freshbooks.com/accounting/businesses/{business_uuid}/reports/general_ledger' \
--header 'Authorization: Bearer  <SET BEARER TOKEN>'

Response

{
  "response": {
    "result": {
      "general_ledger": {
        "company_name": "<company name>",
        "download_token": "<download token>",
        "start_date": "2023-01-01",
        "end_date": "2023-12-31",
        "currency_code": "USD",
        "locale": "en",
        "summary_only": false,
        "summary": {
          "total_credit": {
            "amount": "1945.00",
            "code": "USD"
          }
        },
        "data": [
          {
            "accountid": "2a990740-40d6-4529-a604-be0d68cf9d90",
            "account_name": "Cash",
            "account_number": "1000",
            "debit": {
              "amount": "1355.00",
              "code": "USD"
            },
            "credit": {
              "amount": "430.00",
              "code": "USD"
            },
            "net_movement_debit": {
              "amount": "925.00",
              "code": "USD"
            },
            "net_movement_credit": {
              "amount": "0.00",
              "code": "USD"
            },
            "sub_accounts": [
              {
                "sub_accountid": "2a990740-40d6-4529-a604-be0d68cf9d90",
                "sub_account_name": "Cash (general)",
                "sub_account_number": "1000",
                "debit": {
                  "amount": "75.00",
                  "code": "USD"
                },
                "credit": {
                  "amount": "100.00",
                  "code": "USD"
                },
                "net_movement_debit": {
                  "amount": "0.00",
                  "code": "USD"
                },
                "net_movement_credit": {
                  "amount": "25.00",
                  "code": "USD"
                },
                "transactions": [
                  {
                    "entity_type": "adjustment",
                    "reference": "example adjustment",
                    "description": "example adjustment description",
                    "date": "2023-06-01",
                    "client_name": null,
                    "debit": {
                      "amount": "25.00",
                      "code": "USD"
                    },
                    "credit": {
                      "amount": "0.00",
                      "code": "USD"
                    },
                    "expenseid": null,
                    "invoiceid": null,
                    "paymentid": null,
                    "incomeid": null,
                    "creditid": null,
                    "clientid": null,
                    "billid": null,
                    "bill_paymentid": null
                  },
                  {
                    "entity_type": "adjustment",
                    "reference": "example adjustment",
                    "description": "example adjustment description",
                    "date": "2023-06-01",
                    "client_name": null,
                    "debit": {
                      "amount": "25.00",
                      "code": "USD"
                    },
                    "credit": {
                      "amount": "0.00",
                      "code": "USD"
                    },
                    "expenseid": null,
                    "invoiceid": null,
                    "paymentid": null,
                    "incomeid": null,
                    "creditid": null,
                    "clientid": null,
                    "billid": null,
                    "bill_paymentid": null
                  },
                  < ... more transactions data ... >
                ],
                "account_type": "asset",
                "account_sub_type": "Cash & Bank"
              },
              < ... more sub_accounts data ...>
            ],
            "account_type": "asset",
            "account_sub_type": "Cash & Bank"
          },
          < ... more accounts data ... >
        ]
      }
    }
  }
}

Example General Ledger with report filters

Request

curl --location --request GET 'https://api.freshbooks.com/accounting/businesses/{business_uuid}/reports/general_ledger?start_date=2023-02-01&end_date=2023-02-28&currency_code=CAD&locale=en' \
--header 'Authorization: Bearer  <SET BEARER TOKEN>'

Invoice Details Report

The Invoice Details Report shows all the information involving your invoices

Available Filters

Filter TypeNameFieldDescription
betweenstart_datedatecreated during or after the given date
betweenend_datedatecreated during or before the given date
Equalscurrency_codestringreports using the given currency as primary currency
Equalsclientidsintreturns data from specific client(s)
Equalstatusidsstringreturns invoices that has the same status as the given status. (draft, sent, paid, etc)
Equaldate_typestringreturns invoices with the specified date_type (issue or paid)

Field Descriptions

FieldTypeDescription
statusidsarrayThe status id(s) for the invoices. Used for filtering.
clientidsarrayThe client id(s) that are on the invoices. Used for filtering
end_datedateWill only return invoices that were created before the given date
date_typestringIf equals “issue”, Date will be the date the invoice was issued. If equals “paid”, date will be the date the invoice was paid.
invoiceidintThe unique id of the invoice
create_datedateThe date the invoice was created
due_offset_DaysintNumber of days from creation that the invoice is due
outstandingobjectSubfields: amount, code
amountstringthe amount of money that is owed or been paid
codestringthe currency that the amount is in
po_numberintpost office box number for address on invoice
linesarrayLines of the invoice
taxobjectsub fields: amount, code
paidobjectsub fields: amount, code
date_paiddateThe date the invoice was paid
v3_statusstringdescription of Invoice Status
discount_totalobjectsubfields: amount, code
invoice_numberstringuser-specified and visible invoice id
totalobjectsubfields: amount, code
subtotalobjectuser-specified and visible invoice id
currency_codestringthree-letter currency code for invoice
useridintThe unique id of the client
summaryobjectsubfields: total, paid, outstanding, download_token, company_name, start_date, currency_code
download_tokenstringthe download token allows you to download the report into a csv file
company_namestringthe name of the company that the report is refering to
start_datedatethe starting date for the expense report query
currency_codestringthree-letter currency code for invoice
lnamestringthe last name of the user
fnamestringfirst name of the user
organizationstringname of the organization the user is a part of
emailstringThe email of the user

Get Invoice Details Report

Request

curl -X GET
-H "Authorization: Bearer <a token>"
-H "Api-Version: alpha"
-H "Content-Type: application/json"
"https://api.freshbooks.com/accounting/account/<accountid>/reports/accounting/invoice_details?start_date=2017-01-01&end_date=2017-12-31"

Response:

{
  "response": {
    "result": {
      "invoice_details": {
        "statusids": [],
        "end_date": "2017-12-31",
        "clientids": [],
        "date_type": "issue",
        "clients": [
          {
            "invoices": [
             {
              "invoiceid": 638384,
              "create_date": "2016-04-04",
              "due_offset_days": 0,
              "outstanding": {
                "amount": "0.00",
                "code": "CAD"
              },
              "po_number": null,
              "lines": [],
              "tax_summaries": [],
              "tax": {
                "amount": "0.00",
                "code": "CAD"
              },
              "paid": {
                "amount": "0.00",
                "code": "CAD"
              },
              "date_paid": null,
              "v3_status": draft,
              "discount_total": {
                "amount": "0.00",
                "code": "CAD"
              },
              "invoice_number": "0000001",
              "total": {
                "amount": 0.00,
                "code": CAD
              },
              "subtotal": {
                "amount": "0.00",
                "code": "CAD"
              },
              "currency_code": "CAD"
             }
            ],
            "userid": 144577,
            "summary": {
              "total": {
                "amount": "0.00",
                "code": "CAD"
              },
              "paid": {
                "amount": "0.00",
                "code": "CAD"
              },
              "outstanding": {
                "amount": "0.00",
                "code": "CAD"
              },
              "lname": "Doe",
              "fname": "Jane",
              "organization": "Company and Co",
              "email": "JaneDoe@Example.com",
            }
         ],
         "summary": {
           "total": {
             "amount": "0.00",
             "code": "CAD"
           },
           "paid": {
             "amount": "0.00",
             "code": "CAD"
           },
           "outstanding": {
             "amount": "0.00",
             "code": "CAD"
           },
           "download_token": "bunch of letters and numbers",
           "company_name": "My Company",
           "start_date": "2017-01-01",
           "currency_code": "CAD"
         }
       }
    }
}

Example Invoice Details with report filters

Request

curl --location --request GET 'https://api.freshbooks.com/accounting/businesses/{business_uuid}/reports/general_ledger?start_date=2023-02-01&end_date=2023-02-28&currency_code=CAD&locale=en' \
--header 'Authorization: Bearer  <SET BEARER TOKEN>'

Manual Journal Entry Report

Available Filters

Filter TypeNameFieldDescription
betweenstart_datedatecreated during or after the given date
betweenend_datedatecreated during or before the given date
Equalscurrency_codestringreports using the given currency as primary currency
EqualslocalestringLanguage to show on report

Get Manual Journal Entry Report

Request

curl --location --request GET 'https://api.freshbooks.com/accounting/businesses/{business_uuid}/reports/manual_journal_entry_report' \
--header 'Authorization: Bearer  <SET BEARER TOKEN>'

Response

{
  "response": {
    "result": {
      "manual_journal_entry_report": {
        "company_name": "<company name>",
        "download_token": "<download token>",
        "start_date": "2023-01-01",
        "end_date": "2023-12-31",
        "currency_code": "USD",
        "locale": "en",
        "summary_only": false,
        "summary": {
          "total_credit": {
            "amount": "1205.00",
            "code": "USD"
          },
          "total_debit": {
            "amount": "1205.00",
            "code": "USD"
          }
        },
        "data": [
          {
            "date": "2023-06-07",
            "journal_entry_data": [
              {
                "entryid": 9130583,
                "journal_entry_detail_data": {
                  "date": "2023-06-07",
                  "description": "Basic description of the journal entry made.",
                  "entry_type": "adjustment",
                  "name": "JournalEntry",
                  "total_credit": {
                    "amount": "100.00",
                    "code": "USD"
                  },
                  "total_debit": {
                    "amount": "100.00",
                    "code": "USD"
                  },
                  "transactions": [
                    {
                      "sub_account": {
                        "sub_account_name": "Petty Cash",
                        "sub_account_number": "1000-1",
                        "sub_accountid": "95026d52-14ac-4008-9f81-c0e4ac77c3ce",
                        "account_type": "asset",
                        "account_sub_type": "Cash & Bank",
                        "parent_account": {
                          "account_name": "Cash",
                          "account_number": "1000",
                          "accountid": "2a990740-40d6-4529-a604-be0d68cf9d90",
                          "account_type": "asset",
                          "account_sub_type": "Cash & Bank"
                        }
                      },
                      "credit": {
                        "amount": "0.00",
                        "code": "USD"
                      },
                      "debit": {
                        "amount": "100.00",
                        "code": "USD"
                      }
                    },
                    {
                      "sub_account": {
                        "sub_account_name": "Sales",
                        "sub_account_number": "4000-3",
                        "sub_accountid": "d9172e15-0c23-42ea-95df-7099bd5799b8",
                        "account_type": "income",
                        "account_sub_type": "Income",
                        "parent_account": {
                          "account_name": "Revenue",
                          "account_number": "4000",
                          "accountid": "2695bc0b-e112-4a67-b052-5e64346482f0",
                          "account_type": "income",
                          "account_sub_type": "Income"
                        }
                      },
                      "credit": {
                        "amount": "100.00",
                        "code": "USD"
                      },
                      "debit": {
                        "amount": "0.00",
                        "code": "USD"
                      }
                    }
                  ]
                }
              }
            ]
          },
          < ... more journal entry data ... >
        ]
      }
    }
  }
}

Example Manual Journal Entry Report with filters

Request

curl --location --request GET 'https://api.freshbooks.com/accounting/businesses/{business_uuid}/reports/manual_journal_entry_report?start_date=2023-02-01&end_date=2023-02-28&locale=en&currency_code=CAD' \
--header 'Authorization: Bearer  <SET BEARER TOKEN>'

Payments Collected Report

The payments Collected Report shows details regarding collected payments made to your business

FieldTypeDescription
currency_codearrayfilters payments by specific currency code(s)
start_datedatethe starting date for the payments collected report query
end_datedatethe ending date for the payments collected report query
clientsidsarrayfilters payments by specific client(s) using their client id
payment_methodsarrayfilters payments by specific method(s) of payments
download_tokenstringthe download token allows you to download the report into a csv file
totalsarrayholds total objects with subfields: amount, code
amountstringthe amount of money paid or owed
codestringthe currency that the amount is in
paymentsarrayholds payment objects with the subfields: invoiceid, description, clientid, amount, client, date, invoice_number, method
invoiceidintthe unique id of the invoice
descriptionstringthe description of the payment
clientidintthe unique id of the client
clientstringthe name of the business the client belongs to
datedatethe date of the payment
invoice_numberstringa custom id for the invoice
methodstringmethod of payment

Available Filters

Filter TypeNameFieldDescription
betweenstart_datedatecreated during or after the given date
betweenend_datedatecreated during or before the given date
Equalscurrency_codestringreports using the given currency as primary currency
EqualslocalestringLanguage to show on report

Get Payments Collected Report

Request

curl -X GET
-H "Authorization: Bearer <a token>"
-H "Api-Version: alpha"
-H "Content-Type: application/json"
"https://api.freshbooks.com/accounting/account/<account_id>/reports/accounting/payments_collected?start_date=2017-01-01&end_date=2017-12-31"

Response:

{
  "response": {
    "result": {
      "payments_collected": {
        "currency_codes": [],
        "end_date": "2017-12-31",
        "clientids": [],
        "payment_methods": [],
        "totals": [
          {
            "amount": "114.77",
            "code": "CAD"
          }
        ],
        "download_token": “A lot of characters“,
        "payments": [
          {
            "invoiceid": 668361,
            "description": "",
            "clientid": 144599,
            "amount": {
              "amount": "114.77",
              "code": "CAD"
            },
            "client": "Magic",
            "date": "2017-07-26",
            "invoice_number": "0000012",
            "method": "Bank Transfer"
          }
        ],
        "start_date": "2017-07-26"
      }
    }
  }
}

Search Example with Payments Report

Searching Payment information by Client

Request: GET
https://api.freshbooks.com/accounting/account/<account_id>/reports/accounting/payments_collected?start_date=2017-01-01&end_date=2017-12-31&clientids%5B%5D=144599

Profit and Loss Report

The profit/Loss Report shows all the information involving both your Profits and Losses

Available Filters

Filter TypeNameFieldDescription
betweenstart_datedatecreated during or after the given date
betweenend_datedatecreated during or before the given date
Equalscurrency_codestringreports using the given currency as primary currency
Equalscash_basedbooleanCash-based vs Accrual
EqualsresolutionstringSpecifies how often data is calculated and stored. For example, “3m” would specify to return data grouped in three month intervals.
Equalsfiscal_year_viewbooleantrue to use reporting data based on Fiscal year rather than calendar year
EqualslocalestringLanguage to show on report

Field Descriptions

FieldTypeDescription
net_profitobjectsubfields: entry_type, total, data, description, children
entry_typestringmethod of payment
totalobjectsubfields: amount, code
amountstringthe amount of money paid or owed
codestringthe currency that the amount is in
dataarrayData[] represents a row of values in the profit/loss report. Each row in the profit/loss report will output a data array. To populate data you must specify a resolution. For example resolution=3m with populate each data array with 4 amount objects
descriptionstringThe description for the net profit portion of the report
childrenarrayholds info on child profits/expenses
total_incomeobjectsubfields: entry_type, total, data, description, children
end_datedatethe ending date for the profit/loss report query
incomearrayholds income objects
labelsarraylabels is an array that holds all the months of profit/loss recording specified by resolution.
expensesarrayholds expense objects
download_tokenstringthe download token allows you to download the report into a csv file
company_namestringThe name of the company the profit/loss report belongs to
cash_basedbooleantrue toggles profit/loss to be calculated on collected payments rather than billed
total_expenseobjectsubfields: entry_type, total, data, description, children
resolutionstringspecifies the frequency that the profit/loss report is calculated. Example quarterly vs annually
start_datedatethe starting date for the expense report query
currency_codestringthree-letter currency code for invoice

Get Profit and Loss Report

Request

curl --location --request GET 'https://api.freshbooks.com/accounting/businesses/{business_uuid}/reports/profit_and_loss?start_date=2023-01-01&end_date=2023-12-31' \
--header 'Authorization: Bearer  <SET BEARER TOKEN>'

Response
{
  "response": {
    "result": {
      "profit_and_loss": {
        "download_token": "<download token>",
        "start_date": "2023-01-01",
        "end_date": "2023-12-31",
        "currency_code": "USD",
        "locale": "en",
        "company_name": "<company name>",
        "cash_based": false,
        "group_by_account": false,
        "dates": [
          {
            "start_date": "2023-01-01",
            "end_date": "2023-01-31"
          },
          {
            "start_date": "2023-02-01",
            "end_date": "2023-02-28"
          },
          < ... more date range buckets ... >
        ],
        "expenses": [
          {
            "children": [
              {
                "children": [
                  {
                    "children": [],
                    "data": [
                      {
                        "amount": "0.00",
                        "code": "USD"
                      },
                      {
                        "amount": "0.00",
                        "code": "USD"
                      },
                      < ... more data buckets ... >
                    ],
                    "description": "Expenses",
                    "entry_type": "debit",
                    "account_uuid": null,
                    "total": {
                      "amount": "115.00",
                      "code": "USD"
                    }
                  }
                ],
                "data": [
                  {
                    "amount": "0.00",
                    "code": "USD"
                  },
                  {
                    "amount": "0.00",
                    "code": "USD"
                  },
                  {
                    "amount": "115.00",
                    "code": "USD"
                  },
                  < ... more data buckets ... >
                ],
                "description": "Education and Training (general)",
                "entry_type": "debit",
                "account_uuid": "4ffa4d5f-a6e7-478e-a835-53f785daa1b9",
                "total": {
                  "amount": "115.00",
                  "code": "USD"
                }
              }
            ],
            "data": [
              {
                "amount": "0.00",
                "code": "USD"
              },
              {
                "amount": "0.00",
                "code": "USD"
              },
              {
                "amount": "115.00",
                "code": "USD"
              },
              < ... more data buckets ... >
            ],
            "description": "Education and Training",
            "entry_type": "debit",
            "account_uuid": "4ffa4d5f-a6e7-478e-a835-53f785daa1b9",
            "total": {
              "amount": "115.00",
              "code": "USD"
            }
          },
          < ... more expenses data ... >
        ],
        "gross_margin": {
          "children": [],
          "data": [
            {
              "amount": "0.00",
              "code": "%"
            },
            {
              "amount": "100.00",
              "code": "%"
            },
            < ... more data buckets ... >
          ],
          "description": "Gross Margin",
          "entry_type": "none",
          "account_uuid": null,
          "total": {
            "amount": "100.00",
            "code": "%"
          }
        },
        "income": [
          {
            "children": [
              {
                "children": [],
                "data": [
                  {
                    "amount": "0.00",
                    "code": "USD"
                  },
                  {
                    "amount": "250.00",
                    "code": "USD"
                  },
                  < ... more data buckets ... >
                ],
                "description": "Adjustment",
                "entry_type": "credit",
                "account_uuid": null,
                "total": {
                  "amount": "450.00",
                  "code": "USD"
                }
              },
              < ... more children buckets ... >
              {
                "children": [],
                "data": [
                  {
                    "amount": "0.00",
                    "code": "USD"
                  },
                  {
                    "amount": "316.67",
                    "code": "USD"
                  },
                  < ... more data buckets ... >
                ],
                "description": "Other Income",
                "entry_type": "credit",
                "account_uuid": null,
                "total": {
                  "amount": "316.67",
                  "code": "USD"
                }
              }
            ],
            "data": [
              {
                "amount": "0.00",
                "code": "USD"
              },
              {
                "amount": "416.67",
                "code": "USD"
              },
              < ... more data buckets ... >
            ],
            "description": "Sales",
            "entry_type": "credit",
            "account_uuid": null,
            "total": {
              "amount": "616.67",
              "code": "USD"
            }
          },
          < ... more children buckets ... >
        ],
        "net_profit": {
          "children": [],
          "data": [
            {
              "amount": "0.00",
              "code": "USD"
            },
            {
              "amount": "416.67",
              "code": "USD"
            },
            < ... more data buckets ... >
          ],
          "description": "Net Profit (USD)",
          "entry_type": "credit",
          "account_uuid": null,
          "total": {
            "amount": "401.67",
            "code": "USD"
          }
        },
        "total_expenses": {
          "children": [],
          "data": [
            {
              "amount": "0.00",
              "code": "USD"
            },
            {
              "amount": "0.00",
              "code": "USD"
            },
            < ... more data buckets ... >
          ],
          "description": "Total Expenses",
          "entry_type": "debit",
          "account_uuid": null,
          "total": {
            "amount": "215.00",
            "code": "USD"
          }
        },
        "total_income": {
          "children": [],
          "data": [
            {
              "amount": "0.00",
              "code": "USD"
            },
            {
              "amount": "416.67",
              "code": "USD"
            },
            < ... more data buckets ...>
          ],
          "description": "Gross Profit",
          "entry_type": "credit",
          "account_uuid": null,
          "total": {
            "amount": "616.67",
            "code": "USD"
          }
        },
        "resolution": "m",
        "labels": [
          "2023-01-01",
          "2023-02-01",
          "2023-03-01",
          "2023-04-01",
          "2023-05-01",
          "2023-06-01",
          "2023-07-01",
          "2023-08-01",
          "2023-09-01",
          "2023-10-01",
          "2023-11-01",
          "2023-12-01"
        ]
      }
    }
  }
}

Example Search with Profit/loss report

Request

curl --location --request GET 'https://api.freshbooks.com/accounting/businesses/{business_uuid}/reports/profit_and_loss?use_ledger_entries=true&fiscal_year_view=false&cash_based_includes_all_accounts_beta_flag=false&start_date=2023-01-01&end_date=2023-12-31&resolution=m&cash_based=false&group_by_category_id=true&locale=en&currency_code=CAD' \
--header 'Authorization: Bearer  <SET BEARER TOKEN>'

Tax Summary Report

The Tax Summary Report that outlines the taxes involved with your sales

Available Filters

Filter TypeNameFieldDescription
betweenstart_datedatecreated during or after the given date
betweenend_datedatecreated during or before the given date
Equalscurrency_codestringreports using the given currency as primary currency
Equalscash_basedbooleanTrue ignores billed payments and uses just collected payments
FieldTypeDescription
total_invoicedobjectsubfields: amount, code
amountstringthe amount of money paid or owed
codestringthe currency that the amount is in
start_datedatethe starting date for the tax summary report query
end_datedatethe ending date for the tax summary report query
taxesarrayholds tax objects with subfields: taxable_amount_paid, taxable_amount_collected, net_taxable_amount, tax_paid, tax_collected, net_tax, tax_name
taxable_amount_paidobjectsubfields: amount, code
taxable_amount_collectedobjectsubfields: amount, code
net_taxable_amountobjectsubfields: amount, code
tax_paidobjectsubfields: amount, code
tax_collectedobjectsubfields: amount, code
net_taxobjectsubfields: amount, code
tax_nameobjectsubfields: amount, code
download_tokenstringthe download token allows you to download the report into a csv file
cash_basedbooleantrue toggles tax to be calculated on collected sales rather than billed
currency_codestringthree-letter currency code for overdue payments

Get Tax Summary Report

Request

curl -X GET
-H "Authorization: Bearer <a token>"
-H "Api-Version: alpha"
-H "Content-Type: application/json"
"https://api.freshbooks.com/accounting/account/<account_id>/reports/accounting/taxsummary?start_date=2017-01-01&end_date=2017-12-31"

Response:

{
 "response": {
  "result": {
    "taxsummary": {
      "total_invoiced": {
        "amount": "0.00",
        "code": "CAD"
      },
      "end_date": "2017-12-31",
      "taxes": [
       {
        "taxable_amount_paid": {
          "amount": "854.76",
          "code": "CAD"
         },
        "tax_collected": {
          "amount": "0.00",
          "code": "CAD"
        },
        "tax_name": "Tax One",
        "net_tax": {
          "amount": "0.00",
          "code": "CAD"
        },
        "taxable_amount_collected": {
          "amount": "0.00",
          "code": "CAD"
        },
        "net_taxable_amount": {
          "amount": "-854.76",
          "code": "CAD"
        },
        "tax_paid": {
          "amount": "0.00",
          "code": "CAD"
        }
      },
      {
        "taxable_amount_paid": {
          "amount": "854.76",
          "code": "CAD"
        },
        "tax_collected": {
          "amount": "0.00",
          "code": "CAD"
        },
        "tax_name": "Tax Two",
        "net_tax": {
          "amount": "0.00",
          "code": "CAD"
        },
        "taxable_amount_collected": {
          "amount": "0.00",
          "code": "CAD"
        },
        "net_taxable_amount": {
          "amount": "-854.76",
          "code": "CAD"
        },
        "tax_paid": {
          "amount": "0.00",
          "code": "CAD"
        }
      }
    ],
    "download_token": "A bunch of Characters",
    "cash_based": false,
    "start_date": "2017-01-01",
    "currency_code": "CAD"
    }
   }
  }
}

Example Search with Tax Summary report

Tax Summary using Collected instead of billed

Request GET:
https://api.freshbooks.com/accounting/account/<account_id>/reports/accounting/taxsummary?start_date=2017-01-01&end_date=2017-12-31&cash_based=true

Trial Balance Report

Available Filters

Filter TypeNameFieldDescription
betweenstart_datedatecreated during or after the given date
betweenend_datedatecreated during or before the given date
Equalscurrency_codestringreports using the given currency as primary currency
EqualslocalestringLanguage to show on report

Get Profit and Loss Report

Request

curl --location --request GET 'https://api.freshbooks.com/accounting/businesses/{business_uuid}/reports/trial_balance' \
--header 'Authorization: Bearer  <SET BEARER TOKEN>'

Response

{
  "response": {
    "result": {
      "trial_balance": {
        "company_name": "<company name>",
        "download_token": "<download token>",
        "start_date": "2023-01-01",
        "end_date": "2023-12-31",
        "currency_code": "USD",
        "data": [
          {
            "sub_accountid": "2a990740-40d6-4529-a604-be0d68cf9d90",
            "account_name": "Cash",
            "account_number": "1000",
            "account_sub_name": "Cash (general)",
            "account_sub_number": "1000",
            "debit": {
              "amount": "0.00",
              "code": "USD"
            },
            "credit": {
              "amount": "25.00",
              "code": "USD"
            },
            "account_type": "asset",
            "account_sub_type": "Cash & Bank"
          },
          {
            "sub_accountid": "95026d52-14ac-4008-9f81-c0e4ac77c3ce",
            "account_name": "Cash",
            "account_number": "1000",
            "account_sub_name": "Petty Cash",
            "account_sub_number": "1000-1",
            "debit": {
              "amount": "950.00",
              "code": "USD"
            },
            "credit": {
              "amount": "0.00",
              "code": "USD"
            },
            "account_type": "asset",
            "account_sub_type": "Cash & Bank"
          },
          < ... more accounts data ... >
        ]
      }
    }
  }
}

Example Trial Balance with report filters

Request

curl --location --request GET 'https://api.freshbooks.com/accounting/businesses/{business_uuid}/reports/trial_balance?start_date=2023-01-01&end_date=2023-12-31&locale=en&currency_code=CAD' \
--header 'Authorization: Bearer  <SET BEARER TOKEN>'