Compositional specification of commercial contracts. Jesper Andersen, Ebbe Elsborg, Fritz Henglein, Jakob Grue Simonsen, Christian Stefansen. Journal of Logic and Algebraic Programming (JLAP), Invited submission to special Issue on Contract-Oriented Software, 78(5):381-401, 2009. POETS: Process-Oriented Event-driven Transaction System. Īlso, the POETS (Process-Oriented Event-driven Transaction System) research from DIKU (Copenhagen University) is super interesting, offering some ideas for next-generation ERP systems.įritz Henglein, Ken Friis Larsen, Jakob Grue Simonsen, Christian Stefansen. The Model-Driven Design Using Business Patterns book by Hruby et al. 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. This is an important and profound question. 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? I'll leave this here in case it inspires more relevant examples.ĭouble entry accounting as a representation is a domain specific language for the people working in the field and as such is very useful. Until then, the extra effort spent on double-entry accounting would be entirely wasted.Įdit: I missed the context that the person you replied to was working on a very business-sounding accounting thing. 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. 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. To offer a concrete example, I pay my ISP about $80 per month for an internet connection. Most expenses (by number of transactions, maybe not by total amount) are not that. 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. I'm considering "external entities" here to mean accounts that aren't yours. (I don't know enough about business finance to form an opinion.) I would argue that, categorically, tracking the balances of external entities isn't useful or meaningful, at least for personal finance. But you at least have to be able to say whether something is income, expense, asset, liability. 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. ![]() Ok, don't use them and directly reduce the balance of the account. Maybe contra accounts are an outdated concept. 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). Does it actually matter? Probably not, so that's a pointless choice leading to false precision. You could say Checking -> Gift Card -> Coffee, or Checking ->. So why not model exactly those account transfers? Because it's not always that simple. That money from Bob, was that a gift (income) or a loan (liability)? What the hell is this $200k spend? Office equipment. ![]() Where did the money for groceries come from? Checking account. If Amazon wants to rejigger your shopping carts with respect to backorders and shipping, they could easily do it in a way that allowed you to reconcile your statements simply.ĭouble entry forces you to account for both sides of the transaction. When as a programmer I used to resist writing code that seemed inelegant, my old boss used to remind me that the computer was the drudge, a mere servant to the whims of the various humans using it. I have no doubt that their calculations are correct, but just as computers can free us from the burden of adding up numbers correctly, computers can also do other tasks we find burdensome, like double entry bookkeeping. Since you are the consumer of the data, they're not fulfilling their accounting obligation which is clear presentation of the record. Amazon is not bookkeeping in a way that's at all useful to you. ![]() Later you're wondering about an Amazon charge on your credit card so you look in your emails from Amazon and you log into your account on Amazon, and you can't match the charges on your card with any of your shopping transactions with Amazon, the numbers bear no resemblance to one another. Here's a simple case you may have encountered yourself: you order a shopping cart of a fair amount of stuff (not even that much) from Amazon, and click purchase. ![]() This might be fair and technically correct on paper, but we don't use paper anymore.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |