AnmeldenLernweg starten

SAP Utilities & Betrieb

Abrechnungsschema und Variantenprogramme in SAP IS-U

Wie ein Tarif aus Tarifschritten entsteht: was ein Variantenprogramm tut, welche Namensfamilien und Beispiele SAP nennt, wie Operanden Ergebnisse von Schritt zu Schritt tragen, warum die Reihenfolge im Schema den Betrag bestimmt, mit durchgerechnetem 40/60-Beispiel.

Auf dieser Seite11 Abschnitte

Kurzantwort

Ein Tarif in SAP IS-U ist eine Folge von Tarifschritten. Jeder Schritt ruft ein Variantenprogramm auf, einen kleinen Rechenbaustein wie „Menge mal Preis“, „Pauschale mit Faktor“ oder „Menge nach Faktor aufteilen“. Die Schritte tauschen Werte über Operanden aus: Was ein Schritt als Ausgabeoperand liefert, kann der nächste als Eingabeoperand lesen. Das Abrechnungsschema legt fest, in welcher Reihenfolge die Tarife und ihre Schritte laufen. Weil Schritte voneinander abhängen, ändert eine vertauschte Reihenfolge das Ergebnis oder macht es unmöglich. Dieser Artikel zeigt, was ein Variantenprogramm ist, welche Familien und Beispiele SAP nennt, was ein Tarifschritt festlegt und worauf die Reihenfolge im Schema achten muss, mit einem durchgerechneten Beispiel.

Abgrenzung

Wie das System den Tarif für ein Zählwerk findet, steht in Das Tarifmodell im Zusammenhang. Woher die Operandenwerte kommen, beschreibt Operanden und Anlagefakten, die Preise selbst Preise in SAP IS-U. Was aus den Schritten im Beleg wird, zeigt Rabatte, Zuschläge und Abrechnungszeilen. Dieser Artikel behandelt den Rechenteil dazwischen. Den Lauf, der das Schema auf einen Vertrag anwendet, beschreibt Abrechnungsauftrag und Abrechnungslauf; wenn er scheitert, hilft Ausnahmen in der Abrechnung.

Was ein Variantenprogramm ist

SAP Learning beschreibt Variantenprogramme als kleine, voneinander unabhängige Programme, die elementare Rechenschritte ausführen. Zusammen bilden sie die Abrechnungsregeln eines Tarifs ab. Die wichtigsten Merkmale laut SAP (SAP Learning, Identifying Billing Master Data):

  • Es sind ABAP-Funktionsbausteine. Der Name folgt dem Muster ISU_ plus Name der Variante, zum Beispiel ISU_QUANTI04.
  • Viele Varianten berechnen abrechnungsrelevante Werte und erzeugen Belegzeilen. Andere rechnen Werte nur um und stellen das Ergebnis nachfolgenden Varianten bereit.
  • Varianten lassen sich beliebig kombinieren. So entstehen auch komplexe Abrechnungsvorschriften. SAP Learning nennt als Beispiel die Formel für die Blindstromberechnung und zeigt einen Vertragstext, der drei Varianten braucht.
  • Die meisten Varianten haben Ein- und Ausgabeoperanden. SAP legt fest, wie viele und welche Operandenkategorien eine Variante braucht.
  • Eigene Varianten für nicht standardisierte Berechnungen sind möglich. Kundeneigene Varianten tragen die Variantenkategorie 00 (normal), 01 (IF-Variante) oder gegebenenfalls 10 (Beleuchtung).
  • Beim Sammeln der Daten für die Abrechnung füllt das System die Tabellen, die die Varianten verarbeiten.

Die SAP-Hilfe formuliert denselben Gedanken fachlich: In den Variantenprogrammen, zum Beispiel Menge mal Preis, sind die Abrechnungsvorschriften hinterlegt, also die vertraglichen Regelungen. Sie legen fest, wie abrechnungstechnische Größen wie gemessene Verbräuche oder Leistungen zu verarbeiten und zu bewerten sind (SAP-Hilfe, Tarifgestaltung).

