2010-11-02 14 views
13

Quando si memorizza una transazione in un databaseDatabase di contabilità: archiviazione di crediti e addebiti?

1) Memorizza e addebita nello stesso record sotto due colonne diverse? (Senza il positivo o il segno negativo)

Esempio 1A

TABLENAME 
... 
... 
(Credit) null 
(Debit) 100 

Esempio 1B

TABLENAME 
... 
... 
(Credit) 250 
(Debit) null 

O

2) Ti memorizzare 1 valore con un risultato positivo per il credito, e un segno negativo per l'addebito?

Esempio 2A

TABLENAME 
... 
... 
(Amount) -100 

Esempio 2B

TABLENAME 
... 
... 
(Amount) 250 

risposta

34

Accountants (e molti contabili, se sono nulla di buono) sanno che non c'è assolutamente nessuna differenza tra crediti e debiti. Sono semplicemente movimenti di valore.

Devono essere memorizzati nella stessa colonna, con un valore firmato. Ciò rende la contabilità in partita doppia molto più semplice * a. Alcune persone credono che la contabilità a partita doppia significhi tenere due serie di libri, uno per il dipartimento delle imposte (per ridurre al minimo le tasse pagate) e uno per la realtà.

Tuttavia, in realtà significa che ogni transazione è equilibrata, che ha una voce di credito e di debito, anche se spesso sono costituiti da un sacco di parti, piuttosto che solo due (e attraversano liberamente dal bilancio (ad esempio, l'equità ., attività, passività) al conto economico (per esempio, il reddito, la spesa), ad esempio, l'acquisto di alcune azioni di intermediazione possono essere:

cash at bank  Asset  2019.95 cr 
shares at cost Asset  2000.00 dr 
brokerage  Expense  19.95 dr 
          ---------- 
           0.00 

* una: mi può trattare come un autorità qui * b. Ho lavorato su quattro pacchetti separati di contabilità commerciale, uno dei quali era enorme. Ancora più importante, mia moglie è una CA e lei è d'accordo con me, e questo è abbastanza insolito che io devo di avere ragione :-)


* b: Naturalmente, non si deve trattare chiunque come autorità * c. "Ogni uomo, all'età di 30 anni, è o il suo medico o un idiota" e così via. Assicurati di aver capito perché qualcosa è accettato come "giusto", non seguire ciecamente la folla.


* c: A meno che non si tratta di me :-)

+3

+1. Inoltre, non vi è alcun vantaggio nel separare le colonne da una prospettiva delle prestazioni del database e, se si dispone di entrambe le colonne, è necessario imporre che una di esse sia NULL, altrimenti si potrebbero ottenere dati strani. Nell'interfaccia di presentazione, è possibile dividerlo in due colonne, ovviamente. – Thilo

+0

lol punto * c, a meno che non sia tu: D, quello che dici ha senso per me, questo è quello che sto accettando come risposta :) – 001

+0

paxdiablo, un'altra domanda per te qui http://stackoverflow.com/questions/4074737/ accounting-database-storage-a-transaction: D – 001

1

Un'eccezione non è stato menzionato. Come si chiama una voce con un importo pari a zero? Si tratta di un credito o di un debito?In alcuni casi ho dovuto mostrare che l'importo è stato calcolato su un valore non arrotondato diverso da zero, ma l'importo arrotondato è pari a zero come con gli scambi di valute, gli importi delle tasse, ecc. Pertanto preferisco un indicatore esplicito del debito o flag di credito e memorizza l'importo come valore positivo.

+4

Se è zero, non lo aggiungi :) non è un credito o un debito – 001

Problemi correlati