Chart of Accounts
1. How it works
As explained in the Accounting API docs, Hurdlr's "Invisible" Double-Entry Accounting is enabled in the background for all users. That is built on-top of Hurdlr's best practice Chart of Accounts, vetted by hundreds of CPAs and accountants, and custom-fitted to your users' needs.
When you create a user via the Hurdlr API, and you specify their business type, Hurdlr automatically generates a chart of accounts for that user. Should that user's situation change, e.g. they convert from a sole-proprietorship to an S-corporation, Hurdlr's API will take care of the necessary modifications to the Chart of Accounts accordingly. As you may know, the Equity section will look different for sole proprietorships vs. S-corps, and the Hurdlr API takes care of this for you, ensuring your products will serve your users as they continue to evolve.
2. What it enables
Having a Chart of Accounts behind the scenes means that your users always have a Balance Sheet available with data updated in real-time. Most businesses have to wait for their accountant to compile their Balance Sheet at the beginning of the following month. With the Hurdlr API, this is available in real-time!
3. Getting the user's chart of accounts
At any time, you can retrieve the user's chart of accounts:
curl \
--request GET \
--url https://sandbox.hurdlr.com/rest/v5/accounting/chartOfAccounts \
--header 'Authorization: Bearer ${access_token}' \
--header 'Content-Type: application/json' \
The response from GET /chartOfAccounts contains an array of accounts
, with nested childAccounts
:
[
{
"accountNo": "10000",
"name": "Assets",
"balance": 250917.65,
"parentAccountNo": null,
"childAccounts": [
{
"accountNo": "11000",
"name": "Current Assets",
"balance": 250917.65,
"parentAccountNo": "10000",
"childAccounts": [
{
"accountNo": "11001",
"name": "Citi - Checking *0000",
"balance": 5475.11,
"parentAccountNo": "11000",
"childAccounts": []
},
{
"accountNo": "11002",
"name": "Citi - Savings *1111",
"balance": 21.10,
"parentAccountNo": "11000",
"childAccounts": []
},
...
]
},
...
]
},
...
]
4. Displaying a real-time balance sheet
The above response contains a hierarchical list of accounts, making it easy to display a drill-down list of accounts. On each account record, you may find the following attributes to be of particular interest:
Field | Description | Format |
---|---|---|
accountNo | Account number, often used by bookkeepers to reference a specific account | String (of numbers) |
name | Name of the account | String |
balance | Total balance of the account, including all children accounts | Numeric, with 2 decimal places |
childAccounts | Accounts that are hierarchically beneath the given account | Array of accounts |
To display a real-time balance sheet, you can simply show a list of the top-level accounts, i.e. the accountNo
, name
, and balance
of each of the accounts residing in the top-level objects of the /chartOfAccounts response. For example, response[0].name
would show "Assets" and response[1].name
would show "Liabilities.
If your users clicks on Assets, you could then render the childAccounts
within that item. For example, response[0].childAccounts[0].name
would show "Current Assets".
The Hurdlr API team recognizes that developers are not usually accountants. Don't hesitate to email us at [email protected], and we would be glad to help you with your real-time balance sheet implementation.
Updated 12 months ago