Die REST-API von Flexi bietet einen ähnlichen Menüaufruf "Abrechnung > Nächste Periode initialisieren". Die Initialisierung kann wie in der Desktop-Anwendung wiederholt aufgerufen werden.
Die grundlegende Anfrage an die API erfolgt mit der GET-Methode:
GET server/c/company/outgoing-period/initialization-new-period.json
Wenn es keinen nachfolgenden Abrechnungszeitraum gibt, wird ein Fehler zurückgegeben:
status 400 { "winstrom": { "@version": 1, "success": false,
"message": "Die folgende Abrechnungsperiode existiert nicht. Bitte erstellen Sie einen." } }
Wenn einige Dokumenttypen nicht standardmäßige Rundungen haben, folgt ein weiterer Fehler:
status 400 { "winstrom": { "@version": 1, "success": false,
"message": "Die folgenden Belegarten haben eine nicht standardmäßige Umsatzsteuerrundung (Rundung auf Hundertstel oder Einheiten wird erwartet, siehe § 37 des Umsatzsteuergesetzes):\nRechnung: setze \"0,1\"\nOBP: setze \"0.1\"\nDie folgenden Arten von Belegen haben eine nicht standardmäßige Umsatzsteuerrundung (eine mathematische Rundung wird erwartet, siehe § 37 des Umsatzsteuergesetzes):\nINVOICE: setze \"up\"\nOBP: setze \"up\"\nINVOICE: setze \"up\""}
Dieser Fehler kann mit dem Parameter unterdrückt werden checkRounding=false
(ähnlich wie die Schaltfläche Ja in der Desktop-Anwendung), oder um Rundungen bei Dokumenttypen zu korrigieren.
Obligatorische Parameter für die Periodeninitialisierung über API:
ucetOtv - Kontocode des Hauptbuchabschlusskontos (es ist notwendig, dass das Konto auf kindUctuK="kindUctu.otevknih" eingestellt wurde)
ucetZav - Kontocode des Kontos, das das Hauptbuch eröffnet (es ist notwendig, dass das Konto den TypUctuK="druhUctu.uzavknih" hat)
ucetPre - Kontocode des Gewinn- und Verlustübernahmekontos (es ist notwendig, dass das Konto auf kindUctuK="kindUctu.prhosvys" eingestellt ist)
ucetVys - Kontocode des Gewinn- und Verlustkontos im Genehmigungsverfahren (es ist notwendig, dass das Konto auf kindUctuK="kindUctu.pasivhvy" eingestellt ist)
Erwartete Werte sind Kontocodes aus dem Kontenplan, die einen entsprechenden Wert von kindUctuK haben (z. B. ucetZav=702000). Weitere Informationen über den Kontotyp finden Sie im Datensatz "Kontenplan".
Wenn einer der Parameter fehlt, wird z. B. der folgende Fehler zurückgegeben:
status 400 { "winstrom": { "@version": 1, "success": false,
"message": "Der Parameter 'ucetOtv' ist erforderlich, um den Vorgang auszuführen" } }
Wenn ein falsches Konto ausgewählt wurde (z. B. ucetZav=701000), wird dieser Fehler zurückgegeben:
status 400 { "winstrom": { "@version": 1, "success": false,
"message": "Parameter 'ucetZav' hat einen nicht unterstützten Wert! Wählen Sie eine der folgenden Optionen: [Das ausgewählte Konto muss druhUctuK 'druhUctu.uzavknih' haben]" } }
Optionale Periodeninitialisierungsparameter über API:
ucetniObdobi - der Code der Buchhaltungsperiode, die Sie abschließen möchten (wenn nicht angegeben, wird die aktuelle Periode abgeschlossen)
Neubewertung - Neubewertung der ausstehenden Dokumente durchführen (wahr/falsch)
transferWarehouse - Umlagerung durchführen (true/false)
skipNulove - Karten mit Nullsaldo überspringen (true/false)
daysWithoutMovement - Anzahl der zu überspringenden Tage ohne Bewegung (Ganzzahl)
deleteStare - Nicht verwendete alte Karten im neuen Abrechnungszeitraum löschen (true/false)
DocumentType - Belegart für die Generierung von Leasingzahlungsverpflichtungen (Belegarten-ID).
Die Standardwerte aller booleschen Parameter sind false.
Wenn es Verpflichtungen für die folgende Abrechnungsperiode gibt, ist der Parameter typeDocl obligatorisch.
Die Option "Skip-Karte quittieren" wird von der REST-API nicht wie in der Desktop-Anwendung unterstützt.
Wenn sie in diesem Fall nicht angegeben ist, wird ein entsprechender Fehler zurückgegeben:
status 400 { "winstrom": { "@version": 1, "success": false,
"message": "Der Parameter 'typeDocument' ist erforderlich, um den Vorgang auszuführen" } }
Für den ausgewählten Dokumenttyp muss eine Dokumentenserie gespeichert sein, sonst wird ein Fehler zurückgegeben:
status 400 { "winstrom": { "@version": 1, "success": false,
"message": "Der ausgewählte Dokumenttyp hat keine Dokumentenserie und es ist keine angegeben." } }
In der Belegart-Zeile muss ab der nächsten Abrechnungsperiode ein Jahreszahl-Serieneintrag gespeichert sein, sonst wird ein Fehler zurückgegeben:
status 400 { "winstrom": { "@version": 1, "success": false,
"message": "Für die ausgewählte Belegart Serie ist kein Eintrag für eine Jahreszahlenserie für die folgende Abrechnungsperiode eingetragen." } }
Tarife für Umwertung prüfen
Sie können die Subresource vor dem Aufruf der Initialisierung aufrufen:
GET server/c/company/ucetni-periodi/currencies-without-rate.json
die eine Liste der Währungen zurückgibt, deren Neubewertungskurse zum 31.12. festgelegt werden müssen, z. B.
null
"datumPreceneni": "2020-12-31T00:00:00+01:00",
"currencies": { "currency": [ "EUR", "USD" ] } } }
Diese Werte müssen mit der nächsten POST-Anfrage an den Datensatz des Rates gespeichert werden.
Wenn bei der Initialisierung Raten fehlen, werden diese zurückgegeben:
status 400 { "winstrom": { "@version": 1, "success": false,
"message": "Es wurden nicht alle notwendigen, am letzten Tag der Abrechnungsperiode gültigen Wechselkurse für die Neubewertung der offenen Forderungen/Verbindlichkeiten eingegeben." } }
Beispielanruf
1. rufen Sie zunächst die Währungen zur Neubewertung auf:
GET https://demo.flexibee.eu:5434/c/demo/ucetni-obdobi/meny-bez-kurzu.json?ucetniObdobi=2020
2. Wenn die Abfrage die Währungen zurückgibt, führen wir die Neubewertung durch
POST http:///demo.flexibee.eu:5434/c/demo/kurzy.json
Ein Beispiel für das Speichern von Daten im Datensatz " Wechselkurse" könnte folgendermaßen aussehen:
null
"Tarife": {
"platiOdData": "2020-12-31T00:00:00+01:00",
"nbStřed": "25,75",
"kurzMnozstvi": 1,
"Währung": "code:EUR"
}}}
3. Dann initialisieren wir
GET https://demo.flexibee.eu:5434/c/demo/ucetni-obdobi/inicializace-noveho-obdobi.json?ucetniObdobi=2020&ucetOtv=701000&ucetZav=702000&ucetPre=710000&ucetVys=431001
Wenn die Initialisierung alle notwendigen Daten hat, startet sie den Hintergrund-Thread und gibt den Status 202 Accepted zurück.
Im Buchhaltungsperioden-Datensatz können Sie überprüfen, ob die Initialisierung abgeschlossen ist (die Eigenschaft lastUpdate der aktuellen Buchhaltungsperiode wird aktualisiert).