Expense Reports

1. How it works

Hurdlr's Financial Reporting API makes it easy for you to provide your users with expense 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 expense report

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

TitleAvailable FormatsName (for use in code)
Business Expenses by BusinessHTML, PDF, JSONexpensesByBusiness
Business Expenses by CategoryHTML, PDF, JSONexpensesByCategory
Business Expenses by ClientHTML, PDF, JSONexpensesByClient
Business Expenses by VendorHTML, PDF, JSONexpensesByVendor
Expense Details List with ReceiptsXLSexpenseList
Personal Expenses by CategoryHTML, PDF, JSONpersonalExpensesByCategory
Personal Expenses by VendorHTML, PDF, JSONpersonalExpensesByVendor
Total Expenses from Recurring VendorsHTML, PDF, JSONrecurringVendors

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. The list of available parameters for each of the expense reports is listed below:

Report nameAvailable parameters
expensesByBusinessbeginDate, endDate, businessIds (optional), clientIds (optional)
expensesByCategorybeginDate, endDate, businessIds (optional), clientIds (optional)
expensesByClientbeginDate, endDate, businessIds (optional), clientIds (optional)
expensesByVendorbeginDate, endDate
expenseListbeginDate, endDate
personalExpensesByCategorybeginDate, endDate
personalExpensesByVendorbeginDate, endDate
recurringVendorsbeginDate, 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 expense 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 https://sandbox.hurdlr.com/rest/v5/reports/report \
  --header 'Authorization: Bearer ${access_token}' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "expensesByClient",
    "params": {
      "beginDate": "2021-08-01",
      "endDate": "2021-08-31"
    "exportType": "PDF"