Die Namensfamilien

Die Namen der Varianten folgen laut SAP einer Semantik: Alle Varianten, die mit QUANTI beginnen, behandeln abzurechnende Mengen. SAP Learning gruppiert so:

Präfix Aufgabe
COMPUT* Rechenoperationen
DEMAND* Bewertung von Leistung
DISCNT* Rabatte und Zuschläge
IF, ELSE, ENDIF Bedingungen im Tarif
INFACT* Werte in die Anlagefakten schreiben
LUMSUM* Bewertung von Pauschalen
QUANTI* Bewertung von Verbrauch und Mengen
REFVAL* Bewertung von Bezugsgrößen
SETTLE* Miet- und Verrechnungspreise
UTILIT* Besonderheiten, etwa die Bestpreisabrechnung
BACKBI* Nachberechnung (der Kurs ordnet sie der Abrechnung von Nicht-Haushaltskunden zu)

Beispiele, die SAP nennt

Die folgenden Varianten und ihre Aufgaben stehen in SAP Learning und in der SAP-Hilfe. Weitere Varianten werden hier bewusst nicht genannt, weil dafür keine Quelle vorliegt.

Variante Aufgabe laut SAP
QUANTI01 Menge mit Preis bewerten (Eingabe Menge und Mengenpreis, Ausgabe Betrag)
QUANTI04 Menge nach einem Faktor aufteilen (Eingabe Menge und Faktor, Ausgabe nach Faktor ermittelte Menge und Restmenge)
QUANTI05 Infozeilen zur Menge schreiben
QUANTI06 Durchschnittspreis bilden (Verhältnis Betrag zu Menge)
DEMAND01 Leistung mit Preis bewerten
LUMSUM01 Pauschale unter Berücksichtigung eines Faktors abrechnen
REFVAL01 Bezugsgröße mit Preis bewerten
SETTLE01 Verrechnungspreis bestimmen
DISCNT01 Mengenrabatt, prozentual oder absolut
COMPUT01 Subtraktion zweier Beträge
INFACT01 Leistung in die Anlagefakten schreiben
IF01, ELSE, ENDIF Bedingung (Menge1 größer, größer gleich oder gleich Menge2), Beginn einer Verneinung, Ende der Verschachtelung

Die Straßenbeleuchtung zeigt, wie viele Varianten ein einzelnes Gebiet braucht: REFVAL03 ermittelt den Verbrauch aus dem Brennstundenkalender, REFVAL04 und REFVAL05 rechnen Beleuchtungspauschalen ab, REFVAL06 den Verbrauch aus einem zeitabhängigen Verbrauchswert, SETTLE02 fasst Verrechnungspreise gleicher Preisklasse zusammen (SAP-Hilfe, Abrechnungstarif für Straßenleuchten). Für die Rahmenvertragsabrechnung nennt die Preispflege COMPUT50 (ermittelt mit einer Preisfindungsmenge einen Preisbetrag und schreibt ihn als Faktor fort) und LUMSUM02 (nutzt den Faktor als Rabattfaktor) (SAP-Hilfe, Preise anlegen).

Welche Variante passt?

Die Operandenkategorien entscheiden. Eine Variante bestimmt, welche Kategorien sie als Ein- und Ausgabe zulässt. Das Customizing bietet dazu die Auswertung „Analyze Variant Programs“ (Pfad Customizing, SAP Utilities, Contract Billing, Billing Master Data, Rate Structure): Man trägt die gewünschten Eingabe- und Ausgabekategorien ein und erhält die passenden Varianten. SAP Learning rechnet ein Beispiel durch: Wer aus Menge (QUANT) und Betrag (AMOUNT) einen Durchschnittspreis (QPRICE) bilden will, findet QUANTI06. Zu jeder Variante gibt es eine Dokumentation mit Operandenkategorien und Belegzeilenarten. Im Transaktionskatalog dieses Atlas führt EA99 („Auswertung Varianten“).

