Domanda

Sto costruendo una semplice app di contabilità da utilizzare per la finanza personale.

Un utente può tenere traccia di acquisti, fatture imminenti, depositi ricorrenti, ecc. Sarà semplicissimo.

Due domande:

1) Qualche consiglio che dovrei tenere a mente? Ovviamente, userò le transazioni ove appropriato, ma sarebbe opportuno conoscere i tipi di dati corretti e altre considerazioni.

2) Esistono API conosciute che potrei utilizzare per ottenere periodicamente il saldo di un utente dalla loro banca? vale a dire un'API che semplificherebbe l'interrogazione del proprio account, indipendentemente dal fatto che si trovino su Chase, BofA o altro?

Grazie mille

Michael

È stato utile?

Soluzione

Avendo appena completato la versione 1.0 di alcuni software di contabilità online scritti personalizzati per organizzazioni non profit collegate alla scuola, ho dei consigli :)

  • Utilizzare la contabilità / contabilità standard a doppia entrata (debiti e crediti) come base per il proprio motore finanziario. Scoprirai che questo ti servirà bene quando si tratta non solo di archiviare dati sulle transazioni, ma anche di generare rapporti. Attività = Passività + Equità è un approccio provato e vero per tenere traccia di chi possiede cosa.
  • Utilizza i tipi decimali per denaro.
  • Usa transazioni.
  • Mantieni l'interfaccia semplice come possibile.
  • Dovrai avere un metodo per consentire all'utente di riconciliare la banca record con i propri record. L'inserimento di dati bancari aiuterebbe questo processo ma sarà necessario fornire l'utente con un metodo per confrontare. Per questo puoi usare estratti conto bancari processo.
  • La banca è sempre considerata giusta. Se c'è una discrepanza tra la banca e l'utente registra ... il colpa è quasi sempre con l'utente record.
  • Assicurati di fornire una sorta di funzione di backup per l'utente
  • Proteggi i dati degli utenti
  • Assicurati di comprendere appieno il processo che stai automatizzando. Non fare ipotesi. Gestisci le tue idee da un commercialista specializzato in finanza personale. Avere questo controllo aiuterà parecchio.
  • Preparati a scrivere MOLTO codice. Il software di contabilità è in circolazione da anni, l'elenco delle "funzionalità standard" perché un pacchetto di contabilità tipico è cresciuto e ci sono alcuni attori sul mercato. Se stai pensando di vendere questo prodotto dovrai fornire quelle funzionalità standard e quindi trovare un modo per differenziarlo da ciò che è già disponibile con funzionalità aggiuntive.
  • TEST TEST TEST e di nuovo TEST. tu stanno tenendo registri dei popoli transazioni finanziarie personali (i loro soldi). Gli errori non vengono presi leggermente.

Altri suggerimenti

Aggiungerò alcuni suggerimenti mentre sto finendo un sistema POS incentrato sulla CONTABILITÀ - ovvero gli acquisti, le spese, la fatturazione, i conti, le carte di credito, i contanti, i veicoli, ecc. devono essere tutti tracciati. I concetti verranno infine applicati a un sistema personale.

Il miglior consiglio è quello di guardare i tuoi documenti e provare a formare il tuo database attorno a ciò che devi fare per tradurre i tuoi documenti fisici sul computer. Combina questo con i primi due capitoli di un libro di testo di contabilità che parla di conti, piano dei conti e giornali.

I libri che ho usato: Contabilità a portata di mano di George Murray Finanza e contabilità per imprenditori di Suzanne Caplan Introduzione alla contabilità di Ainsworth Contabilità, informatica e soluzioni aziendali di Hollander

Dopo aver inserito i documenti di origine nel sistema, è possibile eseguire query per ottenere le risposte. In questo modo è stato eliminato il concetto di "libro mastro generale" e "saldo di prova" perché semplicemente correggi o aggiungi ai tuoi documenti di origine. Quindi il "libro mastro generale" diventa un calcolo. È stato molto confuso per me. Ancora una volta, tutti i documenti di origine verranno inseriti in "Riviste", che possono essere le tabelle del database. Uso un giornale generale, un giornale acquisti, un giornale pagamenti o pagamenti in contanti, un giornale vendite e un giornale incassi. Tieni presente il termine "CONTANTI" si riferisce a contanti, credito, assegno, debito.

