Balance sheet
How to build a balance sheet using Teal.
What is a balance sheet?
A balance sheet is one of the foundational financial statements used in accounting. It shows a business’s assets, liabilities, and equity at a given point in time.
This differs from many of the other financial statements such as the P&L, which reports on transactions over some time, instead of balances at a point in time.
The balances in a balance sheet are generated from all transactions that have occurred in the business since the start of the business. This makes it more difficult to get right, as more data is required than just transactions for the period of time in question.
How does Teal’s balance sheet report work?
The balance sheet returns an array of ledger summaries for ledger types equal to asset, liability, and equity. It also returns calculated totals
that are typically included in a balance sheet, such as sub_type
totals (e.g. “Total Current Assets”) and “Retained Earnings”.
The values in the report are calculated based on all line entries in each ledger going back to the user’s start date, plus any opening balances.
The balance sheet ties to the income statement report via this special calculated total called “Retained earnings”. Retained earnings is the cumulative profit calculated from the sum of the revenue and expense ledgers from the beginning of the business up until the date of the balance sheet report.
Opening balances
If the business was operating and transacting before the user’s start date, then opening balances will need to be set in order for the balance sheet to be accurate. See our Opening Balances guide for more information.
Generating the balance sheet report
You can use the Get Balance Sheet endpoint in order to get the data required for producing a balance sheet.
Creating the balance sheet UI
In order to create a useful balance sheet interface for your users, we recommend adding two UI elements to your report:
- a date picker
- the ability to explore the transactions that are within each listed ledger using the ledger statement report for each ledger
The reports interfaces page provides details and code snippets on how to implement these features.