I'm hoping some experienced people can help me with some design issue I have on a financial application. I'm stubling on these for a couple days and I first need a good foundation to build on before I'm continuing development.
I need to be doing some financial accounting and I have some trouble designing it and finding some good data on how to design it. Any documents I've got usually provide me with information, but I cannot seem to understand these. I'm studying for a software engineer and not a accountant and unfortunally I don't have an experienced accountant to consult on these problems.
For the record, I'm Dutch, so any translations might be incorrect (please correct me if so).
Basically I'm accounting financial transaction and Tax/VAT for:
- Customer payments
These can be based on Net_Amount, however prices will probably be set in Gross_Amount. Again this is trouble...
- Internal transaction between different (bank) accounts.
They are only to balance the accounts and are not interested for tax/VAT.
- Other transactions
Both expenditures and income (non related to above categories). The bills should specify Net_Amount, VAT_Amount, Gross_Amount. I don't know if invoices are split into parts, so it can store Net_Amount, VAT_Percent.
Theoretically (but not practically) I can store:
Net_Amount, VAT_Percent
And compute:
VAT_Amount = ROUND(Net_Amount * VAT_Percent, 2)
Gross_Amount = Net_Amount + VAT_Amount
This has trouble that I cannot represent all Gross_Amount values possible.
A (theoretic) solution would be to store:
Gross_Amount, VAT_Percent
VAT_Amount = ROUND(Net_Amount * VAT_Percent / (100% + VAT_Percent), 2)
Net_Amount = Gross_Amount - VAT_Amount
Next problem would be how to compute the VAT over the selected period (month, quarter) and how to do the yearly balancing for this.
The application I need to convert has all the rows added into the table, but I consider them to be redundent.
Does anyone have some good practices for me?
Thank you,
- Joris Dobbelsteen