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.