Lähtisin laskutusohjelmasta Asiakas -> Sopimus -> Kulukoodit -ajattelusta. Näin laskutusohjelma sisältäisi asiakkaisiin liittyvät perustiedot ja tiedollinen viite-eheys säilyisi ylläpidettävänä.
Minusta laskutusohjelman, jotta se sopisi mahdollisimman monelle, pitäisi olla joustavasti parametroitavissa. Ainakin tässä yhteydessä tulee mieleen, että laskutettavia kohteita pystyisi luomaan ja antamaan niille erinäisiä hintoja. Käytännössä tämä tarkoittanee sitä, että loppukäyttäjä voisi tuottaa itse laskutukseen liittyviä kulukoodeja, kiinnittää ne sopimuksille, jolloin sopimukset olisivat asiakkaille. Näin lähtökohtana olisi, että laskutusohjelma hanskaisi asiakkaat ja niihin liittyvät sopimukset joista syntyisi sitten laskutusperusteet.
Jokainen laskutustapahtuma pitäisi esiintyä ohjelmassa omana rivinään ja niitä voisi muokata siten että niistä jäisi tapahtumalogi seurantaa varten.
Liittymät olisivat hyvä olla valmiina, lienee olemassa jotain standarteja näihin joilla se toimisi.
Parista tällaisesta on kokemuksia, pyörivät edelleen tuotannossa.