Re: accounting schema - Mailing list pgsql-sql

From Steve Midgley
Subject Re: accounting schema
Date
Msg-id 20080207033606.D806B2E2FC0@postgresql.org
Whole thread Raw
In response to Re: accounting schema  ("Medi Montaseri" <montaseri@gmail.com>)
List pgsql-sql
At 06:54 PM 2/6/2008, Medi Montaseri wrote:
>Thanks Steve...
>
>And finally you mentioned that bank accounts are tricky...can you 
>expand on this please. After all I am under the impression that "bank 
>accounts" are a corner stone of this whole book keeping...I 
>mean...bank accounts have debits and credits just like any 
>account...eg interest earned is a credit and bank fees are 
>debits...what worries you about bank accounts...
>
>Thanks guys...this is very very nice
>
>Medi

Hi Medi,

We may be well off-topic for Pgsql but it is a modeling issue so I'll 
reply on-list..

Consider this scenario: You want to track your AP/AR accounts by 
"business unit" - so you have a Marketing account, Sales account, 
Engineering account, etc. But let's say you want to keep all the money 
for all the "units" in only two bank accounts depending on which region 
the expenses will be paid out from (to reduce processing fees). So you 
might pay for things accrued by Engineering and Marketing on the West 
Coast from one bank account and Engineering and Marketing expenses on 
the East Coast from the other (a US-centric example).

So the bank accounts where cash is actually deposited/withdrawn is 
different from where the money is received or spent from a "logical" 
perspective in the AR/AP ledgers.

This is a simple example and real-world issues become truly horrendous. 
(For example, try to account for investment instruments like long term 
property holdings with lines of credit against the real estate).

I've always thought that if DBA's existed when Accounting was invented, 
things would look very, very different. :)

Good luck,

Steve



pgsql-sql by date:

Previous
From: Robert Edwards
Date:
Subject: Re: accounting schema
Next
From: Tiziano Slack
Date:
Subject: Re: TG_TABLE_NAME as identifier