Kontierung konfigurieren
Das Kontierungs-Formular lässt sich im invoiceR sehr detailliert konfigurieren. Diese Seite beschreibt den Aufbau der Formulare und die Einstellungen, die das Verhalten des Kontierungs-Schritts steuern. Wie Anwender kontieren, steht unter Kontierung.
Weitere Seiten zum Thema:
- Kontierungs-Felder: Felder ein- und ausblenden, Abhängigkeiten zwischen Feldern, Breite von Auswahllisten.
- Kontierungs-Schaltflächen: zusätzliche Schaltflächen über der Kontierungstabelle, zum Beispiel für einen Excel-Import.
Aufbau der Formulare
Abschnitt betitelt „Aufbau der Formulare“Die Formulare werden in der Datenbank definiert:
| Tabelle | Inhalt |
|---|---|
conf.AccountingForms | die Formulare (Kontierungs-Varianten), optional pro Geschäftsbereich und Rechnungsart |
conf.AccountingFields | die einzelnen Felder: Datenfeld, Beschriftung, Editor-Typ, Breite, Sichtbarkeit |
conf.AccountingFormFields | welche Felder in welchem Formular in welcher Reihenfolge erscheinen |
conf.AccountingFormMappers | welches Formular standardmässig gilt, optional pro Rolle, Geschäftsbereich und Rechnungsart |
Ein Feld wird also einmal in conf.AccountingFields beschrieben und über conf.AccountingFormFields in
ein oder mehrere Formulare eingebunden. Dieselben Tabellen verwendet auch der
Daten-Editor.
Mehrere Kontierungs-Formulare
Abschnitt betitelt „Mehrere Kontierungs-Formulare“Gibt es Kontierungs-Varianten, die völlig unabhängig voneinander sind, hinterlegst du am einfachsten mehrere Formulare. Beim Kontieren einer Position kann zwischen den Formularen gewechselt werden.
Unterscheiden sich die Varianten nur darin, dass einzelne Felder ausgeblendet oder gesperrt sind, genügt ein Formular. Steuere dann den Status der betroffenen Felder, siehe Kontierungs-Felder. So vermeidest du eine unübersichtliche Zahl von Formularen.
Kontierung überspringen
Abschnitt betitelt „Kontierung überspringen“Ist ein Beleg bereits vollständig kontiert, überspringt der invoiceR die Kontierung und schickt den Beleg direkt in die Freigabe. Vollständig kontiert heisst: Der Belegbetrag ist nicht null, und die Summe der Kontierungs-Positionen entspricht dem Belegbetrag. Das ist zum Beispiel der Fall, wenn eine Standard-Kontierung aus dem Zuweisungs-Reglement den ganzen Betrag verteilt.
Kontierung erzwingen
Abschnitt betitelt „Kontierung erzwingen“Fordert jemand zum Beispiel aus der Freigabe eine neue Kontierung an, wäre der Beleg bereits kontiert
und würde die Kontierung erneut überspringen. Damit das nicht passiert, hinterlegst du auf der Route,
die zum Schritt Automatische Zuweisung (ConditionalAssignmentNode) führt, diese Konfiguration
(Spalte Configuration in conf.Routes):
{ "SkipAutomaticProceed": true }Belege, die über diese Route kommen, gehen dann immer in die Kontierung. Steht derselbe Eintrag in der
Konfiguration des Schritts selbst (conf.Nodes), gilt er für alle Belege.
Änderungen erkennen (Change-Detection)
Abschnitt betitelt „Änderungen erkennen (Change-Detection)“Die Change-Detection erkennt, wenn ein Benutzer bestimmte Werte im Belegkopf oder in einer Kontierungs-Position ändert, und löst daraufhin eine Aktion aus. Möglich sind:
- die Änderung mit altem und neuem Wert im Verlauf protokollieren,
- bereits erteilte Freigaben auf der betroffenen Kontierungs-Position löschen.
Die Change-Detection wird pro Prozessschritt in der Konfiguration des Schritts (Spalte Configuration
in conf.Nodes) als Liste hinterlegt. Fehlt die Liste oder ist sie leer, prüft der invoiceR nichts.
Das spart Rechenzeit.
{ "ChangeDetection": [ { "Place": 0, "LogLevel": 0, "VisaResetLevel": 0, "PropertyName": "SupplierId" }, { "Place": 1, "LogLevel": 0, "VisaResetLevel": 2, "PropertyName": "AccountId" } ], "SkipValidationForProceedSaving": false}| Eintrag | Bedeutung |
|---|---|
Place | wo die Eigenschaft liegt: 0 Belegkopf, 1 Kontierungs-Position |
LogLevel | wie die Änderung protokolliert wird: 0 Debug, 1 Info, 2 Warnung, 3 Fehler |
VisaResetLevel | 0 Freigaben bleiben, 2 Freigaben auf der Position werden gelöscht (1 Warnung ist nicht umgesetzt) |
PropertyName | technischer Name der Eigenschaft, zum Beispiel AccountId, CostcenterId, SupplierId |
Im Beispiel wird eine Änderung des Lieferanten protokolliert. Ändert jemand das Konto einer Position, werden die Freigaben auf dieser Position gelöscht.
Hinweis an den Benutzer
Abschnitt betitelt „Hinweis an den Benutzer“Die Change-Detection läuft innerhalb der Validierung. Würde eine Änderung Freigaben löschen, erhält der Benutzer zuerst eine Warnung. Erst wenn er sie bestätigt, werden die Freigaben gelöscht.
Damit die Warnung auch beim Klick auf die grüne Schaltfläche zum Weiterleiten erscheint, muss beim
Weiterleiten ebenfalls validiert werden. Setze dazu in der Konfiguration des Schritts
"SkipValidationForProceedSaving": false (Standard ist true).