Ad esempio ho un " journal generale " che è fondamentalmente ciò di cui hai bisogno. In questo diario tengo traccia delle "ricevute delle fonti". Una ricevuta potrebbe essere una fattura, come il cavo Time Warner, che ha un numero di conto. In tal caso creo un 'account' per time warner. Il conto Time Warner si collegherà a un "piano dei conti" che specificherà il tipo di spesa come "Internet". La fattura viene quindi inserita con la data, l'importo, ecc. La fattura si collega al conto per time warner. Una volta inserita la fattura, non viene pagata. È quindi necessario aggiungere il pagamento. Ovviamente potresti pagare la fattura per intero come dovresti, ma potresti dover fare due pagamenti, o dividere i pagamenti, o non pagare per intero. Questo ti condurrà a un "Giornale dei pagamenti" " in combinazione con una "tabella di ricerca della fattura per i pagamenti" che dovrà avere un importo applicato da applicare a una fattura. Questo importo applicato è importante perché potresti avere 4 fatture per il time warner non pagate e hai appena inviato oltre $ 200 in preda al panico per riavere il tuo account. Questo pagamento deve quindi essere suddiviso tra le fatture con importi da applicare a ciascuna. E, naturalmente, l'account di pagamento tornerà ai tuoi account.

In caso di immissione di una ricevuta, l'account non viene utilizzato. Di 'che prendi un po' di lingerie a embrasse-moi e paghi in contanti. Il tuo sistema prenderà il fornitore, embrasse-moi, la data, il costo, ho aggiunto una 'tassa di utilizzo' nel caso in cui acquisti su Internet e non pagassi le tasse ma tu ancora lo devi, l'importo e il 'Grafico di conti "che è essenzialmente quale categoria è la tua spesa. Questo è tutto per il giornale generale. Nella stessa forma avrai il metodo di pagamento. Ho fatto una forma semplificata per una spesa + pagamento esatto in quanto è molto comune. Se il pagamento viene suddiviso, dovrai inserire la ricevuta utilizzando un modulo, quindi creare più pagamenti collegati a quella ricevuta con altri moduli.

Quindi alla fine il tuo database per questa semplice app di contabilità avrà le seguenti tabelle: Conti (le informazioni sull'account tra cui un tipo di conto come carta di credito / debito, assegni, contanti, conto di inventario per acquisti aziendali, conto di spesa come servizi pubblici, piano dei conti predefinito) Piano dei conti (fondamentalmente un elenco che descrive come classificare le spese e i conti che confluiranno nel tuo estratto conto, ho inserito il mio qui per farti controllare: http://embrasse-moi.com/exampleData/pos_chart_of_accounts.csv ) Ho una tabella per aprire i saldi dei conti, perché devi iniziare da qualche parte Tipo di account - che significa carta di credito, carta di debito, ecc. Tieni presente che l'equazione contabile cambia fondamentalmente in base all'account. Gli addebiti sui conti correnti sono "errati" perché hai dato via i tuoi soldi e i crediti sono "buoni" perché hai incassato denaro mentre gli addebiti sulle carte di credito sono "buoni" perché hai ridotto il debito e i crediti sono "cattivi" perché hai aggiunto al tuo debito Piano dei tipi di account , che è un 'attività, passività, attività a lungo termine, ecc. Questo potrebbe essere incluso nel carrello dei conti come tipo Enum Poi c'è il diario generale , che come descritto contiene abbastanza informazioni per descrivere il tuo documento. È sul conto? Data, importo, il tipo (ricevuta o fattura) data di scadenza, tengo un flag 'pagato' per facilitare la query. Quindi hai una ricerca tra la tabella del "journal generale" e la tabella dei pagamenti Quindi hai la tabella dei pagamenti .

Una volta che hai tutte queste informazioni, non userai quasi mai la tua banca come fonti, poiché non sono sempre corrette, almeno la mia banca commette errori. Quindi questo tipo di struttura ti terrà aggiornato sulle tue informazioni e alla fine del mese questo sistema produrrà un estratto conto identico agli estratti conto. E questo è l'obiettivo.

Informazioni sulle API per ottenere informazioni dalla tua banca: non è semplice, se possibile. Puoi immaginare le lunghezze percorse dalla tua banca per assicurarti che tutto sia protetto. Non penso che sarà possibile connettersi automaticamente. Di solito c'è un modo per scaricare i dati attraverso il download manuale di un file, dopo aver effettuato l'accesso all'online banking (se disponibile). Speriamo che sia in formato CSV o qualcosa di simile ;-)

[modifica]

Apparentemente mi sono sbagliato qui, le principali banche consentono la connessione diretta. Immagino che dovrai consultare il tuo supporto tecnico bancario su questo.

[/ modifica]

Per quanto riguarda i tipi di dati da utilizzare, consiglierei almeno i decimali per i valori in denaro, anziché doppi / float. vedi questo thread di domande SO su questo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top