Financial Statements

Hurdlr's Financial Statements API makes it easy for you to provide your users with the financial reporting that they need.

1. How it works

Whether or not you are leveraging the Plaid integration, the Hurdlr API automatically keeps a General Ledger behind the scenes for all of your users. While your users may never want to look at a GL or Chart of Accounts, the beauty of the behind-the-scenes GL is that they get all the financial reporting that they could ever need, without the burden of having to manage a General Ledger or understand bookkeeping.

2. Connecting your data sources

Once you have registered your user with the Hurdlr API, you will want to feed in your user's transaction data. That can be done via a Plaid integration, or via a custom integration. Reach out to our API team at [email protected]; we are ready and excited to help you get your existing data sources feeding into the Hurdlr API.

3. Selecting the best report format

Financial reports are available in four different formats:

a) HTML: most useful if you would like to display the report to your user inside your product, e.g. if you want to show them a preview before they download the final version

b) PDF: most useful if your user wishes to download the report or share the report with partners

c) XLS: most useful if the user wants to export a large amount of list-based data, such as a list of all expenses/receipts, which is especially useful when sharing with accountants

d) JSON: most useful if you would like to ingest raw report data to design your own custom reports

4. Generating a financial statement

To generate a report for your user, simply make the following POST call, including the user's access_token:

curl \
  --request POST \
  --url https://sandbox.hurdlr.com/rest/v5/reports/report \
  --header 'Authorization: Bearer ${access_token}' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "balanceSheet",
    "params": {
      "endDate": "2021-08-31"
    },
    "exportType": "HTML"
  }'

The available params varies for each report. Simply click on the items under the "Financial Reporting" section on the left navigation pane to see what reports and parameters are available.

5. Displaying a report to your user

In the above example, we used an exportType of "HTML", which will result in a response like the following:

{
  "htmlReport": "<!DOCTYPE HTML...>" // Full standalone HTML of the report
  "url": null
}

To display this report inside your application, simply pull out the htmlReport field, and embed that into your app's UI.

6. Sharing a report with you user

In the above example, we set the exportType to "HTML". If the user wanted to download or email a report, you would instead set the exportType to "PDF" or "XLS":

curl \
  --request POST \
  --url https://sandbox.hurdlr.com/rest/v5/reports/report \
  --header 'Authorization: Bearer ${access_token}' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "BalanceSheet",
    "params": {
      "endDate": "2021-08-31"
    },
    "exportType": "PDF"
  }'

The above request will result in a response like the following:

{
  "htmlReport": null,
  "url": "https://s3.amazonaws.com/.../BalanceSheet_09_2021.pdf",
}

The url field contains a temporary link to the generated report, which you can allow your user to download from. Alternatively, if you'd like to email the report (or need the report to be stored for a long period of time), you should download the file to your own file server (e.g. Amazon S3). Then, you can email your user a link to that file, so that your users only receive communication from your domain.

7. Customizing reports to match your branding

Hurdlr's API team can quickly customize financial reports to match your branding. Please follow the instructions on customizing the embedded UI to match your branding.


What’s Next

Check out the available Income, Expense, and Accounting reports.