Double entry accounting sandbox

Made a demo where you can post accounting entries to ledger and see their effect on balance sheet, incone statement and trail balance.

Here is the app:

The code behind it is at:

The biggish idea is to write a DSL fir accounting that should translate well into chart of accounts, postings and reports. I think Streamlit is a great environment to have it demonstrated.


Nice demo. Did a couple of posts and the accounting logic appears to work well. Kudos! As an accountant, I created some accounting functions where I can create income statement and balance sheet using an uploaded trial balance or journal entries log. Looking to show a demo on streamlit but I would love to update the code from Pandas to Polars first.

Happy seeing accountants code!!!

1 Like

Thanks for trying the app and writing back here. Getting feedback is very important for me as a developper. There were few things I was not comfortable with in an app, one is: when showing the balance sheet i had to force close the current period and add net income to retained earnings - probably ok for empty example, but might be confusing if the was some retained earning from previous period and current period gets added implicitly. Also I thought is there any value in showing the β€œgross” trial balance with debit sum and credit sum and the net balance? Would it help the users?

On polars/pandas - thats a great dara pipeline if you work with real data, would happily review or extend your code if you have it on github.

The code behind my app is the abacus package the aims to provide a ledger the one can populate with entries and get trisl bslsnce and statements out of it.

It is kind of fun thinking about what data structures fit the accounting workflow and how to handle account closing ar period end. I was able to do a simple income statement, but would like to make an option to treat gains/losses properly.