Die Entität Abrechnungsregel wird in flexRM verwendet, um festzulegen, wie ein bestimmter Bestandteil einer Rechnung berechnet werden soll – z. B. der Grundpreis, Verbrauchspreis oder Zusatzkosten. Sie bildet die zentrale Logik für die Preisbildung im Tarifmodell.
Jede Abrechnungsregel gehört zu einem Tarif und basiert auf einem Produkt. Die Berechnung kann entweder mengenbasiert (z. B. pro kWh) oder pauschal (z. B. pro Jahr) erfolgen.
| Feld | Beschreibung |
|---|---|
| Entitätstyp | Auswahl des Rechnungstyps (z. B. Verbrauchsrechnung, Abschlagszahlungsrechnung) |
| Bedingung | Logische Bedingung für die Anwendung der Regel, z. B. {ConnectionPower} > 0 && {HeatDeliveryPower} > 0. 👉 Zum Tool "Bedingungserstellung" |
| Produkt | Verknüpftes Produkt (z. B. Grundpreis, Arbeitspreis) |
| Betrag | Der Netto- oder Bruttobetrag pro Einheit oder Zeitraum. Wichtig: Der Betrag wird beim Erstellen der Rechnung automatisch aus der gültigen Preisliste des Produkts übernommen. Dieses Feld bleibt leer, außer es handelt sich immer um einen festen Betrag. |
| Betragsart | Angabe, ob es sich um einen Brutto- oder Nettowert handelt |
| Steuersatz | Umsatzsteuer, die auf den Betrag anzuwenden ist. Hinweis: Der Steuersatz wird automatisch aus der Steuersatzbezeichnung ermittelt. Eine manuelle Eingabe ist nicht erforderlich. |
| Einheit | Maßeinheit, z. B. kWh, m², Jahr |
| Einheitsmenge | Anzahl der Einheiten, auf die sich der Betrag bezieht |
| Menge | Formel zur Mengenermittlung, z. B. {ConnectionPower} 👉 Zum Tool "Mengenberechnung" |
| Mengeneinheit | Einheit der Menge, z. B. kW |
| Tarif | Verknüpfung zum zugehörigen Tarif |
| Sortierung | Reihenfolge der Regel bei der Abrechnung. Zusätzlich bestimmt dieser Wert die Reihenfolge der erzeugten Rechnungspositionen. |
| Status | Gibt an, ob die Regel aktiv ist oder nicht |
Zur einfachen Erstellung der Felder Bedingung und Menge stehen zwei interaktive Tools zur Verfügung:
| Tool | Beschreibung | Link |
|---|---|---|
| Bedingungserstellung | Erstelle logische Bedingungen auf Basis von Feldwerten. | Jetzt öffnen |
| Mengenberechnung | Ermittle die Berechnungsformel für die Menge. | Jetzt öffnen |
Diese Entität ist über den Tarif mit vielen weiteren Abrechnungskomponenten verbunden. Sie ist nicht direkt über einen Datensatz (blauer Link) aufrufbar, sondern wird im Kontext des Tarifs oder der Rechnung definiert.
== gleich!= ungleich> größer als< kleiner als>= größer gleich<= kleiner gleich&& UND|| ODER! NICHTIsNullOrEmpty(...) – prüft, ob leerContains(...) – prüft, ob Teilstring enthalten ist| Formel | Bedeutung | Anwendung |
|---|---|---|
true |
Regel ist immer gültig | z. B. Pauschale, Mindestgebühr |
(Consumption) > 0 |
Nur wenn Verbrauch vorliegt | z. B. kWh-Preis |
(ConnectionPower) > 0 && (HeatDeliveryPower) > 0 |
Nur wenn technische Leistung vorhanden ist | z. B. Grundpreis-Leistungsregel |
(ConnectionPower) >= 0.8 && (HeatDeliveryPower) > 0 |
Ab Mindestanschlussleistung | gestaffelte Grundpreise |
(Consumption) <= 10000 |
Gilt nur für geringen Verbrauch | Preisstaffel |
(Consumption) > 10000 && (Consumption) <= 30000 |
Für mittleren Verbrauch | Preisstaffel |
(Consumption) > 30000 |
Für hohen Verbrauch | Preisstaffel |
| Formel | Beschreibung |
|---|---|
(ConnectionPower) <= 100 |
Staffel 1 |
(ConnectionPower) > 100 && (ConnectionPower) <= 160 |
Staffel 2 |
(ConnectionPower) > 160 |
Staffel 3 |
| Formel | Bedeutung |
|---|---|
(ClearedPartialPaymentGross) > 0.0 |
Es liegt ein (geleisteter) Abschlagsbetrag vor |
!string.IsNullOrEmpty([AlternativeProductText]) |
Produkttext wurde gesetzt |
(ClearedPartialPaymentGross) > 0.0 && !string.IsNullOrEmpty([AlternativeProductText]) |
Nur wenn Text & Betrag da sind |
(ClearedPartialPaymentPositionType) == 2 |
Abschlagspositionstyp ist z. B. „laufender Abschlag“ |
| Formel | Beschreibung |
|---|---|
string.IsNullOrEmpty([CustomerEmail]) |
Kunden-E-Mail fehlt |
([BuildingType]) == "Mehrfamilienhaus" |
Nur für bestimmte Gebäudetypen |
([Zählertyp]) == "Wärmemengenzähler" |
Nur wenn bestimmter Zählertyp vorhanden ist |
([Vertragsbeginn]) <= "01.01.2025" |
Nur für Altverträge |
([CustomField]) != null |
Benutzerdefiniertes Feld muss gesetzt sein |
| Formel | Bedeutung |
|---|---|
(Consumption) > 0 && (ConnectionPower) > 0 |
Nur wenn sowohl Verbrauch als auch Leistung vorliegen |
!(Consumption > 0) |
Nur wenn kein Verbrauch |
| Platzhalter/Feld | Bedeutung |
|---|---|
(Consumption) |
Verbrauch in kWh |
(ConnectionPower) |
Anschlussleistung |
(HeatDeliveryPower) |
Lieferleistung |
(ClearedPartialPaymentGross) |
Geleisteter Abschlagsbetrag |
(ClearedPartialPaymentPositionType) |
Typ der Abschlagsposition |
[AlternativeProductText] |
Freitext für Rechnungsposition |
[Tarifnummer] |
Tarifkennzeichen |