REST API Flexi nabízí obdobu vyvolání menu “Účetnictví > Inicializace následujícího období”. Inicializaci je možné volat opakovaně stejně tak jako v desktopové aplikaci.
Základní request na API je metodou GET
GET server/c/firma/ucetni-obdobi/inicializace-noveho-obdobi.json
Pokud neexistuje následující účetní období, vrací se chyba:
status 400 { "winstrom": { "@version": 1, "success": false, ... } }
{
"winstrom":{
"@version":1,
"success":false,
"message":"Neexistuje následující účetní období. Prosím založte ho."
}
}
Pokud mají některé typy dokladů nestandardně nastavené zaokrouhlení, následuje další chyba:
status 400 { "winstrom": { "@version": 1, "success": false, ... } }
{
"winstrom":{
"@version":1,
"success":false,
"message":"Následující typy dokladů mají nestandardně nastavené zaokrouhlení DPH (očekávané je zaokrouhlení na setiny nebo jednotky, viz § 37 ZDPH):\nFAKTURA: nastaveno \"0.1\"\nOBP: nastaveno \"0.1\"\nNásledující typy dokladů mají nestandardně nastavený způsob zaokrouhlení DPH (očekávané je zaokrouhlení matematicky, viz § 37 ZDPH):\nFAKTURA: nastaveno \"nahoru\"\nOBP: nastaveno \"nahoru\"\nZÁLOHA: nastaveno \"nahoru\""
}
}
Tuto chybu lze potlačit parametrem kontrolaZaokrouhleni=false
(obdoba tlačítka Ano v desktopové aplikaci), nebo opravit zaokrouhlení na typech dokladů.
Povinné parametry inicializace období přes API
ucetOtv - kód účtu uzavření účetní knihy (je nutné, aby účet měl nastaven druh druhUctuK="druhUctu.otevknih")
ucetZav - kód účtu otevření účetní knihy (je nutné, aby účet měl nastaven druh druhUctuK="druhUctu.uzavknih")
ucetPre - kód účtu převodu hospodářského výsledku (je nutné, aby účet měl nastaven druh druhUctuK="druhUctu.prhosvys")
ucetVys - kód účtu výsledku hospodaření ve schvalovacím řízení (je nutné, aby účet měl nastaven druh druhUctuK="druhUctu.pasivhvy")
Očekávanými hodnotami jsou kódy účtů z Účtového rozvrhu, které mají odpovídající hodnotu druhUctuK (např. ucetZav=702000). Více informací o druhu účtu naleznete v evidenci Účtový rozvrh.
Poznámka: V případě firmy typu daňová evidence, nejsou vyžadovány parametry účtů podvojného účetnictví.
Pokud některý z parametrů chybí, vrátí se např. tato chyba:
status 400 { "winstrom": { "@version": 1, "success": false, ... } }
{
"winstrom":{
"@version":1,
"success":false,
"message":"K provedení operace je vyžadován parametr 'ucetOtv'"
}
}
Pokud byl vybrán nesprávný účet (např. ucetZav=701000), vrátí se tato chyba:
status 400 { "winstrom": { "@version": 1, "success": false, ... } }
{
"winstrom":{
"@version":1,
"success":false,
"message":"Parametr 'ucetZav' má nepodporovanou hodnotu! Zvolte jednu z následujících možností: [Zvolený účet musí mít druhUctuK 'druhUctu.uzavknih']"
}
}
Volitelné parametry inicializace období přes API
ucetniObdobi - kód účetního období, které chcete uzavřít (pokud není uvedeno, uzavírá se aktuální období)
preceneni - Provést přecenění neuhrazených dokladů (true/false)
prevodSkladu - Provést převod skladu (true/false)
vynechatNulove - Vynechat karty s nulovým zůstatkem (true/false)
dnyBezPohybu - Počet dnů bez pohybu pro vynechání (celé číslo)
zrusitStare - V novém účetním období zrušit nepoužívané staré karty (true/false)
typDokl - Typ dokladu pro generování závazků leas. splátek (id typu dokladu).
Výchozí hodnoty všech booleanových parametrů jsou false.
Pokud existují závazky pro následující účetní období, je parametr typDokl povinný.
Volbu “Potvrzovat vynechání karty” jako v desktopové aplikaci REST API nepodporuje.
Není-li v tomto případě uveden, vrátí se odpovídající chyba:
status 400 { "winstrom": { "@version": 1, "success": false, ... } }
{
"winstrom":{
"@version":1,
"success":false,
"message":"K provedení operace je vyžadován parametr 'typDokl'"
}
}
Vybraný typ dokladu musí mít uloženou řadu dokladu, jinak se vrátí chyba:
status 400 { "winstrom": { "@version": 1, "success": false, ... } }
{
"winstrom":{
"@version":1,
"success":false,
"message":"Vyplněný typu dokladu nemá zadanou řadu dokladu a žádná není specifikovaná."
}
}
Řada typu dokladu musí mít uloženou roční položku číselné řady k následujícímu účetnímu období, jinak se vrátí chyba:
status 400 { "winstrom": { "@version": 1, "success": false, ... } }
{
"winstrom":{
"@version":1,
"success":false,
"message":"Vybraná řada typu dokladu nemá zadanou roční položku číselné řady k následujícímu účetnímu období."
}
}
Kontrola kurzů pro přecenění
Pokud je parametrem ?preceneni=true
zapnuto přeceňování dokladů, následuje kontrola kurzů pro přecenění, před voláním inicializace je možné zavolat subresource:
GET https://demo.flexibee.eu/c/demo/ucetni-obdobi/meny-pro-preceneni.json
(nepovinný parametr ?ucetniObdobi=IDENTIFIKÁTOR_OBDOBÍ
),
který vrátí seznam měn s kurzem, který bude použit pro přecenění.
Pokud u některé z měny kurz nebo kurzové množství chybí (je 0.0), je potřeba jej při inicializaci období zadat.
Příklad odpovědi
{
"meny-pro-preceneni":{
"datumPreceneni":"2023-12-31T00:00:00+01:00",
"meny":{
"mena":[
{
"symbol":"",
"kod":"DEM",
"kurz":"0.0",
"kurzMnozstvi":"1.0"
},
{
"symbol":"€",
"kod":"EUR",
"kurz":"24.725",
"kurzMnozstvi":"1.0"
},
{
"symbol":"",
"kod":"THB",
"kurz":"65.107",
"kurzMnozstvi":"100.0"
}
]
}
}
}
Pří inicializaci se systém pokusí kurzy pro přecenění stáhnout z centrální banky. Je také možné definovat kurz pomocí URL parametrů:
?kurz[KOD_MENY]=HODNOTA_KURZU&kurzMnozstvi[KOD_MENY]=HODNOTA_KURZ_MNOZSTVI
Příklad:
https://demo.flexibee.eu/c/demo/ucetni-obdobi/inicializace-noveho-obdobi.json?(parametry s účty)&preceneni=true &kurz[EUR]=24.52&kurzMnozstvi[EUR]=1.0&kurz[HUF]=6.12&kurzMnozství[HUF]=100.0
Pro každou měnu je nutné uvést obě hodnoty: kurz i kurzové množství. Tyto hodnoty budou uloženy do nového kurzu v resource:
https://demo.flexibee.eu/c/demo/kurz-pro-preceneni/(platiOdData, mena)
Pokud při inicializaci některé kurzy chybí, vrátí se:
status 400 { "winstrom": { "@version": 1, "success": false, ... } }
{
"winstrom":{
"@version":1,
"success":false,
"message":"Nebyly zadány všechny potřebné kurzy platné k poslednímu dni účetního období,\nkteré jsou nutné pro přecenění neuhrazených pohledávek/závazků."
}
}
Pohyby v chybné měně
Pokud je parametrem ?preceneni=true
nebo ?preceneniBankAPokladen=true
zapnuto přeceňování bankovních účtů a pokladen, následuje kontrola všech pohybů v přeceňovaných bankovních účtech a pokladnách.
Pokud se nalezne pohyb v jiné než tuzemské měně nebo v měně, ve které je banka nebo pokladna vedena, tak dojde k následující chybě:
{
"winstrom":{
"@version":1,
"success":false,
"message":"Následující bankovní účty a pokladny nelze přecenit:\n• <seznam všech chybných bank nebo pokladen>\nPřeceňovány mohou být pouze bankovní účty a pokladny, které mají pohyb v měně, ve které jsou vedeny nebo v tuzemské měně."
}
}
Tuto chybu lze potlačit parametrem preceneniVynechatBanAPokSChybnouMenou=true
a tím budou všechny chybné banky a pokladny vyloučeny z výpočtu přecenění.
Příklad volání č. 1
1. Nejprve zavoláme měny pro přecenění:
GET https://demo.flexibee.eu:5434/c/demo/ucetni-obdobi/meny-bez-kurzu.json?ucetniObdobi=2020
2. Pokud dotaz vrátí měny, provedeme přecenění
POST http:///demo.flexibee.eu:5434/c/demo/kurzy.json
Příklad uložení dat do evidence Kurzy může být následující:
{
"winstrom":
{
"kurzy": {
"platiOdData": "2020-12-31T00:00:00+01:00",
"nbStred": "25.75",
"kurzMnozstvi": 1,
"mena": "code:EUR"
}
}
}
3. Poté provedeme inicializaci
GET https://demo.flexibee.eu:5434/c/demo/ucetni-obdobi/inicializace-noveho-obdobi.json?ucetniObdobi=2020&ucetOtv=701000&ucetZav=702000&ucetPre=710000&ucetVys=431001
Pokud má inicializace všechna potřebná data, spustí vlákno na pozadí a vrátí status 202 Accepted.
Příklad volání č. 2
1. Rovnou provedeme inicializaci s vyplněním kurzu:
GET https://demo.flexibee.eu:5434/c/demo/ucetni-obdobi/inicializace-noveho-obdobi.json?ucetniObdobi=2022&ucetOtv=701000&ucetZav=702000&ucetPre=710000&ucetVys=431001&preceneni=true&kurz[EUR]=25
Pokud má inicializace všechna potřebná data, spustí vlákno na pozadí a vrátí status 202 Accepted.
V evidenci Účetní období je možné kontrolovat, jestli už inicializace skončila (property lastUpdate aktuálního účetního období se aktualizuje).
Výsledek
Pokud má inicializace všechna potřebná data, spustí proces na pozadí a vrátí status 202 Accepted. Na resource /c/{firma}/ucetni-obdobi
je možné kontrolovat, jestli už inicializace skončila (property lastUpdate aktuálního účetního období).