V ABRA Flexi je možné si vytvořit vlastní účetní sestavy. Tyto účetní sestavy však lze generovat i právě prostřednictvím API rozhraní.
Jak na to v desktopové aplikaci, naleznete v návodu zde.
Jak pracovat s již přepočtenou sestavou?
Účetní sestavy nalezneme pomocí endpointu /sestava
, tedy GET
na URL adresu typu https://server:5434/c/firma/sestava.xml
. Na této URL adrese nalezneme 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.
V poslední verzi přibyla v API nová evidence pro práci se standardními předpisy sestav. Ty nalezneme na endpointu /standardni-predpis
, například tedy GET na URL adresu typu https://server:5434/c/firma/standardni-predpis.xml
.
O sestavě však můžeme zjistit daleko více informací. Níže naleznete seznam, jaké informace a v jaké podobě je možné o sestavě získat.
/sestava.json
- vrací pouze seznam sestav/sestava.json?detail=full
- vrací sestava → radkySestavy → stdPredpisy v plném detailu/sestava.json?relations=radkySestavy
- vrací sestava → radkySestavy/radek-sestavy.json
- vrací pouze seznam řádků/radek-sestavy.json?detail=full
- vrací radek-sestavy → stdPredpisy v plném detailu/radek-sestavy.json?relations=stdPredpisy
- vrací radek-sestavy → stdPredpisy/standardni-predpis.json
- vrací seznam standardních předpisů/standardni-predpis.json?detail=full
vrací seznam standardních předpisů v plném detailu
Přepočet sestav
Přes API však není možné pouze zjistit informace a hodnoty dané sestavy. Sestavu je v API možné také přepočítat.
Oproti výše popsanému příkladu ke zjištění hodnot sestavy, je přepočet je vyvolán odesláním požadavku metodou PUT/POST
na příslušnou URL.
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 lze zjistit 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 URL
/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>
Příklad použití sub-evidence umisteni-uctu:
Odesláním požadavku metodou GET
na URL
/c/{firma}/sestava/code:VÝSLEDOVKA2016/umisteni-uctu.xml?detail=custom:ucet,vybranyRadek,moznosti(id,nazev)
získáme 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>
Do elementu prepocti
pak 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 (viz. evidenceucetni-obdobi
). Pokud není tento parametr uveden, použije se automaticky období předcházející účetnímu období uvedenému v parametruucetniObdobi
.minulyPocatecniRok
- počáteční rok časového intervalu v rámci minulého účetního období. Pokud není tento parametr uveden, použije se automaticky rok předcházející tomu, který je uveden v 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í tento parametr uveden, použije se automaticky měsíc uvedený v parametrupocatecniMesic
.minulyKoncovyRok
- koncový rok časového intervalu v rámci minulého účetního období. Pokud není tento parametr uveden, použije se automaticky rok předcházející tomu, který je uveden v parametrukoncovyRok
.minulyKoncovyMesic
- koncový měsíc časového intervalu v rámci minulého účetního období (hodnoty 1 až 12). Pokud není tento parametr uveden, použije se automaticky měsíc uvedený v parametrukoncovyMesic
.strediska
- identifikátory středisek, pro které chceme sestavu přepočítat (viz. evidencestredisko
). Pokud není tento parametr uveden, bude sestava přepočtena pro všechna střediska.zaokrouhlitNa
- možnost zaokrouhlit vypočítané částky. Pokud není parametr uveden, nebudou vypočítané částky zaokrouhleny. Je možné použít tyto hodnoty:TISICE
- zaokrouhlení na tisíceJEDNOTKY
- zaokrouhlení na jednotkyNEZAOKROUHLOVAT
- výpočet bez zaokrouhlení (výchozí hodnota)
coZaokrouhlit
- pokud nastavíme parametrzaokrouhlitNa
, můžeme tímto parametrem ovlivnit, co bude zaokrouhleno. Je možné použít tyto hodnoty:RADKY
- zaokrouhlí se celý řádek sestavySYNTETICKE_UCTY
- zaokrouhlí se celý syntetický účet, např. 211ANALYTICKE_UCTY
- zaokrouhlí se každý analytický účet zvlášť, např. 211001, 211002, atd.
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ř. takto:
<winstrom version="1.0">
<sestava>
<prepocti>
<ignorovatRozdilMdDal>true</ignorovatRozdilMdDal>
<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>
</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
Tuto situaci je možné vyřešit přičtením rozdílu na některý řádek sestavy. Jeho identifikátor uvedeme do elementu radekProPricteniRozdilu
. Řádky, které je možné použít, najdeme v sub-evidenci pricteni-rozdilu
.
Pozor: u sestavy typu Rozvaha musíme rozlišovat, zda zaokrouhlovací chyba nastala na straně aktiv nebo pasiv. Pokud zaokrouhlovací chyba nastane na straně aktiv, identifikátor řádku sestavy uvedeme do elementu radekProPricteniRozdilu
, pokud zaokrouhlovací chyba nastane na straně pasiv, řádku sestavy uvedeme do elementu radekProPricteniRozdilu2
.
Pokud zaokrouhlovací chyba nastane jak na straně aktiv tak na straně pasiv, potom je pro vyřešení situace nutné zadat oba dva řádky pro přičtení rozdílu.
Odesláním požadavku metodou GET
na URL
/c/{firma}/sestava/code:VÝSLEDOVKA2016/pricteni-rozdilu?detail=custom:moznosti(id,cisRad,oznaceni,nazev)
získáme 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 uvedeme do elementu radekProPricteniRozdilu
, např. takto:
<winstrom version="1.0">
<sestava>
<prepocti>
<radekProPricteniRozdilu>344</radekProPricteniRozdilu>
<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>
</parametry>
</prepocti>
</sestava>
</winstrom>
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/testovaci_2/sestava/10002.xml</ref>
</result>
</results>
</winstrom>
Chybové kódy
sestavaVypocet.nesouhlasiMDaDalInfo
- Nesouhlasí počáteční stavy MD a Dal. Opravte tak, že správně zadáte počáteční stavy, aby rozdíl byl 0.0.sestavaVypocet.zaokrRadkaNevyplnena
- Při výpočtu sestavy došlo k zaokrouhlovací chybě a nebyla zvolena žádná řádka pro přičtení rozdílu. Vyberte správnou (radekProPricteniRozdilu
) 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 (radekProPricteniRozdilu
), a výpočet opakujte. Vzniká pouze při výpočtu sestavy typu Rozvaha.sestavaVypocet.zaokrRadkaNevyresila
- Při výpočtu sestavy došlo k zaokrouhlovací chybě a zvolená řádka pro přičtení rozdílu chybu neopravila. Vyberte jinou a výpočet opakujte.sestavaVypocet.zaokrRadkaRozbila
- Při výpočtu sestavy se zvolením řádky pro přičtení rozdílu došlo k chybě na jiném řádku. Vyberte jinou a výpočet opakujte.
Export do PDF
V API lze příslušnou sestavu i vytisknout, resp. vygenerovat PDF. Seznam reportů dostupných nad evidencí /sestava naleznete zde.
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říklad:
GET demo.flexibee.eu/c/demo/sestava/(kod='ROZVAHA2018').pdf?report-name=rozvaha$$SUM
GET demo.flexibee.eu/c/demo/sestava/(kod='VYSLEDOVKA').pdf?report-name=vysledovka$$NES
Lze použít libovolnou filtraci.