Was ein Tarifschritt festlegt

Der Tarifschritt wendet eine Variante an. Aus der Feldliste von ETRFV und den SAP-Learning-Übungen ergibt sich, was er trägt (SAP Datasheet ETRFV):

Angabe im Schritt Bedeutung
Variante (PROGRAMM) der Rechenbaustein
Eingabeoperanden (EIN01 bis EIN10) die Werte, die der Schritt liest
Ausgabeoperanden (AUS01 bis AUS05) die Werte, die er für spätere Schritte bereitstellt
Zeitraumsteuerung Verfahren, mit dem die Länge von Zeitanteilen berechnet wird
Variantensteuerung zum Beispiel Infozeilen schreiben, Werte addieren oder überschreiben
Belegzeilenart (BELZART1 bis BELZART5) wie die erzeugte Zeile im Beleg heißt und behandelt wird
Soll- und Haben-Teilvorgang Kontierung; gilt nur für Schritte, die buchungsrelevante Zeilen schreiben
statistischer Tarif auf welchen Tarif Erlöse und Mengen für die Verkaufsstatistik verteilt werden
Optional-Kennzeichen Schritt entfällt, wenn sein Operandenwert fehlt

Für jeden Schritt, der buchungsrelevante Zeilen erzeugt, verlangt SAP Learning einen Soll- und einen Haben-Teilvorgang. Welcher von beiden gilt, entscheidet das Vorzeichen des Nettobetrags beim Ablauf. Das Kennzeichen „Zeile buchungsrelevant“ an der Variante ist laut SAP nur eine Information und steuert nichts: Das Schreiben der Zeile ist in der Variante programmiert.

Die Zeitraumsteuerung

Die Zeitraumsteuerung ist laut SAP-Hilfe ein Basisberechnungsverfahren, das die Länge von Zeitanteilen berechnet. Man gibt sie für jeden Tarifschritt an, der zeitabhängig rechnet (SAP-Hilfe, Zeitraumsteuerung). SAP Learning nennt drei Verfahren: tagesgenau, exakte Monate mit Stichtag und exakte Monate mit Intervallen. Für Einzug, Auszug, unterjährig hinzukommende oder wegfallende Werte und Schaltjahre sind abweichende Behandlungen möglich. Der Stichtag der monatsbezogenen Abrechnung steht in der Ableseeinheit, die Intervalle stehen in der Portion. Das konkrete Ergebnis zeigt Preise und zeitanteilige Abrechnung.

Was das Schema regelt

Das Schema ist der Rahmen um die Tarife. Laut SAP Learning gilt es für eine Sparte und eine Abrechnungsklasse, enthält einen oder mehrere Tarife und bestimmt die Reihenfolge der Tarifschritte. Aus der Feldliste von ESCHS (SAP Datasheet ESCHS) und dem Kurs ergeben sich die Angaben je Schema-Schritt:

  • Folge und Verweis: laufende Nummer des Schritts im Schema (SNO), der Tarif (TARIFNR) und der logische Tarifschritt (LRATESTEP).
  • Statistik: Statistikgruppe für Mengen und für Beträge je Schritt. SAP liefert die Gruppen 000000 bis 000002 (Mengen) und 000000 bis 000001 (Beträge) aus. Sie sind die Grundlage der Auswertungen im Business Warehouse und der Übergabe an CO-PA.
  • Vorsortierschlüssel: Er sortiert die Zeilen für den Rechnungsdruck. Zeilen mit gleichem Schlüssel bilden eine Gruppe, die Gruppen werden aufsteigend sortiert. Der Schlüssel muss für alle Belegzeilen des Schemas vergeben sein. Bei kombinierten Strom- und Gasrechnungen sind die Schemata aufeinander abzustimmen.
  • Löschoperand: Er ist nötig, wenn beim Abrechnen Zeilen wieder gelöscht werden müssen, etwa bei Bestpreisabrechnung oder Höchstpreisbegrenzung.
  • Sperrzeiten: Je Schritt lässt sich festlegen, ob die Gebühr (Grundpreis, Servicepreis, Mietpreis) auch für Sperrzeiträume berechnet wird.
  • Weitere Steuerungen: Brutto-Abrechnung (Bruttogruppe), dynamische Periodensteuerung, Abrechnung im Voraus, Rückabrechnung.

