Datový návrh v PostgreSQL - úvod do problematiky

Před nedávnem opět nepatrně ožila konference o účetnictví pro linux. Podobným diskusím jsem se přestal věnovat už dávno, protože jsem získal dojem, že nikdy o nic jiného než o diskusi nešlo.

Nejsem účetní a nikdy jsem s účetnictví neměl nic společného. Ale základ podvojného účtování je velmi jednoduchý a přitom jde o univerzální a velmi efektivní nástroj na počítaní peněz. Datové struktury a funkce popsané v dalších funkcích jsem vypreparoval z informačního systému na sledování provozu výrobní linky solárních článků.

Nejtěžší na celé myšlence podvojného účtování je pochopení principu. V původní papírové podobě se účtovalo v několika knihách, z nichž nejdůležitější je hlavní kniha. Zde jsou uvedeny všechny seznamy účtů, se kterými se v účetnictví pracuje, a jejich zůstatky na straně má dáti a na straně dal. Seznam účtů (bez zůstatků) se označuje také jako účetní osnova.

Osnova v našem příkladu je značně zjednodušená, na finančním úřadě byste ji neuhájili, ale jako kostra pro domácí účetnictví by mohla postačovat:

Účet Popis Strana účtu Zůstatek
Synt.Anal. Má dáti Dal
211000 Peněženka 11332.2010309.30 1022.90
221100 Bankovní účet: Komerční banka, běžný účet 402980.20398211.90 4768.30
221101 Bankovní účet: Komerční banka, finanční rezervy 6500.000.00 6500.00
221200 Bankovní účet: E-banka, běžný účet 32768.0032000.00 768.00
221201 Bankovní účet: E-banka, finanční rezervy 50.000.00 50.00
500100 Spotřebované nákupy 137602.00  137602.00
500200 Za nájem 108000.00  108000.00
500300 Za auto - údržba, opravy, provoz 40598.00  40598.00
500301 Za auto - benzín 20498.00  20498.00
500401 Náklady na manželku 50980.00  50980.00
500402 Náklady na přítelkyni 78309.00  78309.00
518100 Poplatky v Komerční bance 2027.20  2027.20
518200 Poplatky v E-bance 507.00  507.00
600100 Výplata  440630.40 -440630.40
600200 Honoráře  3400.00 -3400.00
600300 Ostatní příjmy  7600.00 -7600.00

Účty v podvojném účetnictví jsou rozdělené na část syntetickou a část analytickou. Syntetická část účtu je předepsaná zákonem a je vyžadována finančním úřadem. Při vyplňování daňového přiznání budete počítat pouze se syntetickými účty. Do kolonky "peníze v bance" sečtete účty 221.100, 221.101, 221.200, 221.201. Rozdělení na analytické účty není dané žádným předpisem a v účetnictví slouží především pro vás. Pro domácí rozpočet je například důležité vytváření rezerv na stálé platby (například nájemné) - proto je účet v KB rozdělen na dvě části: 221.100 a 221.101. Na účtu 221.101 je stálá rezerva a na účtu 221.100 je obnos, který můžete utratit, aniž byste ohrozili základní provoz domácnosti.

Už při prvém pohledu do hlavní knihy tak lze poznat některé závažné informace. Například náklady na udržování manželky a přítelkyně naznačují, že manželka je skromná a nenáročná holka a že by bylo lépe ji zbytečně nenervovat a přítelkyni pustit k vodě.

Každý účet v hlavní knize má dvě strany: má dáti a dal. Nejsnáze se strany účtů vysvětlují na peněžních (aktivních) účtech (221, 211). Na stranu má dáti se připisují peníze, které na účet přicházejí, na stranu dal se připisují peníze, které se z účtu odčerpávají. Momentální zůstatek na účtu se pak spočítá jako rozdíl strany má dáti a dal.

U pasivních účtů je role stran má dáti a dal obrácená - proto vycházejí zůstatky například u příjmů (účty 600) záporné. V praxi se proto u pasivních účtů obrací znaménko. V našem příkladu není znaménko obrácené kvůli dalšímu výkladu o kontrolách.

Dalšími knihami, které se v podvojném účetnictví vedou, jsou deníky jednotlivých účtů. V deníku se zapisují podrobné informace o každé účetní transakci. V papírové podobě je lépe vést deník ke každému účtu zvlášť, v digitální podobě bývá deník společný pro všechny účty. Velmi malá ukázka z deníku může vypadat takto:

Číslo Popis Má dáti Dal
Účet 221.100: Bankovní účet: Komerční banka, běžný účet
1 Výplata 24000.00  
2 Dovolená s přítelkyní   14000.00
Účet 600.100: Výplata
1 Výplata   24000.00
Účet 500.402: Náklady na přítelkyni
2 Dovolená s přítelkyní 14000.00  

Z příkladu lze vysledovat, jakým způsobem se jednotlivé částky účtují. Výplata (číslo účetního záznamu 1) se účtuje na účet 600.100 strana dal a na účet 221.100 strana má dáti. Zároveň při zápisu do deníků jednotlivých účtů je nutné opravit zůstatky v hlavní knize.

Protože se v každé účetní operaci zapisuje stejná částka na stranu má dáti i na stranu dal, existuje v podvojném účetnictví základní jednoduchá kontrola - součet všech účtů na straně má dáti musí být v hlavní knize stejný, jako součet všech účtů na straně dal.

Účetní operace se obvykle provádějí jen dvěma záznamy, ale nemusí to být pravidlem. Typickou odchylkou je například účtování DPH, které se do účetnictví zapisuje třemi záznamy. I v takovém případě ovšem musí souhlasit částka na straně má dáti i dal (doufám, že nějaký potměšilý skřítek nezařídil, že právě v příkladu, který uvadím, je chyba :-).

Příště si ukážeme, jak uložit údaje pro účetnictví do SQL databáze.