I have a design that incorporates a table for occupations, a table for dependents, a table for assets, a table for liens on secured assets, and many other tables. What I am thinking about is providing a way to abstract payment/payout/valuation information into a single table, so that our app can keep easy track of the overall "value" or "worth" of a customer. The idea would be to have the table like (way simplified)...

create table money_stuff {
id moneyThingID,
decimal amount,
int recurringPeriodInDays

The value of an asset someone owned would be categorized as (1, 100.00, 0)
whereas a recurring payment to a creditor would be categorized as (2, -35.00, 30)
salary or paychecks could be represented as (3, 3500.00, 14)

Because we have so many tables (our domain is very complex) the value of contracts, assets, payments made on contracts, income from various sources, etc are spread around the tables. Since it would be helpfull for our clients to see a "global running total" of their personal valuation, it made sense to me to begin considering normalizing this payment information.