Question

When you store a transaction into a database

1) Do you store Credit and debit in the same record under two different columns? (without the positive or the negative sign)

Example 1A

TABLENAME
...
...
(Credit) null
(Debit) 100

Example 1B

TABLENAME
...
...
(Credit) 250
(Debit) null

Or

2) Do you store 1 value with a positive for credit, and a negative sign for debit?

Example 2A

TABLENAME
...
...
(Amount) -100

Example 2B

TABLENAME
...
...
(Amount) 250
Was it helpful?

Solution

Accountants (and many bookkeepers, if they're any good) know that there is absolutely no difference between credits and debits. They're simply movements of value.

They should be stored in the same column, with a signed value. That makes double-entry accounting so much easier(a). Some people believe that double entry accounting means you keep two sets of books, one for the tax department (to minimise tax paid) and one for reality.

However, it really means that every transaction is balanced, that it has a credit and debit entry although they often consist of lots of parts rather than just two, and they cross freely between the balance sheet (e.g., equity, assets, liabilities) and the profit and loss (e.g., income, expenditure). For example, buying some shares with brokerage may be:

cash at bank     Asset     2019.95 cr
shares at cost   Asset     2000.00 dr
brokerage        Expense     19.95 dr
                           ----------
                              0.00

(a) You can treat me as an authority here(b). I've worked on multiple commercial-scale accounting packages, one of which was huge. More importantly, my wife is a CA and she agrees with me, and that's unusual enough that I have to be right :-)


(b) Of course, you shouldn't treat anyone as an authority(c). "Everyone, by the age of 30, is either their own doctor or an idiot" and so on. Make sure you understand why something is accepted as "right", don't just blindly follow the crowd.


(c) Unless it's me :-)

OTHER TIPS

One exception was not mentioned. What do you call an entry with a zero amount - is it a credit or debit? In some cases I have needed to show the amount was computed to an unrounded value which is non-zero, but the rounded amount is zero as with currency exchanges, tax amounts, etc. As such, I prefer an explicit indicator of the debit or credit flag and store the amount as a positive value.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top