On Fri, Sep 14, 2012 at 1:02 AM, Ben Finney <ben+pyt...@benfinney.id.au> wrote: > What I want is pointers to a putative “What every programmer needs to > know about storing commercial transactions for business accounting” > general guide. > > Does that information already exist where I can point our team to it?
Not a guide per se, but a keyword to look for: ACID compliance. You'll be maintaining multiple pieces of information that depend on each other (simple example being a ledger table showing transactions and an accounts table holding balances), and you need to guarantee that the database is consistent. Log aggressively. I'm sure nobody would ever dream of maintaining customer balances without an associated ledger showing how that balance came to be; it's less obvious but just as helpful in many other areas. If anything happens to corrupt your data, you should be able to recognize from internal evidence that something's wrong. GST isn't particularly complicated, but again, be really REALLY clear what's going on. It's better to be massively verbose in the database and then squash things down for display than to be left wondering, when you trace back through things, what money went where. Be aware of your ninths/elevenths; when there's 10% tax in a $10 item, the ex tax price is $9.090909... which will annoy everyone with 1c errors. Don't use MySQL. :) Okay, that's hardly a *rule*, but it's a strong recommendation. ChrisA -- http://mail.python.org/mailman/listinfo/python-list