Dazu kommt der Hinweis zur Pflege: Nach der Änderung eines Tarifs ist das Schema laut SAP Learning automatisch gesperrt, bis ein Sachbearbeiter die Sperre aufhebt. Im Schemakopf ESCH steht dafür ABRSPERRDT.

Die Reihenfolge im Schema

Drei Regeln aus den SAP-Quellen bestimmen, wo ein Schritt stehen muss.

1. Wer liefert, steht vor dem, der liest. Ein Ausgabeoperand eines Schritts kann Eingabeoperand eines späteren sein. In den Fakten trägt ein solcher Operand den Ersatzwert „Laufzeit“ (englisch Runtime). Diesen Ersatzwert muss man setzen, wenn der Operand in einem nachfolgenden Tarifschritt als Ausgabeoperand fortgeschrieben wird. Fehlt am Ende der Wert, bricht die Abrechnung ab und schreibt einen Eintrag ins Anwendungsprotokoll, außer der Schritt ist optional (SAP Learning, Identifying Billing Master Data). Ein Beispiel dafür ist der Durchschnittspreis: Soll QUANTI01 mit dem Durchschnittspreis als Mengenpreis arbeiten, muss QUANTI06 in einem früheren Schritt laufen.

2. Rabatte stehen vor oder nach der Bewertung, je nach Bezugsbasis. Varianten für Mengen-, Preis- und Leistungsrabatte stehen vor den Bewertungsvarianten. Varianten für Betragsrabatte stehen danach (SAP Learning, Understanding Discounts and Surcharges). Warum das so ist, folgt aus der Rechnung: Ein Mengenrabatt verändert die Menge, die danach mit dem Preis bewertet wird. Ein Betragsrabatt braucht den Betrag, der erst die Bewertung liefert.

3. IF-Schritte klammern. Bedingungen bestehen aus IF, gegebenenfalls ELSE und ENDIF. Die Verschachtelung muss stimmen. Deshalb dürfen IF-Varianten laut SAP Learning nie optional sein: Fällt eine IF-Variante wegen fehlender Operandenwerte aus dem Schema, ist die Verschachtelung bei der Abrechnung falsch.

Beispiel: 40 Prozent Hochtarif, 60 Prozent Niedertarif

SAP Learning baut in einer Übung einen Tarif, der den Verbrauch eines Zählwerks im festen Verhältnis auf zwei Preise verteilt. Die Operandennamen und die Schrittfolge stammen aus der Übung, die Zahlen sind frei gewählt (vereinfachtes Beispiel, Preise netto).

Der Tarif hat vier Schritte. Der Zählwerksoperand EQUANT___1 trägt den Verbrauch des Zählwerks. Der Faktor EFACTOR_1 hat den Wert 0,4. Die Preisoperanden EQPRICE__1 und EQPRICE__2 verweisen in den Fakten auf Preisschlüssel (in der Übung U-E-R-KWHN und U-E-R-KWHF). Dahinter stehen im Beispiel 0,34 €/kWh für den Hochtarif und 0,26 €/kWh für den Niedertarif.

