I'm building an internal billing application and I'm not quite sure how to
go about handling payment plans.  We've got a number of different ways to
purchase software licenses, including a handful of up-front costs for
different organizations (commercial, govmnt, non-profit, etc.), and several
pay-over-time plans.  The up-front plans are easy to deal with, but what's a
good way to handle the pay-over-time plans?  Some are fixed payment
($xx/mo), some are stepped payment ($xx/mo for 3 mos, $yy/mo for the rest),
and some are fixed principal, and variable interest ($xx/mo to principal +
y% * remaining principal).

Currently you can pay off remaining principal at any time and cease the
payment plan, but we may be adding the ability to pay extra, but not the
whole remainder (like an extra house payment).  Obviously that's only work
on some plans.

The code-level stuff seems to break down pretty nicely: a Plan CFC that
would be considered "abstract" and multiple concrete subclasses for the
different types.  Plan.cfc has an "abstract" getMonthlyPayment method that
takes a month from inception (assuming the total and remaining principal are
available elsewhere) and returns the payment due that month.  What I'm
really struggling with is storage.  Separate table for each concrete
subclass of Plan?  A single table with fields that aren't all used by each
record?  A 'plan' table with related tables for the plan types?

If anyone's got some clever tips, I'd love to hear them.  Finances is not an
arena that I'm very familiar with, so I'm in a little over my head.

TIA,
barneyb

---
Barney Boisvert, Senior Development Engineer
AudienceCentral
[EMAIL PROTECTED]
voice : 360.756.8080 x32
fax   : 360.647.5351
cell  : 360.319.6145

www.audiencecentral.com
[Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]

Reply via email to