VYSOKÁ ŠKOLA HOTELOVÁ V PRAZE 8, SPOL. S R. O.
Bc. Martin Volf Vytvoření aplikace v tabulkovém procesoru pro kvantifikaci podnikatelského záměru v pohostinství
Diplomová práce
2013
Vytvoření aplikace v tabulkovém procesoru pro kvantifikaci podnikatelského záměru v pohostinství
Diplomová práce
Bc. Martin Volf Vysoká škola hotelová v Praze 8, spol. s r. o. katedra hotelnictví
Studijní obor: Management hotelnictví a lázeňství Vedoucí diplomové práce: Ing. Miloš Sobek Datum odevzdání diplomové práce: 2013-05-09 Datum obhajoby diplomové práce: E-mail:
[email protected]
Praha 2013
Master's Dissertation
Creating a spreadsheet application to quantify the business plan in the hospitality industry
Bc. Martin Volf The Institute of Hospitality Management in Prague 8, Ltd Department of Hotel Management
Major: Hotel and Spa Management Thesis Advisor: Ing. Miloš Sobek Date of submission: 2013-05-09 Date of Thesis Defense: E-mail:
[email protected]
Prague 2013
Čestné prohlášení
P r o h l a š u j i, že jsem diplomovou práci na téma „Vytvoření aplikace v tabulkovém procesoru pro kvantifikaci podnikatelského záměru v pohostinství“ zpracoval samostatně a veškerou použitou literaturu a další podkladové materiály, které jsem použil, uvádím v seznamu použitých zdrojů a že svázaná a elektronická podoba práce je shodná. V souladu s § 47b zákona č. 111/1998 Sb., o vysokých školách v platném znění souhlasím se zveřejněním své diplomové práce, a to v nezkrácené formě, v elektronické podobě ve veřejně přístupné databázi Vysoké školy hotelové v Praze 8, spol. s r. o.
…......................................... jméno a příjmení autora V …................................ dne 9. 5. 2013
Tímto děkuji vedoucímu mé práce Ing. Miloši Sobkovi za vstřícné vedení, konzultace, cenné rady a podměty, které mi pomohly při tvorbě diplomové práce. Dále bych chtěl poděkovat své manželce za trpělivost, pomoc a podporu po celou dobu mého studia.
Abstrakt
Bc. VOLF, Martin
Vytvoření aplikace v tabulkovém procesoru pro kvantifikaci podnikatelského záměru v pohostinství Diplomová práce Vysoká škola hotelová v Praze 8, spol. s r. o. Praha : 2013 Počet stran: 99
Tato diplomová práce na téma „Vytvoření aplikace v tabulkovém procesoru pro kvantifikaci
podnikatelského
záměru
v
pohostinství“
popisuje
tvorbu
aplikace
v tabulkovém procesoru Apache OpenOffice.org Calc, která je schopna, na základě zákonů a českých účetních standardů, zobrazit výsledek hospodaření a další informace vedoucí k posouzení realizovatelnosti podnikatelského záměru v oboru gastronomie, a to v prvním účetním období po případném založení společnosti. V první kapitole se práce věnuje základním informacím potřebným pro tvorbu samotné aplikace. Ve druhé kapitole je potom popsána vlastní tvorba aplikace. Třetí kapitola se zabývá použitím aplikace, podmínkami správného zobrazení a jejími možnými nevýhodami. Tato diplomová práce se nesnaží o to, aby sdělila, jaké vstupy jsou správné nebo špatné, ale pouze o to, aby na jejich základě zpřesnila výsledky, které budoucím uživatelům pomohou v rozhodování o investicích pro tento typ podnikatelské činnosti. Klíčová slova: finanční analýza, finanční ukazatele, účetnictví, účetní uzávěrka, makro, dialogy, buňka, proměnná.
Abstract This Master's Dissertation on the theme „Creating a spreadsheet application to quantify the business plan in the hospitality industry” describes the creation of a spreadsheet application Apache OpenOffice.org Calc, which is capable under the laws and Czech accounting standards show profit and other information leading to the assessment of the feasibility business plan in gastronomy and in the first reporting period after any foundation. In the first chapter of the thesis deals with the basic information necessary for making the application itself. The second chapter then describes the creation of own applications. The third chapter is concerned with the application requirements for the correct show and its potential disadvantages. This Master's Dissertation is not on it that said, what inputs are correct or wrong, but only that it refined on the basis of the results that will help future users in decisions on investment for this type of business.
Keywords: financial analysis, financial ratios, accounting, financial statements, macro, dialogues, cell, variable.
Obsah: Úvod.......................................................................................................................................9 1 Základní informace potřebné pro tvorbu aplikace......................................................12 1.1 Apache OpenOffice..................................................................................................12 1.1.1 Historie OpenOffice.org.....................................................................................13 1.1.2 Makra a dialogy.................................................................................................14 1.1.2.1 Označení procedur a funkcí........................................................................16 1.1.2.2 Platnost a druhy proměnných.....................................................................17 1.1.2.3 Operátory v OpenOffice.org Basic.............................................................18 1.1.2.4 Řízení běhu makra......................................................................................18 1.1.3 Funkce a operátory v OpenOffice.org Calc.......................................................19 1.2 Účetnictví a finanční analýza..................................................................................22 1.2.1 Účetnictví...........................................................................................................22 1.2.2 Finanční analýza................................................................................................24 2 Vlastní tvorba aplikace...................................................................................................29 2.1 Návrh a tvorba GUI................................................................................................29 2.1.1 Konstrukce GUI uvnitř sešitu tabulkového procesoru Calc..............................29 2.1.1.1 List Úvod....................................................................................................29 2.1.1.2 List RFB-R.................................................................................................30 2.1.1.2.1 Hlavní menu.......................................................................................31 2.1.1.2.2 Investiční náklady...............................................................................32 2.1.1.2.3 Provozní náklady................................................................................34 2.1.1.2.4 Finanční ukazatele..............................................................................35 2.1.1.2.5 Nastavení............................................................................................35 2.1.1.3 List RFBu-R...............................................................................................37 2.1.1.3.1 Nastavení............................................................................................37 2.1.1.3.2 Časové výpočty..................................................................................38 2.1.1.3.3 Frekvence plateb fixních nákladů.......................................................40 2.1.1.3.4 Daňové a účetní odpisy majetku.........................................................42 2.1.1.3.5 Zobrazení účetnictví v aplikaci..........................................................49 2.1.1.3.6 Zobrazení výstupů z účetnictví ..........................................................52 2.1.1.4 Listy RFB-F, RFBu-F, RFB-B a RFBu-B..................................................55 2.1.2 Konstrukce GUI v tabulkovém procesoru Calc pomocí maker.........................55 2.1.2.1 Konstrukce dialogů....................................................................................55 2.1.2.2 Konstrukce maker......................................................................................58 2.1.2.2.1 Modul „Navigace“..............................................................................59 2.1.2.2.2 Modul „Ostatni_makra“.....................................................................60 2.1.2.2.3 Modul „Show“....................................................................................62 2.2 Tvorba výpočtů........................................................................................................69 2.2.1 Výpočty v listu RFB-R......................................................................................69 2.2.2 Výpočty v listu RFBu-R....................................................................................71 2.3 Konečné úpravy aplikace........................................................................................78 3 Použití aplikace RFB.......................................................................................................79 3.1 Podmínky pro správné zobrazení aplikace RFB..................................................79 3.2 Projekt restaurace „Dopo Domani“.......................................................................82 3.3 Nevýhody aplikace RFB..........................................................................................83 Závěr....................................................................................................................................85 Literatura:...........................................................................................................................88
Seznam obrázků a tabulek: Obrázek 1 – Zaznamenat makro...........................................................................................15 Obrázek 2 – Sub a function .................................................................................................16 Obrázek 3 – Příklad funkce IF.............................................................................................18 Obrázek 4 – Výstup funkce IF..............................................................................................19 Obrázek 5 – Kontrola vstupních dat.....................................................................................22 Tabulka 1 – Vybrané ukazatele finanční analýzy.................................................................25 Obrázek 6 – Vlastnosti tlačítka .......................................................................................30 Obrázek 7 – Události tlačítka...............................................................................................30 Obrázek 8 – Tabulka s kopiemi nastavení a stálými hodnotami..........................................37 Obrázek 9 – Časové výpočty................................................................................................38 Obrázek 10 – Frekvence plateb fixních nákladů..................................................................41 Obrázek 11 – Tabulka s koeficienty.....................................................................................42 Obrázek 12 – Odpisové skupiny..........................................................................................42 Obrázek 13 – Koeficienty odpisů.........................................................................................43 Obrázek 14 – Kalkulačka majetku.......................................................................................43 Obrázek 15 – Lineární odpisy..............................................................................................45 Obrázek 16 – Zrychlené odpisy............................................................................................46 Obrázek 17 – Zřizovací výdaje............................................................................................47 Obrázek 18 – Kalkulačka účetních odpisů...........................................................................48 Obrázek 19 – Tabulka s časovými identifikátory.................................................................49 Obrázek 20 – Účetní tabulky................................................................................................50 Tabulka 2 – Čísla a názvy příslušných účtů použitých v aplikaci........................................51 Obrázek 21 – Zůstatky finančních prostředků.....................................................................52 Obrázek 22 – Hospodářský výsledek...................................................................................53 Obrázek 23 – Výpočet daně z příjmu...................................................................................53 Obrázek 24 – Disponibilní zisk............................................................................................54 Obrázek 25 – Správce dialogů..............................................................................................56 Obrázek 26 – Editor dialogů................................................................................................56 Obrázek 27 – Úvodní dialog................................................................................................57 Obrázek 28 – Makra v OpenOffice.org Basic......................................................................58 Obrázek 29 – Názvy maker v modulu „Ostatni_makra“......................................................60 Obrázek 30 – Editor maker (Makra pro nápovědu).............................................................61 Obrázek 31 – Názvy maker v modulu „Show“....................................................................62 Obrázek 32 – Editor maker (Makra pro úvodní dialog).......................................................63 Obrázek 33 – Makro „listener_zarizeni_itemstatechanged“................................................65 Obrázek 34 – Makro „vlozit_adresar_OpenOffice_VSH“...................................................65 Obrázek 35 – Makro „soubor_restaurace_txt“.....................................................................66 Obrázek 36 – Makro „insert“...............................................................................................66 Obrázek 37 – Makro „delete“...............................................................................................67 Obrázek 38 – Makro „rename“............................................................................................68 Obrázek 39 – Volby - OpenOffice.org – Bezpečnost...........................................................80 Obrázek 40 – Zabezpečení maker........................................................................................80 Obrázek 41 – OpenOffice.org - Bezpečnostní upozornění..................................................81
Úvod Tato diplomová práce na téma „Vytvoření aplikace v tabulkovém procesoru pro kvantifikaci podnikatelského záměru v pohostinství“ se zabývá vytvořením aplikace pro potřeby finančního modelování gastronomických provozů, které jsou ve fázi projektování. Reálné stanovení nákladů, očekávaných výnosů a optimální kapitálové struktury je velmi důležité, zvláště v prvním roce, kdy je obecně nejvyšší riziko bankrotu. Jelikož se jedná o finanční simulaci, bude přesnost výsledku vždy záležet pouze na uživateli, respektive na jeho schopnosti vložit do programu relevantní data. To je samozřejmě největším úskalím všech podnikatelských záměrů. Tato práce se však nesnaží o to, aby sdělila, jaké vstupy jsou správné nebo špatné, ale
pouze o to, aby na jejich základě zpřesnila výsledek
podnikatelského efektu a poukázala na specifické problémy spojené s podnikáním v gastronomii. Pod pojmem podnikatelský efekt můžeme rozumět finanční podnikové výstupy, které tvoří různé modifikace zisku, návratnost investice či snižování zadluženosti, ale i efekty nepeněžní povahy jako je spokojený zákazník a jeho opakující se návštěva, nebo pozitivní hodnocení ze strany objektivních a uznávaných kritiků. Ke specifickým problémům podnikání v pohostinství obecně patří optimální stanovení prodejní ceny produktů a služeb, které věcně souvisí se skladbou a velikostí nákladů podniku. Během posledních pěti let jsem byl několikrát osloven, abych se podílel na tvorbě různých gastronomických konceptů, od sestavení jejich optimálního prodejního portfolia přes nastavení cen, až po stanovení odpovídající struktury nákladů s přihlédnutím k očekávání, která požadoval investor. Ve všech případech, kdy jsem byl osloven, neměl investor žádné zkušenosti a velmi zkreslenou
představu
o
fungování
a
provozování
takovéhoto
typu
podniku.
Charakteristickým rysem těchto lidí bylo, že měli fungující firmu, ve které sami pracovali a jako vedlejší příjem chtěli nějaké pohostinské zařízení, do kterého by vložili kapitál, který by se jim postupně vrátil nejlépe v prvních dvou letech, nemuseli se starat o provoz a chodili se tam stravovat. Zpočátku mi pro potřeby výpočtů postačilo používat tabulkový procesor OpenOffice.org Calc, ve kterém jsem vytvořil jednotlivé algoritmy, které značně urychlily práci a to především ve fázi finančního modelování. Problémem ovšem bylo, že tyto propočty 9
nerespektovaly v plné výši zákonné předpisy a účetní standardy, a proto vykazovaly velmi zkreslené výsledky. Proto jsem se rozhodl vytvořené algoritmy spojit s příslušnými zákony a účetními standardy, ve snaze dosáhnout přesnějších výsledků. Důvodem vzniku této diplomové práce je, aby si každý kdo uvažuje o podnikání v gastronomii a nemá žádné nebo minimální znalosti tohoto oboru, mohl udělat finanční analýzu a namodelovat situace, do kterých se může na počátku provozování této činnosti dostat. Tato práce si tedy klade za cíl vytvořit aplikaci pomocí tabulkového procesoru Apache OpenOffice.org Calc, která na základě vložených údajů budoucích uživatelů zobrazí výsledek hospodaření společnosti a další ukazatele související s finanční stránkou tohoto typu podnikatelské činnosti v prvním účetním období společnosti. Dále si tato práce klade za cíl zpřesnit výsledek výpočtu podnikatelských efektů na základě zákonů a účetních standardů České republiky, tak aby se jejich výsledky přibližovaly co nejvíce realitě a omezila se tak nereálná očekávání budoucích investorů či provozovatelů gastronomických zařízení. Pro vyhodnocení stanovených cílů a získání odpovědí byly stanoveny dvě nulové a dvě alternativní hypotézy. 1) H0 – Lze pomocí tabulkové procesoru Apache OpenOffice.org Calc vytvořit aplikaci pro účely finančního modelování podniků v oboru gastronomie. 2) H0 – Dosáhneme vytvořením aplikace, která bude vycházet ze zákonů a účetních standardů České republiky, zpřesnění výsledků při finančním modelování. H1 – Zpřesněné výsledky odpovídají reálným situacím. H2 – Omezuje vytvořená aplikace nereálná očekávání investorů, provozovatelů. Práce je rozdělena do tří hlavních kapitol. V první kapitole jsou popsány základní informace potřebné pro tvorbu této aplikace. Jedná se především o popis samotného kancelářského balíku Apache OpenOffice.org. Věnuje se jeho vzniku, historii, funkcím a příkazům, které jsou potřebné pro tvorbu samotné aplikace. Dále jsou zde uvedeny základní charakteristiky účetnictví a finanční analýzy, ze kterých tato práce vychází.
10
Druhá kapitola je věnována samotné tvorbě aplikace a je rozdělena na tři hlavní podkapitoly. V první podkapitole je popsána tvorba GUI (grafického uživatelského rozhraní), která ovlivňuje výsledné zobrazení aplikace, samotnou práci v ní a pomocné výpočty. Druhá podkapitola se věnuje popsání vzorců, které slouží pro hlavní výpočty a třetí potom závěrečným úpravám aplikace. Ve třetí kapitole, která se věnuje použití samotné aplikace, jsou stanoveny podmínky pro její správné zobrazení, popis fiktivního projektu restaurace „Dopo Domani“ a nevýhody spojené s používáním této aplikace. V závěru diplomové práce je její stručné shrnutí podle jednotlivých kapitol a popis výsledné aplikace. Dále je zde uvedeno zhodnocení stanovených cílů jednotlivých hypotéz. Poslední část závěru je potom věnována problémům spojeným s tvorbou této diplomové práce a jejím nedostatkům. V příloze této diplomové práce jsou jednotlivá zobrazení GUI v samotné aplikaci, kterou vytvořil autor. Výstupy vytvořeného fiktivního projektu a sama aplikace na samostatném CD s názvem RFB – verze 1.0.1. Nejdůležitější metody, které jsou v diplomové práci použity, jsou finanční analýza, účetní metody pro účtování na jednotlivých účtech, účetní uzávěrka a logická stavba podmínek určených pro vzorce, které vycházejí jednak z legislativních předpisů a jednak logických předpokladů chování uživatele. Za nejdůležitější zdroje, potřebné pro vytvoření této diplomové práce, lze považovat elektronickou knihu „OpenOffice.org Macros Explained“, projektovou dokumentaci kancelářského balíku Apache OpenOffice.org a příslušné zákony, které jsou uvedeny v seznamu literatury.
11
1 Základní informace potřebné pro tvorbu aplikace V této části kapitoly se blíže seznámíme s kancelářským balíkem Apache OpenOffice a jeho tabulkovým procesorem OpenOffice.org Calc, který je jeho součástí. Vysvětlíme si jeho vznik, historii, vývoj a poslání. Současně zde zavedeme pojmy makro a dialogy a vysvětlíme si, jak se tvoří a co je jejich funkcí. Dále popíšeme funkce a operátory, které budeme potřebovat v tabulkovém procesoru pro tvorbu aplikace. V kapitole 1.2 Účetnictví a finanční analýza se seznámíme krátce s pojmem účetnictví v rozsahu potřebném pro další práci, jeho stručnou charakteristikou a zákonem o účetnictví. V podkapitole 1.2.2 Finanční analýza si shrneme její vznik, historii, funkci a ukazatele, které budou součástí této aplikace a krátce je popíšeme. 1.1 Apache OpenOffice Jak jsme již uvedli na začátku, je OpenOffice.org Calc součástí kancelářského balíku Apache OpenOffice.. Jedná se o tabulkový procesor, jehož vývoj je v současnosti zaštiťován společností Apache Software Foundation a poslední verze, která byla vydána 23. srpna 2012, nese označení 3.4.1.1 Kancelářský balík obsahuje mimo již zmíněného modulu Calc také modul Write - textový procesor, Impress – program pro prezentace, Draw – vektorový grafický editor, Math – editor vzorců a Base – databázový program 2. Apache OpenOffice je otevřený počítačový software nazývaný „open-source“. Přičemž otevřenost je zde chápána ve smyslu dostupnosti zdrojového kódu a bezplatné licenci, což znamená, že uživatelé mohou tento kancelářský balík volně užívat a navíc mohou nejen číst ze zdrojového kódu, ale dokonce jej i upravovat, což například u konkurenčního produktu společnosti Microsoft možné není. Hlavním posláním vypracovaným komunitou OpenOffice.org je „To create, as a community, the leading international office suite that will run on all major platforms and provide access to all functionality and data through open-component based APIs and an XML-based file format.“3 Tedy vytvořit společenství, které povede tvorbu mezinárodní 1 Apache OpenOffice. The Apache Software Foundation [online]. Copyright 1999-2013 [cit. 2013-04-18]. Dostupné z: http://projects.apache.org/projects/openoffice.html 2 Apache OpenOffice Product Description. Apache OpenOffice [online]. Copyright © 2011-2012 [cit. 2013-04-18]. Dostupné z: http://www.openoffice.org/product/index.html 3 About Apache OpenOffice. Apache OpenOffice [online]. Copyright © 2011-2012 [cit. 2013-04-18]. Dostupné z: http://www.openoffice.org/about/
12
kancelářské soupravy, která bude spustitelná na všech hlavních platformách a bude poskytovat přístup ke všem funkcím a datům prostřednictvím otevřených součástí založených na API a XML formátu souborů. Základními platformami, které v současnosti podporují tento software, jsou Windows - XP, 2003, Vista, 7, 8 (32-bit), Linux - RPM / deb-based (32-bit a 64-bit) a MacOS X (Intel) 10.4 (Tiger) do 10,8 (Mountain Lion). V přípravě jsou ale i Solaris, FreeBDS a OS/2.4 1.1.1 Historie OpenOffice.org V roce 1999 americká společnost Sun Microsystems koupila německou společnost StarDivision, která v letech 1980 - 1999 vyvinula patentovanou kancelářskou soupravu StarOffice. V červnu 2000 byl společností Sun Microsystens vydán StarOffice 5.2. 5 Současně s tím zveřejnila společnost Sun Microsystems zdrojový kód k tomuto produktu s oznámením, že hodlá vytvořit „open-source“ komunitu s cílem vytvořit kancelářský balík, který by konkuroval společnosti Microsoft a jejím MS Office, a který by byl poskytován zdarma. Tento projekt a současně i software, jehož základem se stal StarOffice, byl pojmenován OpenOffice.org. V květnu 2002 vyšel OpenOffice.org 1.0 a ve stejném měsíci zaznamenal 6 milionů stažení a 2000 komentářů týdně. Do října roku 2003 bylo zaznamenáno více než 8,5 milionu stažení, registrovalo se přes 70.000 členů a na vývoji se podílelo více než 100 vývojářů a přispěvatelů. V březnu roku 2005 vyšel OpenOffice.org 2.0 a v říjnu 2008 OpenOffice.org 3.0.6 V lednu 2010 byla společnost Sun Microsystems koupena společností Oracle Corporation a převzala
dohled
nad
projektem
OpenOffice.org,
který
přejmenovala
na
Oracle Open Office a současně i vývoj komerčního StarOffice, jehož základem je OpenOffice.org.7 V září téhož roku odešla většina vývojářů z obav o další osud projektu pod novým vedením a založili nadaci The Document Foundation, která v témže měsíci vydala první verzi tohoto kancelářského balíku pod názvem LibreOffice ve verzi Beta 1 a k dnešnímu datu je k dispozici již LibreOffice 4.0.2. Obavy ze strany původních vývojářů 4 Apache OpenOffice - Third-Party Ports and distributions. Apache OpenOffice [online]. Copyright © 2011-2012 [cit. 2013-04-18]. Dostupné z: http://www.openoffice.org/porting/ 5 About Apache OpenOffice. Apache OpenOffice [online]. Copyright © 2011-2012 [cit. 2013-04-18]. Dostupné z: http://www.openoffice.org/about/ 6 OpenOffice.org History and Milestones 1999 - 2005. Apache OpenOffice [online]. Copyright © 20112012 [cit. 2013-04-19]. Dostupné z: www.openoffice.org/about_us/milestones.html 7 About Apache OpenOffice. Apache OpenOffice [online]. Copyright © 2011-2012 [cit. 2013-04-18]. Dostupné z: http://www.openoffice.org/about/
13
se potvrdily, protože po vydání Oracle Open Office 3.3 v lednu 2011 společnost Oracle zastavila i z důvodu přerušení dosavadní spolupráce s vývojáři projekt OpenOffice.org, respektive Oracle Open Office.8 V červnu 2011 přenechala společnost Oracle zdrojový kód a ochranné známky společnosti Apache Software Foundation, která jej oživila a zahrnula pod licenci Apache. V květnu 2012
potom
vydala
první
beta
verzi
kancelářského
balíku
pod
názvem
Apache OpenOffice 3.4, která se vyvinula až do současné verze 3.4.1 a je i nadále poskytován jako „open-source“ software.9 V období od 7. 8. 2012 do 31. 3. 2013 zaznamenal Apache OpenOffice 44.190.555 stažení 10. V České republice pak bylo zaznamenáno v období od 8. 5. 2012 do 10. 12. 2012 219.766 stažení, čímž jsme se umístili na 18 místě v počtu stažení tohoto svobodného kancelářského balíku.11 1.1.2 Makra a dialogy V OpenOffice.org jsou makra a dialogy uložené v jednotlivých modulech. Moduly jsou uloženy v knihovnách, se kterými logicky souvisejí a ty jsou potom uloženy v kontejnerech. Součástí kancelářského balíku je IDE (Integrované vývojové prostředí), které se používá pro ladění maker a dialogových oken. V makrech je uložena posloupnost příkazů, která je spuštěna nějakou akcí. Nejčastěji to bývá stisknutí klávesy či tlačítka. Příkazy jsou založeny na programovacím jazyku „Basic“, který je založen na OpenOffice.org API (Aplikační programové rozhraní). Dialogy nebo dialogová okna jsou určena pro komunikaci s uživatelem. Může obsahovat jednak informace pro uživatele, nebo je jejich prostřednictvím získávat. Programovací jazyk v OpenOffice.org je velmi flexibilní a umožňuje automatizaci jednoduchých i složitých úkolů. I když jsou makra velmi užitečná věc, nemusí být vždy tím nejlepším řešením daného problému. Využívají se zejména v případech, kdy je potřeba zpracovat stále se opakují úkoly stejným způsobem, nebo stále se opakující akce, které trvají několik kroků.12 Makro lze vytvořit dvěma způsoby. Prvním je spustit funkci nahrávání maker přes 8 The Document Foundation [online]. September 2010 [cit. 2013-04-20]. Dostupné z: http://www.documentfoundation.org/ 9 The Apache OpenOffice Project Announces Apache OpenOffice™ 3.4. Apache OpenOffice [online]. Copyright © 2011-2012 [cit. 2013-04-19]. Dostupné z: http://www.openoffice.org/news/aoo34.html 10 Download Stats. Apache OpenOffice [online]. Copyright © 2011-2012 [cit. 2013-04-19]. Dostupné z: http://www.openoffice.org/stats/downloads.htmltries.html 11 Downloads by Country. Apache OpenOffice [online]. Copyright © 2011-2012 [cit. 2013-04-19]. Dostupné z: http://www.openoffice.org/stats/countries.html 12 OpenOffice.org Macros Explained. 2012. Dostupné z: http://www.pitonyak.org/book/
14
Nástroje > Makra > Zaznamenat makro. Obrázek 1 – Zaznamenat makro
Zdroj: Vlastní zpracování Po spuštění si bude program pamatovat jednotlivé kroky, které jsme provedli, až do chvíle kdy ukončíme nahrávání stisknutím tlačítka Zastavit nahrávání a zobrazí se dialogové okno, které nás vyzve k pojmenování a uložení našeho makra. Druhým způsobem je, že budeme naše makra psát přímo. K tomuto účelu je v OpenOffice.org integrované vývojové prostředí IDE. Volbou Nástroje > Makra > Správce maker > OpenOffice.org Basic se spustí dialogové okno, ve kterém vybereme požadovaný dokument, knihovnu a volbou Nový vytvoříme nový modul. Po potvrzení se zobrazí programovací rozhraní IDE, ve kterém můžeme jednotlivá makra vytvářet. Pro psaní vlastních maker je potřeba znát příslušný programovací jazyk OpenOffice.org Basic. Jak již bylo řečeno výše, spuštění makra je prováděno nejčastěji nějakou akcí, například stisknutím klávesy nebo tlačítka, které můžeme vytvořit uvnitř dokumentu či přímo v hlavní nabídce. Volbou Nástroje > Přizpůsobit se otevře dialogové okno, ve kterém můžeme přiřadit vlastní makra jednotlivým akcím. Může se zde také nastavit, zda tato makra budou platit pouze pro jeden dokument, nebo pro všechny. Pro vytvoření ovládacího prvku, například tlačítka, je zapotřebí v nabídce Zobrazit > Panel nástrojů vybrat položku Prvky ovládacího formuláře. Po potvrzení se nám tato nabídka objeví na panelu nástrojů. Vybereme požadovaný ovládací prvek a vytvoříme jej. Ve vlastnostech tohoto prvku 15
přiřadíme makro, které si přejeme tímto ovládacím prvkem spustit. Další možností jak makro spustit, je spustit jej přímo pomocí Nástroje > Makra > Spustit makro. Co se týče dialogů, ty lze vytvořit volbou Nástroje > Makra > Správce dialogů. Po potvrzení se otevře dialogové okno, ve kterém můžeme vytvořit názvy našich dialogů a jejich potvrzením se dostaneme již přímo do programovacího vývojového rozhraní. Dialogy samy o sobě nejsou nositeli žádných procedur či funkcí. Dialogy jsou jimi pouze vyvolávány, ať už z informačních důvodů pro uživatele, či jako rozhraní pro zadání vstupních údajů od uživatele a následnému zpracování dle příslušného naprogramování, jak bylo popsáno výše. 1.1.2.1 Označení procedur a funkcí Pokud
chceme
vytvořit
vlastní
makro,
spustíme
programovací
rozhraní
OpenOffice.org Basic a pojmenujeme jej. U pojmenování musíme respektovat určitá pravidla, a sice jméno musí začínat písmenem, dále nelze používat diakritická znaménka, v jednotlivých názvech nelze nechávat mezery a název nesmí být shodný s jiným názvem a s názvem procedur či funkcí. Nedodržení těchto pravidel má za následek nefunkčnost maker a při jejich spuštění se zobrazí chybové hlášení. Programovací jazyk OpenOffice.org Basic nerozlišuje velká a malá písmena a pro označení mezer se všeobecně používá podtržítko, které budeme v další části používat také, ovšem není to podmínkou. Každý program má svůj začátek a konec. Tak je tomu i v našem případě, kdy je začátek procedury či funkce pojmenován pomocí sub nebo function a konec pak end sub / end function. Jednoduchý zápis makra potom vypadá takto: Obrázek 2 – Sub a function
Zdroj: Vlastní zpracování 16
Rozdíl mezi těmito dvěma příkazy ohraničujícími začátek a konec je, že sub se používá ve chvíli, kdy je potřeba provést nějaký zápis pro obsluhu dokumentů, ale nevrací žádnou hodnotu. Naproti tomu function se používá tam, kde chceme vždy získat nějakou výstupní hodnotu. Pomocí příkazu REM mezera a text, můžeme do makra vložit komentář, který makro po spuštění sice zaznamená, ale díky poznámce REM jej přeskočí a pokračuje v proceduře. To se hodí v případech, kdy jsou naše makra rozsáhlejší a usnadňují nám v nich orientaci. Ekvivalentem k příkazu REM je apostrof, který plní stejnou funkci, jak je vidět na obrázku 2. Pro naplnění jednotlivých procedur a funkcí je zapotřebí správně nadefinovat proměnné, znát jednotlivé příkazy jazyka OpenOffice.org Basic a jejich syntaxi. 1.1.2.2 Platnost a druhy proměnných Když se tvoří makra, je potřeba programu sdělit, kdy se s proměnnými bude pracovat a jakého jsou druhu. Proměnné lze deklarovat jako lokální (dim, static), veřejné (dim, public), globální (global) a soukromé (private). Lokální proměnné platí pouze při běhu spuštěného makra, ve kterém jsou definované. Veřejné proměnné platí pro celou knihovnu a nezáleží na tom, v jaké části zdrojového kódu jsou zapsané. Globální proměnné pak platí pro celý OpenOffice..org. Deklarace soukromých proměnných se provádí v případě, že chceme použít stejný název proměnné v ostatních modulech. Program k min potom přistupuje nezávisle a nevyhodnotí shodný název jako chybu. Základními druhy proměnných jsou objektové (as object), řetězcové (as string), číselné (as integer, as long, as single, as double, as currency), logické (as boolean) a datumové (as date). Příkladem syntaxe může být „dim promenna as object“. Proměnné můžeme také nedeklarovat, v tom případě je proměnná definována jako variant (as variant) a záleží pouze na programu, jak jí vyhodnotí. U menších maker to samozřejmě nevadí, ale u složitějších by mohlo docházek k jejich nechtěnému chování.13
13 SEDLÁČEK, Daniel. Malá makra v OpenOffice.org: Pravidla editace maker. OpenOffice.cz [online]. 2012, č. 3 [cit. 2013-04-20]. Dostupné z: http://www.openoffice.cz/doplnky/pravidla-editace-maker
17
1.1.2.3 Operátory v OpenOffice.org Basic Základní typy operátorů, které podporuje tento programovací jazyk, jsou matematické, logické a porovnávací. Matematické + , - , * , / , ^. Logické AND, OR, NOT. Porovnávací = , > , < , => , <= . 1.1.2.4 Řízení běhu makra IF je základním a nepostradatelným příkazem. Díky tomuto příkazu dokážeme řídit makro na základě vstupních podmínek, nebo na základě podmínek, které byly změněny v průběhu běhu makra. Příkaz „IF“ je větvícím příkazem. To znamená, že pokud je podmínka vyhodnocena jako pravda, pokračuje makro dál po větvi pravda a naopak, pokud je podmínka vyhodnocena jako nepravda, pokračuje po větvi nepravda. Syntaxe tohoto příkazu je „If … then … else … endif“ (podmínka, potom, jinak, konec podmínky). Obrázek 3 – Příklad příkazu „IF“
Zdroj: Vlastní zpracování Na obrázku 3 vidíme proměnnou definovanou jako integer, její hodnotu, podmínku pokud promenná = 1, reakci na podmínku. Příkaz pritnt mezera text v uvozovkách zobrazí dialogové okno s tímto textem. Následuje příkaz elseif, který se dá přeložit jako „nebo když“, podmínku promenná = 2, reakci na podmínku, else (pokud nevyhovuje žádná podmínka) reakci na tuto variantu a konec podmínky. V našem případě tedy makro vyvolá dialogové okno, které vidíme na obrázku 4.
18
Obrázek 4 – Výstup příkazu „IF“
Zdroj: Vlastní zpracování Pouze pro úplnost je třeba dodat, že existuje ještě příkaz case a end select, který jej ukončuje. Vlastnostmi je velmi podobný příkazu „IF“, ale na rozdíl od něj je zadávání podmínek mnohem kratší, a proto je ho v některých případech vhodnější použít i z důvodu větší přehlednosti zdrojového kódu. Příkazů je velmi mnoho a jejich popsání není cílem této diplomové práce. V této části jsou uvedeny skutečně pouze základy pro vytvoření představy, jak se s makry a dialogy pracuje. V dalších kapitolách budeme využívat i jiné příkazy a postupy, které si také podrobněji popíšeme. 1.1.3 Funkce a operátory v OpenOffice.org Calc I když jsou příkazy a funkce maker zásadní pro vytvoření zvolené aplikace, nejsou její jedinou součástí. K její tvorbě je potřeba využít i funkce, které jsou součástí OpenOffice.org Calc. Jak bylo řečeno výše, OpenOffice.org Calc (dále jen Calc) je tabulkový procesor, který je součástí kancelářského balíku Apache OpenOffice. Veškeré funkce, které Calc podporuje, jako i jejich syntaxe, jsou součástí nápovědy, nebo lze použít tištěnou publikaci v českém jazyce „OpenOffice.org Calc“.14 V Calcu je i možnost vytvořit 14 NAVRÁTIL, Pavel a Michal JIŘÍČEK. OpenOffice.org Calc. 1. vyd. Kraslice na Hané: Computer Media, 2007, 128 s. ISBN 80-866-8674-4.
19
si funkce vlastní, ale v našem případě to potřebovat nebudeme. Každý vzorec, který budeme psát, začíná znaménkem =, které se zapisuje buď přímo do buňky, kde chceme psát vzorec, nebo do panelu vzorců. Matematické operátory jsou základní funkční znaky, bez kterých se při tvorbě aplikace neobejdeme. Jsou to: + , – , * , / , < , > , =. Díky nim budeme moci sdělit programu, jak a kdy má počítat. Do této kategorie můžeme zařadit i funkci „SUM“, která má stejnou funkci jako znaménko +, ovšem s tím rozdílem, že zatímco při sčítání je třeba vkládat mezi adresy buňky toto znaménko u funkce „SUM“ postačí rozsah sčítané oblasti. Například syntaxe =SUM(A1:A5) sečte všechny buňky v dané oblasti od A1 do A5. Další symbol, který nám usnadní práci při psaní vzorců, je „$“. Díky němu můžeme zafixovat adresu buňky a zajistit tak, že při kopírování buněk zůstane zafixován řádek nebo sloupec (relativní adresování), nebo obojí najednou (absolutní adresování). Pokud ve vzorci použijeme dvě uvozovky za sebou „ ““ “, Calc je vyhodnotí tak, že do buňky zapíše prázdné pole a buňka bude vypadat jako prázdná. Ve skutečnosti je ale vyplněna mezerou. Logické porovnávací operátory „AND“, „OR“ a „NOT“. „AND“ a „OR“, jejich syntaxe je shodná, ovšem mají rozdílný význam. Například =ADN(Logická hodnota 1; Logická hodnota 2;...), nám vyhodnotí tuto funkci jako „PRAVDA“, pokud budou všechny logické hodnoty pravdivé. V opačném případě, pokud je jen jediná logická hodnota nepravdivá, vyhodnotí ji jako „NEPRAVDA“. Logickou hodnotou může být například, že A1=A2. Pokud do buněk A1 a A2 zapíšeme například číslo 1, bude informace pravdivá. Funkce „OR“ vyhodnotí funkci jako „PRAVDA“, pokud je jen jedna logická hodnota pravdivá. „NOT“ má pouze jednu logickou hodnotu. Pokud není pravdivá, vyhodnotí ji jako „PRAVDA“ a naopak. Nejdůležitější funkcí je, jako v případě řízení běhu maker, příkaz „IF“. V tomto případě se však nejedná o příkaz, ale o funkci, která má poněkud odlišnou syntaxi a její využití je mnohem omezenější a v některých případech komplikovanější a náročnější na orientaci, než je tomu právě v makrech. Jedná se tedy o podmínkovou funkci, která má syntaxi =IF(Test;Potom;Jinak). Funkce „ROUND“, „ROUNDUP“ a „ROUNDDOWN“ jsou zaokrouhlovací funkce. Syntaxe jsou totožné, ale každá zaokrouhluje jiným způsobem. „ROUND“ zaokrouhluje k nejbližšímu číslu na daný počet míst. „ROUNDUP“ zaokrouhluje nahoru na daný počet
20
míst a „ROUNDDOWN“ dolů na daný počet míst. Syntaxe je =ROUND(číslo;počet). Časové a datumové funkce „TODAY“, „DATE“, „YEAR“, „DAY“, „MONTH“ a „DAYSIMMONTH“. Funkce „TODAY“ je jedinou časovou funkcí použitou v této aplikaci. Má syntaxi =TODAY() a vrací aktuální datum. Funkce „DATE“ má syntaxi =DATE(Rok;Měsíc;Den), a do pole se vzorcem zobrazí datum ve formátu Den.Měsíc.Rok. Za jednotlivé argumenty lze dosadit i jiné buňky, ovšem musí být naplněny odpovídajícími hodnotami. Funkce „YEAR“, „DAY“ a „MONTH“ mají shodnou syntaxi a například funkce =YEAR(Číslo) vrátí z data ve formátu Den.Měsíc.Rok pouze příslušný rok. Stejně tak funkce „MONTH“ měsíc a „DAY“ den. Funkce „DAYSIMMONTH“ pak ze stejného datového formátu vrátí počet dní v daném měsíci. Funkce samozřejmě umí i přestupný rok. Funkce „FIND“ je vyhledávací funkce jednoho textu uvnitř druhého. Ač je to na první pohled divné, že při výpočtu budeme vyhledávat text, je to opodstatněné. Ve výpočtech se dostaneme do situace, kdy budeme potřebovat vyhodnotit, zda je číslo v buňce desetinné či ne. Z tohoto důvodu použijeme funkci „FIND“ a předpoklad, že každé desetinné číslo obsahuje desetinnou čárku. A právě tu budeme pomocí této funkce hledat. Funkce má syntaxi =FIND(hledaný text;text;pozice). V našem vzorci pozici určovat nepotřebujeme, protože je nám jedno, kde se desetinná čárka vyskytuje. Za hledaný text dosadíme čárku a za text příslušný vzorec, o kterém bude řeč v další kapitole. Použití funkce „ISERR“ úzce souvisí s funkcí „FIND“. Pokud funkce „FIND“ v našem případě najde ve výsledku vzorce desetinnou čárku a vrátí číslo 1. V opačném případně vyhodnotí celý vzorec jako „#VALUE!“, což znamená chybu. Jelikož je funkce „FIND“ součástí vzorce s podmínkou „IF“, nesmí být vyhodnocena jako chybná, protože už by nezáleželo ani na podmínce a celý vzorec by byl vyhodnocen jako chybný. Z toho důvodu použijeme funkci „ISERR“, která má syntaxi =ISERR(hodnota) a vrací hodnotu 0 v případě pravdy a 1 v případě nepravdy. Toho také budeme využívat, neboť jako jedna z mála funkcí dokáže vyhodnotit chybu jako nepravdu. Nyní si ještě představíme poslední funkci, a sice kontrolu vstupních dat. Není to přímo funkce ve smyslu početním. Pomocí ní lze kontrolovat hodnoty, které bude uživatel zadávat do aplikace. Pomocí volby Data > Kontrola vstupních dat se otevře dialogové okno, ve kterém můžeme nastavit, jaké hodnoty bude moci uživatel zapsat.
21
Obrázek 5 – Kontrola vstupních dat
Zdroj: Vlastní zpracování Jak je vidět na obrázku 5, máme pro nastavení vstupních podmínek celkem bohaté možnosti. Součástí této funkce, kterou v této aplikaci budeme hojně používat, je i možnost vytvořit nápovědu při zadávání a současně nastavit chybové hlášení, pokud by buňka nebyla zaplněna korektně. 1.2 Účetnictví a finanční analýza Tyto dva pojmy spolu velice úzce souvisí, protože účetnictví tvoří podklad pro finanční hodnocení komerčních i neziskových společností pomocí nástrojů finanční analýzy. Základní rozdíl ve výstupech finanční analýzy a účetnictví je, že účetnictví se zaměřuje v popisování skutečností směrem do minulosti, zatímco finanční analýza se orientuje jak na minulost, současnost tak i budoucnost. Cílem finanční analýzy je poskytnout jejím uživatelům nástroj pro hodnocení finanční výkonnosti společnosti. Naproti tomu hlavním smyslem účetnictví je správné stanovení daňové povinnosti společnosti. 1.2.1 Účetnictví V České republice, jakož i v ostatních vyspělých zemích, které dovolují soukromé podnikání, odvádějí komerční společnosti, nebo živnostníci určitou část ze svého zisku v podobě daně z příjmů právnických či fyzických osob. Pro naše účely budeme uvažovat 22
pouze o sazbě daně právnických osob, která je pro rok 2013 stanovena na 19%. 15 Účetnictví České republiky je upravováno zákonem o účetnictví. 16 V souvislosti s vedením účetnictví, je stanovena nejdůležitější zásada pro jejich správné vedení, a sice poskytovat věrný a poctivý obraz o skutečnosti.17 Tato zásada je zachycena také v zákoně o účetnictví, ve smyslu povinnosti vedení účetnictví, která platí od 1. ledna 199218 a je definována: „Účetní jednotky jsou povinné vést účetnictví tak, aby účetní uzávěrka sestavená na jeho základě podávala věrný a poctivý obraz předmětu účetnictví a finanční situace účetní jednotky“19 Proto, abychom mohli výstupy z naší aplikace považovat za relevantní, musí být vstupy do této aplikace zpracovány pomocí účetních metod. Dle českých účetních standardů se v účetnictví účtuje podle směrné účtové osnovy do 10 účtových tříd číslovaných od 0 do 9. V našem případě budeme používat pouze účty skupiny 0 – 7. Na tomto místě je také třeba zmínit, že výstupy z této aplikace nelze uplatnit pro potřeby daňového přiznání. I když se budeme snažit vycházet z metodiky pro účtování, tak jsou některé části značně zjednodušené. Z toho důvodu se mohou některé hodnoty lišit, případně vykazovat na jiných, například syntetických účtech. Z tohoto důvodu se nedají použít jako součást daňového přiznání. Jelikož smyslem této práce není dosáhnout absolutně přesného výsledku (což při prognózování budoucího vývoje ani není možné), ale pouze zpřesnit předpokládané výstupy, postačí nám k vyhodnocení pouze vedení účetnictví v jeho základní podobě. V aplikaci jsou kromě účtových skupin 0 – 7 řešeny výpočty související s problematikou účetních a daňových odpisů. Jak již název napovídá, jsou účetní odpisy užívány pro potřeby podnikatele a k zachycení reálného opotřebení majetku, zatímco daňové jsou součástí pro stanovení správné daňové povinnosti a při výpočtu výsledku hospodaření. Uživatel si bude moci zvolit, zda bude odepisovat majetek rovnoměrně, nebo zrychleně. Možnost zvýšené sazby odpisů aplikace neumožňuje. Dále je součástí výstupů výkaz zisků a ztrát, výsledek hospodaření a výpočet daně z příjmu spolu s daňovou povinností z příjmů 15 Zákon o daních z příjmů č. 586/1992 Sb., §21 odst. 1 16 Zákon o účetnictví č. 563/1991 Sb., 17 KOVANICOVÁ, Dana. Abeceda účetních znalostí pro každého. 19. aktualiz. vyd. Praha: Polygon, 2009, s. 3. ISBN 978-80-7273-156-5. 18 Zákon o účetnictví č. 563/1991 Sb., §40 19 Zákon o účetnictví č. 563/1991 Sb., §7 odst. 1
23
právnických osob. „Účetní informace jsou určeny jak manažerům podniku, tak různým externím uživatelům (tuzemským i zahraničním), kteří se o podnik zajímají z nejrůznějších důvodů“ 20 Pro účely této práce je za hlavního uživatele považován podnikatel, který na základě účetních metod a jejich výstupů může odhadnout předpokládanou výši své daňové povinnosti, strukturu aktiv a pasiv, dále výsledek hospodaření a to aniž by musel tyto zásady znát. 1.2.2 Finanční analýza Finanční analýza je podle autorek Petry Růžičkové a Evy Kislingerové definována takto: „...finanční analýza představuje systematický rozbor získaných dat, které jsou obsaženy v účetních výkazech. Finanční analýzy v sobě zahrnují hodnocení firemní minulosti, současnosti a předpovídání budoucích finančních podmínek.“21 „Lze ji chápat jako soubor činností, jejichž cílem je zjistit a vyhodnotit komplexně finanční situaci podniku.“22 Vznik finanční analýzy byl pravděpodobně spojen již se vznikem peněz. Novodobá historie finanční analýzy začíná ve Spojených státech, kde se také poprvé objevily práce o finanční analýze. Zpočátku se jednalo pouze o teoretické práce bez vazby na podnikovou praxi. Postupy finanční analýzy jsou na manažerské úrovni využívány již několik desetiletí. Od té doby se její metody neustále vyvíjejí. Za zlomové období ve využívání finanční analýzy pak můžeme považovat nástup výpočetní techniky. „V Čechách lze za počátek finančních analýz označit počátek tohoto století, kdy se poprvé v literatuře objevuje pojem „analýza bilanční“ ve spise Bilance akciových společností, který sepsal prof. Dr. Pazourek.“23 Výstupy finanční analýzy podávají důležité informace o výkonnosti a finančním zdraví 20 KOVANICOVÁ, Dana. Abeceda účetních znalostí pro každého. 19. aktualiz. vyd. Praha: Polygon, 2009, s. 1. ISBN 978-80-7273-156-5. 21 RŮČKOVÁ, Petra. Finanční analýza: metody, ukazatele, využití v praxi. 4., aktualiz. vyd. Praha: Grada, c2011, s. 9. Finanční řízení. ISBN 978-80-247-3916-8 22 KISLINGEROVÁ, Eva. Manažerské finance. 3. vyd. Praha: C. H. Beck, 2010, s. 46. Beckova edice ekonomie. ISBN 978-80-7400-194-9. 23 RŮČKOVÁ, Petra. Finanční analýza: metody, ukazatele, využití v praxi. 4., aktualiz. vyd. Praha: Grada, c2011, s. 9-10. Finanční řízení. ISBN 978-80-247-3916-8
24
společnosti nejen managementu, ale i řadě dalších uživatelů v závislosti na stupni jejich zainteresovanosti. Uživatele můžeme primárně členit na interní (vnitřní) a externí (z vnějšího okolí). Mezi interní uživatele patří manažeři, odboráři a zaměstnanci. Mezi externí pak investoři, banky a jiní věřitelé, stát a jeho orgány, obchodní partneři (zákazníci a dodavatelé), konkurence a podobně.24 Základními zdroji dat pro finanční analýzy jsou účetní uzávěrka (rozvaha), výkaz zisků a ztrát a přehled o finančních tocích (Cash flow) z nichž se vypočítávají různé ukazatele, které nám pomáhají při posouzení finanční situace společnosti. V této práci jsou kromě již zmiňovaných výkazů použity tyto ukazatele: Tabulka 1 – Vybrané ukazatele finanční analýzy Ukazatele
Vzorec
Struktury aktiv
Stálá aktiva / aktiva Oběžná aktiva / aktiva Zásoby / oběžná aktiva
Food cost
Náklady na suroviny / tržby
Struktury pasiv
Vlastní kapitál / pasiva Cizí kapitál / pasiva Bankovní úvěry / pasiva
Rentability ROA(rentabilita celkového kapitálu) Čistý zisk / celková aktiva ROE(rentabilita vlastního kapitálu)
Čistý zisk / vlastní kapitál
ROS(rentabilita tržeb)
Čistý zisk / tržby
ROCE(rentabilita dlouhodobě
Čistý zisk / (dlouhodobé závazky + vlastní kapitál)
investovaného kapitálu) Vlastních finančních zdrojů
Cash low / vlastní kapitál
Zadluženosti Celková zadluženost
Cizí zdroje / celkový kapitál
Dluh na vlastním jmění Zdroj: Vlastní zpracování
Cizí zdroje / vlastní kapitál
24 KISLINGEROVÁ, Eva. Manažerské finance. 3. vyd. Praha: C. H. Beck, 2010, s. 48. Beckova edice ekonomie. ISBN 978-80-7400-194-9.
25
Ukazatele
Vzorec
Aktivity Obrat celkových aktiv
Tržby / celková aktiva
Obrat fixních aktiv
Tržby / stálá aktiva
Obrat oběžných aktiv
Tržby / oběžná aktiva
Obrátka zásob
Tržby / zásoby
Doba obratu zásob
Zásoby / jednodenní tržba
Produktivity práce Produktivita práce z tržeb
Tržby / průměrný počet pracovníků
Čistá průměrná měsíční mzda
Součet měsíčních čistých mezd / počet zaměstnanců
Likvidity Běžná likvidita
Oběžná aktiva / krátkodobé závazky
Pohotová likvidita
(Finanční
majetek
+
pohledávky)
/
krátkodobé závazky Okamžitá likvidita
Finanční majetek / krátkodobé závazky
Pracovní kapitál na aktiva
(Oběžná aktiva – krátkodobé závazky) / celková aktiva
Ukazatel kapitalizace
Dlouhodobá aktiva / celkový dlouhodobý kapitál
Bankrotní ukazatele Altmanův index
viz. text dále
IN 95 Zdroj: Vlastní zpracování
viz. text dále
Z tabulky 1 celkem jasně vyplývá, co jednotlivé ukazatele znamenají, a jak se počítají. Za zmínku ovšem stojí „Food cost“, který je specifickým ukazatelem pro oblast pohostinství. Za jeho hodnotu většinou zodpovídá vedoucí kuchyně. Altmanův index a index IN 95 jsou součástí takzvaných bankrotních ukazatelů. Jejich hodnoty tedy signalizují riziko zániku společnosti. Koeficienty, kterými se násobí jednotlivé ukazatele, byly zjištěny, na základě dlouhodobého statistického šetření. Altmanův index vyvinul E. I. Altman roku 1968 v USA. Altman rozdělil na základě pěti vybraných finančních ukazatelů 66 středně velkých amerických společností, jejichž jmění bylo v rozmezí 1 až 25 mil. dolarů na dvě skupiny. První, které neměly problém s platební 26
schopností a druhé které jej měly. Pomocí přímkové diskriminační analýzy určil důležitost jednotlivých koeficientů a určil takzvané „Z-score“, tedy index pravděpodobnosti úpadku společnosti. Vzorec Altmanova indexu je: Z-score=0,012 x 1+0,014 x 2+0,033 x3 +0,006 x 4+0,999 x 5
Kde: x1 = Čistý pracovní kapitál / aktiva x2 = Zadržený kapitál / aktiva x3 = Zisk před úroky a zdaněním (EBIT) / aktiva x4 = Tržní hodnota vlastního majetku / účetní hodnota dluhů x5 = Tržby / aktiva Pokud vyjde hodnota indexu: Z-score > 2,99 společnost je zdravá 1,81 < Z-score < 2,99 společnost je na rozhraní Z-score < 1,81 společnost se nachází v úpadku Pokud vyjde Z-score < 1,81 lze předpokládat, že do dvou let s 72% pravděpodobností dojde k bankrotu společnosti.25 Index IN 95 byl sestaven manželi Neumaierovými v roce 1995, s cílem „zkonstruovat jedinou agregovanou hodnotu odrážející celkovou bonitu (míru kvality) podniku“. Tento model byl odvozen z Altmanovy metody na základě vyhodnocení matematickostatistických metod na 1698 českých podnicích. Tento test údajně z 98,9% předpovídá ztrátu hodnoty a s 84,6% tvorbu hodnoty společnosti. Sám Neumaier potom udává úspěšnost tohoto modelu kolem 70%. IN 95 se vypočítá takto: IN95=0,22
A EBIT EBIT V OA ZPL +0,11 +8,33 +0,52 +0,1 −16,8 CZ U A A KZ+KBU V
Kde: A=Aktiva CZ=Cizí zdroje EBIT=Zisk před úroky a zdaněním V=Výnosy OA=Oběžná aktiva KZ=Krátkodobé závazky KBU=Krátkodobé bankovní úvěry 25 POLLAK, Harry. Jak obnovit životaschopnost upadajících podniků. Vyd. 1. Praha: C. H. Beck, 2003, s. 21-22. ISBN 80-7179-803-7.
27
U=Nákladové úroky ZPL=Závazky po lhůtě splatnosti Pokud vyjde hodnota indexu: IN95 > 2 společnost má dobré finanční zdraví 1 < IN95 < 2 ještě není rozhodnuto o osudu společnosti IN95 < 1 společnost se nachází ve finanční tísni26 Existují i další bankrotní ukazatele (modely), ale pro naše účely nám postačí tyto dva. V této kapitole jsme si popsali základní informace potřebné pro tvorbu zvolené aplikace. Seznámili jsme se zde s pojmy jako účetnictví, finanční analýza, makra, funkce a operátory textového editoru Calc a základní literaturou, ze které budeme dále vycházet. Nyní již můžeme přistoupit ke konstrukci samotné aplikace, kterou popíšeme ve druhé kapitole této diplomové práce.
26 POLLAK, Harry. Jak obnovit životaschopnost upadajících podniků. Vyd. 1. Praha: C. H. Beck, 2003, s. 23-24. ISBN 80-7179-803-7.
28
2 Vlastní tvorba aplikace V této kapitole přistoupíme k vlastní konstrukci aplikace v tabulkovém procesoru Calc s pracovním názvem „RFB“ (Restaurace, Fast foody, Bary). Kapitola je rozdělena na dvě hlavní podkapitoly. V té první popíšeme tvorbu GUI uvnitř samotného sešitu a současně makra, která toto prostředí dotvářejí. Ve druhé podkapitole potom stručně popíšeme buňky s výpočty, které jsou určeny pro potřeby účetnictví a finanční modelování v této aplikaci. 2.1 Návrh a tvorba GUI Pro tvorbu kterékoli aplikace nebo programu, je třeba nejprve navrhnout architekturu samotné aplikace či programu. Zkratka GUI (Graphic users interface) znamená grafické uživatelské rozhraní a tento návrh je třeba vytvořit jako první, protože na základě něj budeme přizpůsobovat jak psaní zdrojového kódu při programování, tak tvorbu vzorců pro výpočty a jejich zobrazení. GUI této aplikace se skládá ze dvou částí, a sice z části, která je tvořena makry a z části, která je tvořena uvnitř samotného sešitu tabulkového procesoru Calc. GUI vytvořené v sešitech Calcu budeme částečně ovládat právě pomocí GUI vytvořeného pomocí maker. Na začátku je třeba připomenout, že v práci se nebudeme zabývat jednotlivými úpravami buněk z pohledu barev ohraničení a formátování. 2.1.1 Konstrukce GUI uvnitř sešitu tabulkového procesoru Calc Aplikace je tvořena sedmi listy jednoho sešitu. Při otevření nového sešitu se zobrazí tři listy. Ty je třeba přejmenovat a volbou na hlavním panelu Vložit > List vytvořit další listy. Listy v této aplikaci jsou pojmenovány v tomto pořadí: „Úvod“, „RFB-R“, „RFBu-R“, „RFB-F“, „RFBu-F“, „RFB-B“, a „RFBu-B“. 2.1.1.1 List Úvod V úvodu je umístěno tlačítko, které spustí makro s nabídkou pro vytvoření nového projektu. Tlačítko se vyrábí pomocí volby Zobrazit > Panel nástrojů > Ovládací prvky formuláře, tím se na hlavním panelu objeví nástroje pro tvorbu tlačítek a mnoho dalších možností. Tlačítkem Režim návrhu zap/vyp se aktivuje tato volba a vybere se ikona 29
s názvem Tlačítko. Podržením levého tlačítka myši a roztáhnutím uvnitř sešitu vytvoříme ovládací prvek „Tlačítko“.27 Když na tlačítko klepneme pravým tlačítkem myši, otevře se jeho nabídka. Ze všech položek nás zajímá pouze možnost Ovládací prvek. Po jeho výběru se dostaneme do vlastností ovládacího prvku a jeho nastavení viz obrázek 6 a 7. Obrázek 6 – Vlastnosti tlačítka
Obrázek 7 – Události tlačítka
Zdroj: Vlastní zpracování
Zdroj: Vlastní zpracování
Na kartě obecné se nastavují obecné vlastnosti prvku. V této chvíli nás bude zajímat pouze Popisek, ve kterém je zapsán jeho název „Spustit dialog“. Tento se po uzavření dialogového okna objeví přímo na tlačítku. Ještě je třeba se zmínit o poli Název, který slouží pro identifikaci ovládacího prvku. Toto pole se nemusí pojmenovávat, protože při každém vytvoření nového tlačítka Calc sám zvýší číslo v názvu a tím je odliší. 28 Na kartě události nás bude po celou dobu zajímat pouze volba Provést akci, kterou se přiřazují makra, která se mají spustit po stisknutí tlačítka. Na obrázku 7 je makro již přiřazeno. Přiřazování maker k těmto tlačítkům popíšeme v kapitole 2.1.2.2.1 Modul „Navigace“. 2.1.1.2 List RFB-R Nyní přejdeme k listu s názvem RFB-R. Tento list je zásadní pro práci uživatele v této aplikaci. List je polohově rozdělen na 5 částí, a sice na „Hlavní menu“, „Investiční náklady“, „Provozní náklady“, „Finanční ukazatele“ a „Nastavení“. 27 Tento postup budeme opakovat ještě několikrát, ale k samotné tvorbě tlačítka se nebudeme již vracet. 28 Pokud píšeme makro a chceme do jeho kódu přidat například tlačítko, či jiný ovládací prvek, musíme jej nejprve identifikovat. K identifikaci slouží právě tento název. Pro složitější práci s ovládacími prvky je pak lepší upravit název tak, aby se nám s ním lépe pracovalo.
30
2.1.1.2.1 Hlavní menu Hlavní menu je umístěno v rozsahu buněk A1:V44. Zde je potřeba vytvořit jeho grafické rozdělení, popsat jednotlivé buňky a vytvořit navigační lištu s tlačítky, ke kterým jsou později přiřazena jednotlivá makra. Tlačítka odkazují na další již jmenované části tohoto listu a tlačítko Zpět na úvod zobrazí úvodní list této aplikace. Vše, co jsme si zde popsali, je uvedené na obrázku v příloze 1. Ještě je třeba dodat, že v tomto listu je pozadí buněk, které lze uživatelem přepsat, zvýrazněno žlutou, případně tmavě žlutou barvou. Ostatní položky jsou chráněny proti přepsání a jejich barevnost pozadí je zde pouze pro přehlednost aplikace. Buňky, které jsou žluté, je třeba upravit tak, aby do nich uživatel vkládal data v takovém formátu, jaký budeme potřebovat pro další výpočty. Tmavě žluté buňky potom slouží pro pojmenování jednotlivých hodnot uživatelem. Volbou Data > Kontrola vstupních dat je vyvoláno okno s úpravami, které jsme si ukázali v předchozí kapitole na obrázku 5. Pro buňky v rozsahu D15:V15, D24:V24 a D37:V37 v kolonce Povolit jsou vybrána Desetinná. V položce Data možnost je větší nebo se rovná a v poli Minimum hodnota 0. V ostatních buňkách je nastavena podmínka Povolit, Celá čísla. U dat je vybrána opět možnost je větší nebo se rovná a minimum je nastaveno na 0. Tím máme jistotu, že uživatel nebude moci do těchto buněk vložit nižší hodnotu, než je nastavena. V buňce D26 je nastaveno minimum na D27. To samé platí pro všechny buňky v tomto řádku až do buňky V26. Podmínka je vždy shodná, pouze se ve vzorci mění písmeno příslušného sloupce. U buněk D37:V37 je pro větší přehlednost nastaven formát buňky na desetinná čísla. To se provede vybráním celé oblasti pomocí myši, kliknutím na pravé tlačítko myši a výběrem možnost Formát buněk. Otevře se okno Formátovat buňky, kde se vybere záložka Čísla a v položce Kategorie,zvolíme Procento. U ostatních buněk je nastavena kategorie na Číslo a formát na Standard.29 Na záložce Chybové hlášení je nastavena možnost Akce > Zastavit, v nadpisu je zapsáno Upozornění a v kolonce Chybové hlášení je obsažen text, který se uživateli zobrazí při vložení jiných hodnot, než které jsou povoleny.30 Poslední buňkou, kterou zde budeme upravovat, je buňka F9. Pomocí kontroly vstupních 29 V dalším textu budeme všechny žluté buňky formátovat tímto způsobem, pokud nebude uvedeno jinak. 30 Chybové hlášení budeme využívat pokaždé, kdy využijeme možnosti kontroly vstupních dat, proto se již o této tvorbě v dalším textu zmiňovat nebudeme.
31
dat je nastavena volba Povolit > Datum, Data > leží mezi, minimum > 1. 1. 2013 a maximum > 31. 12. 3000. A nakonec je buňka naformátována na datum ve formátu den, měsíc a rok. V buňkách na obrázku 8, ve kterých je číslo 0, jsou umístěny vzorce pro jejich výpočet, které jsou v tuto chvíli prázdné. Konstrukci vzorců a jejich výpočtů popíšeme v kapitole 2.2 Tvorba výpočtů. V buňce F8 je vložena funkce „TODAY“, která zobrazuje aktuální datum.31 V buňce F10 je datum počátku ekonomické činnosti. Toto datum se generuje automaticky v závislosti na datu zapsání společnosti do obchodního rejstříku. Datum je importováno z listu RFBu-R, kde je také umístěn jeho výpočet. K jeho výpočtu se dostaneme později v kapitole 2.1.1.3 List RFBu-R. 2.1.1.2.2 Investiční náklady Investiční náklady jsou v rozsahu buněk A100:V143. Zde jsou provedeny grafické úpravy, písemné úpravy a vytvořeno tlačítko, kterým se dostaneme zpět do hlavního menu a tlačítko nápovědy. Vizualizace je ukázána v příloze 2. I zde jsou upraveny některé buňky tak, aby do nich uživatel vkládal jen ty hodnoty, a v takovém formátu, jakých je potřeba pro další výpočty. Buňka C107, do které se zapisuje hodnota zřizovacích výdajů, je upravena na Celá čísla, je větší nebo se rovná, minimum 0. Buňka C108 slouží pro hodnotu základního kapitálu, jehož velikost si uživatel
volí.
Úprava je následující Celá čísla, je větší nebo se rovná, minimum 200000. U společnosti s ručením omezením, je minimální hodnota základního kapitálu 200.000,-Kč.32 V buňce C109 si uživatel nastavuje velikost vlastního kapitálu. Nastavení je Celá čísla, je větší nebo se rovná, minimum C108+C110. Z toho vyplývá, že velikost vlastního kapitálu musí být vyšší než součet základního kapitálu a rezervního fondu. Buňka hodnoty rezervního fondu se počítá automaticky, až do minimální výše stanovené zákonem, již při vzniku společnosti. Obchodní zákoník tuto možnost tvorby rezervního fondu připouští (v této chvíli je minimální hodnota rezervního fondu 10% ze základního kapitálu).33 Je to určité omezení, které není ponecháno na rozhodnutí uživatele, ale protože společnosti 31 Tuto funkci i s její syntaxí jsme si představili již v kapitole 1.1.3 Funkce a operátory v OpenOffice.org Calc, proto se k ní již nebudeme vracet. 32 Obchodní zákoník č. 513/1991 Sb., §108 33 Obchodní zákoník č. 513/1991 Sb., §124
32
v oblasti pohostinství jsou relativně malé a zpravidla nemají vyšší vklad než minimální, je hodnota tohoto omezení celkem zanedbatelná. Podnikatelé zpravidla také nemají ve většině případů zájem vázat svůj čistý zisk v rezervním fondu. Dále zde není ošetřena možnost, aby uživatel použil přímo jakékoli jiné finanční zdroje k vytvoření základního kapitálu a rezervního fondu.34 Všechny žluté buňky v oblasti cizího kapitálu, do kterých se zadává objem cizích finančních prostředků, jsou nastaveny na Celá čísla, je větší nebo se rovná a 0. U počtu splátek v buňce J107 je minimální hodnota větší než 12 a u J108 leží mezi hodnotami 1 až 12 včetně. Je to z toho důvodu, že dlouhodobý a krátkodobý bankovní úvěr je takto klasifikován v zákoně o účetnictví.35 Výše splátky v buňce L107 je nastavena na
Celá čísla, je větší nebo se rovná
a H107/J107. To znamená, že pokud uživatel zadá hodnotu měsíční splátky nižší než je podíl celkové výše úvěru a počtu měsíců splácení, zobrazí se chybová hláška. Toto nastavení platí i pro buňky L108 a L109. U ostatních nákladů na úvěr je nastaveno Celá čísla, je větší nebo se rovná a 0. Tato položka je zde zařazena proto, že bankovní půjčka je většinou spojena s pravidelnými bankovními poplatky, ať už za vedení účtu nebo úvěrového poplatku, které se ale dají v účetnictví odepsat do nákladů. To neplatí u nebankovní půjčky, u které je předpokládáno, že uživatel (podnikatel) získal finanční prostředky jiným způsobem a proto nemohou být tyto poplatky ani úroky daňově uznatelnými náklady a v této aplikaci je bude uživatel (podnikatel) hradit z čistého zisku. V buňkách Q107,Q108 a Q110 se pomocí vzorce vypočítává velikost měsíčního úroku na základě předchozích hodnot u každého zdroje cizího kapitálu a v buňkách S107, S108 a S110 jsou zobrazeny celkové měsíční náklady na úvěr, které jsou placeny z bankovního účtu každý měsíc. Velikost celkové výše splátky se skládá z celkové splátky a ostatních poplatků.36 Buňky A115, A116 a A117 se nijak formátovat nemusí, pouze jsou v nich zapsány názvy majetku, který by příslušné vzorce jinak nebyly schopny identifikovat a správně je přiřadit k účtům v účetnictví.37 34 Zde pracujeme s předpokladem, že uživatel (podnikatel), který chce začít podnikat, nějakým vlastním kapitálem disponuje. 35 Zákon o účetnictví č. 563/1991 Sb., §19 odst. 7 36 U nebankovního úvěru jsou poplatky vynechány, protože se předpokládá, že jsou součástí úroků. 37 Uživatel může totiž pojmenovat například software i jinak ačkoli se o software bude skutečně jednat a jeho zařazení by potom neodpovídalo umístění na příslušném účtě v účetnictví.
33
Jednotlivé buňky ve sloupci pojmenovaném jako Počet, jsou pomocí kontroly vstupních dat nastaveny na Položka > Seznam, zaškrtnuta volba Zobrazit seznam pro výběr, a v položkách jsou vypsány číslice od 1 do 10 oddělené tlačítkem Enter. To samé je provedeno i ve sloupci Skupina, která nám udává odpisovou skupinu dlouhodobého majetku. V buňkách G114 a G115 je ponecháno pouze číslo 1 38 a v ostatních seznam od 1 do 6. Poslední podobná úprava provedená pro buňky ve sloupci Opisy je, že na místo číslic jsou vypsány v seznamu možnosti Lineární a Zrychlené. Poslední skupina buněk ve sloupcích Životnost a Cena v Kč je nastavena na Celá čísla, je větší nebo se rovná a 0. Na tomto místě ještě jednou zopakujeme, že tmavě žluté buňky jsou přepisovatelné a nijak je není potřeba upravovat, protože slouží pouze pro pojmenování příslušných hodnot uživatelem. Ještě je třeba dodat, že v aplikaci předpokládáme pouze finanční investice, proto nebude možné vložit osobní majetek do podnikání. 2.1.1.2.3 Provozní náklady Nyní se přesuneme k provozním nákladům, které jsou v oblasti A200:V243, jak je znázorněno v příloze 3. V buňkách, které jsou pojmenovány jako Počet zaměstnanců a Částka, jsou buňky nastaveny na Celá čísla, je větší nebo se rovná a 0. Buňky, které jsou ve sloupci Podíl na tržbě v %, pak na Desetinná, je větší nebo se rovná ,0 a buňky pod názvem Hrubá mzda, na Celá čísla, leží mezi, Minimum 'RFBuR'.E23, Maximum 'RFBu-R'.E24. V tomto případě se těmito alternativními odkazy odvoláváme na list RFBu-R, kterému se budeme věnovat později v části Nastavení. Můžeme ale říci, že první hodnota je hodnota minimální hrubé mzdy a druhá maximální hodnota hrubé mzdy před povinností odvádět solidární daň. V buňkách pod nadpisem Čistá mzda a Částka u variabilních nákladů jsou napsány vzorce pro výpočet. Ty si popíšeme v části 2.2 Tvorba výpočtů. Buňky s názvy Fixní náklady, Jednorázové náklady a Variabilní náklady může uživatel libovolně měnit až na předdefinované buňky. Nyní ještě zbývá poslední skupina buněk pod názvem Frekvence plateb. Buňky L207 a L208 jsou nastaveny na Seznam, Zobrazit seznam pro výběr a do položek seznamu 38 Protože dokud se nezmění jejich zařazení v odpisových skupinách, budou vždy patřit do odpisové skupiny 1.
34
volby Roční a Půlroční. V ostatních buňkách se nachází vzorec, který v případě zapsání jakéhokoliv znaku ve vedlejší buňce, nastaví frekvenci na Měsíční.39 2.1.1.2.4 Finanční ukazatele Tato část je vytvořena v rozsahu buněk A300:V358. Ačkoliv se zde vyskytují žluté a tmavě žluté buňky, nebude moci uživatel v této části nic měnit. Slouží pouze pro zobrazení předchozích nastavení podnikatelského záměru uživatele (podnikatele). Ohraničení, barvy, popisky40 a tlačítko pro návrat do hlavního menu jsou zobrazeny na obrázku, který je uveden v příloze 4. 2.1.1.2.5 Nastavení Poslední částí GUI, které je na tomto listu, je Nastavení. V buňkách o rozsahu A400:V443 jsou provedeny grafické a popisné úpravy, vytvořeno návratové tlačítko a pomocí kontroly vstupních dat nastaveny žluté buňky v sloupci M. Výše zmíněné grafické a popisné úpravy provedeny podle obrázku, který je umístěn v příloze 5. V
buňkách,
které
obsahují
procentuální
hodnotu,
je
nastaveno
Desetinná,
je větší nebo se rovná a 0. Ostatní buňky, které zobrazují celá čísla, jsou nastaveny na Celá čísla, je větší nebo se rovná a 0. Současně jsou zapsány hodnoty pro daná nastavení. Zvýšená a snížená sazba daně je v této chvíli 21% a 15%41 (od 1. ledna 2014 je stanovena jednotná daň na 17,5%)42. Sazba daně z příjmů právnických osob je v této chvíli stanovena na 19%.43 Limity pro zařazení majetku do odepisování jsou : - Ostatní dlouhodobý nehmotný majetek, software a zřizovací výdaje nad 60.000,-Kč44 - Dlouhodobý hmotný majetek nad 40.000,-Kč45 Sazba minimální měsíční mzdy se mění v závislosti na stanovené pracovní době a náročnosti profese. Záleží tedy na uživateli (podnikateli), jakou nastaví délku pracovní doby a druh práce. Pro naše základní nastavení budeme vycházet ze sazby minimální hrubé měsíční mzdy 8000,-Kč46 39 40 41 42 43 44 45 46
Zde tedy není možnost měnit frekvenci uživatelem, jak je tomu u již zmiňovaných buněk L207 a L208. S výjimkou buněk, které popisují čísla jednotlivých účtů. Ty jsou vyplněny vzorci. Zákon o dani z přidané hodnoty č. 235/2004 Sb., §47 odst.1 Vyhláška č. 500 / 2012 upravuje Zákon o dani z přidané hodnoty č. 235/2004 Sb., §47 odst.1 Zákon o daních z příjmů č. 586/1992 Sb., §21 odst. 1 Zákon o daních z příjmů č. 586/1992 Sb., §32a odst. 1 Zákon o daních z příjmů č. 586/1992 Sb., §26 odst. 2 Ministerstvo práce a sociálních věcí. Minimální mzda od 1. 1. 2013 [online]. 1.1.2013 [cit. 2013-04-23].
35
V buňce Maximální mzda před odvodem solidární daně, je nastavena hodnota 103.536,Kč. Vycházíme zde z předpokladu, že v této oblasti podnikání nebudou zaměstnanci dosahovat takto vysokých mezd, proto nejsou v aplikaci konstruovány výpočty pro stanovení čisté mzdy, které by zahrnovaly tuto solidární daň.47 V buňkách sociálního a zdravotního pojištění jsou tyto hodnoty: –
Zdravotní pojištění zaměstnanec 4,5%
–
Sociální pojištění zaměstnanec 6,5%
–
Zdravotní pojištění zaměstnavatel 9%
–
Sociální pojištění zaměstnavatel 25%48 49
V buňce s koeficientem na zálohy daně z příjmů je zapsána hodnota 15% 50 a v buňce sleva na dani na poplatníka hodnota 2070,-Kč.51 V buňce, která odpovídá hodnotě s názvem Velikost peněžní zásoby v pokladně, je nastavena buňka na Celá čísla, je větší nebo se rovná,0 a vložena hodnota 10.000,-Kč. Jelikož se v pohostinství platí převážně v hotovosti a peníze jsou v aplikaci převáděny každý měsíc na bankovní účet, touto volbou je nastavena velikost finančních prostředků, která je určena například pro vrácení peněz hostům při placení, případně na drobné denní nákupy zboží či drobného majetku. Poslední buňka, která patří k názvu Tržní hodnota vlastního kapitálu, je nastavena na Desetinná, je větší nebo se rovná, 0 a obsahuje hodnotu 100%. Tato hodnota je zásadní pro výpočet Altmanova indexu, neboť součástí jeho rovnice je právě tato hodnota. Tato hodnota vyjadřuje, za kolik by se dala společnost i celým jejím majetkem prodat k určitému datu. V našem případě hodnota 100% znamená, že kapitál, který do ní vložíme po jejím prodeji, dostaneme celý zpět. Tím jsme skončili s popisem tvorby GUI v listu RFB-R a můžeme pokračovat listem RFBu-R.
47 48 49 50 51
Dostupné z: http://www.mpsv.cz/cs/13833 Zákon o daních z příjmů č. 586/1992 Sb., §38ha Zákon o pojistném na sociálním zabezpečení č. 589/1992 Sb., Zákon o pojistném na zdravotní pojištění č. 592/1992 Sb., Zákon o daních z příjmů č. 586/1992 Sb., §16 odst. 3 Zákon o daních z příjmů č. 586/1992 Sb., §35ba odst. 1
36
2.1.1.3 List RFBu-R Tento list, i když se zde vyskytují buňky, které mají barevné pozadí označené za přepisovatelné, je celý chráněný proti přepsání. Vykytují se zde pomocné výpočty a výpočty pro účetnictví, do kterých může uživatel nahlédnout, ale už je nemůže upravovat. Protože je tento list velmi rozsáhlý, nebude možné kompletně zobrazit popisované úpravy. V této části popíšeme některé pomocné vzorce, výpočty a uvedeme, k čemu slouží. 2.1.1.3.1 Nastavení Jako první si popíšeme tabulku, která je umístěna v rozsahu buněk A1:E37. Jsou zde zobrazovány kopie hodnot z části Nastavení a některé další hodnoty, které slouží k výpočtům ve vzorcích tohoto listu. Obrázek 8 – Tabulka s kopiemi nastavení a stálými hodnotami
Zdroj: Vlastní zpracování Stálými hodnotami jsou v buňkách E5 hodnota 100, v E15 hodnota 12 a v E34 desetinná čárka. Buňky E6 a E7 jsou součtem buněk E5, E9 a E5, E10. Buňky v oblasti A12:E13 37
jsou různé poměry a násobky buněk E5, E6 a E7, které slouží pro další výpočty. Ostatní vyplněné buňky ve sloupci E jsou již zmiňovanou kopií uživatelského nastavení. Kromě buněk E9 a E10, které jsou navíc násobeny buňkou E5, obsahují odkaz na příslušné buňky v nastavení. Například syntaxe buňky s hodnotou minimální mzdy je následující: ='RFB-B'.M416. Ostatní buňky obsahují stejný vzorec, který odkazuje na jejich příslušnou polohu. Tím docílíme toho, že jsou hodnoty z části nastavení zobrazovány v tomto listu. 2.1.1.3.2 Časové výpočty Nyní se přesuneme do oblasti buněk AA1:AC49. Jsou zde umístěny zásadní časové výpočty potřebné pro časovou identifikaci.52 Obrázek 9 – Časové výpočty
Zdroj: Vlastní zpracování 52 Pro lepší pochopení, jak tato tabulka pracuje je vloženo datum 1. 10. 2013 do buňky 'RFB-R'.F9, která je určena pro zápis data zapsání společnosti do obchodního rejstříku v listu RFB-R v části Hlavní menu.
38
Zde vycházíme z předpokladu, že uživatel (podnikatel) nezahájí svoji podnikatelskou činnost ve stejný den, kdy bude jeho společnost zapsána do obchodního rejstříku. Během tohoto období nakupuje zboží, vyřizuje úvěry, uzavírá smlouvy, provádí stavební úpravy a ostatní úkony, které povedou k otevření podniku. V této aplikaci nebude mít uživatel (podnikatel) možnost nastavit datum počátku ekonomické činnosti přímo. 53 Proto je zde vytvořen časový přepočet data zapsání společnosti do obchodního rejstříku. Je nesmysl, aby uživatel, který zadá datum zapsání společnosti do obchodního rejstříku v den, který je například dnem posledního týdnu nějakého měsíce, následující měsíc zahájil svoji podnikatelskou činnost. Proto je vytvořen přepočet, ve kterém je nastaveno, že pokud bude den data zápisu do obchodního rejstříku od 1 do 14 dne, bude předpokladem počátku ekonomické činnosti počátek následujícího měsíce. Od 15 dne do konce měsíce pak počátek ekonomické činnosti začne až prvním dnem druhého měsíce zapsání společnosti do obchodního rejstříku. V buňkách AA2:AC2 jsou obsaženy vzorce s funkcemi „DAY“, „MONTH“ a „YEAR“,54 které obsahují hodnotu buňky 'RFB-R'.F9.55 Z jejich funkcí je jasné, že jsou schopny rozložit hodnoty daného data do jednotlivých buněk, aby s mini mohly ostatní vzorce dále pracovat. Druhý řádek hodnot obsahuje datum počátku ekonomické činnosti společnosti, ze kterého se také vychází při dalších výpočtech. AA3 obsahuje číslo 1, protože vycházíme z předpokladu, že podnikatel zahájí podnikatelskou činnost k prvnímu dni nějakého měsíce. V buňce AB 3 je obsažen vzorec, který určuje měsíc počátku ekonomické činnosti. Jeho syntaxe je =IF(OR(AB2=10;AB2=11;AB2=12);AC2+1;AC2). A znamená, že v buňce AB3 se zobrazí měsíc počátku ekonomické činnosti za podmínek, které jsme zmínili výše. Buňka AC3 potom obsahuje vzorec pro výpočet příslušného roku počátku ekonomické činnosti společnosti. Jeho syntaxe je =IF(AB3>AB2;AC2;AC2+1). Buňky AC4:AC8 zobrazují ostatní roky v závislosti na roce počátku ekonomické společnosti a jsou zvýšeny vždy o jedničku. V buňkách AA10:AC21 je rozložen první rok od zapsání společnosti do obchodního rejstříku na jednotlivé měsíce. V našem případě tedy buňka AA20 se vzorcem 53 Je to z toho důvodu, že uživatel nezadává u majetku datum pořízení. Proto nemůžeme začít správně odepisovat majetek. Podle zákona o účetnictví č. 586/1992 ., odst 5 se totiž majetek odepisuje nejpozději následující měsíc od jeho zařazení do užívání. 54 Syntaxi těchto buněk jsme si vysvětlili v kapitole 1.1.3 Funkce a operátory v OpenOffice.org Calc, proto se k nim nebudeme již vracet. 55 Datum zapsání společnosti do obchodního rejstříku v části Hlavní menu.
39
=IF($AB$3=11;DAY('RFB-R'.$F$10);"") vrací hodnotu dne v závislosti na zvoleném datu v části Hlavní menu. V buňce AB20 je potom výpočet jména příslušného měsíce, tedy =IF($AB$3=11;"Listopad";IF(AB19="Říjen";"Listopad";IF (AB19= "";"";""))). A v buňce AC20 výpočet příslušného roku, tedy =IF($AB$3=11;YEAR('RFB-R'$F$10);IF($AC$19 =YEAR('RFB-R'.$F$10);YEAR('RFB-R'.$F$10);"")). V ostatních buňkách od AB22 do AB32 jsou zapsány napevno jména jednotlivých měsíců, protože ať už společnost vznikne kdykoli během roku, následující rok vždy začíná v lednu a končí v prosinci. V buňkách AA34:AA48 jsou umístěna data od zapsání společnosti do obchodního rejstříku, která slouží k orientaci v účetnictví. Buňky AA34:AB49 obsahují pevný den a číslo měsíce a poslední sloupec je upraven vzorci pro výpočet příslušných let, ve kterých se
bude
uživatel
nacházet.
V
našem
případě
tedy
buňka
obsahuje
vzorec
=IF(OR(AB2=10;AB2=11;AB2=12);AC2;AC2-1), který po splnění či nesplnění zadané podmínky vrátí příslušný rok. Na tom místě je ještě potřeba zmínit, že aplikace vychází ze zákona o účetnictví 56, který umožňuje, aby účetní jednotka, která vznikla 3 měsíce před koncem kalendářního roku, mohla vést účetnictví a podat daňové přiznání dohromady, až za 15 po sobě jdoucích měsíců.57 2.1.1.3.3 Frekvence plateb fixních nákladů Tato část je velmi důležitá a to z toho důvodu, aby bylo možné zachytit v účetnictví pravidelně se opakující výdaje související především s pořízením drobného majetku a různých poplatků, které vniknou během podnikatelské činnosti. Za tímto účelem je vytvořena tabulka s frekvencí plateb v rozsahu buněk M207:R244, jak je uvedeno na obrázku 10.
56 Zákon o účetnictví č. 563/1991Sb., §3 odst. 4 57 V této souvislosti ještě uvedeme, že uživatel nemůže volit mezi hospodářským, nebo kalendářním rokem pro účely vedení účetnictví. Aplikace vychází pouze z kalendářního roku
40
Obrázek 10 – Frekvence plateb fixních nákladů
Zdroj: Vlastní zpracování Ve sloupci Fixní náklady je obsažen vzorec =IF(O208>0;'RFB-R'.I207;""), který odkazuje do části Provozní náklady listu RFB-R a který v případě, že je zadána hodnota v odpovídající buňce ve sloupci Částka, zobrazí název fixního nákladu ze zdrojové buňky. Jinak bude buňka zobrazena jako prázdná. V tomto konkrétním případě tedy přebírá buňka M208 hodnotu z buňky 'RFB-R'.I207. Ve sloupci Částka se bez jakýchkoliv podmínek zobrazuje, jak jsme již uvedli, hodnota fixního nákladu, kterou zadává uživatel v části Provozní náklady. Sloupec Frekvence plateb obsahuje následující typ vzorce: =IF(O208>0;IF('RFBR'.L207=0;"Roční";'RFB-R'.L207);""). Tento vzorec, v případě že je zadána částka fixního nákladu, zobrazí název frekvence, kterou zadá uživatel v části Provozní náklady. Pokud nebude zadána hodnota frekvence, ale částka bude stanovena, vyhodnotí tento vzorec frekvenci za Měsíční a zobrazí ji v příslušné buňce. Tím si zajistíme, že i když uživatel nezadá frekvenci, a však zadá hodnotu fixního nákladu, vždy dostaneme hodnotu, se
41
kterou můžeme dále pracovat.58 Pro stanovení hodnoty koeficientu ve sloupci Koeficient, je vytvořena pomocná tabulka v oblasti buněk T207:U211, ve které jsou zapsány názvy příslušných frekvencí a jejich koeficienty, jak je uvedeno na obrázku 11. Obrázek 11 – Tabulka s koeficienty
Zdroj: Vlastní zpracování Na základě této pomocné tabulky jsou vytvořeny vzorce ve sloupci Koeficient. Příklad syntaxe je: =IF(P208=$T$208;$U$208;IF(P208=$T$209;$U$209;IF(P208=$T$210; $U$210;IF(P208=$T$211;$U$211;"")))). Díky těmto vzorcům, jsou přiřazeny slovní hodnoty k hodnotám číselným, se kterými se dále pracuje při účetních výpočtech. 2.1.1.3.4 Daňové a účetní odpisy majetku Nyní se zaměříme na daňové a účetní odpisy majetku. Pro daňové účely existují dva základní způsoby výpočtů, které se počítají na základě zákonem stanovených postupů pro jejich výpočet59, a sice lineární a zrychlený. My se zde při výpočtech omezíme pouze na základní koeficienty těchto výpočtů. Na obrázku 12 a 13 jsou v oblasti buněk A101:N108 a G101:N108 zobrazeny potřebné úpravy, které je potřeba provést spolu s příslušnými koeficienty, jejichž hodnoty jsou obsaženy ve výše citovaném zákoně. Obrázek 12 – Odpisové skupiny
Zdroj:Vlastní zpracování 58 Na tomto místě je třeba připomenout, že uživatel může volit jen předem definovanou frekvenci a pouze u vybraných fixních nákladů. Frekvence ostatních fixních nákladů je standardně považována za Měsíční. 59 Zákon o daních z příjmů č. 586/1992Sb., §31,§32
42
Obrázek 13 – Koeficienty odpisů
Zdroj:Vlastní zpracování U nehmotného majetku platí stejná pravidla pro výpočet daňových odpisů jako u hmotného majetku a liší se pouze v počtech let odepisování, které upravuje příslušný paragraf zákona o účetnictví.60 Na základě výše zmíněných podmínek je v aplikaci vytvořena kalkulačka majetku, aby bylo možné identifikovat majetek, který bude daňově odpisován. Tabulka s výpočty je umístěna do oblasti buněk A110:K201, jejíž část je na obrázku 14. Obrázek 14 – Kalkulačka majetku
Zdroj: Vlastní zpracování Pro lepší názornost je v části Investiční náklady vyplněno několik hodnot, které jsou do této tabulky zobrazeny, a dále se s nimi pracuje. Vzorce mají stejnou konstrukci, pouze se liší o hodnoty pro danou buňku.
60 Zákon o daních z příjmů č. 586/1992Sb., §32a
43
Sloupec Počet, Odpisy a Skupina jsou do této tabulky zobrazeny přímo. Ostatní obsahují vzorec, který import těchto hodnot určitým způsobem filtruje a upravuje. Ve sloupci Majetek jsou nastaveny podmínky, které zobrazí jméno majetku nastavené uživatelem, pokud je cena majetku vyšší než 0. V opačném případě zůstanou buňky prázdné. Vše zajišťuje vzorec =IF(E112>0;'RFB-R'.A114;""). Ve sloupci Životnost je vzorec poněkud komplikovanější a sice: =IF(C112=0;0;IF(AND('RFBR'.D114=0;E112/C112>$E$19);IF(OR(F112=0;G112=0);0; IF(G112=1;$C$103;IF(G112=2;$C$104;IF(G112=3;$C$105;IF(G112=4;$C$106;IF (G112=5;$C$107;IF(G112=6;$C$108;0)))))));IF(AND('RFB-'.D114=0;E112/C112<= $E$19);0;IF(AND('RFB-R'.D114>0;E112/C112>$E$19);IF(OR(F112=0;G112=0);0; 'RFB-R'.D114);IF(AND('RFB-R'.D114>0;E112/C112<=$E$19);IF(E112=0;0;'RFB-R'. D114);0))))). Tento vzorec zajišťuje, že pokud není nastaven počet, bude zobrazovat hodnotu 0. Pokud je, následuje podmínka, která v případě, že uživatel nezadá odhadovanou životnost majetku, nastaví její hodnotu na životnost podle příslušné odpisové skupiny. Sloupec Cena obsahuje vzorec =IF(NOT(C112=0);IF('RFB-R'.E114/'RFB-R'.C114<= $E$19;ROUND('RFB-R'.E114;0);IF(OR(C112=0;F112=0;G112=0);0;ROUND('RFBR'.E114;0)));0), který v případě, že je Počet větší jak 0 a jednicová cena majetku menší jak hranice pro zařazení majetku do daňových odpisů, zobrazí celkovou hodnotu. Dále pokud je zvolena hodnota větší než 1 ve sloupcích Počet, Odpisy a Skupina a současně velikostí jednicové hodnoty majetku spadá do daňových odpisů, potom se zobrazí celková hodnota, jinak 0. V posledním sloupci Cena za jednotku je potom vzorec =IF(C112=0;0;IF(ROUND(E112 /C112;0)>$E$19;ROUND(E112/C112;0);0)), který pokud je Počet větší jak 0 a jednicová hodnota majetku je vyšší než hranice pro zařazení do daňových odpisů, zobrazí tuto jednicovou hodnotu, jinak nic. Toho filtrování se využívá při počítání daňových odpisů. Nyní přejdeme k vytvoření tabulky, která stanovuje výši daňových odpisů v jednotlivých letech a která vychází z výše zmíněné kalkulačky majetku. Ta je rozdělena na dvě části, ve kterých se počítají lineární a zrychlené odpisy. Tabulka pro výpočet lineárních odpisů umístěna do oblasti buněk J110:BK201 a její část je zobrazena na obrázku 15. Z důvodu velkého rozsahu uvedeme pouze hlavní výřez této tabulky.
44
Obrázek 15 – Lineární odpisy
Zdroj: Vlastní zpracování Ve sloupci Majetek je obsažen vzorec =IF(AND(F112="Lineární";H112>E19);A112;""), který pokud je obsažena ve sloupci Odpisy hodnota lineární v části kalkulačka majetku a současně patří jednicová hodnota toho majetku svou hodnotou do daňových odpisů, zobrazí jeho název. V opačném případě se buňka zobrazí jako prázdná. Totéž platí pro sloupec Lineární odpisy, ve kterém je vzorec =IF(F112="Lineární";H112;""), který zobrazí hodnotu majetku ze sloupce Cena za jednotku, pokud je ve sloupci Odpisy obsažena hodnota lineární, jinak zobrazí hodnotu 0. Ve sloupcích s jednotlivými čísly jsou umístěny výpočty hodnot daňových odpisů v jednotlivých letech. Buňka N112 tedy obsahuje vzorec =ROUNDUP(IF($G112=1; $L112/100*$G$103;IF($G112=2;$L112/100*$G$104;IF($G112=3;$L112/100*$G$15;IF ($G112=4;$L112/100*$G$106;IF($G112=5;$L112/100*$G$107;IF($G112=6;$L112/100* $G$108))))));0). Počet let, pro které tyto výpočty platí, je 50.
45
Pro zrychlené odpisy majetku je vytvořena stejná tabulku jako v případě lineárních odpisů, a to v oblasti buněk BL110:BM201, jak ukazuje obrázek 21. Obrázek 16 – Zrychlené odpisy
Zdroj: Vlastní zpracování Například vzorec pro výpočet buňky BP119 vypadá takto =ROUNDUP(IF(G119=1; BN119/$K$103;IF(G119=2;BN119/$K$104;IF(G119=3;BN119/$K$105;IF(G119=4;BN11 9/$K$106;IF(G119=5;BN119/$K$107;IF(G119=6;BN119/$K$108))))));0). Jako poslední je pro potřeby výpočtu daňových odpisů vytvořena tabulka, ve které probíhá výpočet zřizovacích výdajů. Tabulka je na obrázku 17 a nachází se v rozsahu buněk A203:G204.
46
Obrázek 17 – Zřizovací výdaje
Zdroj: Vlastní zpracování V buňce A203 je doba odepisování.61 V buňce A204 popis a v C204 hodnota zřizovacích výdajů zadaných uživatelem, která se sem zobrazuje z části Investiční náklady listu RFB-R. Buňka D204 obsahuje vzorec =IF(C204<=E20;0;ROUNDUP(C204/A203;0)), který pokud je hodnota zřizovacích výdajů nižší než uživatel nastaví v části Nastavení, vrátí vzorec hodnotu 0. Pokud je jejich hodnota vyšší, spočítá průměrnou hodnotu měsíčního odpisu a zaokrouhlí na celá čísla. Buňka ve sloupci Konečný odpis obsahuje vzorec, který počítá hodnotu posledního odpisu. Jeho syntaxe je =IF(C204<=E20;0;C204(D204*(A203-1))) a platí pro ni stejná podmínka jako v předchozím případě. Navíc násobí průměrný měsíční odpis v 59 měsíci (D204*(A203-1)) a výsledek odečítá od celkové hodnoty zřizovacích výdajů. Tato hodnota se pak odepíše v posledním měsíci odepisování zřizovacích výdajů. Účetní odpisy si stanovuje společnost sama a při jejich tvorbě by se měla řídit zásadou věrného a poctivého obrazu účetnictví. Pro naše účely to bude znamenat, že uživatel v části Investiční náklady, v sloupci Životnost, nastaví předpokládanou dobu užívání majetku bez ohledu na daňové odpisy. V této souvislosti mohou nastat dva případy. V prvním případě může být doba užívání a vedení účetních odpisů kratší než daňových. V tom případě musí dojít k vyřazení majetku z užívání dříve a případně k jeho opětovnému pořízení. Ve druhém případě může být jeho životnost a vedení účetních odpisů delší než daňových. Tedy majetek již bude daňově odepsán, avšak ve společnosti užíván dále, až do konce jeho předpokládané životnosti.62 Pro potřeby účetních odpisů je vytvořena kalkulačka účetních odpisů jako v případě odpisů daňových. Umístěna je v rozsahu buněk A207:K297, jak ukazuje její část na obrázku 18.
61 V této aplikaci nebude moci uživatel ovlivnit způsob odepisování pouze u zřizovacích výdajů. Budou se počítat lineárně a po dobu 60 měsíců. 62 Možností zhodnocení majetku se v této práci zabývat nebudeme.
47
Obrázek 18 – Kalkulačka účetních odpisů
Zdroj: Vlastní zpracování Hodnoty obsažené v této tabulce vycházejí z tabulky, kterou jsme pojmenovali jako kalkulačku daňových odpisů. Proto již není třeba do této tabulky složitě filtrovat jednotlivé hodnoty ze zdrojového sešitu. Ačkoli existuje několik metod pro výpočet účetních odpisů, v aplikaci se používají pouze dva základní. Jejich výpočet je stejný jako u lineárních a zrychlených daňových odpisů, ovšem v tomto případě měněna hodnota jmenovatele v závislosti na době životnosti určené uživatelem. Ve sloupci Majetek je obsažen vzorec =IF(E208>0;A112;""), který zobrazí název majetku, pokud je přítomný na dané pozici v tabulce daňových odpisů. Pokud se na výchozí pozici nenachází žádná hodnota, zobrazí cílovou buňku jako prázdnou. Ve sloupci Počet a Cena za jednotku se zobrazují hodnoty majetku bez jakékoliv podmínky z tabulky pro výpočet daňových odpisů. Ve sloupci Životnost je pak vzorec =IF(E208=0;0;D112), který v případě, že ve sloupci Cena je hodnota 0, nastaví tuto buňku také na 0. V opačném případě zobrazí hodnotu příslušné buňky z tabulky s kalkulačkou daňových odpisů. Ve sloupci Cena je obsažen vzorec =IF(H112=0;0;E112), který v případě, že je ve sloupci Cena za jednotku hodnota 0,
48
zobrazí se také 0. Pokud ne, zobrazí hodnotu, která je obsažena v odpovídající buňce z kalkulačky daňových odpisů. Výpočty ve sloupcích Měsíční odpis a Konečný odpis jsou shodné jako v případě zřizovacích výdajů. K uplatnění účetních a daňových odpisů i s jejich výpočty v účetnictví se ještě dostaneme v části 2.2 Tvorba výpočtů, ale na tomto místě je potřeba zmínit jednu skutečnost. Totiž pokud uživatel (podnikatel) založí společnost v posledních třech měsících nějakého roku a prodlouží účetní období, jak již víme, může podat daňové přiznání až maximálně za 15 měsíců. Ovšem v souvislosti s daňovými odpisy platí, že pokud uživatel (podnikatel) pořídí nějaký majetek do konce tohoto tříměsíčního období, může jej do daňového přiznání uplatnit dvakrát. Poprvé za první rok a podruhé v druhém roce, ve kterém se daňové přiznání podá. Znamená to tedy, že lze zvýšit hodnotu daňových odpisů majetku v počátku podnikatelské činnosti. 2.1.1.3.5 Zobrazení účetnictví v aplikaci Nyní přistoupíme k částem, které podporují výpočty pro vedení účetnictví. Jako první si popíšeme orientační tabulku s časovými identifikátory, podle kterých se bude moci uživatel orientovat v této části aplikace. Dále pak její jednotlivé hodnoty slouží k účetním výpočtům vázaným na dané období. Vše je zobrazeno na obrázku 19. Obrázek 19 – Tabulka s časovými identifikátory
Zdroj: Vlastní zpracování Těchto tabulek je v listu vytvořeno 15, tedy pro každý účetní měsíc vlastní. První tabulka začíná v buňkách A300:C307 a další je vytvořena na stejné pozici, ale vždy posunutá o 300 řádků. V buňkách C300 a C301 se zobrazují jednotlivá data z oblasti Hlavní menu. V buňce C303 se generuje účetní datum podle vzorce =DATE(AC34;AB34;AA34). Hodnota buněk obsažených ve vzorci se zvyšuje vždy o jedničku pro následující tabulky. Účetní rok má vždy hodnotu 1, protože využíváme v aplikaci výše zmíněné možnosti
49
prodlouženého vedení účetnictví a sestavení účetní uzávěrky. Název účetního měsíce je zapsán ručně, stejně tak i číslo měsíce, odpisový měsíc a odpisový rok. V dalších tabulkách jsou také ručně vyplněny hodnoty čísel a jmen jednotlivých měsíců. V buňkách C306 a C307 je pevná hodnota. V následujících měsících je však v těchto buňkách vzorec, který příslušné hodnoty vypočítává. Přesuneme se nyní do oblasti A900:C907. V buňce C906 je obsažen vzorec =IF(C606>0;C606+1;IF(MONTH(C901)=C905;1;0)), který znamená, že pokud je v předchozí tabulce odpisový měsíc větší než 0, v další zvýší jeho hodnotu o 1. Jinak následuje podmínka, která identifikuje první odpisový měsíc. Tedy pokud je číslo měsíce počátku ekonomické činnosti společnosti shodné s číslem měsíce v odpovídající tabulce, zapíše se číslo 1, jinak 0. Tímto způsobem zajistíme číslování příslušných odpisových měsíců. V buňce C907 je pak vzorec =IF(YEAR(C900)=YEAR(C902);1;0), který v případě, že rok zapsání společnosti do obchodního rejstříku je shodný s účetním datem zapíše číslo 1, jinak 0. Od tabulky, která začíná na řádku 1200, jsou vzorce s podmínkami stanoveny například na =IF(YEAR(C1200)=YEAR(C1202);1;2), který zobrazí číslo 2, pokud bude datum zapsání společnosti do obchodního rejstříku od 1. 10. 20XX do 31. 12. 20XX a číslo 1, pokud bude zadáno datum od 1. 1. 20XX do 31. 09. 20XX. Tím jsme popsali tabulky s časovými identifikátory. Nyní přistoupíme k účetním tabulkám, které vycházejí z takzvané T formy. První tabulky s jednotlivými čísly účtů začínají na stejném řádku jako první tabulka s časovými identifikátory. Účty, které patří do jednoho účetního měsíce, jsou umístěny vedle sebe. Účty, které náleží dalším měsícům, jsou potom umístěny pod sebou a vždy tam, kde začínají další tabulky s časovými identifikátory. Obrázek 20 – Účetní tabulky
Zdroj: Vlastní zpracování Buňky, které mají tmavě žluté pozadí, obsahují nějaký vzorec. K problematice jednotlivých účtů, stejně jako k vysvětlení jejich funkcí a výpočtů, se dostaneme v kapitole 2.2.2 Výpočty v listu RFBu-R. Seznam účtů, které jsou potřebné pro vytvoření této aplikace, ukazuje tabulka 2. 50
Tabulka 2 – Čísla a názvy příslušných účtů použitých v aplikaci Číslo účtu Jméno účtu
Číslo účtu Jméno účtu
701
Počáteční účet rozvážkový
342
Ostatní přímé daně
011
Zřizovací výdaje
343
DPH
013
Software
345
Ostatní daně a poplatky
019
Ostatní Dl. N. M.
411
Základní kapitál
021
Stavby
421
Zákonný rezervní fond
022
Samostatné movité věci
431
Výsledek hospodaření ve ...
031
Pozemky
461
Dl. bankovní úvěr
041
Pořízení Dl. N. M.
491
Účet individuálního podnikatele
042
Pořízení Dl. H. M.
501
Spotřeba materiálu
071
Oprávky zřizovacích výdajů
502
Spotřeba energie
073
Oprávky k softwaru
503
Spotřeba ostatních neskladov...
079
Oprávky k ostatnímu Dl. N. M.
517
Drobný nehmotný majetek
081
Oprávky ke stavbám
518
Ostatní služby
082
Oprávky k samostatným ...
521
Mzdové náklady
112
Materiál na skladě
524
Zákonné sociální pojištění
112-A
Materiál na skladě
531
Daň silniční
211
Pokladna
532
Daň z nemovitosti
213
Ceniny
538
Ostatní daně a poplatky
221
Bankovní účty
551
Odpisy Dl. N. M. a Dl. H. M.
231
Kr. bankovní úvěry
562
Úroky
261
Peníze na cestě
568
Ostatní finanční náklady
321
Dodavatelé
591
Daň z příjmů – splatná
331
Zaměstnanci
602
Služby z prodeje služeb
336
Zúčtování s institucemi ...
702
Konečný účet rozvážkový
710
Účet zisků a ztrát
341 Daň z příjmů Zdroj: Vlastní zpracování
51
2.1.1.3.6 Zobrazení výstupů z účetnictví Zde se zaměříme na zobrazení výstupních hodnot, které poskytuje účetnictví v této aplikaci. Jsou to hodnoty zůstatků finančních prostředků, tabulka s hodnotami hospodářského výsledku, výpočet daně z příjmu a disponibilního zisku. Všechny tyto výstupy se zobrazují v části Finanční ukazatele. Začněme tabulkou pro hodnoty zůstatků na bankovním účtu a v pokladně. Tabulka se nachází v rozsahu buněk A4580:C4596 a je zobrazena na obrázku 21. Obrázek 21 – Zůstatky finančních prostředků
Zdroj: Vlastní zpracování V buňkách A4582:A4596 jsou umístěny názvy měsíců. Ve sloupci C4582:C4596 je hodnota, kterou zvolil uživatel v části Nastavení. V našem případě tedy částku 10.000,-Kč. A poslední sloupec v oblasti B4582:B4596 zobrazuje zůstatky na bankovním účtu, jejichž zdrojem jsou zůstatky na účtu 221 (Bankovní účty), podle jednotlivých měsíců. Rozhraní pro výpočet hospodářského výsledku umístěné do oblasti buněk L4600:S4610 ukazuje obrázek 22.
52
Obrázek 22 – Hospodářský výsledek
Zdroj: Vlastní zpracování V buňkách L4600:L4610 jsou jednotlivé popisky. V buňkách P4601 a P4602 jsou umístěny součty hodnot z účtu 710 (Účet zisků a ztrát) a v buňce P4603 jejich součet. V buňce P4604 je umístěna 0, protože s výnosy z finanční činnosti v této aplikaci nepočítáme. Jsou zde umístěny pouze pro úplnost. V buňce P4605 je vzorec se součtem příslušných hodnot na účtu 702 (Konečný účet rozvážkový) a v buňce P4606 opět součet buněk P4605 a P4606. V buňkách P4607, P4608 a P4609 je také umístěna 0, ze stejného důvodu jako v předchozím případě. V buňce P4610 je potom součet jednotlivých výsledků hospodaření. Nyní přejdeme k výpočtu daně z příjmu. Na obrázku 23 je zobrazena tabulka umístěná v oblasti buněk L4611:S4617, ve které se provádí příslušné výpočty. Obrázek 23 – Výpočet daně z příjmu
Zdroj: Vlastní zpracování V buňkách L4611:L4617 jsou jednotlivé popisky. V P4612 je umístěn vzorec =IF(P4610>0;P4610;0), který v případě, že je výsledek hospodaření kladný, zobrazí jeho hodnotu. V opačném případě 0. V buňce P4613 je výpočet daňově uznatelných nákladů. V této práci výpočet obsahuje pouze (Daňové odpisy – účetní odpisy – nebankovní půjčka), jiné daňově uznatelné náklady tato aplikace neobsahuje. Nebankovní půjčka je zde proto, že uživatel (podnikatel) má možnost použít pro potřeby financování nebankovní půjčku. Tu ale nemůžeme použít ke snížení základu daně, protože předpokladem této půjčky je, že si ji 53
uživatel (podnikatel) pořídil na vlastní osobu, nikoliv na firmu. Z toho důvodu nemůže být použita jako daňově uznatelný náklad. V buňce P4614 je rozdíl výsledku hospodaření a daňově uznatelných nákladů, tedy základ daně. V buňce P4615 je potom zaokrouhlený základ daně na celé 1000 dolů 63 a v buňce P4616 sazba daně z příjmů, která je sem zobrazena z části Nastavení. V buňce P4617 je vzorec, který násobí předchozí dvě zmiňované hodnoty a zobrazí jejich výsledek. Nyní nám zbývá tabulka pro výpočet disponibilního zisku, která je vytvořena v rozsahu buněk L4618:S4621, jak ukazuje obrázek 24. Obrázek 24 – Disponibilní zisk
Zdroj: Vlastní zpracování Pro buňku P4619 platí stejný vzorec jako v případě buňky L4612. Daň z příjmu je stanovena v buňce P4617. Zde je jen tato buňka zobrazena a do vzorce přidáno znaménko „-“ před odkazem na buňku tak, aby se v buňce P4620 zobrazila záporná hodnota daně z příjmu. Disponibilní zisk je potom součtem účetního výsledku hospodaření a daně z příjmu, který se zobrazuje v buňce P4621. Ještě je třeba připomenout, že v účetnictví není zachyceno placení úroků z nebankovní půjčky. Uživatel je bude muset platit z disponibilního zisku stejně jako měsíční splátky, které jsou v účetnictví zahrnuty. Protože ale neznáme podmínky úhrady, a ani jak se uživatel rozhodne rozdělit disponibilní zisk, na tomto místě upozorňujeme budoucího uživatele, aby pamatoval na své závazky, s jejichž úplnou úhradou tato aplikace nepočítá. To je k této kapitole vše. Popsali jsme konstrukci GUI a pomocných výpočtů v listu RFBu-R a nyní se přesuneme k ostatním listům této aplikace.
63 Zákon o daních z příjmů č. 586/1992Sb., §20 odst. 11
54
2.1.1.4 Listy RFB-F, RFBu-F, RFB-B a RFBu-B I když tyto listy v aplikaci existují, nejsou v nich zatím provedeny žádné úpravy, které jsme popisovali pro listy RFB-R a RFBu-R. V další části budeme popisovat vytvoření GUI pomocí maker, které uživateli umožní tyto projekty vytvářet. Tím si vytvoříme prostor pro možnost budoucí úpravy těchto listů. Tyto úpravy se nebudou výrazně lišit od předchozích, pouze se změní oblast buněk v části Hlavní menu, které bude specifické pro daný typ projektu. Nyní přejdeme ke kapitole 2.1.2, kde se zaměříme na konstrukci GUI pomocí maker, s jejichž pomocí bude moci uživatel vytvářet nové projekty a ukládat jejich názvy. 2.1.2 Konstrukce GUI v tabulkovém procesoru Calc pomocí maker V této části se zaměříme na tvorbu jednotlivých maker a dialogů, na jejichž základě bude moci uživatel vytvářet nové projekty, ukládat jejich názvy, pohybovat se grafickým prostředím aplikace a dostane přístup k nápovědám. Nejprve začneme tvorbou dialogů a tlačítek, která bude uživatel při práci s touto aplikací využívat. Poté přejdeme ke konstrukci jednotlivých maker, která budou spuštěna právě díky tlačítkům v našich dialogových oknech, případně pomocí samostatných tlačítek uvnitř aplikace a jednotlivá makra spojíme s těmito tlačítky. 2.1.2.1 Konstrukce dialogů V této části se tedy zaměříme na tvorbu jednotlivých dialogů, které uživateli usnadní práci s aplikací. Volbou Nástroje > Makra > Správce dialogů se otevře nabídkové okno pro tvorbu a úpravu dialogů, jak ukazuje obrázek 25. Výběrem, v tomto případě naší aplikace, její knihovny Standard a volbou Nový lze vytvořit nový dialog. V našem případě bude pojmenován jako „Napoveda_fixni_naklady_dlg“. 64
64 Zde platí již zmiňovaná pravidla pro pojmenovávání maker a dialogů z kapitoly 1.1.2.1 Označení procedur a funkcí.
55
Obrázek 25 – Správce dialogů
Zdroj: Vlastní zpracování Označením vytvořeného dialogu a volbou Upravit se otevře editor dialogů, který je na obrázku 26. Obrázek 26 – Editor dialogů
Zdroj: Vlastní zpracování V něm pomocí ovládacích prvků formuláře lze vytvořit tlačítko podle obrázku 26. Označením a klepnutím pravým tlačítkem myši zobrazíme nabídku, ve které se po výběru položky Vlastnosti otevře dialogové okno, které jsme si již ukázali na obrázku 6 a 7. 56
V kolonce Popisek je potřeba zapsat „OK“ a v kolonce Typ tlačítka vybrat také „OK“. Všechny tyto úpravy potvrdíme tlačítkem „OK“. Tímto způsobem lze nadefinovat nejenom název tlačítka, ale i jeho funkci. Při vyvolání dialogu uživatelem, toto tlačítko ukončí dialog.65 Poslední úpravou, kterou je třeba udělat, je pojmenovat hlavičku dialogu. To lze provést tak, že po označení celého dialogu klepneme pravým tlačítkem myši uvnitř dialogu a v zobrazené nabídce vybereme Vlastnosti. V poli Popisek potom zadáme název dialogu „Nápověda k fixnímu majetku“ a potvrdí se tlačítkem „OK“. Tento text se nám nyní zobrazí v horní části dialogu. Podle výše zmíněného postupu jsou vytvořeny i ostatní dialogy pro nápovědy z obrázku 30, kromě dialogu uvodni_dlg, který je odlišný.66 Nyní přejdeme k úvodnímu dialogu. Pomocí tlačítka Upravit vyvoláme již zmiňovaný editor dialogů z obrázku 26. Potřebné úpravy dialogového okna jsou uvedeny na obrázku 27. Obrázek 27 – Úvodní dialog
Zdroj: Vlastní zpracování 65 Ukončit dialog samozřejmě umí i křížek, kterému odpovídá funkce storno a který je standardně nadefinován pro všechny dialogy v pravém horním rohu dialogu. 66 Texty nápovědy v této diplomové práci a v samotné aplikaci vytvářet nebudeme.
57
Pro tvorbu tohoto dialogu jsou použity ovládací prvky „List box“ pro zobrazení typu a seznamu projektů, „Text field“ pro zadávání hodnot uživatelem, jednotlivá tlačítka a pole s informačními popisky. Tvorbu tlačítek jsme si již popisovali v předchozích dialozích, proto je není potřeba již dále rozebírat. Pouze u tlačítka Storno je potřeba nastavit jeho typ na Storno. Práce s ostatními ovládacími prvky je podobná jako u tlačítek, ovšem navíc obsahují některé specifické vlastnosti, kterých tento dialog využívá. „List box“ pro typ zařízení je pojmenován jako „typ_zařízení“, „List box“ se seznamem projektů „lseznam_projektu“ a pole „Text field“ „tnovy_projekt“.67 „List box“ slouží k zobrazení a označení jednotlivých položek seznamu a „Text field“ naopak pro zadávání hodnot. Pole, ve kterých jsou jednotlivé popisky, se nazývají „Label“ a jejich funkce je zřejmá. Vytvořením těchto dialogových oken, tlačítek a dalších ovládacích prvků je připraveno grafické rozhraní, které je prozatím samo o sobě nefunkční. Pro jejich uvedení do činnosti je potřeba napsat jednotlivé příkazy a spojit je s dialogy a jejich ovládacími prvky. 2.1.2.2 Konstrukce maker Nyní přejdeme k samotné konstrukci maker. Z důvodu velkého rozsahu zdrojových kódů zde nebudeme popisovat jednotlivé syntaxe příkazů. Pouze zde popíšeme, jak pracují a k čemu slouží. Celý zdrojový kód je obsažen v samotné aplikaci, která je součástí přílohy. Volbou Nástroje > Makra > Správce maker > OpenOffice.org Basic vyvoláme dialogové okno s existujícími makry v OpenOffice.org, jak ukazuje obrázek 28. Obrázek 28 – Makra v OpenOffice.org Basic
Zdroj:Vlastní zpracování 67 V následující kapitole se budeme na tyto názvy odvolávat ze zdrojových kódů jednotlivých maker.
58
Ovládání a tvorba jednotlivých modulů je stejná jako v případě dialogů. Na obrázku 28 jsou již vytvořeny tři moduly s názvem „Navigace“, „Ostatni_makra“ a „Show“. Makra v modulu „Navigace“ obsluhují tlačítka, která jsou v jednotlivých částech listů uvnitř aplikace. Modul „Ostatni_makra“ zajišťuje zobrazování dialogů s nápovědou a modul „Show“ zobrazení úvodního dialogu. 2.1.2.2.1 Modul „Navigace“ Pro vytvoření jednotlivých maker tohoto modulu můžeme využít funkci Znamenat makro, kterou jsme si popsali v části 1.1.2 Makra a dialogy. Tedy spustíme záznamník maker v listu RFB-R v části Hlavní menu a volbou Nástroje > Makra > Zaznamenat makro spustíme záznamník. Nyní se z části Hlavní menu přesuneme kurzorem do buňky A121 a zastavíme nahrávání. Otevře se okno, ve kterém vybereme sešit naší aplikace, modul „Navigace“ a v poli pro název makra zapíšeme v tomto případě „Investicni_naklady“. Vše potvrdíme tlačítkem „OK“. Takto budeme pokračovat až do části Nastavení. Pojmenování jednotlivých maker modulu navigace je zobrazeno na obrázku 28. Tím jsme téměř nadefinovali jednotlivá makra pro pohyb v aplikaci. Nyní zbývá už jen makro pro přechod do hlavního menu a návratové makro na úvodní list. Makro pro návrat do hlavního menu vytvoříme z úvodního listu, ve kterém spustíme opět záznamník maker a kurzorem se přesuneme do buňky A1 v části Hlavní menu. Zastavíme nahrávání a uložíme makro jako „Hlavni_menu“. To samé provedeme i opačným směrem. Zde postačí pouze přepnout listy, protože list Úvod neobsahuje více částí a uložíme. Tímto způsobem jsme vytvořili makra v modulu navigace. Nyní je potřeba tyto makra přiřadit k odpovídajícím tlačítkům. Přesuneme se proto do části Hlavní menu a vybereme například tlačítko „Zpět na úvod“. Aktivujeme ovládací prvky formuláře a zvolíme možnost „Režim návrhu zap/vyp“, označíme tlačítko a pravým kliknutím myši zobrazíme nabídku, kde vybereme možnost Ovládací prvek. Otevře se dialogové okno, ve kterém se přesuneme do části Události a kolonky Provést akci, jak je vidět na obrázku 7. Klikneme na tlačítko označené třemi tečkami příslušné kolonky a otevře se okno, ve kterém znovu vybereme událost Provést akci a zvolíme tlačítko „Makro“. Tím už se dostaneme do výběru maker, která můžeme přiřadit k tlačítku. Vyhledáme modul navigace a makro s názvem „na_uvod“. Označíme jej a vše budeme dále jen potvrzovat tlačítkem „OK“. Tím jsme přiřadili makro k požadovanému tlačítku. Na konec ještě ukončíme režim návrhu
59
a tlačítko je připraveno k použití. U ostatních tlačítek provedeme stejné úpravy a přiřadíme k nim jejich odpovídající makra. Tím máme vytvořena a přiřazena makra pro pohyb v naší aplikaci a můžeme pokračovat modulem „Ostatni_makra“. 2.1.2.2.2 Modul „Ostatni_makra“ V tomto modulu jsou definována makra, vyvolávající dialogy s nápovědou, Ty jsme popsali v předchozí kapitole. Zde si již nevystačíme s funkcí Zaznamenat makro, ale budeme muset napsat zdrojový kód sami. Volbou Nástroje > Makra > Správce maker > OpenOffice.org Basic spustíme Správce maker, vybereme v naší aplikaci modul „Ostatní makra“ a vytvoříme jednotlivé názvy maker podle obrázku 29. Obrázek 29 – Názvy maker v modulu „Ostatni_makra“
Zdroj: Vlastní zpracování Označíme makro s názvem „Napoveda_k_majetku“ a zvolíme Upravit. Otevře se nám okno s editorem maker, ve kterém nyní můžeme psát zdrojový kód vlastních maker. Na obrázku 30 jsou již jednotlivá makra vytvořena, tak že si je jen stručně popíšeme.
60
Obrázek 30 – Editor maker (Makra pro nápovědu)
Zdroj: Vlastní zpracování Nejprve nadefinujeme globální proměnnou „napoveda“ jako objekt, která je na prvním řádku. V prvním řádku pod názvem makra „Napoveda_k_majetku“, je příkaz, kterým definujeme knihovnu, ve které se daný dialog vyskytuje. Druhým příkazem již přímo vyvoláváme náš konkrétní dialog. Ve třetím a čtvrtém řádku je vložena podmínka, která umožňuje ukončit dialog tlačítkem „OK“ a v pátém řádku uvolňujeme dialogové okno s naší nápovědou z užívání. Ostatní makra mají stejnou konstrukci, jak je patrné z obrázku 30. Všechny úpravy je třeba nakonec uložit. Nyní už jen zbývá přiřadit jednotlivá makra k odpovídajícím tlačítkům
61
jako v případě navigace v naší aplikaci. Poslední makra, která je potřeba vytvořit, jsou obsažena v modulu „Show“. Tento modul tvoří největší část zdrojových kódů a obsahuje také nejkomplikovanější makra, která jsou v této aplikaci použita. 2.1.2.2.3 Modul „Show“ Všechna makra obsažená v modulu „Show“ jsou přiřazena k úvodnímu dialogu. S jejich pomocí může uživatel vytvářet, ukládat, přejmenovávat a mazat názvy jednotlivých projektů. Stejným postupem, jako v předchozích případech, vytvoříme názvy jednotlivých maker podle obrázku 31. Obrázek 31 – Názvy maker v modulu „Show“
Zdroj: Vlastní zpracování Vybereme nyní makro s názvem „uvodni_dialog“ a otevřeme editor maker volbou Upravit. I zde máme makra již připravená, jak je vidět na obrázku 31, takže je opět budeme jen krátce popisovat. Ještě je třeba dodat, že zdrojové kódy jednotlivých maker jsou velmi rozsáhlé a proto je zde nebudeme zobrazovat celé.68
68 Všechny zdrojové kódy jsou přístupné v samotné aplikaci, která je součástí přílohy.
62
Obrázek 32 – Editor maker (Makra pro úvodní dialog)
Zdroj: Vlastní zpracování Na začátku zdrojového kódu je potřeba nastavit vlastnosti jednotlivých globálních proměnných jako jsou objekty, čísla a textový řetězec. Poslední tři proměnné před makrem pro úvodní dialog definují maximální počet pojmenovaných projektů pro jednotlivé typy zařízení. V makru „uvodni_dialog“ jako první vytvoříme příkazy, které zajistí, že se při spuštění aplikace zobrazí úvodní dialog, který je na obrázku 32. 63
Nyní musíme pomocí makra vytvořit složku, do které se nám budou ukládat textové soubory s názvy jednotlivých projektů. Pokud neexistuje složka „OpenOffice_VSH“, na disku „C“ se po spuštění aplikace pomocí tohoto příkazu vytvoří tato složka. Pomocí následujících příkazů se do ní uloží i textové soubory, do kterých se budou ukládat a znovu načítat názvy jednotlivých projektů vytvořených uživatelem. Makro pokračuje dále polem „Text field“, které jsme si v předchozí části pojmenovali jako „typ_zarizeni“. Pomocí makra v něm nyní vytvoříme názvy jednotlivých typů zařízení. Pomocí funkce „listener“ nyní nadefinujeme místo, které se má sledovat, tedy pole pro zařízení. Zavedeme pole pro seznam projektů „lseznam_projektu“. Tímto názvem jsme pojmenovali pole „List box“, do kterého se nám zobrazují názvy jednotlivých projektů. Následuje podmínka, která v případě že není vybrán žádný typ zařízení, což je vždy při spuštění dialogu, načte do seznamu projekty vytvořené uživatelem. Takto jsou tedy vytvořena makra, která provádí jednotlivé příkazy uvnitř dialogu. Makra pro dialog tím ale nekončí. Ještě je potřeba nastavit, co se stane, když dialog ukončíme tlačítkem „OK“. Následující podmínka zajišťuje, že pokud nebude vybrán žádný projekt a uživatel stiskne tlačítko „OK“, zobrazí se upozornění, že nebyl vybrán žádný projekt a pro pokračování je potřeba nějaký projekt vybrat. Dialog se po potvrzení informačního dialogu ukončí a je potřeba jej znovu vyvolat stisknutím tlačítka „Spustit dialog“69. V případě, že je nějaký projekt vybrán a stisknuto tlačítko „OK“, následují podmínky, které identifikují, o jaký typ zařízení se jedná. Podle toho zkopírují odpovídající listy, které jsme si vytvořili v předchozích kapitolách, přiřadí k nim jméno vytvořeného projektu a zobrazí jeho Hlavní menu. V případě že projekt a listy s výpočty již existují, ukončením dialogu tlačítkem „OK“ se zobrazí listy s příslušným projektem. 70 Nakonec odebereme funkci „listener“ a uvolníme dialog z užívání. Nyní je ještě potřeba přiřadit toto makro k tlačítku „Spustit dialog“ a k událostem celého sešitu Calc tak, aby se tento dialog zobrazil pokaždé, když se aplikace spustí. Přiřazení makra k tlačítku „Spustit dialog“ je stejné jako v předchozích případech. K událostem se makro přiřazuje pomocí Nástroje > Přizpůsobit. Otevře se dialogové okno, kde vybereme kartu Události a položku Otevřít dokument. Stiskneme tlačítko „Makro“ a v sešitu s aplikací vybereme makro „uvodni_dialog“. Vše potvrdíme tlačítkem „OK“. 69 Přiřazení makra „uvodni_dialog“ provedeme až na konci této kapitoly. 70 Zde je třeba dodat, že se ukládají pouze názvy jednotlivých projektů, a ne jejich nastavení a výpočty. Ty jsou vždy uloženy v aplikaci a pomocí maker k nim uživatel dostává přístup.
64
Následující makro, jehož část je na obrázku 33, zajišťuje, že se při vybrání typu zařízení zobrazí v seznamu projektů názvy vytvořené uživatelem, které jsou uloženy v textových souborech na disku „C“ ve složce OpenOffice_VSH. Obrázek 33 – Makro „listener_zarizeni_itemstatechanged“
Zdroj: Vlastní zpracování Makro funguje tím způsobem, že sleduje, jaká položka je v typu zařízení vybrána, a podle toho nejprve smaže předchozí obsah v seznamu projektů a poté načte odpovídající projekty v závislosti na zvoleném typu zařízení. Makro „vlozit_adresar_OpenOffice_VSH“ vytváří složku OpenOffice_VSH na disku „C“ a je spuštěno v případě, že makro „uvodni_dialog“ tuto složku na disku „C“ nenajde. Obrázek 34 – Makro „vlozit_adresar_OpenOffice_VSH“
Zdroj: Vlastní zpracování 65
Makra „soubor_restaurace_txt“, „soubor_fastfood_txt“ a „soubor_bar_txt“ pracují na stejném principu, a sice vytváří textové soubory ve složce OpenOffice_VSH, do kterých se ukládají názvy projektů. V případě, že makro „uvodni_dialog“ tyto soubory nenajde, spustí se tato makra a soubory vytvoří. Makro „soubor_restaurace_txt“ je na obrázku 35. Obrázek 35 – Makro „soubor_restaurace_txt“
Zdroj: Vlastní zpracování Současně také fungují jako místo pro uložení a načítání položek, které uživatel vytvořil v úvodním dialogu. Pomocí makra „insert“, které začíná na obrázku 36, je řízeno zobrazení nově vytvořených názvů projektů a jejich uložení do textového souboru v závislosti na aktuálně vybraném typu zařízení. Obrázek 36 – Makro „insert“
Zdroj: Vlastní zpracování 66
Makro také kontroluje, zda se již v souboru nevyskytuje stejný název projektu. Pokud ano, zobrazí se dialogové okno s upozorněním, že konkrétní projekt již existuje. Současně je zde ošetřena možnost, že uživatel vytvoří nový projekt bez názvu. 71 V tom případě se zobrazí dialog, který informuje uživatele, že název projektu musí být zadaný. Nakonec je potřeba přiřadit makro k tlačítku „Vytvořit nový projekt“, které jsme vytvořili v úvodním dialogu. Přiřazení makra k tlačítku je stejné jako v předchozích případech. Pomocí makra „delete“,které je na obrázku 37, se řídí odstraňování názvů jednotlivých projektů ze seznamu projektů, a příslušných textových souborů. Dále řídí odstraňování samotných listů sešitu, které odpovídají názvu projektu, který má být smazán v případě, že byly vytvořeny. Obrázek 37 – Makro „delete“
Zdroj: Vlastní zpracování 71 Makro totiž nerozlišuje, zda je obsah seznamu vyplněn čísly, písmeny, nebo vůbec a zapsala by se tak i prázdná položka.
67
Pokud je vybrána některá položka ze seznamu projektů a stiskne se tlačítko „Smazat vybraný projekt“, ke kterému je třeba toto makro přiřadit, identifikuje se jeho umístění, název a zobrazí se dialogové okno s dotazem, zda chce uživatel tento projekt opravdu odebrat. Pokud potvrdí
volbu
tlačítkem
„OK“, makro smaže tento
vybraný
projekt ,a přepíše názvy projektů v textovém souboru, kde je také uloží. Potom vyhledá listy s odpovídajícím názvem a v případě, že budou nalezeny, je smaže. Poslední makro se jmenuje „rename“ a slouží k přejmenování nejenom samotných projektů, ale i již vytvořených listů s odpovídajícím názvem projektu. Část tohoto makra je zobrazena na obrázku 38. Obrázek 38 – Makro „rename“
Zdroj: Vlastní zpracování
68
Po stisknutí příslušného tlačítka, ke kterému je potřeba toto makro přiřadit, se spustí příkazy, které identifikují umístění a název projektu jako v případě makra „delete“. Následně se spustí dialog, do kterého je možné vložit nový název stávajícího projektu. Potvrzením tlačítkem „OK“ makro vyhledá, zda nový název již existuje. Pokud ne, makro si pamatuje pozici názvu projektu v příslušném seznamu, ze kterého ho odstraní a na jeho místo vloží přejmenovaný projekt. Vše se uloží do odpovídajícího textového souboru. Dále vyhledá listy sešitu s odpovídajícími názvy a přepíše je. V případě, že nové jméno projektu již existuje, nebo bude jako jméno zvoleno prázdné pole, otevřou se příslušná dialogová okna, ve kterých je zapsán text příslušných upozornění. Tímto jsme skončili kapitolu o makrech a zároveň i konstrukci GUI v této aplikaci. V další kapitole se vrátíme zpět k výpočtům v listu RFB-R a RFBu-R, které již přímo souvisí s kvantifikací podnikatelského záměru v pohostinství. 2.2 Tvorba výpočtů Doposud jsme se zabývali tvorbou GUI a pomocných výpočtů potřebných pro správné fungování aplikace. Nyní přejdeme ke konstrukci vzorců, ve kterých jsou obsaženy výpočty pro stanovení hospodářského výsledku společnosti, její zisk, případně ztráta a velikost disponibilního zisku. Tvorbu výpočtů a vzorců rozdělíme na dvě části, a sice na výpočty v listu RFB-R a výpočty v listu RFBu-R. Všechny použité vzorce se zobrazují v panelu vzorců v horní části aplikace. 2.2.1 Výpočty v listu RFB-R Nyní se přesuneme zpět do hlavního menu aplikace, konkrétně do listu RFB-R, který jsme již popisovali v části 2.1.1.2.1 Hlavní menu a na obrázku v příloze 1. V této části sešitu jsme se v předchozích kapitolách věnovali pouze nastavení jednotlivých buněk. Nyní přejdeme ke konstrukci jejich vzorců a funkcí, které ovlivňují další výpočty. Ve sloupcích jsou vyznačeny jednotlivé sortimentní skupiny, které se dále dělí na jednotlivé typy pokrmů a nápojů. V řádku od buňky D18 jsou obsaženy buňky s výpočtem pro hodnotu prodejní ceny bez DPH. Syntaxe vzorce je =ROUND(D17*('RFBu-R'.$E$5/'RFBu-R'.$E$6);0). Tento vzorec zaokrouhluje na celá čísla násobek ceny s DPH zadané uživatelem s podílem hodnot z části nastavení listu RFBu-R, tedy 100/121.
69
V řádku s pořizovací cenou porce bez DPH je zaokrouhlený podíl prodejní ceny bez DPH a marže, tedy =ROUND(D18/D15;0). Tím dostaneme čistou cenu porce bez DPH. Většinu surovin však nedostaneme v čistém stavu, proto je potřeba k této hodnotě přičíst i odpad, abychom zjistili pořizovací cenu porce bez DPH. To provedeme pomocí vzorce =ROUND(D21*1/(1-D37);0), který ji, na základě hodnoty čisté ceny porce a odpadu porce v %, vypočítá. Nakonec stanovíme předpokládanou pořizovací cenu porce s DPH podle vzorce =ROUND(D20*'RFBu-R'.$C$13;0), kde násobíme hodnotu čisté pořizovací ceny porce bez DPH s podílem příslušné sazby DPH v % a 100%. Tento dílčí výpočet jsme již vytvořili v části RFBu-R, konkrétně v kapitole 2.1.1.3.1 Nastavení. Denní tržba je pak násobkem denního počtu porcí a prodejní ceny s DPH. V buňce D29 je obsažen vzorec, který násobí cenu obalu bez DPH s jeho příslušnou marží. Pomocí tohoto výpočtu tedy dostaneme prodejní cenu obalu bez DPH. Vzorcem =ROUND(D29*'RFBu-R'.$C$13;0), který násobí prodejní cenu obalu bez DPH s již výše zmíněnou hodnotou v oblasti RFBu-R, dostaneme hodnotu prodejní ceny obalu s DPH v buňce D28. Zde vycházíme z toho, že uživatel (podnikatel) může prodávat své produkty, které nejsou konzumovány v prostorách provozovny, s nižší sazbou DPH. V ostatních případech pro něj platí účtování se zvýšenou sazbou DPH. V buňce D27 je stanovena minimální prodejní cena s DPH, která má pro uživatele informační charakter pro stanovení ceny porce na rozvoz. Následující syntaxe vzorce =ROUND(D18*'RFBu-R'.$C$13+D28;0) vychází z již výše zmíněné možnosti účtování produktu s nižší sazbou DPH. Násobí se zde tedy prodejní cena porce bez DPH se sníženou sazbou DPH a přičítá se k ní hodnota obalového materiálu s DPH. Nyní záleží pouze na uživateli zda tuto informaci bude ignorovat, případně přizpůsobí prodejní cenu s DPH na rozvoz tomuto výpočtu. V buňce D32 je pak násobek denního počtu porcí na rozvoz s jejich cenou. Vzorce, které se zde vyskytují v rozsahu buněk D40:V42, jsou určeny pro zobrazení velikosti tržeb podle měsíců, jejich zdrojů a celkové hodnoty. Syntaxe buňky E42 je ='RFBu-R'.CI602-'RFBu-R'.CI601, buňky E40 =IF(E42=0;0;DAYSINMONTH('RFBu-R'. $C$602)*SUM($D$22:$V$22)) a buňky E41 =IF(E42=0;0;DAYSINMONTH('RFBu-R'. $C$602)*SUM($D$32:$V$32)). Hodnoty buňky E42 vycházejí z příslušných účetních účtů, které popíšeme v následující kapitole. V ostatních buňkách platí podmínka, že pokud
70
je hodnota buňky v řádku 42 vyšší než 0, potom pomocí funkce „DAYSINTMONTH“ zjistí počet dní daného měsíce a vynásobí jej se součtem jednodenních tržeb každého typu pokrmů a nápojů. V poslední buňce D43 je pouze vzorec s podmínkou, která zobrazí disponibilní zisk, případně ztrátu. Syntaxe vzorce je =IF('RFBu-R'.FB4504>0;'RFBu-R'.FB4504;'RFBuR'.FB4505), a vychází z hodnot, které jsou v části tohoto listu, a sice ve finančních ukazatelích. 2.2.2 Výpočty v listu RFBu-R V této kapitole popíšeme účty, na kterých jsou prováděny výpočty hodnot, související s účetnictvím obsaženým v této aplikaci. Všechny účty, které jsou v aplikaci využívány, jsme uvedli v kapitole 2.1.1.3.5 Zobrazení účetnictví v aplikaci, konkrétně v tabulce 2. Z důvodu velkého rozsahu některých vzorců zde nebudeme zobrazovat jednotlivé syntaxe,72 ale pouze zde stručně popíšeme, jaký mají význam a co počítají. Téměř ve všech případech jsou vzorce pro jednotlivé výpočty aktivovány různou modifikací podmínek, které určují čas, kdy se má začít účtovat na příslušných účtech. Ty vycházejí z tabulek s časovými hodnotami, které jsou vytvořeny pro každý měsíc zvlášť, stejně jako jednotlivé účty. Tabulku s časovými hodnotami jsme si ukázali na obrázku 24, ve stejné kapitole jako tabulku 2. Všechny vstupní hodnoty jsou přebírány v první řadě z listu RFB-R, které zadává uživatel. Pro potřeby účetnictví jsou buď filtrovány v pomocných výpočtech, nebo zapisovány přímo ze zdrojových buněk. Účet 701 – Počáteční účet rozvážkový Zde jsou umístěny počáteční stavy finančních prostředků při založení společnosti, a sice základní kapitál, rezervní fond a hodnota finančních prostředků na bankovním účtě. S ostatními finančními prostředky vloženými do podnikání se počítá v témže měsíci, a však až po založení společnosti. Účet 011 – Zřizovací výdaje Na tomto účtu se účtují zřizovací výdaje, které svojí výší překročily částku pro zařazení do odpisování dlouhodobého nehmotného majetku. 72 Ty jsou k nahlédnutí v samotné aplikaci.
71
Účet 013 – Software Zde se účtuje dlouhodobý nehmotný majetek typu software, jehož hodnota překročila limit pro odepisování tohoto majetku. Účet 019 – Ostatní dlouhodobý nehmotný majetek Zde se účtují webové stránky společnosti, jejichž hodnota také překročila limit pro zařazení dlouhodobého nehmotného majetku do užívání. Účet 021 – Stavby Na tomto účtu se zobrazují všechny položky majetku, které převyšují svojí hodnotou limit pro zařazení dlouhodobého hmotného majetku do odepisování a současně jsou uživatelem zařazeny do páté odpisové skupiny. Účet 022 – Samostatné věci movité a soubory movitých věcí Do tohoto účtu se zobrazuje veškerý ostatní hmotný majetek, jehož pořizovací cena je vyšší než limit pro odepisování dlouhodobého hmotného majetku. Jedná se především o finančně náročná zařízení provozovny. Účet 031 – Pozemky Tento účet je zde v případě, že se uživatel rozhodne postavit vlastní budovu pro provozovnu a je zde veden pozemek. Účet 041 – Pořízení dlouhodobého nehmotného majetku Na tomto účtu se pomocí vzorců filtruje, zda majetek spadá do odpisů či nikoliv, před tím než je zařazen do užívání. Účet 042 – Pořízení dlouhodobého hmotného majetku Pro tento účet platí to samé, co pro účet 041. Účet 071 – Oprávky ke zřizovacím výdajům Na tomto účtu se sčítají jednotlivé hodnoty odpisů zřizovacích výdajů.
72
Účet 073 – Oprávky k softwaru I zde se sčítají jednotlivé hodnoty odpisů. Ovšem v tomto případě může volit dobu odepisování uživatel. Pokud se majetek odepíše, aplikace automaticky počítá s jeho opětovným pořízením za stejných podmínek, které uživatel nastavil. Pokračuje v odepisování, až se hodnota odpisů opět vyrovná hodnotě pořizovací ceny a znovu dojde k pořízení majetku. Účet 079 – Oprávky k ostatnímu dlouhodobému majetku Viz účet 073. Účet 081 – Oprávky ke stavbám Viz účet 073. Účet 082 – Oprávky k samostatným věcem movitým a souborům movitých věcí Viz účet 073. Účet 112 – Materiál na skladě Na tomto účtu se zobrazují jednotlivé ceny porcí bez DPH v závislosti na denním počtu porcí a počtu dní daného měsíce. Účet 112-A – Materiál na skladě Tento účet slouží k výpočtu ceny odpadu z materiálu za měsíc. Množství tohoto odpadu určuje uživatel. Účet 211 – Pokladna Na tomto účtu se vypočítávají měsíční tržby. Na konci měsíce zde zůstává pouze hodnota minimálního množství peněz v pokladně, kterou nastavil uživatel. Zbytek peněz se přesune pomocí účtu 261 na účet 221. Účet 213 – Ceniny Na účtu pro ceniny se účtuje dálniční známka. U tohoto účtu nastává zkreslení, a to z toho důvodu, že pokud uživatel založí společnost například prvního března, začne podle
73
aplikace provozovat svoji činnost prvního dubna. V dubnu také pořídí dálniční známku, ale my nemůžeme dopředu odhadnout, zda koupí roční, čtvrtletní nebo měsíční. Z toho důvodu jsou vzorce nastaveny tak, aby za každých okolností byla pořízena roční dálniční známka. Jelikož se jedná o malou částku, výsledné zkreslení je téměř nepodstatné. Účet 221 – Bankovní účty Tento účet eviduje veškeré finanční operace, a proto obsahuje velké množství nejrůznějších vzorců. Všechny spojuje to, že hodnoty, které zobrazují, vyrovnávají účetní bilanci. Účet 231 – Krátkodobé bankovní úvěry Zde se účtuje krátkodobý bankovní úvěr, jehož hodnotu a dobu splácení uživatel nastaví. Začíná se účtovat ihned po vzniku společnosti a po splacení tohoto úvěru, již není možné jej znovu použít. Účet 261 – Peníze na cestě Tento účet je spojovacím účtem mezi jednotlivými finančními operacemi, které v účetnictví probíhají. Účet 321 – Dodavatelé Na tomto účtu se zobrazují veškeré hodnoty majetku i s jejich názvy, které uživatel nadefinuje v části investiční a provozní náklady. Účet 331 – Zaměstnanci Tento účet slouží k výpočtu nákladů na zaměstnance. Je zdrojem pro zobrazení čisté mzdy v části Provozní náklady. Účet 336 – Zúčtování s institucemi sociálního zabezpečení a zdravotního pojištění Zde jsou vypočítávány náklady související se zaměstnanci, které musí uživatel (podnikatel) hradit. Účet 341 – Daň z příjmů Na tomto účtu je zobrazena hodnota daně z příjmu, kterou je potřeba v dalším roce uhradit.
74
Účet 342 – Ostatní přímé daně Tento účet slouží ke stanovení výše daně ze mzdy zaměstnanců, které je uživatel (podnikatel) povinen hradit. Účet 343 – DPH Na tomto účtu je vypočítávána hodnota daně z přidané hodnoty, jak na vstupu, tak na výstupu. Účet 345 – Ostatní daně a poplatky Na účtu pro ostatní daně a poplatky se v této aplikaci účtují daň z nemovitosti, z pozemku a silniční daň. Výpočty se řídí příslušnými legislativními předpisy. Účet 411 – Základní kapitál Zde je zobrazena hodnota základního kapitálu nastavená uživatelem. Účet 421 – Zákonný rezervní fond Na tomto účtu je vedena hodnota zákonného rezervního fondu, který se v této aplikaci tvoří automaticky, v minimální hranici stanovené zákonem, již při vzniku společnosti. Účet 431 – Výsledek hospodaření ve schvalovacím řízení Zde je zobrazena hodnota výsledku hospodaření z podnikatelské činnosti za celý účetní rok. Účet 461 – Dlouhodobé bankovní úvěry Hodnotu účtu dlouhodobých bankovních úvěrů stanovuje uživatel . Čerpání tohoto úvěru je ve stejném měsíci, jako vznik společnosti. I zde platí, že tento úvěr lze použít pouze jednou. Účet 491 – Účet individuálního podnikatele Na tomto účtu jsou do účetnictví vkládány pouze finanční prostředky vlastněné uživatelem (podnikatelem).
75
Účet 501 – Spotřeba materiálu Zde se účtuje neodepisovaný hmotný a nehmotný majetek, zboží a ostatní variabilní a jednorázové náklady, které vznikají v souvislosti s podnikatelskou činností. Účet 502 – Spotřeba energie Na tomto účtu se zobrazují hodnoty elektřiny, vody a plynu, jejichž předpokládanou velikost uživatel musí stanovit. Účet 503 – Spotřeba ostatních neskladovatelných dodávek Tento účet je vyhrazen pro průměrné hodnoty pohonných hmot, které jsou zadávány uživatelem. Účet 517 – Drobný nehmotný majetek Na tento účet se účtují WWW stránky a software v případě, že je jejich hodnota nižší, než je limit pro zařazení nehmotného majetku do odepisování. Účet 518 – Ostatní služby Zde jsou účtovány zřizovací výdaje nižší, než je limit pro jejich zařazení do odepisování, ostatní fixní náklady a rekonstrukce, jejichž jednotlivé hodnoty nepřesáhnou hranici pro zařazení majetku do odepisování. Účet 521 – Mzdové náklady Na tomto účtu se odepisují vypočítané náklady na mzdy zaměstnanců. Účet 524 – Zákonné sociální pojištění Zde se účtuje zákonné sociální a zdravotní pojištění, které musí uživatel (podnikatel) hradit za své zaměstnance. Účet 531 – Daň silniční Na tomto účtu se zobrazuje hodnota silniční daně, která se odepisuje do nákladů.
76
Účet 532 – Daň z nemovitosti I zde se zobrazují hodnoty, které se odepisují do nákladů, a sice za nemovitost a za pozemek, pokud je uživatel stanovil. Účet 538 – Ostatní daně a poplatky Tento účet je vyhrazen pro hodnotu dálniční známky. Účet 551 – Odpisy dlouhodobého hmotného a nehmotného majetku Na tomto účtu se zobrazují hodnoty účetních odpisů během roku. Skutečný výpočet daňově uznatelných nákladů je však vytvořen v oblasti buněk DO102:EJ290. Účet 562 – Úroky Tento účet slouží ke zobrazení hodnot úroků z bankovních úvěrů. Účet 568 – Ostatní finanční náklady Na tomto účtu se zobrazují náklady spojené s vedením bankovního a úvěrového účtu. Účet 591 – Daň z příjmu – splatná Zobrazuje se zde velikost daně z příjmu z běžné činnosti, která je splatná. Účet 602 – Tržby z prodeje služeb Na tomto účtu se vypočítávají hodnoty jednotlivých tržeb v závislosti na počtu dní v měsíci, ceny porce a denního počtu porcí. Účet 702 – Konečný účet rozvážkový Na tento účet jsou převedeny všechny zůstatky účtů aktiv a pasiv. Účet 710 – Účet zisků a ztrát A na tento účet se zapisují účty nákladů a výnosů. Tímto jsme stručně popsali, jak pracuje vnitřní účetnictví v této aplikaci. Nyní přejdeme k poslední kapitole, ve které provedeme poslední kosmetické úpravy naší aplikace.
77
2.3 Konečné úpravy aplikace V této kapitole popíšeme poslední závěrečné úpravy této aplikace. Jedná se především o zamknutí listů sešitu a jejich schování. Abychom zabránili tomu, že uživatel omylem smaže některé vzorce, musí být buňky chráněny pomocí funkce, která brání jejich přepsání. Když klikneme na kteroukoli buňku pravým tlačítkem myši, zobrazí se nabídka, ze které vybereme Formát buněk. Otevře se dialogové okno, ve kterém přejdeme na kartu Ochrana buňky. Na této kartě je potřeba v poli „Ochrana“ zaškrtnout volbu „Zamknuto“ a potvrdit tlačítkem „OK“. K tomu, aby byla tato funkce aktivní, je ještě potřeba zamknou celý list. To provedeme volbou Nástroje > Zamknout dokument > List. Zobrazí se dialogové okno, ve kterém nastavíme heslo pro zamčení listu aplikace. Nyní máme buňku nadefinovanou tak, aby ji uživatel nemohl přepsat, dokud nezadá heslo a list neodemkne.73 Nechráněné buňky v listu FRB-R budou pouze ty, které jsme již v předchozích kapitolách označili za přepisovatelné. Ostatní buňky, stejně jako celý list RFBu-R, budou chráněny proti přepsání. Druhou úpravou je schování jednotlivých zdrojových listů, kromě listu „Úvod“, a to z toho důvodu, aby uživatele nemátly a omylem do zdrojového listu RFB-R nezačal vypisovat nějaké hodnoty. Protože aplikace funguje na principu kopírování zdrojových listů, mohlo by se potom stát, že při vytvoření nového projektu budou v jeho listu, který bude vytvořen z listu RFB-R, přítomny právě ty hodnoty, které uživatel omylem zadal do zdrojového listu. Schování aktivního listu provedeme volbou Formát > List > Skrýt. Tato úprava je již v aplikaci RFB, uvedené v příloze, přítomna. Touto kapitolou jsme skončili s popisováním tvorby aplikace v tabulkovém procesoru Apache OpenOffice.org Calc. Nyní přejdeme ke kapitole 3 Použití aplikace RFB, ve které uvedeme podmínky pro správné zobrazení aplikace, namodelujeme fiktivní projekt pohostinského zařízení, ukážeme si, jak vypadá aplikace při práci a uvedeme její nevýhody.
73 V aplikaci, která je součástí přílohy, jsou zdrojové listy RFB-R a RFBu-R odemčené, aby bylo možné zobrazit obsah jednotlivých buněk, které mají velmi rozsáhlé vzorce, a proto k jejich zobrazení nestačí pole pro zápis vzorců. Ostatní listy budou zamčené.
78
3 Použití aplikace RFB V této kapitole se budeme blíže věnovat podmínkám správného zobrazení aplikace a povolením maker v samotném kancelářském balíku Apache OpenOffice.org, které je zásadní pro fungování aplikace, kterou jsme si popsali v předchozích kapitolách této diplomové práce. Dále zde vytvoříme fiktivní projekt restaurace s názvem „Dopo Domani“, a vyplníme jednotlivé buňky fiktivními hodnotami tak, abychom zjistili, zda je tento podnikatelský záměr z finančního hlediska proveditelný. V poslední části této kapitoly uvedeme nevýhody spojené s používáním této aplikace a možnostmi jejich částečného řešení. 3.1 Podmínky pro správné zobrazení aplikace RFB Na začátku je potřeba objasnit určité podmínky, které musíme dodržet, aby se aplikace zobrazovala správně. Za prvé je potřeba stáhnout a nainstalovat kancelářský balík Apache OpenOffice.org. Po nainstalování kancelářského balíku a spuštění aplikace „RFB – verze 1.0.1“, musíme povolit makra, a to z toho důvodu, že úroveň zabezpečení je standardně nastavena na velmi vysokou. Kancelářský balík OpenOffice.org proto makra po otevření dokumentu, který makra obsahuje, zcela ignoruje. Povolení maker provedeme následujícím postupem. Volbou Nástroje > Volby se otevře dialogové okno, ve kterém přejdeme na OpenOffice.org a položku „Bezpečnost“, jak je uvedeno na obrázku 39.
79
Obrázek 39 – Volby - OpenOffice.org – Bezpečnost
Zdroj: Vlastní zpracování Stiskneme tlačítko „Zabezpečení maker“ a na kartě „Úroveň zabezpečení“ zvolíme možnost „Střední“, jak ukazuje obrázek 40. Obrázek 40 – Zabezpečení maker
Zdroj: Vlastní zpracování 80
Vše potvrdíme tlačítkem „OK“. Nyní se při spuštění dokumentu, který makra obsahuje, zobrazí dialogové okno s bezpečnostním upozorněním, že dokument obsahuje makra a možnostmi povolit či zakázat tato makra. V našem případě je potřeba je povolit, aby se aplikace „RFB – verze 1.0.1“ zobrazila správně. Výše zmiňované dialogové okno je na obrázku 41. Obrázek 41 – OpenOffice.org - Bezpečnostní upozornění
Zdroj: Vlastní zpracování Další podmínkou správného zobrazení a fungování aplikace je, že se na počítači, na kterém je aplikace spuštěna, musí vyskytovat disk „C“. Důvody, proč tomu tak je, jsou uvedeny v kapitole 2.1.2.2.3 Modul „Show“. U další podmínky se jedná spíše o systémovou chybu. Ve zdrojových listech aplikace fungují výpočty přesně podle jejich nastavení. Když se ale vytvoří nový projekt a začnou se do něj zadávat hodnoty, z nějakého důvodu Calc přestane aktualizovat vzorce s výpočty v daném projektu. V nápovědě k Apache OpenOffice.org je uvedeno, že stisknutím klávesy „F9“ se celý sešit přepočítá. Ta je ovšem také z nějakého důvodu nefunkční. Jedinou možností, jak aktualizovat výpočty ve vzorcích a zajistit tak správné zobrazení jejich hodnot, je stisknutím kombinace kláves „Ctrl+Shift+F9“. Je to poněkud krkolomné řešení, ale prozatím asi jediné.
81
Na konec je potřeba se zmínit, že při tvorbě této aplikace byl používán 17 palcový monitor a při zobrazení například na 15 palcovém dojde k tomu, že se jednotlivé části určené pro uživatele, nezobrazí v celé velikosti. Při práci s aplikací je potom potřeba se k jednotlivým buňkám posouvat, například pomocí rolovacích tlačítek. Nyní již můžeme přejít k vlastní kvantifikaci podnikatelského záměru restaurace „Dopo Domani“. 3.2 Projekt restaurace „Dopo Domani“ Fiktivní restaurace je umístěna v centru Prahy s kapacitou 50 míst. Jsou zde potřebné drobné stavební úpravy a nájemné je stanoveno na 80.000,-Kč za měsíc. Odstupné za restauraci je v hodnotě 2.000.000,-Kč. K dispozici máme vlastní finanční prostředky ve výši 3.000.000,-Kč. Nyní přejdeme k vytvoření finančního modelu, abychom zjistili, zda je tento projekt po finanční stránce realizovatelný. Datum zapsání společnosti do obchodního rejstříku zvolíme v části Hlavní menu 1. 1. 2014. Datum počátku ekonomické činnosti podniku je tedy 1. 2. 2014. Přejdeme nyní do části investičních nákladů, kde zadáme vlastní finanční prostředky, velikost základního kapitálu, předpokládanou hodnotu zřizovacích výdajů a majetek, který je třeba pořídit, případně který je součástí odstupného, jak je uvedeno na obrázku v příloze 6. Odstupné je potřeba zadat nepřímo, a sice za majetek, který je v restauraci přítomen a přechází za tuto částku do vlastnictví společnosti.74 V našem případě je tedy tento majetek pro přehlednost zapsán do prvního sloupce pod názvem „Rekonstrukce“. V této části je ještě jeden problém spojený s životností zařízení. Pokud totiž převezmeme zařízení po předchozím majiteli, pravděpodobně je již nějakou dobu používáno. Proto je jeho životnost přirozeně kratší než u zařízení nového. Aplikace ale není schopna rozeznat tato opotřebená zařízení. V závislosti na zvolené době životnosti, by totiž automaticky pořídila další zařízení, po uplynutí doby jeho životnosti. Jelikož je aplikace konstruována pouze pro první účetní období, vycházíme z toho, že pokud je životnost zařízení delší jak jedno účetní období, můžeme si jej ponechat, protože nedojde ke zkreslení výsledku hospodaření v prvním roce provozování společnosti. V případě, že je životnost 74 Jiný způsob účtování odstupného není v této aplikaci možný.
82
opotřebeného zařízení kratší, než je doba prvního účetního období, je lepší pořídit a účtovat zařízení nové, které je v našem případě ve druhém sloupci určeném pro majetek. V části Provozní náklady zadáme hodnoty podle obrázku z přílohy 7. V části Nastavení ponecháme stávající hodnoty a vrátíme se zpět do části Hlavní menu, kde zapíšeme hodnoty uvedené na obrázku v příloze 8. Na obrázku z přílohy 8 již nyní vidíme, že pokud budou dodržena jednotlivá nastavení, dosáhne společnost v prvním účetním období zisku 3.345.203,-Kč. Na obrázku v příloze 9, v části Finanční ukazatele, je potom podrobnější pohled na finanční situaci této fiktivní restaurace. 3.3 Nevýhody aplikace RFB V souvislosti s používáním této aplikace je třeba zmínit její velkou nevýhodu, která je způsobena ukládáním názvů jednotlivých projektů do textových souborů na disku „C“. Toto řešení tvorby pomocných souborů způsobuje nepřenositelnost názvů jednotlivých projektů vytvořených v této aplikaci na jiné počítače. I když jsou jednotlivé projekty uloženy v aplikaci, ve které byly vytvořeny, jejich názvy zůstávají na původním počítači. Projekty uložené v aplikaci sice uživatel může zobrazit tím, že vybere příslušný list projektu, ale v úvodním dialogu jejich názvy zobrazovány nebudou. Další problém, který může v této souvislosti nastat, je že uživatel vytvoří kopii této aplikace v jednom počítači a začne pracovat na různých projektech, které vytvoří pomocí úvodního dialogu. Po uložení, zavření a opětovné spuštění aplikace se pak zobrazí názvy všech projektů, které uživatel vytvořil, bez ohledu na to, v jaké aplikaci to bylo. Pokud si uživatel nepamatuje, ve které aplikaci začal tyto projekty vytvářet, vybere příslušný název projektu a potvrdí tlačítkem „OK“, Může se stát, že se zobrazí prázdná pole, jelikož v této aplikaci tento projekt nebyl ještě vytvořen. Pokud potom tento projekt smaže, vznikne stejný problém jako v případě přenositelnosti aplikace. Totiž po spuštění aplikace, ve které je projekt již vytvořen, se v seznamu projektů nezobrazí jeho název, i když je v aplikaci projekt přítomný. Pokud nyní uživatel znovu vytvoří projekt se stejným názvem a potvrdí dialog tlačítkem „OK“, bude pomocí makra přesměrován na jeho již existující projekt. Tento problém je možné vyřešit vytvořením samostatného skrytého listu v sešitu samotné aplikace, do které by se ukládaly příslušné názvy projektů. K tomuto řešení je však zapotřebí přepsat celý zdrojový kód maker, a to z toho důvodu, že nemůžeme dopředu
83
vědět, kam uživatel aplikaci uloží. Naštěstí existují příkazy, pomocí kterých lze zjistit aktuální pozici aplikace. Názvy vytvořených projektů by se potom ukládaly do příslušného sešitu aplikace v závislosti na vyhodnocení jejího umístění pomocí maker. Ve zdrojovém kódu by to tedy znamenalo přepsat stávající pevné odkazy k textovým souborům na relativní, odkazující na umístění aplikace zjištěné pomocí makra. Na konec
této kapitoly je potřeba zmínit, že makra obsažená v této aplikaci, jsou
nefunkční v kancelářském balíku společnosti Microsoft. Je to z toho důvodu, že ačkoli programovací jazyk v těchto dvou produktech vychází ze stejného základu, a sice jazyka „Basic“, kancelářský balík společnosti Microsoft používá vlastní modifikaci tohoto jazyka a to „VBA“ (Visual Basic for Aplication). Kdežto OpenOffice.org využívá především jazyka
„OpenOffice.org Basic“. To se projevuje v různém pojmenování a významu
objektových proměnných v obou jazycích, a tedy i jejich vzájemné nekompatibility.
84
Závěr V této diplomové práci jsme popsali tvorbu aplikace, která umožňuje finanční modelování gastronomických zařízení a zobrazuje jejich výsledky v prvním účetním období na základě příslušných zákonů a účetních standardů. Výstupem pro posouzení zda je určitý projekt, který budoucí uživatel vytvoří, realizovatelný, jsou jednotlivé části účetní uzávěrky, ukazatele finanční analýzy a přehled zůstatků finančních prostředků na bankovním účtu. Pokud bychom chtěli výsledky ještě více zpřesnit, museli bychom v aplikaci vytvořit pole pro kalkulace jednotlivých pokrmů. Zde bychom narazili ovšem na problém, že čím podrobnější hodnoty bychom zadávali, tím obtížnější by bylo stanovit jejich předpokládané množství. A mohlo by dojít k ještě většímu zkreslení výsledků, než je tomu v případě sortimentních skupin. Díky tomu, že v aplikaci nejsou v této chvíli vytvořeny žádné nápovědy, není možné aby aplikaci používali uživatelé bez znalosti dané problematiky. Pokud ale prostudují tuto diplomovou práci, velmi rychle pochopí, jak se s aplikací pracuje a co a kde se do ní zadává. V aplikaci nejsou žádné grafy, i když povaha výstupních informací vybízí k tomu, aby z důvodu jejich přehlednosti byly vytvořeny. Je to z toho důvodu, že konstrukce aplikace neumožňuje používání grafů. A to proto, že při tvorbě grafu se do jednotlivých polí, které mají být v grafu zobrazeny, zadává absolutní a ne relativní adresa buněk. Pokud bychom tedy graf v aplikaci vytvořili a uživatel by vytvořil nový projekt, zobrazovaly by se v něm pouze hodnoty ze zdrojových listů, a ne z listů daného projektu. V další verzi aplikace autor předpokládá připravit speciální datové výstupy, které budou vhodné pro činnost grafického rozhraní. V první kapitole jsme uvedli základní informace potřebné pro vznik této aplikace. Zejména jsme se věnovali kancelářskému balíku Apache OpenOffice.org a jeho modulu Calc, základním účetním informacím a prvkům finanční analýzy. Ve druhé jsme si popsali tvorbu GUI, makra která jej z velké části řídí a tvorbu pomocných výpočtů. Dále jsme krátce popsali tvorbu hlavních výpočtů a konečné úpravy aplikace. Třetí kapitola byla věnována použití samotné aplikace, byly zde stanoveny podmínky pro 85
její použití, vytvořili jsme zde také příklad projektu s názvem „Dopo Domani“ a uvedli nevýhody spojené s užíváním této aplikace. První cíl této diplomové práce se nám podařilo naplnit. Povedlo se nám vytvořit aplikaci v tabulkové procesoru Apache OpenOffice.org Calc, která je schopna, na základě vložených údajů uživatelem, zobrazit výsledek hospodaření společnosti a další ukazatele související s finanční stránkou tohoto typu podnikatelské činnosti a to v prvním účetním období po vzniku společnosti. Druhý cíl se nám podařilo splnit pouze částečně, protože aplikace sice zpřesňuje výsledky výpočtů na základě zákonů a účetních standardů, ale fakt, že záleží pouze na uživateli a na jeho schopnosti zadat do aplikace relevantní hodnoty, nijak neomezí jeho reálná či nereálná očekávání. V souvislosti s těmito cíli byly stanoveny dvě nulové a dvě alternativní hypotézy, které nyní zhodnotíme. 1) H0 – Lze pomocí tabulkové procesoru Apache OpenOffice.org Calc vytvořit aplikaci pro účely finančního modelování podniků v oboru gastronomie. Ano, protože z výsledků této diplomové práce vyplývá, že je možné v tabulkovém procesoru Apache OpenOffice.org Calc vytvořit aplikaci, která bude schopna finančního modelování podniků v oboru gastronomie. 2) H0 – Dosáhneme vytvořením aplikace, která bude vycházet ze zákonů a účetních standardů České republiky zpřesnění výsledků při finančním modelování. Ano, vytvořením aplikace na základě zákonů a účetních standardů k zpřesnění výsledků přispělo, protože pokud by z nich výpočty nevycházely docházelo by k daleko většímu zkreslení jejich výsledků.
86
H1 – Zpřesněné výsledky odpovídají reálným situacím. Ano, protože na předchozí verzi této aplikace byl realizován projekt firmy „Pizza na zavolanou s. s r.o.“ a výsledky, které v té době ještě neucelená aplikace poskytla, byly srovnatelné s realitou a vykazovaly pouze přijatelné odchylky.
H2 – Omezuje vytvořená aplikace nereálná očekávání investorů, provozovatelů. Ne, protože záleží pouze na uživateli, jaké hodnoty do aplikace zadá. Aplikace sama o sobě nevyhodnocuje reálnost vložených hodnot, pouze zobrazuje, co by se stalo, kdyby tato situace nastala. Při psaní této diplomové práce bylo hlavním problémem nedostatečné množství literatury, která by popisovala tvorbu a práci s makry. Jediná užitečná kniha pro tento účel použitelná byla „OpenOffice.org Macros Explained“, která sice byla zásadní pro tvorbu této práce, nic méně, ne vše je v ní úplně vysvětleno. Dalším důležitým zdrojem byla projektová dokumentace pro Apache OpenOffice.org, ale ani ta není příliš přehledná a sama o sobě by vyžadovala manuál. Proto se při tvorbě maker pro aplikaci využívala spíše metoda postupného zkoušení a učení se z vlastních chyb.
87
Literatura: [1] Apache OpenOffice [web]. Copyright © 2011-2012. Dostupné z: http://www.openoffice.org/ [2] Calc – Makra [web]. 23.09.2006. Dostupné z: http://members.chello.cz/ladinek/ooo/calc/makra.html [3] KISLINGEROVÁ, Eva. Manažerské finance. 3. vyd. Praha: C. H. Beck, 2010, xxxviii, 811 s. Beckova edice ekonomie. ISBN 978-80-7400-194-9. [4] KOVANICOVÁ, Dana. Abeceda účetních znalostí pro každého. 19. aktualiz. Vyd. Praha: Polygon, 2009, 413 s. ISBN 978-80-7273-156-5. [5] Ministerstvo financí [web]. Dostupné z: http://www.mfcr.cz/ [6] Ministerstvo práce a sociálních věcí [web]. Dostupné z: http://www.mpsv.cz/ [7] MRKOSOVÁ, Jitka. Účetnictví 2010: učebnice pro SŠ a VOŠ. Brno: Computer Press, 2010, 291 s. ISBN 978-80-251-2925-8. [8] Nápověda Apache OpenOffice.org [9] NAVRÁTIL, Pavel a Pavel JIŘÍČEK. OpenOffice.org Calc. 1. vyd. Kraslice na Hané: Computer Media, 2007, 128 s. ISBN 80-866-8674-4. [10] Obchodní zákoník č. 513/1991 Sb., §108, §124 [11] PASTIERIK, Július. Makrá v OpenOffice.org. Dačov Lom, 2010. ISBN 978-80-970479-0-0. Dostupné z: http://www.openoffice.cz/stahnout/knihamakra-v-openoffice-org [12] PITONYAK, Andrew. OpenOffice.org Macros Explained. 2012. Dostupné z: http://www.pitonyak.org/book/
[13] POLLAK, Harry. Jak obnovit životaschopnost upadajících podniků. Vyd. 1. Praha: C. H. Beck, 2003, xii, 122 s. ISBN 80-717-9803-7. [14] RUBÁKOVÁ, Věra. Praktické účetní případy ...: příklady účtování na všech účtech. Praha: Grada Publishing, 2008-, 168 s. ISBN 978-80-247-3207-7. [15] RŮČKOVÁ, Petra. Finanční analýza: metody, ukazatele, využití v praxi. 4., aktualiz. vyd. Praha: Grada, c2011, 143 s. Finanční řízení. ISBN 978-80-247-3916-8. [16] SEDLÁČEK, Daniel. Malá makra v OpenOffice.org: Pravidla editace maker. OpenOffice.cz [web]. 2012,. Dostupné z: http://www.openoffice.cz/doplnky/pravidlaeditace-maker [17] The Apache OpenOffice Wiki [web]. Dostupné z: http://wiki.openoffice.org/ [18] The Document Foundation [web]. September 2010. Dostupné z: http://www.documentfoundation.org/ [19] Vyhláška č. 500 / 2012 upravuje Zákon o dani z přidané hodnoty č. 235/2004 Sb., §47 odst.1 [20] Zákon o dani z přidané hodnoty č. 235/2004 Sb., §47 odst.1 [21] Zákon o daních z příjmů č. 586/1992 Sb., §21 odst. 1, §21 odst. 1, §32a odst. 1, §26 odst. 2, §38ha, §16 odst. 3, §35ba odst. 1, §31, §32, §32a , §20 odst. 11 [22] Zákon o pojistném na sociálním zabezpečení č. 589/1992 Sb., [23] Zákon o pojistném na zdravotní pojištění č. 592/1992 Sb., [24] Zákon o účetnictví č. 563/1991 Sb., §3 odst. 4, §40, §7 odst. 1, §19 odst. 7,
Seznam příloh: Příloha 1 – Hlavní menu Příloha 2 – Investiční náklady Příloha 3 – Provozní náklady Příloha 4 – Finanční ukazatele Příloha 5 – Nastavení Příloha 6 – Investiční náklady restaurace „Dopo Domani“ Příloha 7 – Provozní náklady restaurace „Dopo Domani“ Příloha 8 – Hlavní menu restaurace „Dopo Domani“ Příloha 9 – Finanční ukazatele restaurace „Dopo Domani“ Příloha 10 – CD s aplikací RFB – verze 1.0.1
Příloha 1 – Hlavní menu
Zdroj: Vlastní zpracování
Příloha 2 – Investiční náklady
Zdroj: Vlastní zpracování
Příloha 3 – Provozní náklady
Zdroj: Vlastní zpracování
Příloha 4 – Finanční ukazatele
Zdroj: Vlastní zpracování
Příloha 5 – Nastavení
Zdroj: Vlastní zpracování
Příloha 6 – Investiční náklady restaurace „Dopo Domani“
Zdroj: Vlastní zpracování
Příloha 7 – Provozní náklady restaurace „Dopo Domani“
Zdroj: Vlastní zpracování
Příloha 8 – Hlavní menu restaurace „Dopo Domani“
Zdroj: Vlastní zpracování
Příloha 9 – Finanční ukazatele restaurace „Dopo Domani“
Zdroj: Vlastní zpracování