Přeskočit na hlavní obsah
Všechny sbírkyDokumentace REST APIPokroč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ž 2 týdny

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

Dostali jste odpověď na svou otázku?