Income Reports

1. How it works

Hurdlr's Financial Reporting API makes it easy for you to provide your users with income reports. Take a look at our Financial Reporting docs for an overview on how to easily generate reports for your users.

2. Pick the most applicable income report

Depending on your target user's profile and your app's positioning, the best income report for your use case may vary. Hurdlr provides the following income reports, all of which can be customized to match your branding:

TitleAvailable FormatsName (for use in code)
Profit & LossHTML, PDF, JSONprofitAndLoss
Business Income by BusinessHTML, PDF, JSONrevenuesByBusiness
Business Income by ClientHTML, PDF, JSONrevenuesByClient
Income Details List with ReceiptsXLSrevenueList
Personal IncomeHTML, PDF, JSONpersonalRevenues

3. Populate the desired parameters

Each report has a varying list of available parameters, e.g. to filter data to a certain date range. Where applicable, reports can be filtered to specific businesses (e.g. for users with multiple streams of income) and/or clients as well. For example, you can generate a separate P&L for each of the user's businesses. The list of available parameters for each of the expense reports is listed below:

Report nameAvailable parameters
profitAndLossbeginDate, endDate, businessIds (optional), clientIds (optional)
revenuesByBusinessbeginDate, endDate, businessIds (optional), clientIds (optional)
revenuesByClientbeginDate, endDate, businessIds (optional), clientIds (optional)
revenueListbeginDate, endDate
personalRevenuesbeginDate, endDate

The format for each parameter is listed below:

Parameter nameFormatExample
businessIdsArray of numeric IDs[416080, 416077]
clientIdsArray of numeric IDs[805609]


businessIds and clientIds are optional. If neither are provided, then the generated report will contain all of the user's businesses and clients. If the user wishes to filter the report to specific businesses, then businessIds should be provided. If the user wishes to filter to specific clients, then clientIds should be provided, and businessIds should be omitted.

4. Generate your income report

Once you've decided on the desired report, you can build a report JSON object, including the name of your report, as well as any desired params. To generate the report, simply create a POST call, as shown below:

curl \
  --request POST \
  --url \
  --header 'Authorization: Bearer ${access_token}' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "profitAndLoss",
    "params": {
      "beginDate": "2021-08-01",
      "endDate": "2021-08-31",
      "businessIds": [416080]
    "exportType": "PDF"