Schritt Variante Eingabe, Ausgabe
1 QUANTI05 schreibt die Infozeilen zur ursprünglichen Menge (Zählerstände)
2 QUANTI04 EQUANT___1 und EFACTOR_1 rein, KWH_B (Anteil nach Faktor) und KWH_D (Restmenge) raus
3 QUANTI01 KWH_B mal EQPRICE__1, Ergebnis in EAMOUNT__1
4 QUANTI01 KWH_D mal EQPRICE__2, Ergebnis in EAMOUNT__2
Vier Schritte, eine Reihenfolge. Schritt 2 füllt die grün gesetzten Operanden KWH_B und KWH_D, Schritt 3 und 4 lesen sie. Stünden die Bewertungsschritte vor Schritt 2, wären diese Operanden noch leer.Schrittfolge und Operandennamen nach der Übung in SAP Learning, Zahlen frei gewählt (Beispiel).

Rechnung bei 3.000 kWh Jahresverbrauch:

  • Schritt 2: 3.000 kWh × 0,4 = 1.200 kWh für KWH_B; Rest 3.000 − 1.200 = 1.800 kWh für KWH_D.
  • Schritt 3: 1.200 kWh × 0,34 €/kWh = 408,00 €.
  • Schritt 4: 1.800 kWh × 0,26 €/kWh = 468,00 €.
  • Summe der beiden Arbeitspreiszeilen: 876,00 € netto.

Die Operanden KWH_B und KWH_D haben in den Fakten den Ersatzwert „Laufzeit“, weil Schritt 2 sie erst füllt. Der Faktor 0,4 steht im Beispiel als Operandenwert in den Fakten. Hat ein Sonderkunde ein 50:50-Verhältnis vereinbart, ändert sich nur der Faktor auf Ebene der Anlagefakten (SAP Learning nutzt genau diesen Fall); Tarif und Schema bleiben gleich. Wie die Werte in den Fakten übersteuert werden, beschreibt Operanden und Anlagefakten.

Vertauscht man die Reihenfolge und stellt Schritt 3 vor Schritt 2, ist KWH_B zum Zeitpunkt der Bewertung noch nicht gefüllt. Welche Meldung das System dann schreibt, belegt keine der Quellen. Nach der SAP-Regel zu fehlenden Operandenwerten ist zu erwarten, dass die Abrechnung abbricht.

Schema und Laufzeit

SAP begrenzt die Zahl der Schritte im Schema nicht, rät aber zu höchstens einigen Hundert und möglichst wenigen je Kundengruppe. Große Schemata sind schwer zu pflegen, und die Laufzeit hängt von der Zahl der tatsächlich ausgeführten Schritte ab. Hat ein Schema Schritte für die Tarife T1 bis T10 und die Anlage findet nur T1, zählen nur die Schritte von T1. Manche Schritte laufen mehrfach, etwa bei Nachberechnung oder dynamischer Periodensteuerung: Bei einer Nachberechnung über zehn Monate werden sie zehnmal ausgeführt. Haushaltskunden mit einfachen Tarifen zeigen laut SAP-Erfahrung kaum Unterschiede zwischen 8 und 15 Schritten. Bei sehr großen Schemata zählt die Analyse der Abhängigkeiten zwischen den Schritten, die für die Fortschreibung nötig ist (SAP Learning, Recommendation for the Billing Schema).

