6 ms·
Yes! I was both tech lead and EM on a multi billion dollar double entry accounting system for years. It was completely unnecessary and overall a drag to keep th
by rco8786 4y ago
Yes! I was both tech lead and EM on a multi billion dollar double entry accounting system for years. It was completely unnecessary and overall a drag to keep the double entry system. You end up inventing a ton of random accounting procedure to account for the “other side” of transactions that just don’t need another side. You invent accounts that do nothing and mean nothing just for scorekeeping. If you trust computers to do basic arithmetic and if you trust ACID databases, double entry accounting is outdated and unnecessary.
- langsoul-com 4y agoWhat's a good daily accounting system then? Would just a excel spreadsheet be good enough or a legit accounting software?
- lakeeffect 4y agoI'm a CPA and I recommend my extremely small businesses clients use a single entry excel system. If they use debit for everything they can download the bank transactions in csv. Then use a deep downlist to categorize the transactions. Then a pivot table to display the year end or quarterly income statement. I usually send them the Excel with the pivot table and dropdown list.
- jimnotgym 4y agoThis sounds fine for a contractor sending out one bill per month, but would you recommend it for a larger entity? I couldn't fit all of the transactions in a given month into Excel for my business. There are more than 1m rows. We are only an SME.
- hedora 4y agoExcel PowerBI would easily handle millions of transactions, but it's arguably a completely different product hidden inside an excel menu.
- jimnotgym 4y agoYes, but once you are using Power BI you have lost the friendly interface the op described for categorising transactions, ie it is not a simple spreadseet any more.
- mellavora 4y agothe problem with being a larger entity is there may be legal requirements around your accounting system. In many EU countries, if your turnover (total amount of money flowing through your business) is over a certain amount, or if you are incorporated (rather than sole proprietor) you have a legal requirement for double-entry accounting, and in some places a legal requirement to have an external firm do your accounting.
- wruza 4y agoAhhhh, right, my best-loved “we are drowning and have no idea why, can you look at our 40 xls and few html tables” type of client. Excel and single-entry in general allows one to ignore questions about their financial structure, make decisions that lead to massive analytic information losses and bury a relatively good business in a deep grave of multiple “idk” levels of knowledge. They only become aware of it when it stops scaling (but competition does, for some reason) or a market goes down for a while (but competition doesn’t care, for some reason). Digging them out is a hard and tearful task.
- zrail 4y agoI'm not an accounting expert by any means but I've been around long enough to see far too many examples of single entry accounting systems that have gone completely off the rails and nobody knows why because meaningful data (i.e. "$M moved from X to Y on date Z by process P") is not captured and difficult or impossible to recreate. Sure, computers can do basic math and ACID usually works out but that doesn't account for human-level errors. Subtle things like getting an idempotence check wrong can lead to cascading errors that are really hard to see and fix when you just have one view into the numbers.
- rco8786 4y agoYup same exact problems you get with a double entry system just with twice the effort.
- anothernewdude 4y agoWhat you're describing is the problems where you have zero entry counting. Single entry entails having a log.
- lupire 4y agoDo you trust humans to do data entry properly?
- quickthrower2 4y agoYou could also have a db view that returns a virtual double entry version, as a test that it passes muster with that. This checks for programmatic errors causing money to appear or disappear.
- jimnotgym 4y agoCan you tell me an example of an "other side" that isn't useful for any reason? Edit: I'm an accountant and I can't think of an "other side" that isn't useful, hence my question
- blep_ 4y agoI would argue that, categorically, tracking the balances of external entities isn't useful or meaningful, at least for personal finance. (I don't know enough about business finance to form an opinion.) I'm considering "external entities" here to mean accounts that aren't yours. A bank account or a credit card or a mortgage are yours, in the sense that it matters to you in some way what their balances are. Most expenses (by number of transactions, maybe not by total amount) are not that. To offer a concrete example, I pay my ISP about $80 per month for an internet connection. Double entry accounting would have me move money into an "account" representing my ISP, so I can answer the question of how much money I've paid them over the whole time I've used them. That isn't a question I have ever needed to ask, nor do I expect to, but if I do, it would be answerable with a single query over a single-entry transaction list. Until then, the extra effort spent on double-entry accounting would be entirely wasted. edit: I missed the context that the person you replied to was working on a very business-sounding accounting thing. I'll leave this here in case it inspires more relevant examples.
- lottin 4y agoDouble entry accounting doesn't require you to track expenses related to your ISP. All it requires is an expense account. Whether you decide to open sub-accounts in order to track some expenses specifically, it's entirely up to you.
- kqr 4y agoTechnically you could bunch up all payments to service providers under a "services" account, or just a "household expenses" account, or even a general "money gone" account. However, I have often found that when I do that, inevitably someone asks, "so how much of our expenditures this year were for the internet connection?" and then it would have been really useful to have that ISP account. But if you don't need it, don't have it.
- andreareina 4y agoDouble entry forces you to account for both sides of the transaction. Where did the money for groceries come from? Checking account. What the hell is this $200k spend? Office equipment. That money from Bob, was that a gift (income) or a loan (liability)? So why not model exactly those account transfers? Because it's not always that simple. How do you translate this? CREDIT $ 1.10 Expenses: Coffee CREDIT $8.80 Assets: Gift Card DEBIT $10.00 Assets: Checking You could say Checking -> Gift Card -> Coffee, or Checking -> {Gift Card, Coffee}. Does it actually matter? Probably not, so that's a pointless choice leading to false precision. If you did need to specify which one it was you'd put them in separate transactions (and you'd probably structure the actual spends from the assets accordingly). Maybe contra accounts are an outdated concept. Ok, don't use them and directly reduce the balance of the account. You also don't need a separate account for every little thing, we certainly had misc accounts in every day of books I've seen. But you at least have to be able to say whether something is income, expense, asset, liability.
- andreareina 4y ago*every set of books. Also s/8.80/8.90/, and my alignment's all messed up. That'll teach me to reply on mobile haha.
- fsckboy 4y ago> Maybe contra accounts are an outdated concept. for the readers, contra accounts keep track of expected adjustments, particularly "opposites", So when you sell items you also expect a percentage to be returned later by dissatisfied customers. If you book all sales revenues as they occur, that will show an "untrue" number, so you book expected returns into a contra account so you can see what your actual revenues are expected to be. Then later when you have accurate information on returns you use those values to unwind the expected values you put in. Accounting is all about providing accurate information to various "stakeholders" who might be looking at the books.
- andreareina 4y agoThanks! To be clear I didn't mean to imply that I think contra accounts are outdated, but I can certainly imagine people feeling that way.
- lottin 4y agoI don't understand why a 'tech lead' would have to invent an accounting procedure. Accounting procedures are the responsibility of accountants, not of engineers who lack basic training in accounting.
- wruza 4y agoIt also rings strange to me. Either this project had an accounting clusterfuck, or a company outsourced this to gp team which has not developed an intuition for how to make those loose ends tight.
- masa331 4y agoCan you be more specific? I'v been working with accounting systems for some time also and there are no transactions in double entry accounting which "just don't need the other side".
- wruza 4y agoYou end up inventing a ton of random accounting procedure to account for the “other side” of transactions that just don’t need another side If you aren’t talking about turnover-only sub accounts, I’d like to learn some good examples of it.
- mjul 4y agoDouble entry accounting as a representation is a domain specific language for the people working in the field and as such is very useful. However, you might ask, is it also the right primitives to express accounting IT systems or could we think of a better domain model, and then derive the double entry ledgers from that? This is an important and profound question. If you would like to dive in, I suggest looking at the REA (resources, events, agents) model, a set of abstractions and patterns for expressing accounting in business systems. The Model-Driven Design Using Business Patterns book by Hruby et al. is a great starting point. [1][2] Also, the POETS (Process-Oriented Event-driven Transaction System) research from DIKU (Copenhagen University) is super interesting, offering some ideas for next-generation ERP systems.[3] [1] https://link.springer.com/book/10.1007/3-540-30327-2 https://link.springer.com/book/10.1007/3-540-30327-2 [2] http://phruby.com/book/index.html http://phruby.com/book/index.html [3] Fritz Henglein, Ken Friis Larsen, Jakob Grue Simonsen, Christian Stefansen. POETS: Process-Oriented Event-driven Transaction System. Journal of Logic and Algebraic Programming (JLAP), Invited submission to special Issue on Contract-Oriented Software, 78(5):381-401, 2009. Jesper Andersen, Ebbe Elsborg, Fritz Henglein, Jakob Grue Simonsen, Christian Stefansen. Compositional specification of commercial contracts. International Journal on Software Tools for Technology Transfer (STTT), 8(6):485-516, November 2006. There are more papers from DIKU on this, see e.g. prof. Henglein’s publication list : http://hjemmesider.diku.dk/~henglein/bib/author/Fritz.Henglein.html http://hjemmesider.diku.dk/~henglein/bib/author/Fritz.Hengle...