Všechny sbírky
Dokumentace REST API
Pokročilé příkazy
Inicializace účetního období přes REST API
Inicializace účetního období přes REST API

Jak uzavřít období a iniciovat následující pomocí REST API Flexi?

Ota Rádl avatar
Autor: Ota Rádl
Aktualizováno před více než týdnem

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í

Nově přibyla možnost výši kurzu pro danou měnu uvést jako parametr URL adresy:

GET server/c/firma/ucetni-obdobi/inicializace-noveho-obdobi.json?ucetniObdobi=2022&preceneni=true&kurz[EUR]=25

Nadále však lze použít i dřívější možnost a tedy nejprve zjistit, zdali jsou veškeré kurzy k 31.12. daného období vyplněné.

Před voláním inicializace je možné zavolat subresource:

GET server/c/firma/ucetni-obdobi/meny-bez-kurzu.json

který vrátí seznam měn, kterým je potřeba nastavit kurzy pro přecenění k 31. 12. např.

{
"meny-bez-kurzu":{
"datumPreceneni":"2020-12-31T00:00:00+01:00",
"meny":{
"mena":"EUR"
}
}
}

Tyto hodnoty je potřeba uložit dalším POST požadavkem do evidence Kurzy.

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ů."
}
}

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).

Dostali jste odpověď na svou otázku?