re: algorithm and data structure concepts
When accountants talk about Ledgers they have something very specific in mind. As a programmer I'm very used to thinking about tables of information, but clearly there are specific things that make a ledger a ledger.
So, given a simple list of transactions (date, money in, money out, notes) what needs to be added/changed to make that list into something Accountants would call a ledger?
e.g. formatting considerations, does it have to be immutable, does it have to reflect something happening in a real bank account somewhere, does it have to have some sort of 'foreign key' describing which entity each transaction refers to...