I'm designing an application, and I'm not sure of the best way to implement one aspect of it. Suggestions will be most appreciated.
Background: I work for the Taxation Department of a state. One of the taxes assessed is a property tax. Sometimes, taxpayers do not pay on time and are subject to a variety of penalties and interest. There are times when penalties and interest can be waived. It is possible to waive any or all of any or all year's interest and penalties.
When a payment is made, it is applied proportionately to all taxes, penalties, and interest due. (Unless a specific interest charge or penalty has been waived.)
A consideration: I desire minimal maintenance.
Suggested approach: A Companies table that is joined to BalancesDue table with fields for each year for balance due for
* Taxes
* Interest
* Penalties (one for each type)
and with fields to indicate waivers in effect for that particular item of interest or penalties.
Question:
1. Does my approach seem right?
2. If so, should this table be built manually, or dynamically, based on the change of year?
3. As each year passes, there will be more years to search through. What's the best way to design / code a loop that does not have to be updated with the addition of a new year. (e.g. as we start 2010, 2011.)
Thanks, in advance, for your insights.
Background: I work for the Taxation Department of a state. One of the taxes assessed is a property tax. Sometimes, taxpayers do not pay on time and are subject to a variety of penalties and interest. There are times when penalties and interest can be waived. It is possible to waive any or all of any or all year's interest and penalties.
When a payment is made, it is applied proportionately to all taxes, penalties, and interest due. (Unless a specific interest charge or penalty has been waived.)
A consideration: I desire minimal maintenance.
Suggested approach: A Companies table that is joined to BalancesDue table with fields for each year for balance due for
* Taxes
* Interest
* Penalties (one for each type)
and with fields to indicate waivers in effect for that particular item of interest or penalties.
Question:
1. Does my approach seem right?
2. If so, should this table be built manually, or dynamically, based on the change of year?
3. As each year passes, there will be more years to search through. What's the best way to design / code a loop that does not have to be updated with the addition of a new year. (e.g. as we start 2010, 2011.)
Thanks, in advance, for your insights.