Ne mogu baš da se udubljujem u tvoj model, ali evo nekoliko smernica:
Dakle, ti pružaš neke USLUGE članovima. Za te usluge postoje CENOVNICI. Za tvoje potrebe, treba da analiziraš EFEKTE koje su kampanje imale (ukupno prikupljeno novca, broj novih članova). Potrebno je takođe pratiti FINANSIJSKE promene.
Tvoj sistem bi trebalo da bude neka mešavina CRM-a (customer relationship management) i knjigovodstvanog sistema.
Iz postavljenog pitanja je potpuno jasno da ne poznaješ knjigovodstvo. To ni ne čudi jer je to relativno nova tekovina

(ovako kakvo je danas, počelo je da se koristi oko 12. veka, a nije se menjalo od 15. veka).
Procedura za prikupljanje podataka o finansijskim promenama bi trebala da bude ovakva:
Član X želi usluugu u1. Tada se formira OBAVEZA člana x za plaćanje usluge u1 i to tako što se upiše na DUGOVNOJ strani računa člana X iznos za uslugu u1.
Kada član X uplaćuje u potpunosti ili parcijalno za neku uslugu, tada se na POTRAŽNOJ strani računa člana X upisuje plaćeni iznos i1
Stanje računa člana X koje se računa kao sum(POTRAŽNIH strana) - sum(DUGOVNIH strana) biće negativna ako član X nije sve platio, biće 0 ako je sve platio, a veća od 0 ako je preplatio.
U slučaju da član X sada želi uslugu u2 (na primer to je promena kategorije) tada se knjiži OBAVEZA (nazovi je upgrade fee) po ceni od cena(u2)-cena(u1).
Dakle u onom tvom payment objektu (bolje bi ime bilo booking entry) fali ti jedno polje koje će ti reći da li je u pitanju DUGOVNA ili POTRAŽNA strana, tj, OBAVEZA ili IZMIRENJE obaveze.