Right! The decisions and complexity are all hidden. Billing has to look simple otherwise people wouldn’t pay for stuff.
Take anniversary billing, it seems so simple, just store the billing day-of-month in the database and run the billing using the sql:
select do_billing(customer_id) from customer where billing_day=extract(date from current_date)
And this works great in December and January, but if you don’t have good financial controls you might miss the fact that you’ve dropped an entire week’s worth of billing by the end of the following year.
Take anniversary billing, it seems so simple, just store the billing day-of-month in the database and run the billing using the sql:
And this works great in December and January, but if you don’t have good financial controls you might miss the fact that you’ve dropped an entire week’s worth of billing by the end of the following year.