Fehlerbilder

  • Falsche Variante. Die Operandenkategorien passen nicht zum gewünschten Ergebnis. Abhilfe: die Auswertung der Varianten nach Kategorien (siehe oben), dann die Variantendokumentation lesen.
  • Falsche Reihenfolge. Ein Schritt liest einen Operanden, den ein späterer erst füllt. Prüfung im Schema: Operandenliste und Schrittfolge nebeneinander legen.
  • Rabatt an der falschen Stelle. Die SAP-Regel lautet: Mengen-, Preis- und Leistungsrabatte vor der Bewertung, Betragsrabatte danach. Steht ein Mengenrabatt dahinter, kann er den schon berechneten Betrag nicht mehr ändern. Diese Folgerung nennen die Quellen nicht ausdrücklich.
  • IF-Schritt als optional markiert. Die Verschachtelung bricht bei fehlendem Wert.
  • Preiskategorie und Operandenkategorie passen nicht. Das Datenwörterbuch ordnet die Preiskategorien den Operandenkategorien zu: Mengenpreise versorgen Operanden der Kategorie QPRICE, Pauschalen die Kategorie LPRICE, Mietpreise SPRICE, zeitabhängige Preise TPRICE (SAP Datasheet PREISTYP). Ein Preis aus der falschen Kategorie versorgt den Operanden nicht.
  • Schema nach Tarifänderung gesperrt. Die automatische Sperre bleibt, bis ein Sachbearbeiter sie aufhebt. Solange sie besteht, ist das Schema für die Abrechnung gesperrt (ABRSPERRDT).
  • Eigene Variante, falsche Kategorie. Kundenvarianten brauchen die Kategorie 00, 01 oder 10. Die IF-Kategorie 01 ist für die korrekte Verschachtelung wichtig.

Typische Missverständnisse

„Ein Tarifschritt ist ein Preis.“ Ein Schritt ruft ein Rechenprogramm auf, das mit Operanden arbeitet. Der Preis steht in einem Operanden, der Betrag kommt aus dem Rechenprogramm.

„SAP liefert alle Varianten fertig.“ SAP liefert einen Vorrat. Eigene Varianten für nicht standardisierte Berechnungen sind ausdrücklich vorgesehen.

„Das Schema ist die Rechnung.“ Es ist die Reihenfolge der Schritte. Die Rechnung entsteht aus den Zeilen, die die Schritte schreiben, und aus der Fakturierung.

„Die Reihenfolge ist egal, solange alle Schritte im Schema stehen.“ Sie ist es nicht: Ein Schritt braucht die Ausgabe eines früheren, und Rabatte müssen vor oder nach der Bewertung stehen.

Grenzen

Dieser Artikel nennt nur Varianten, die eine SAP-Quelle benennt. Ein vollständiger Variantenkatalog, die Bedeutung aller Variantensteuerungs- und Zeitraumsteuerungsschlüssel und die Customizing-Schlüssel des eigenen Systems sind nicht belegt. Die SAP-Learning-Übungen stammen aus einem S/4HANA-Kurs mit Beispieldaten; welche Tarife, Operanden und Schemata ein Unternehmen führt, ist Customizing und je System verschieden. Die ESCHS- und ETRFV-Felder stammen aus sapdatasheet.org, beide Tabellen führt der Atlas-Katalog nicht.

Primärquellen zum Nachlesen

  1. SAP Learning – Identifying Billing Master Data in SAP Utilitieslearning.sap.com
  2. SAP Learning – Explaining Recommendation for the Billing Schemalearning.sap.com
  3. SAP Learning – Understanding Discounts and Surchargeslearning.sap.com
  4. SAP Help Portal – Tarifgestaltung (SAP ERP 6.0 EHP8, Versorgungsindustrie)help.sap.com
  5. SAP Help Portal – Abrechnungstarif für Straßenleuchten anlegen (SAP ERP 6.0 EHP8)help.sap.com
  6. SAP Help Portal – Zeitraumsteuerung (SAP ERP 6.0 EHP8)help.sap.com
  7. SAP Help Portal – Preise anlegen (SAP ERP 6.0 EHP8)help.sap.com
  8. SAP Datasheet – Table ETRFV (Rate Steps)sapdatasheet.org
  9. SAP Datasheet – Table ESCHS (Billing Schema Steps)sapdatasheet.org
  10. SAP Datasheet – Data Element PREISTYP (Price category)sapdatasheet.org
Mein Lernen

Quiz zum Artikel

Teste dein Wissen

5 Fragen zu diesem Artikel, mit Erklärung und Link zurück zur Stelle.

Quiz zum Artikel 5 Fragen

War dieser Artikel hilfreich?