Zum Hauptinhalt springen

Business-Logik — fortgeschritten

Diese Seite behandelt die tieferen Möglichkeiten der Business-Logik. Damit bilden Sie komplexe Preise ab — zeitabhängige Gebühren, Entweder-oder-Bedingungen und Regeln, die von anderen Tarifen abhängen. Sie sind mächtig, also prüfen Sie Änderungen anschließend in einer echten Berechnung.

Bedingungen verknüpfen: Evaluation Sets​

Standardmäßig müssen alle Bedingungen eines Tarifs zutreffen (ein und). Mit einem evaluation set bilden Sie ein oder ab:

  • Bedingungen mit demselben Namen im evaluation set werden mit oder verknüpft — es reicht, wenn eine davon zutrifft.
  • Verschiedene evaluation sets müssen alle zutreffen; sie sind mit und verknüpft.

Für „gilt für Tanker oder Gastanker, und nur bei GT > 5.000“ stecken Sie also die beiden Schiffstyp-Bedingungen in ein evaluation set und die GT-Bedingung in ein zweites.

Weitere Arten von Bedingungen​

Über die Grundarten numeric, string, boolean und date hinaus:

  • Array — prüft einen Wert gegen eine Liste. Sie wählen einen array operator (etwa in / not in) und tragen die Werte ein, einen pro Zeile.
  • Date — between — mit dem Operator between und einem zweiten Wert für das Ende des Bereichs. (Numerische Bedingungen bieten ebenso between / not between mit einem zweiten Wert.)
  • Schedule — gleicht gegen Zeitfenster ab. Sie legen schedule items an, jedes mit from und to (ein Wert plus ein schedule type) und einem schedule operator. Gut für Tag-/Nachttarife oder Öffnungszeiten. Über source field min/max wählen Sie die Zeiten, die geprüft werden.
  • Timespan — vergleicht eine Dauer: ein Wert plus eine Periode (etwa Stunden, Tage) mit einem timespan operator. Gut für „länger als 24 Stunden“.

Zeitraumberechnungen​

Eine period calculation rechnet pro Zeiteinheit ab und ist die vielseitigste Berechnung:

  • Period + period quantity — die Zeiteinheit und wie viele davon, etwa pro 1 Tag.
  • Source field min / max — Start- und Endzeit, zwischen denen gemessen wird, etwa Ankunft und Abfahrt.
  • Interval quantity — wie die gemessene Zeit in abrechenbare Einheiten gestuft wird.
  • Min quantity / max quantity — Unter- und Obergrenze der abgerechneten Einheiten, etwa mindestens 1 Tag, höchstens 30.

So bauen Sie „Liegegeld je angefangenem Tag, mindestens ein Tag“.

Reihenfolge der Berechnungen​

Hat ein Tarif mehrere Berechnungen, legt calculation order (eine Zahl) fest, in welcher Reihenfolge sie laufen — wichtig, wenn eine Berechnung auf dem Ergebnis einer anderen aufbaut. Kleinere Zahlen laufen zuerst.

Abhängigkeiten​

Dependencies machen das Verhalten eines Tarifs von etwas anderem abhängig:

  • Tariff dependency — verweist über den tariff system code auf einen anderen Tarif, etwa: diese Gebühr nur erheben, wenn ein anderer Tarif gegriffen hat.
  • Tariff group dependency — dasselbe, aber bezogen auf einen ganzen tariff group system code.
  • Address dependency — steuert das Verhalten über eine Adresse, mit einem address type und additional data.

Darum sind System codes so wichtig: Abhängigkeiten finden ihr Ziel über den Code. Umbenennen oder Ändern eines Codes kann eine Abhängigkeit zerreißen.

MwSt.-Bedingungen​

Auf dem Reiter VAT conditions kann die MwSt.-Behandlung je nach Bedingung variieren, sodass der richtige MwSt.-Code automatisch anhand der Daten gewählt wird — statt eines einzigen festen Codes für den Tarif.

Kundenfilter​

Der logic type Customer filter (aus den Grundlagen) grenzt eine Regel auf einen bestimmten customer, einen customer financial-Datensatz oder eine Debitorennummer ein — der schnelle Weg, einen Tarif oder eine Bedingung nur für einen Debitor gelten zu lassen.

Zeilengruppierung​

Line grouping steuert, wie entstandene Beträge zu Rechnungspositionen zusammengefasst werden, etwa „einmal pro Anlauf“. Dafür gibt es in diesem Bildschirm kein Formular; sie wird separat konfiguriert — brauchen Sie sie, fragen Sie Ihren Administrator.

caution

Fortgeschrittene Business-Logik ändert, was berechnet wird. Führen Sie nach jeder Änderung eine echte Berechnung aus (oder den Testlauf des Kostenrechners) und prüfen Sie die Zahlen, bevor Sie sich darauf verlassen.