Rozhranie API REST systému Flexi ponúka podobné volanie ponuky "Účtovanie > Inicializovať ďalšie obdobie". Inicializácia sa môže opakovane zavolať ako v desktopovej aplikácii.
Základná požiadavka na rozhranie API sa zadáva metódou GET:
GET server/c/company/outgoing-period/initialization-new-period.json
Ak neexistuje žiadne nasledujúce účtovné obdobie, vráti sa chyba:
status 400 {"winstrom": {"@version": 1, "success": false,
"message": "Nasledujúce účtovné obdobie neexistuje. Prosím, vytvorte ho." } }
Ak majú niektoré typy dokladov neštandardné zaokrúhľovanie, nasleduje ďalšia chyba:
status 400 {"winstrom": {"@version": 1, "success": false,
"message": "Nasledujúce typy dokladov majú neštandardné zaokrúhľovanie DPH (očakáva sa zaokrúhľovanie na stotiny alebo jednotky, pozri § 37 zákona o DPH):\nFaktúra: nastavte \"0,1\"\nOBP: nastavte \"0.1\"\nNasledujúce typy dokladov majú neštandardné zaokrúhľovanie DPH (očakáva sa matematické zaokrúhľovanie, pozri § 37 zákona o DPH):\nINVOICE: nastaviť \"hore\"\nOBP: nastaviť \"hore\"\nINVOICE: nastaviť \"hore\"}
Túto chybu možno potlačiť pomocou parametra checkRounding=false
(podobne ako tlačidlo Áno v počítačovej aplikácii) alebo na opravu zaokrúhľovania v typoch dokumentov.
Povinné parametre pre inicializáciu periódy prostredníctvom API:
ucetOtv - kód účtu účtovnej uzávierky (je potrebné, aby bol účet nastavený na kindUctuK="kindUctu.otevknih")
ucetZav - kód účtu, ktorým sa otvára účtovná kniha (je potrebné, aby účet mal typUctuK="druhUctu.uzavknih")
ucetPre - kód účtu prevodu zisku a straty (je potrebné, aby bol účet nastavený na kindUctuK="kindUctu.prhosvys")
ucetVys - kód účtu výsledovky v schvaľovacom konaní (je potrebné, aby bol účet nastavený na kindUctuK="kindUctu.pasivhvy")
Očakávané hodnoty sú kódy účtov z účtovnej osnovy, ktoré majú zodpovedajúcu hodnotu druhuUctuK (napr. ucetZav=702000). Ďalšie informácie o type účtu nájdete v zázname Účtovej osnovy.
Ak niektorý z parametrov chýba, vráti sa napríklad nasledujúca chyba:
status 400 {"winstrom": {"@version": 1, "success": false,
"message": "Na vykonanie operácie je potrebný parameter 'ucetOtv'" } }
Ak bol vybraný nesprávny účet (napr. ucetZav=701000), vráti sa táto chyba:
status 400 {"winstrom": {"@version": 1, "success": false,
"message": "Parameter 'ucetZav' má nepodporovanú hodnotu! Vyberte jednu z nasledujúcich možností: [Vybraný účet musí mať druhUctuK 'druhUctu.uzavknih']" } }
Voliteľné parametre inicializácie obdobia prostredníctvom API:
ucetniObdobi - kód účtovného obdobia, ktoré chcete uzavrieť (ak nie je uvedený, uzavrie sa aktuálne obdobie)
precenenie - Vykonať precenenie neuhradených dokladov (true/false)
transferWarehouse - Vykonať prevod zásob (true/false)
skipNulove - Preskočiť karty s nulovým zostatkom (true/false)
daysWithoutMovement - Počet dní bez pohybu, ktoré sa majú preskočiť (celé číslo)
deleteStare - Vymazať nepoužité staré karty v novom účtovnom období (true/false)
DocumentType - Typ dokladu na generovanie záväzkov lízingových splátok (identifikátor typu dokladu).
Predvolené hodnoty všetkých logických parametrov sú false.
Ak existujú záväzky za nasledujúce účtovné obdobie, parameter typDocl je povinný.
Možnosť "Potvrdiť preskočenie karty" nie je podporovaná rozhraním REST API ako v počítačovej aplikácii.
Ak v tomto prípade nie je zadaný, vráti sa príslušná chyba:
status 400 {"winstrom": {"@version": 1, "success": false,
"message": "Na vykonanie operácie je potrebný parameter 'typeDocument'" } }
Vybraný typ dokumentu musí mať uložený rad dokumentov, inak sa vráti chyba:
status 400 {"winstrom": {"@version": 1, "success": false,
"message": "Vybraný typ dokumentu nemá sériu dokumentov a žiadna nie je zadaná." } }
Riadok typu dokladu musí mať uložený záznam ročného číselného radu od nasledujúceho účtovného obdobia, inak sa vráti chyba:
status 400 {"winstrom": {"@version": 1, "success": false,
"message": "Vybraný rad typových dokladov nemá zadanú položku ročného číselného radu pre nasledujúce účtovné obdobie." } }
Kontrola sadzieb pre prehodnotenie
Pred volaním inicializácie môžete zavolať čiastkový zdroj:
GET server/c/company/ucetni-periodi/currencies-without-rate.json
ktorý vráti zoznam mien, ktorým je potrebné nastaviť kurzy precenenia k 31.12., napr.
null
"datumPreceneni": "2020-12-31T00:00:00+01:00",
"meny": { "currency": [ "EUR", "USD" ] } } }
Tieto hodnoty sa musia uložiť pri ďalšej požiadavke POST na záznam o rolách.
Ak počas inicializácie chýbajú nejaké sadzby, budú vrátené:
status 400 {"winstrom": {"@version": 1, "success": false,
"message": "Pre precenenie neuhradených pohľadávok/záväzkov neboli zadané všetky potrebné výmenné kurzy platné v posledný deň účtovného obdobia." } }
Príklad volania
1. Najprv vyzvite meny na precenenie:
GET https://demo.flexibee.eu:5434/c/demo/ucetni-obdobi/meny-bez-kurzu.json?ucetniObdobi=2020
2. Ak dotaz vráti meny, vykonáme precenenie
POST http:///demo.flexibee.eu:5434/c/demo/kurzy.json
Príklad uloženia údajov v zázname o výmenných kurzoch môže byť nasledovný:
null
"sadzby": {
"platiOdData": "2020-12-31T00:00:00+01:00",
"nbStred": "25.75",
"kurzMnozstvi": 1,
"currency": "code:EUR"
}}}
3. Potom inicializujeme
GET https://demo.flexibee.eu:5434/c/demo/ucetni-obdobi/inicializace-noveho-obdobi.json?ucetniObdobi=2020&ucetOtv=701000&ucetZav=702000&ucetPre=710000&ucetVys=431001
Ak má inicializácia všetky potrebné údaje, spustí sa vlákno na pozadí a vráti sa stav 202 Prijaté.
V zázname Účtovné obdobie môžete skontrolovať, či bola inicializácia ukončená (aktualizuje sa vlastnosť lastUpdate aktuálneho účtovného obdobia).