Spero che questa domanda non sia troppo ampia. In futuro potrei dover aggiungere alcuni sistemi di contabilità e di tracciamento finanziario ad alcune applicazioni (principalmente applicazioni basate sul web, ma le mie domande riguardano anche le app desktop).
Ora, creare un semplice record di transazioni finanziarie è teoricamente facile. Una tabella di database con poche colonne potrebbe fare il lavoro. Persino MS Access, Excel o anche solo un semplice file di testo ASCII possono essere utilizzati per memorizzare le date delle transazioni, gli ID account e gli importi in dollari. Tuttavia, ritengo che anche una tabella SQL di frequente backup con integrità transazionale potrebbe non essere sufficientemente solida per un monitoraggio finanziario serio.
Ho sentito termini come "contabilità a partita doppia" e ho la sensazione che la maggior parte delle app di monitoraggio finanziario (ad esempio, Mint.com o GnuCash) abbia una struttura dati o un processo molto più complicata da rendere certo che tutto si integri perfettamente, esattamente come dovrebbe, e che nessun dato sia mai perso o corrotto.
La mia domanda è: Quando si progetta un'app per tenere traccia delle transazioni finanziarie, quali considerazioni di progettazione speciali dovrebbero essere fatte? Sembra che potrebbero esserci così tanti potenziali problemi ... problemi con precisione di arrotondamento, parità controlli, una sorta di processo di verifica, backup speciali, sicurezza / crittografia, modi extra per proteggere i dati in caso di crash mid data-entry .... Non so davvero cosa dovrei chiedere in particolare, ma ottengo la sensazione che l'industria della programmazione abbia un insieme di buone pratiche di cui non so nulla. Cosa sono?
Modifica
Sembra che ho aperto una lattina più grande di worm di quanto mi aspettassi. Per chiarire, sto pensando in particolare a due tipi di app:
- "Controlla registro" - app di tipo come GnuCash o Quicken che mantengono una registrazione di singole transazioni per proprio uso.
- App che tracciano fatturazione / credito / o "punti" per venditori e clienti che trattano con un'azienda.
Probabilmente non eseguirò alcuna operazione di banca diretta o (AFAIK) qualsiasi cosa abbia un sacco di regolamenti governativi relativi alle finanze collegati ad esso.