V ABRA Flexi je možné vytvořit si vlastní účetní sestavy. Tyto sestavy lze generovat, přepočítávat i importovat prostřednictvím REST API.
Jak na to v desktopové aplikaci, naleznete v návodu Seznam sestav; tvorbě vlastních sestav se věnuje článek Vlastní sestavy.
Jak pracovat s již přepočtenou sestavou
Účetní sestavy najdete na endpointu /sestava, tedy metodou GET na adrese /c/{firma}/sestava.xml. Na této adrese naleznete seznam účetních sestav.
<sestava>
<id>202</id>
<lastUpdate>2010-07-13T00:00:00+02:00</lastUpdate>
<kod>IFRS-PL</kod>
<nazev>IFRS - PROFIT AND LOSS</nazev>
</sestava>
<sestava>
<id>9</id>
<lastUpdate>2018-03-07T00:00:00+01:00</lastUpdate>
<kod>ROZVAHA2018</kod>
<nazev>Rozvaha v plném rozsahu od r. 2018</nazev>
</sestava>
<sestava>
<id>10001</id>
<lastUpdate>2020-02-17T16:24:33.068+01:00</lastUpdate>
<kod>VYSLEDOMOJE</kod>
<nazev>Moje výsledovka</nazev>
</sestava>
<sestava>
<id>7</id>
<lastUpdate>2022-12-14T00:54:34.889+01:00</lastUpdate>
<kod>VÝSLEDOVKA2016</kod>
<nazev>Výkaz zisku a ztráty - druhové členění od r.2016</nazev>
</sestava>
⚠️ Takto nalezené účetní sestavy musejí být již dříve přepočtené. Jinak nebudou zobrazovat žádné hodnoty.
Pro práci se standardními předpisy sestav slouží evidence /standardni-predpis, tedy například GET na adresu /c/{firma}/standardni-predpis.xml.
O sestavě lze zjistit i podstatně více informací. Následující tabulka uvádí, jaké informace a v jaké podobě je možné o sestavě získat:
Adresa | Co vrací |
| pouze seznam sestav |
| sestava → radkySestavy → stdPredpisy v plném detailu |
| sestava → radkySestavy |
| pouze seznam řádků |
| radek-sestavy → stdPredpisy v plném detailu |
| radek-sestavy → stdPredpisy |
| seznam standardních předpisů |
| seznam standardních předpisů v plném detailu |
Přepočet sestav
Přes API není možné pouze zjistit informace a hodnoty dané sestavy — sestavu lze také přepočítat. Oproti výše popsanému zjištění hodnot se přepočet vyvolá odesláním požadavku metodou PUT nebo POST na příslušnou adresu.
Do elementu prepocti je nutné uvést vybraneRadky a parametry přepočtu. Vybrané řádky musí obsahovat identifikátory ucet a radek. Které řádky je možné vybrat ke kterým účtům, zjistíte v sub-evidenci umisteni-uctu. Je nutné vybrat řádky ke všem účtům v ní uvedeným.
Příklad přepočtu sestavy Výkaz zisku a ztráty
Přepočet je vyvolán odesláním požadavku metodou PUT na adresu /c/{firma}/sestava/code:VÝSLEDOVKA2016 s následujícími daty v těle požadavku:
<winstrom version="1.0">
<sestava>
<prepocti>
<vybraneRadky>
<vybranyRadek>
<ucet>code:662001</ucet>
<radek>383</radek>
</vybranyRadek>
<vybranyRadek>
<ucet>code:562001</ucet>
<radek>387</radek>
</vybranyRadek>
</vybraneRadky>
<parametry>
<ucetniObdobi>code:2022</ucetniObdobi>
<pocatecniRok>2022</pocatecniRok>
<pocatecniMesic>1</pocatecniMesic>
<koncovyRok>2022</koncovyRok>
<koncovyMesic>12</koncovyMesic>
<strediska>
<stredisko>code:C</stredisko>
</strediska>
</parametry>
</prepocti>
</sestava>
</winstrom>
Sub-evidence umisteni-uctu
Odesláním požadavku metodou GET na adresu /c/{firma}/sestava/code:VÝSLEDOVKA2016/umisteni-uctu.xml?detail=custom:ucet,vybranyRadek,moznosti(id,nazev) získáte následující data:
<winstrom version="1.0">
<umisteni-uctu>
<ucet evidencePath="ucet">code:662001</ucet>
<vybranyRadek evidencePath="radek-sestavy">383</vybranyRadek>
<moznosti>
<radek-sestavy>
<id>383</id>
<nazev>Výnosové úroky a podobné výnosy - ovládaná nebo ovládající osoba</nazev>
</radek-sestavy>
<radek-sestavy>
<id>384</id>
<nazev>Ostatní výnosové úroky a podobné výnosy</nazev>
</radek-sestavy>
</moznosti>
</umisteni-uctu>
<umisteni-uctu>
<ucet evidencePath="ucet">code:562001</ucet>
<vybranyRadek evidencePath="radek-sestavy">387</vybranyRadek>
<moznosti>
<radek-sestavy>
<id>387</id>
<nazev>Nákladové úroky a podobné náklady - ovládaná nebo ovládající osoba</nazev>
</radek-sestavy>
<radek-sestavy>
<id>388</id>
<nazev>Ostatní nákladové úroky a podobné náklady</nazev>
</radek-sestavy>
</moznosti>
</umisteni-uctu>
</winstrom>
V elementu vybranyRadek najdete identifikátor řádku, který byl vybrán při předchozím přepočtu této sestavy.
💡 Po přepočtu požadované sestavy je vhodné přepočítat i její zdrojovou sestavu uvedenou v elementu sestavaZdroj. Identifikátory zdrojových sestav získáte na adrese /c/{firma}/sestava.xml?detail=custom:nazev,kod,sestavaZdroj.
Parametry přepočtu
Do elementu prepocti lze uvést následující parametry přepočtu:
ucetniObdobi— identifikátor účetního období, pro které chceme sestavu přepočítat (viz evidenceucetni-obdobi)pocatecniRok— počáteční rok časového intervalu v rámci uvedeného účetního obdobípocatecniMesic— počáteční měsíc časového intervalu v rámci uvedeného účetního období (hodnoty 1 až 12)koncovyRok— koncový rok časového intervalu v rámci uvedeného účetního obdobíkoncovyMesic— koncový měsíc časového intervalu v rámci uvedeného účetního období (hodnoty 1 až 12)minuleUcetniObdobi— identifikátor minulého účetního období, pro které chceme sestavu přepočítat. Pokud není uveden, použije se automaticky období předcházející období z parametruucetniObdobi.minulyPocatecniRok— počáteční rok časového intervalu v rámci minulého účetního období. Pokud není uveden, použije se automaticky rok předcházející tomu z parametrupocatecniRok.minulyPocatecniMesic— počáteční měsíc časového intervalu v rámci minulého účetního období (hodnoty 1 až 12). Pokud není uveden, použije se měsíc z parametrupocatecniMesic.minulyKoncovyRok— koncový rok časového intervalu v rámci minulého účetního období. Pokud není uveden, použije se automaticky rok předcházející tomu z parametrukoncovyRok.minulyKoncovyMesic— koncový měsíc časového intervalu v rámci minulého účetního období (hodnoty 1 až 12). Pokud není uveden, použije se měsíc z parametrukoncovyMesic.strediska— identifikátory středisek, pro která chceme sestavu přepočítat (viz evidencestredisko). Pokud není uveden, bude sestava přepočtena pro všechna střediska.zaokrouhlitNa— možnost zaokrouhlit vypočítané částky. HodnotyTISICE(zaokrouhlení na tisíce),JEDNOTKY(zaokrouhlení na jednotky) aNEZAOKROUHLOVAT(výpočet bez zaokrouhlení, výchozí hodnota).coZaokrouhlit— pokud nastavíte parametrzaokrouhlitNa, tímto parametrem ovlivníte, co bude zaokrouhleno. HodnotyRADKY(zaokrouhlí se celý řádek sestavy),SYNTETICKE_UCTY(zaokrouhlí se celý syntetický účet, např. 211) aANALYTICKE_UCTY(zaokrouhlí se každý analytický účet zvlášť, např. 211001, 211002).
Počáteční stavy účtů
V případě sestavy typu Rozvaha může být přepočet přerušen chybou „Počáteční stavy účtů nejsou v pořádku. Strana MD: 10.0, Strana Dal: 100.0, Rozdíl: 90.0".
Tyto stavy můžete buď opravit, nebo ignorovat pomocí elementu ignorovatRozdilMdDal s hodnotou true, například takto:
<winstrom version="1.0">
<sestava>
<prepocti>
<ignorovatRozdilMdDal>true</ignorovatRozdilMdDal>
<vybraneRadky>
<vybranyRadek>
<ucet>code:662001</ucet>
<radek>383</radek>
</vybranyRadek>
</vybraneRadky>
<parametry>
<ucetniObdobi>code:2022</ucetniObdobi>
<pocatecniRok>2022</pocatecniRok>
<pocatecniMesic>1</pocatecniMesic>
<koncovyRok>2022</koncovyRok>
<koncovyMesic>12</koncovyMesic>
</parametry>
</prepocti>
</sestava>
</winstrom>
Chyba zaokrouhlení
Při zaokrouhlení může být přepočet přerušen chybou:
Při výpočtu sestavy vznikla zaokrouhlovací chyba na řádku 55 - *** - Výsledek hospodaření za účetní období (+/-). Můžete vybrat řádek sestavy, do kterého se má vzniklý rozdíl připočítat. Rozdíl v aktuálním období (v tisících): 1.0 Rozdíl v minulém období (v tisících): -2.0
Situaci je možné vyřešit přičtením rozdílu na některý řádek sestavy. Jeho identifikátor uvedete do elementu radekProPricteniRozdilu. Řádky, které je možné použít, najdete v sub-evidenci pricteni-rozdilu.
⚠️ U sestavy typu Rozvaha je nutné rozlišovat, zda zaokrouhlovací chyba nastala na straně aktiv, nebo pasiv. Při chybě na straně aktiv uvedete identifikátor řádku do elementu radekProPricteniRozdilu, při chybě na straně pasiv do elementu radekProPricteniRozdilu2. Pokud chyba nastane na obou stranách, je nutné zadat oba řádky.
Odesláním požadavku metodou GET na adresu /c/{firma}/sestava/code:VÝSLEDOVKA2016/pricteni-rozdilu?detail=custom:moznosti(id,cisRad,oznaceni,nazev) získáte následující data:
<winstrom version="1.0">
<pricteni-rozdilu>
<id>-1</id>
<moznosti>
<radek-sestavy>
<id>344</id>
<cisRad>1</cisRad>
<oznaceni>I.</oznaceni>
<nazev>Tržby z prodeje výrobků a služeb</nazev>
</radek-sestavy>
<radek-sestavy>
<id>345</id>
<cisRad>2</cisRad>
<oznaceni>II.</oznaceni>
<nazev>Tržby za prodej zboží</nazev>
</radek-sestavy>
</moznosti>
</pricteni-rozdilu>
</winstrom>
Požadovaný řádek pak uvedete do elementu radekProPricteniRozdilu, například takto:
<winstrom version="1.0">
<sestava>
<prepocti>
<radekProPricteniRozdilu>344</radekProPricteniRozdilu>
<vybraneRadky>
<vybranyRadek>
<ucet>code:662001</ucet>
<radek>383</radek>
</vybranyRadek>
</vybraneRadky>
<parametry>
<ucetniObdobi>code:2022</ucetniObdobi>
<pocatecniRok>2022</pocatecniRok>
<pocatecniMesic>1</pocatecniMesic>
<koncovyRok>2022</koncovyRok>
<koncovyMesic>12</koncovyMesic>
</parametry>
</prepocti>
</sestava>
</winstrom>
Chybové kódy
sestavaVypocet.nesouhlasiMDaDalInfo— nesouhlasí počáteční stavy MD a Dal. Opravte je tak, aby byl rozdíl nulový.sestavaVypocet.zaokrRadkaNevyplnena— při výpočtu sestavy došlo k zaokrouhlovací chybě a nebyla zvolena žádná řádka pro přičtení rozdílu. U sestavy typu Rozvaha vyberte řádku doradekProPricteniRozdilu, jestliže atributforchybové hlášky má hodnoturadekProPricteniRozdilu, nebo doradekProPricteniRozdilu2, jestliže má hodnoturadekProPricteniRozdilu2, a výpočet opakujte.sestavaVypocet.nesouhlasiAktivaPasiva— při výpočtu sestavy došlo k nesouhlasu aktiv a pasiv. Vyberte řádku, do které se má rozdíl promítnout (podle atributuforchybové hláškyradekProPricteniRozdilu, neboradekProPricteniRozdilu2), a výpočet opakujte. Vzniká pouze při výpočtu sestavy typu Rozvaha.sestavaVypocet.zaokrRadkaNevyresila— zvolená řádka pro přičtení rozdílu zaokrouhlovací chybu neopravila. Vyberte jinou a výpočet opakujte.sestavaVypocet.zaokrRadkaRozbila— zvolením řádky pro přičtení rozdílu došlo k chybě na jiném řádku. Vyberte jinou a výpočet opakujte.
Import vlastní sestavy
Sestavy je možné i importovat, viz příklad níže:
<?xml version="1.0" encoding="UTF-8" ?>
<winstrom>
<sestava>
<id>code:SESTAVA-T01-MIN</id>
<id>ext:sestava:t01:min</id>
<nazev>Testovací sestava 01</nazev>
<radkySestavy>
<radek-sestavy>
<id>ext:radek:r1</id>
<nazev>radek1</nazev>
<stdPredpisy>
<standardni-predpis>
<id>ext:stdp:01</id>
<zpusobVypK>zpusobVypo.stavKon</zpusobVypK>
<cisloUctuSyn>code:311</cisloUctuSyn>
</standardni-predpis>
</stdPredpisy>
</radek-sestavy>
<radek-sestavy>
<id>ext:radek:r2</id>
<nazev>radek2</nazev>
<stdPredpisy>
<standardni-predpis>
<id>ext:stdp:02</id>
<zpusobVypK>zpusobVypo.stavKon</zpusobVypK>
<cisloUctuSyn>code:321</cisloUctuSyn>
</standardni-predpis>
</stdPredpisy>
</radek-sestavy>
<radek-sestavy>
<id>ext:radek:r3</id>
<nazev>suma r1 + r2</nazev>
<sumace>
<sumace-sestavy>
<id>ext:sum:r3:r1</id>
<radekSum>ext:radek:r1</radekSum>
</sumace-sestavy>
<sumace-sestavy>
<id>ext:sum:r3:r2</id>
<radekSum>ext:radek:r2</radekSum>
</sumace-sestavy>
</sumace>
</radek-sestavy>
</radkySestavy>
</sestava>
</winstrom>
Odpovědí je v případě úspěšného vytvoření sestavy:
<?xml version="1.0" encoding="utf-8"?>
<winstrom version="1.0">
<success>true</success>
<stats>
<created>1</created>
<updated>0</updated>
<deleted>0</deleted>
<skipped>0</skipped>
<failed>0</failed>
</stats>
<results>
<result>
<id>10002</id>
<request-id>ext:sestava:t01:min</request-id>
<request-id>code:SESTAVA-T01-MIN</request-id>
<ref>/c/{firma}/sestava/10002.xml</ref>
</result>
</results>
</winstrom>
Export do PDF
Příslušnou sestavu lze v API i vytisknout, respektive vygenerovat PDF. Seznam reportů dostupných nad evidencí /sestava naleznete na adrese /c/{firma}/sestava/reports.xml.
Seznam dostupných reportů
Identifikátor | Název |
| Rozvaha v základním rozsahu |
| Rozvaha ve zjednodušeném rozsahu |
| Rozvaha v plném rozsahu |
| Výkaz zisku a ztráty ve zjednodušeném rozsahu |
| Výkaz zisku a ztráty v plném rozsahu |
| Přehled o peněžních tocích |
| Přehled o peněžních tocích (včetně údajů za minulé období) |
| Řádky sestavy |
| Řádky sestavy (Rozpad na účty) |
| Řádky sestavy (Standardní předpis, Uživatelský předpis) |
| Účetní sestavy |
Příklady
GET https://demo.flexibee.eu/c/demo/sestava/(kod='ROZVAHA2018').pdf?report-name=rozvaha$$SUM
GET https://demo.flexibee.eu/c/demo/sestava/(kod='VYSLEDOVKA').pdf?report-name=vysledovka$$NES
Použít lze libovolnou filtraci.
Endpointy se strukturovanými daty pro formuláře
V API jsou k dispozici endpointy, které vrací potřebná data pro jednoduché použití účetních sestav ve formuláři:
/sestava/form-data.json— kompletní seznam sestav/sestava/form-data/standard.json— standardní sestavy/sestava/form-data/user.json— uživatelské sestavy
⚠️ U těchto endpointů je nutné uvést příponu formátu (.json nebo .xml). Adresa bez přípony vrací 404 s kódem adresaNeplatnaUrl.
