×
FreshBooks
Official App
Free – Google Play
Get it
Hey there - We have updated our privacy policy in accordance with GDPR. Got It
×

Reports

General Info

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

*Requires Authorization*

  1. Invoice Details
  2. Expense Details
  3. Profit/Loss
  4. Aging Accounts
  5. Tax Summary
  6. Payments Collected

Includes

There are no includes for reports

Filters

Filter TypeNameFieldDescriptionApplicable Reports
betweenstart_dateDatecreated during or after the given dateALL
betweenend_dateDatecreated during or before the given dateALL Except Aging Accounts
Equalscurrency_codeStringreports using the given currency as primary currencyALL
Equalscash_basedBooleanTrue ignores billed payments and uses just collected paymentsTax Summary, Profit/Loss Report
Equalsclientidsintreturns data from specific client(s)Invoice Details, Payments Collected
Equalspayment_methodStringreturns data from clients who used the specific method of paymentPayments Collected
EqualstatusidsStringreturns invoices that has the same status as the given status. (draft, sent, paid, etc)Invoice Details
Equaldate_typeStringreturns invoices with the specified date_type (issue or paid)Invoice Details
Equalsgroup_byStringData returned is organized by the given argument. (parent_category, clients, vendor, author)Expense Report
Equalsexclude_personalbooleantrue returns data without personal expenses includedExpense Report
EqualsresolutionStringspecifies how often data is calculated and stored. For example, "3m" would specify to return data grouped in three month intervals.Profit/Loss Report

Invoice Details

The Invoice Details Report shows all the information involving your invoices

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

Expenses

The Expenses Report shows all the information involving your Expenses

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(s)
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

Profit/Loss

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

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

Account Aging Report

The Account Aging Report shows details regarding overdue invoices from clients

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

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

Tax Summary Report

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

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 Invoice details

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 Searches for Invoice Details

Get Invoice Details for a Specific Client

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

Get Invoice Details of Sent Invoices

Request: GET 
https://api.freshbooks.com/accounting/account/<accountid>/reports/accounting/invoice_details?start_date=2017-01-01&end_date=2017-12-31&statusids%5B%5D=sent

Get Expense Details

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

Response:


{
  "response": {
    "result": {
      "expense_details": {
        "exclude_personal": false,
        "end_date": "2017-12-31",
        "clients": {
          "0": {
           "language": null,
           "userid": null,
           "email": "JaneDoe@Example.com",
           "lname": "Doe",
           "fname": "Jane",
           "organization": "Company and Co",
           "id": null
          },
          "144599": {
           "langauge": null,
           "userid": 144599,
           "email": "fake@email.com",
            "lname": "Wayne",
           "fname": "bruce",
           "organization": "Fake Company",
           "id": 144599
          }
        },
       "download_token": "A bunch of letters and numbers",
       "vendors": {
         "92d61cbb2aa3a9e323151955eb4484b2": "Vendor 1",
         "419107f1667df41b85d4eef9455ae41a": "Vendor 2",
       },
       "group_by": "category",
       "currency_code": "CAD",
       "authors": {
         "1": {
           "lname": "Parker",
           "organization": "Spurs",
           "userid": 1,
           "email": "tonyparker@spurs.com",
            "fname": "Tony",
         }
       },
       "data": [
        {
          "groupid": "5372370",
          "total": {
            "amount": "854.76",
            "code": "CAD"
          },
           "children": [],
          "expenses": [
            {
              "vendorid": "419107f1667df41b85d4eef9455ae41a",
              "vendor": "vendor 1",
              "notes": "",
              "amount": {
                "amount": "854.76",
                "code": "CAD"
              },
              "clientid": "144599",
              "taxPercent1": null,
              "authorid": "1",
              "taxName2": "Tax Two",
              "taxName1": "Tax One",
              "date": "2017-07-21",
              "taxAmount2": {
                "amount": "0.00",
                "code": "CAD"
              },
              "expenseid": 999712,
              "taxPercent2": null,
              "taxAmount1": {
                "amount": "0.00",
                "code": "CAD"
              },
              "categoryid": "5372366",
             }
           ]
         }
       ],
      "start_date": "2017-01-01",
      "categories": {
        "5372366": {
          "category": "Gas",
          "subcategory_name": "Gas",
          "categoryid": "5372366"
        },
        "5372370": {
          "category": "Personal",
          "subcategory_name": "personal (general)",
          "categoryid": 5372370
        }
      },
      "company_name": "My Company Name"
      }
    }
  }
}

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 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

Get Profit/Loss Report

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

Response:


{
 "response": {
   "result": {
     "profitloss": {
       "net_profit": {
         "entry_type": "credit",
         "total": {
           "amount": "-1572.18",
           "code": "CAD"
         },
         "data": [],
         "description": "Net Profit (CAD)",
         "children": []
       },
       "total_income": {
         "entry_type": "credit",
         "total": {
           "amount": "0.00",
           "code": "CAD"
         },
         "data": [],
         "description": "Gross Profit",
         "children": []
       },
       "end_date": "2017-12-31",
       "income": [
         {
           "entry_type": "credit",
           "total": {
             "amount": "0.00",
             "code": "CAD"
           },
           "data": [],
           "description": "Sales",
           "children": []
         },
         {
           "entry_type": "credit",
           "total": {
             "amount": "0.00",
             "code": "CAD"
           },
           "data": [],
           "description": "Cost of Goods Solds",
           "Children": []
         }
       ],
       "labels": [],
       "expenses": [
         {
           "entry_type": "credit",
           "total": {
             "amount": "854.76",
             "code": "CAD"
           },
           "data": [],
           "description": "Car & Truck Expenses",
           "children": [
          {
             "entry_type": "debit",
             "total": {
               "amount": "717.42",
               "code": "CAD"
             },
             "data": [],
             "description": "Gas",
             "children": []
           }
         ]
       },
       {
         "entry_type": "debit",
         "total": {
           "amount": "717.42",
           "code": "CAD"
         },
         "data": [],
         "description": "Personal",
         "children": [
           {
             "entry_type": "debit",
             "total": {
               "amount": "717.42",
               "code": "CAD"
             },
             "data": [],
             "description": "Personal (general)",
             "children": []
           }
         ]
       }
     ],
     "download_token": "A bunch of letters and numbers",
     "company_name": "My Company",
     "cash_based": false,
     "total_expense": {
       "entry_type": "debit",
       "total": {
         "amount": "1572.18",
         "code": "CAD"
       },
       "data": [],
       "description": "Total Expenses",
       "children": []
     },
     "resolution": null,
     "start_date": "2017-01-01",
     "currency_code": "CAD"
   }
    }
   }
  }

Example Search with Profit/loss report

Get Profit/Loss report quarterly instead of anually

Request: GET 
https://api.freshbooks.com/accounting/account/<accountid>/reports/accounting/profitloss?start_date=2017-01-01&end_date=2017-12-31&resolution=3m

Get Tax Summary Report

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"
    }
   }
  }
}

Search Example With Tax Summary

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 

Payments Collected Report

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

Get Account Aging Report

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