Einführung in das Geschäftsszenario
Die Abrechnung im Datenmodell von SAP Utilities verstehen
Abrechnungsstammdaten verstehen
Erkunden von Rabatten und Zuschlägen
Analyse der Fakturierung
Manuelle Abrechnung erkunden
Fakturierung erläutern
Die Verrechnungssteuerung verstehen
Abschläge verstehen
Rechnungsdruck erläutern
Besonderheiten der Abrechnung erläutern
Verkaufsstatistik verstehen – Integration von Daten und Analysen
IS-U-Abrechnung und -Fakturierung – Erweiterung und Erweiterbarkeit
Nachberechnung verstehen – Empfehlung für das Abrechnungsschema
Einführung in die Sammelrechnung
Die Real-Time-Pricing-Abrechnung erläutern
Vorauszahlung verstehen
Prozess Zähler bis Kasse der Versorgungsindustrie ausführen

Identifying Billing Master Data in SAP Utilities

Objectives

After completing this lesson, you will be able to:
  • Identify billing master data in SAP Utilities.
  • Describe the dependencies between the individual objects.
  • Maintain the billing master data in the correct order.

Billing Class

Diagram illustrating the flow of data for billing class determination, including customer information, installation details, rate calculation, and schema process data. Details follow.
  • Classifies installations within a division, for example residential/C&I contract
  • Can be valid for multiple rate categories
  • Used for validation in scheduling and in the billing master data
  • Enables several franchise fee groups to be defined
  • Can be used as a statistical criterion
  • If you change the billing class, you must also change the rate category. You do not have to perform a final billing

The billing class classifies installations for billing.

The billing class is also used for the following purposes:

  • For consistency verifications between the master data and billing master data. For example, you can verify that a residential customer's installation has not been allocated to a nonresidential contract.
  • As a statistical criterion, for example in the sales statistics.
Diagram showing components influencing billing class classification and validation, including rate type, rate category, installation, portion, MR unit, schema, rate, discount, and price.

The billing class is used in the following objects:

  • Installation
  • Rate category
  • Rate type
  • Price
  • Rate
  • Schema
  • Portion
  • MR unit

You can allocate the different billing master data to different billing classes. This means that each time the billing class is used, a mutual check is carried out for permissibility and consistency. The check is performed in connection with the division.

The billing class is optional in the meter reading unit, portion, and rate type.

Rate Type

Diagram illustrating a data model for billing processes, linking customer data, installation details, rate categorization, and schema execution to determine pricing.

Definition of Rate Type

Used to classify:

  • Registers
  • Devices
  • Flat-rates
  • Reference values for billing

Examples: On-peak and off-peak rates for active energy; On-peak rate for reactive energy; On-peak rate for active power; gas and water consumption; flat-rate installations

The rate type is used in conjunction with the rate category to determine the rate.

Generally, you enter the rate type in the register. Examples of rate types are peak and off-peak rates for active energy, peak rates for reactive energy, peak rates for active power, as well as gas and water consumption.

You can also allocate the rate type to the following objects:

Device
For devices without registers (such as ripple control receivers) you can use the rate type to find special rates. Using these, you can calculate a device-based clearing price.
Facts
Used to determine rates that cannot be derived from registers.
Also used to determines rates for flat rate installations without installed devices.
Reference Values
Used to model street lights, for example.

The rate type is valid for a particular division (obligatory) and billing class (optional).

Use of the rate type can be permitted for:

Registers
Must be specified for registers relevant to billing.
Devices
For example: Rental price for devices that have no registers relevant to billing
Facts

For example: Flat-rates or installation flat-rates

Interval meters
For example: For billing real-time pricing rates
Period-end billing
For example: For determining a special fact group in the period-end billing.
Waste billing
For example: For determining a special rate for waste management.

You can maintain rate types in the following objects:

Register
In the case of registers relevant to billing, you must specify a rate type in the installation structure. In this way, you specify that the consumption or the demand of a register is billed using the corresponding rate. Quantity determination during extrapolation (zero consumption despite contract allocation) can be influenced by an additional indicator for rate types that are permitted for registers.
Device
You can specify a rate type for a device if, for example, you wish to levy a rental price at device level. This is particularly relevant if the device does not contain any registers relevant to billing.
Rate category
You can specify rate types in the rate category to perform billing of values not related to registers. For example: By means of the rate type, a rate is determined that is used to bill a flat rate.
Installation
If, for example, you wish to levy a flat rate for a certain installation only, you enter the rate type in the installation facts, but not in the rate category.

Diagram illustrating components that define rate types, including registers, installations, devices, and rate categories.

Rate types are generally maintained in the register. In some cases, it can be maintained at device level or in the installation facts. The rate type can also be entered in the rate category.

Find the Rate Type Definition in the Implementation Guide

As a member of the sales department in your company, you should understand the elements of billing master data and be able to use them to create test data.

Prerequisites

Global Pre-Requisite (applies to all units)

Create master data using SAP Fiori App Create Master Data RES (Z_DATA_RES).

  1. On HOME page, select Create Master Data RES (Z_DATA_RES).
  2. Enter the following data:
    • Country: US

    • Electricity Contract: True
    • Move-in Date: January 1st of the current year
    • Gender: Male / Female / Empty
    • First Name: Your Name
    • Last Name: Your Last Name
    • E-mail ID: any name before the @
  3. Complete the process and save.

Hint

Take note of the Installation IDs created. These installations will be used throughout this activity.

Steps

  1. Check the implementation guide (SAP Reference IMG) for information regarding rate types.

    1. On HOME page, select User ProfileApp FinderSAP MenuSearch in SAP MenuCustomizingExecute Project (transaction SPRO).

    2. Navigate to SAP Reference IMGSAP UtilitiesContract BillingBilling Master DataRate StructureDefine Rate Types

  2. Check the definition of the rate type in the implementation guide. Which menu path would you use to define a rate type?

    1. In the SAP Reference IMG, choose SAP UtilitiesContract BillingBilling Master DataRate StructureDefine Rate Types

  3. To which division is rate type 1001 allocated?

    1. Electricity.

  4. At what master data levels can you define the rate type?

    1. Installation structure: At device or register level

    2. Facts: In the installation facts rate category facts

  5. In addition to the classification and identification of different objects (such as registers), the rate type has an additional function. What is the most important task the rate type carries out?

    1. In addition to the rate category, the rate type defines the billing rule (rate) that is found. This kind of indirect rate allocation using a rate type has advantages if, for example, you want to change a rate: You only have to enter a new rate category in the utility installations in question, and then expand the rate determination. You do not have to make extensive changes to the rate types of every individual register for the utility installations that are affected.

  6. You can limit the rate type permissibility. Name the different limitation options.

    1. CodeDescription
      RRegisters
      DDevices
      FFacts
      PIMInterval meter
      PEPeriod-end billing
      WBWaste billing
    2. In rate determination, you can only combine rate types and rates that have the same permissibility or use.

  7. Can you allocate a rate type more than once to the permissibility mentioned above?

    1. No, you can only select one permissibility.

Price

Data flow chart connecting customer data, installation details, rate categories, and schema processes, leading to price determination for billing purposes.
Centralized pricing system illustration, showing price keys and historical data for EUR and USD currencies, symbolizing structured financial management.

The price key is the name of a price; the price key is also called "price". Control data such as division, billing class, time basis, and rounding are also stored in the header data of prices.

The actual values are stored in the prices. Prorated price amounts are also managed in the prices. If the price changes, the new time slice is entered here. In this case, the header data does not change.

The price key also contains a currency key. This means that if you use different currencies for billing, you must maintain all prices in the different currencies.

You establish the currency that is valid for a particular customer in the Trans. currency field in the contract account.

Price Categories

  • Quantity-based price for quantities and consumption values
  • Flat-rate fixed amounts per time unit (consumption flat-rates and flat-rate amounts)
  • Rental price for the use of a measuring device over a certain period of time
  • Time-based price for demand and connection values

The price categories are predefined by SAP and cannot be changed.

The price categories are used internally to control data processing. Normally, you create the prices based on the rate. In this case, the correct rate is proposed by the system.

The price category is a characteristic in the header data.

Price Types

Standard price:
Price not based on quantity
Block Price:
One or more quantity-based prices
Scale price:
Quantity-based price

The price type specifies how the particular price is to be used.

In addition to standard single prices, you can also use scale and block prices.

Certain sequential quantity ranges (for demand and/or energy) are defined by price scaling. If one quantity range is exceeded, the price for the next quantity range applies for the entire quantity. In this way, higher consumption can be cheaper than lower consumption.

Certain sequential quantity areas (for demand and/or energy) are defined by price blocking for which certain prices apply, in other words different prices are used. This allows for different consumption blocks having different prices, either higher or lower in cost than other blocks depending on the billing requirement.

The price type is a characteristic in the header data.

Block and scale limits are maintained in the historical data.

Chart illustrating block and scale pricing based on quantity zones, showing price adjustments across different ranges and customization options.

Block and scale prices are defined centrally in price management. For both prices, you must define quantity limits. The price type specifies whether the price is a block or scale price.

Comparison of block and scale pricing models highlighting differing price distributions across quantity ranges.

According to the price type, the system determines different prices during billing.

  • For block prices, the quantity is valuated with different prices depending on the interval.
  • For scale prices, all quantity intervals are valuated with the price that the system determines for the total quantity to be billed.
  • The following is generated in the billing document:- Four billing document line items for price type Block Price- One billing document line items for price type Scale Price.
Diagram explaining the adjustment of quantity-based price blocks based on billing period length for accurate pricing calculations.

You can adjust the blocks/scales for quantity-based prices if the billing period differs from the basic time specified in the price key.

If you want the blocks/scales to be adjusted, you have to set the Adj.PBlcks indicator (adjust price blocks). If the adjustment is to be dependent on an interval, you must also set the interval lower and upper limits.

The block adjustment indicator is part of the header data.

A block adjustment of the amounts only takes place for block prices - not for scale prices.

Header Data for Price Key

  • Billing class
  • Division
  • Rounding parameters
  • Price adjustment clause
  • External price
  • Average price
  • Gross price
  • Block adjustment indicator

Overall, the price key is defined more precisely using the following three elements:

  • Price key
  • Price category
  • Price level

The price level is only used for rental prices.

Price adjustment clauses can be defined for all prices.

Defining authorization restricts the use of individual prices.

Rounding parameters are only needed in the following situations: price discount or using the price adjustment clause.

When using gross prices, you must create all the components of the gross price, such as ecological tax, franchise fee, and net price as separate prices. In the schema, you specify which prices are processed jointly in the Gross group field.

Several price contributions in different transaction currencies can be entered for one price key. The relevant transaction currency for billing is entered in the business partner's contract account.

You can historically define prices for a price key for each transaction currency.

Flowchart illustrating price adjustment methods impacting final customer cost, with addition or multiplication based on a set clause.

The price adjustment clause establishes the price adjustment factor by which the base price is multiplied. You enter the price adjustment clause in the price for quantity- and time-based prices, and also in the flat rates. If a price adjustment clause is allocated to a price master, the corresponding prices can be changed indirectly, that is, using the factor. In this way, the same price increase can be applied to all prices having the same price adjustment clause. This process contains components for both adding and multiplying.

The price adjustment clause is used, for example, for index-dependent billing (for example, a formula dependent on oil prices and labor costs). Only the result of the formula is stored in the price adjustment clause.

Define and Adjust Prices Used in Billing

New price keys have to be specified in the system to define the new rate. An existing price is adjusted to accommodate a price adjustment on January 1st.

Steps

  1. Check the price definition in the implementation guide. Which menu path would you use to define a price?

    1. On HOME page, choose User ProfileApp FinderSAP MenuSearch in SAP MenuCustomizing – Execute Project (transaction SPRO).

    2. In the SAP Reference IMG, choose SAP UtilitiesContract BillingBilling Master DataRate StructurePricesDefine Prices

  2. Which elements must you maintain before you can define a rental price?

    1. Rental prices require price classes and price levels.

  3. In which master data object can you store a default value for determining the clearing price?

    1. Clearing price default is stored in the Device Category.

  4. Can a rental price also be defined as a flat rate?

    1. Flat-rate rental prices are possible (without dynamic determination).

  5. Enter a new price using the following data.

    Selection data

    FieldValue
    PricePE1_1_1##
    Transaction currencyUSD
    Price categoryQuantity-based price
    Price typeStandard price

    Header

    FieldValue
    Price textEnergy price ##
    Billing classResidential customer - 0001
    DivisionElectricity - 01
    Unit of measurementKilowatt-hours - kwh

    History

    FieldValue
    Valid fromJanuary 1st of current year
    Qty base1
    Price amt0.24
    1. In the SAP Reference IMG, choose SAP UtilitiesContract BillingBilling Master DataRate StructurePricesDefine PricesCreate Prices

    2. Enter the data from the table.

    3. Leave the Valid field empty.

    4. Choose the Copy button to transfer the history.

    5. Choose Save.

    6. If a prompt for Customizing requests appears, create a local request (Create Request F8 button) to record this configuration.

  6. Maintain an existing price key by raising the price from February 1st of this year.

    1. In the SAP Reference IMG, choose SAP UtilitiesContract BillingBilling Master DataRate StructurePricesDefine PricesChange Prices

    2. In the initial screen, enter the price key PE1_1_1##.

    3. In History, enter the following data:

      • Valid from: January 1st of current year

      • Qty base: 1

      • Price amount: 0.28

    4. Leave the Valid field empty.

    5. Choose the Copy button to transfer the history.

    6. Choose Save.

      Result

      You can see that the system automatically creates a new timeline and finished the period for the previous price.

Operand

Diagram illustrating the process of rate determination using customer, installation, and schema data to allocate billing categories and prices.

Operand

  • Individually determined name or description for the allocated values that are used as input and output parameters in variant programs
  • Variable that is assigned values at runtime, for example Quantity (Q) x Price (P) = Amount (A)

An operand is allocated to one operand category. Operand categories are defined by SAP and cannot be changed by the customer.

Operands, however, are defined by the customer. It is important that you think about meaningful keys before creating operands.

An operand is always allocated to only one division.

Operands are not billing class specific.

Operand Categories/Examples

Operand categoryDescription
AMOUNTAmount
DEMANDDemand
FACTORNumber with decimal places
QUANTQuantity
QPRICEQuantity-based price
REFVALUEReference value
SEASONSeason
TPRICETime-based price
USERDEFUser-defined value

Operands link values to be billed and variant programs.

An operand is allocated to an operand category and a division. Operand categories determine the functions of the operands The variant program determines which operand categories can be used as input and output operands.

The system contains 20 different operand categories.

The operand categories are predefined by SAP and cannot be changed.

Flowchart explaining operand processing, from predefined categories to individually defined operands, and ultimately assigning values for variant program execution.
Facts (normal operand)
Rate facts
Rate category facts
Installation facts
Facts from RTP interface
The output parameter number of the RTP interface is stored in the facts
Facts from ERCHV
Values are read from DBERCHV
Register operand
Values are determined from meter reading results

Parameters for Operands

  • Operand usage
  • Division
  • Operand group
  • Access control
  • History
  • Rounding
  • Weighting key
  • Demand control
  • Franchise fee control
  • Contract-related operand
  • BW relevance
  • ERCHV - Supply

The variants that are required within the rates will drive the types of operands that will be required to be created. Operands can be created within the rates by specifying the operand name in the field and by double-clicking on it. The system then automatically goes to the transaction for creating operands. Operands can also be created separately.

How the operand is used indicates whether it is a register operand (operand used to enter the consumption of the register in the rate), a normal operand (e.g. a price operand), or an operand used to represent a history (for example bill printout history or history of data transfer from legacy system).

Operands are always defined for a specific division.

Rounding consists of two combined fields: rounding and rounding type. Rounding is controlled as follows: if you specify a positive value, numbers are rounded to that number of decimal places. If you specify a negative value, rounding is carried out to that number of pre-decimal places. The rounding type indicates the rounding principle (rounding up, down, or to the nearest whole number).

The demand control is used to define how many demand values of a register are to be taken into account during billing.

The franchise fee control specifies the type of calculation for the franchise fee.

You use this indicator to select the operands that are mainly used in the installation facts and that are to be extracted to SAP BW.

ERCHV - Supply with historical values (only for installation groups).

Flowchart illustrating demand values, contractual demand, billed demand, and reference values, correlating with ordered, minimum, and maximum demand outputs in a system.

Using the operand groups, you can group operands in rates, rate categories, and installation facts for display purposes.

You can define a hierarchy of operand groups with three levels.

Graph comparing different consumption models over time: general weighting, degree days, energy feeding, and linear trends.

Determination of expected values (e.g. meter readings) by means of:

  • Linear weighting
  • Weighting of energy feeding
  • Weighting of degree days
  • General weighting
  • Customer-specific determination

The energy feeding volume per period is used 1) for weighting in the case of a time-based breakdown of consumption, and 2) in thermal gas billing for calculating a weighted average.

For weighting of degree days, you define temperature areas that have approximately the same air temperatures. You then specify the degree day coefficients for these areas and for each degree day.

You can define the general weighting as you please. You can define both the period and the weighting values.

The register operand determines the weighting of the consumption registers. As soon as a rate type is allocated to a meter, the weighting procedure is determined via Rate TypeRate DeterminationRateRegister OperandWeighting Key.

Graph comparing energy consumption trends: Total (blue curve), Degree days (black curve), and Linear (green line).

In addition to defining a different weighting procedure, you can specify a fixed, linear portion as either an absolute value or a percentage.

The portion indicated as a percentage refers to the period consumption.

You specify the fixed values for the linear or percentage portion during device installation.

Access Control for Operands

  • All values are considered
  • Value at the end of the rate period Value on the key date
  • Value at the end of the billing period
  • All values in the month-based billing period Value at the start of the billing period
  • Value for date defined by customer

There are several ways to determine certain values from the facts (rate facts, rate category facts, and installation facts). You must note that these values are not from, for example, the meter reading results. Access control only accesses values that are stored in the facts.

You specify which access control you require in the operand.

Diagram illustrating energy demand and rates over a billing period, highlighting peak usage values and their consideration in calculations.

In this example, every demand from the installation facts is taken into consideration. In addition, proration is carried out due to the rate change.

Graphical timeline illustrating demand levels and rates during a billing period, emphasizing final validity at period's end. Circular arrows highlight ongoing data assessment.

In this example, only two time slices are created, because of the rate change. For both time slices, however, the demand value at the end of the billing period from the installation facts is used.

Visual representation of a hierarchy showing precedence levels from installation facts to rate category facts, then to rate facts and rate fact groups, with arrows indicating order.

Operand values are usually stored in the rate facts and are, therefore, valid at rate level. Cross-rate operand values can also be defined in the rate category facts and installation facts. They have priority over the rate facts.

At rate fact and rate category fact levels, you can also enter replacement values. These replacement values give you more flexibility when allocating operand values.

You can also historically overwrite operand values. In this way, a different price key can be allocated to a certain installation for only a certain period of time, for example, a month. In the other months, the values from the rate facts are used.

If no operand value can be determined during billing, the system cancels billing and outputs an error in the application log. Exception: the rate step is marked in the rate as an optional rate step.

You define general operand values that are valid for a larger group of customers in the rate and rate category facts, and you store individual values at the installation fact level (for example, installed demand, connection loads, ordered demand, number of persons, floor area).

A timeline illustrating customer transitions, contract changes, and installation phases, with intervals split before and after August 1.

Installation facts can be limited to a specific contract, or they can be unlimited and valid for any contract. Contract-specific facts will be ended when a move-out is executed.

If you use operands that are stored in the installation facts and you have not activated the Contract- Related Operand indicator, the facts within a move-in/out are also retained for the new customer.

Diagram illustrating a timeline of contract-related customer transitions, highlighting move-in, move-out processes, installation periods, and associated facts allocation.

Note that the business partner may change. For this reason, it is not expedient to copy values from previous time slices. If the move-in is reversed, the active time slices as of the move-in date are deleted.

Diagram illustrating a transition process where contract and customer changes occur, highlighting key dates, intervals, and installation phases.

If you execute the contract change function during the move-in, the time slices that were deactivated by the move-out are reactivated in the installation facts as of the move-in date. Note that, in this case, the business partner is not changed. The existing contract is replaced by a new one. If the move-in is reversed, the active time slices as of the move-in date are deactivated again.

Display Operands

Certain operands have to be used to define new electricity rates. Suitable operands must be determined for variant programs.

Steps

  1. Various discounts are needed to map the new rate for the electricity division. Using the operand list, determine which operand categories are available in the system for mapping discounts and surcharges.

    1. On HOME page, choose User ProfileApp FinderSAP MenuSearch in SAP MenuCustomizing – Execute Project (transaction SPRO).

    2. In SAP Reference IMG, choose SAP UtilitiesContract BillingBilling Master DataRate StructureOperandsDefine OperandsDisplay Operand.

    3. Choose the List of operands button.

    4. In the operand screen, click on match code for the field Operand Category. A new popup will open, enter *DIS* in the Operand Category and click on GO button.

      Available discount categories are displayed:

      • ADISCABS
      • ADISCPER
      • DDISCNT
      • PDISCNT
      • QDISCNT
  2. Which operands are maintained in the system for the operand category quantity discount?

    1. In SAP Reference IMG, choose SAP UtilitiesContract BillingBilling Master DataRate StructureOperandsDefine OperandsDisplay Operand.

    2. Choose the List of operands button.

    3. Enter QDISCNT in the operand category field. Choose Execute.

      This contains the following operands:

      • EQDISCNT_1
      • GQDISCNT_1
      • WQDISCNT_1

  3. Consumption is billed with a variant program by using the operands EQUANT___1 and EQPRICE__1. Which operand category does the operand EQPRICE__1 belong to?

    1. In SAP Reference IMG, choose SAP UtilitiesContract BillingBilling Master DataRate StructureOperandsDefine OperandsDisplay Operand.

    2. In the initial screen, enter the operand EQPRICE__1. Operand category: QPRICE.

  4. How is quantity operand EQUANT___1 rounded off?

    1. In SAP Reference IMG, choose SAP UtilitiesContract BillingBilling Master DataRate StructureOperandsDefine OperandsDisplay Operand.

    2. In the initial screen, enter the operand EQUANT___1.

      Rounding: 0 to whole numbers

      Rounding type: X round up or down to nearest whole number

  5. The operand use is specified when the operand is created. What are the four different uses you can choose?

    1. The operand is supplied with values from the rate, rate category, and installation facts. The value can also be determined as a result of different calculation steps in the rate.

      Register:

      This use can only be selected for operands with the category QUANT and DEMAND. The indicator specifies how operands are used in the facts::

      In the rate header, only operands that have the indicator set can be used as register operands

      In the rate steps, you can only use operands when the indicator is not set, or when the operand is identical to the register operand from the rate header.

      Total history:

      These operands can only be processed by special variants.

      RTP operand:

      RTP-Operands are used in RTP rates to copy the results of the RTP interface assigned to the RTP rate.

Variant Program

Diagram illustrating calculations and processes in a variant pool for energy valuation, including demand peaks, active energy, and pricing logic.

SAP provides a pool of variant programs with the system. This pool contains many variant programs.

Variant programs are contained in rates as rate steps. Variant programs are basic calculation steps (for example, consumption x price, determination of the basic price, or determination of the rental price).

By combining variant programs, you can model certain contract texts in the system (for example, formula for reactive current calculation).

In the above example, three variant programs are required to represent the contract text. The variant programs communicate with each other using input and output parameters. Operands are simply variables or placeholders that are filled with actual values (such as consumption, price) at runtime.

Variant Programs

  • Are small, independent ABAP/4 programs
  • Perform elementary calculation steps
  • Are used in combination to model the billing rules in the rate

Variant programs are small, independent ABAP/4 programs (function modules).

Variants perform elementary calculation steps. Many variant programs calculate values relevant to billing and generate billing line items. Other variant programs convert values and, in turn, make the results available to subsequent variants.

Variant programs can be used in any combination. This allows you to model complex billing rules.

You can also create your own variant programs to represent special, non-standardized calculations.

Diagram illustrating the flow and structure of ABAP/4 function modules, showing input processing, output generation, and resulting bill line items, representing coding logic flow.

In most cases, variant programs have input and output operands which represent the ingoing and outcoming parameters (variables) of the variant program. These operands belong to a particular operand category.

SAP defines which variant program needs which input and output operands (number, operand category).

In the system, the variant programs process specified tables. During data collection for billing, these tables are filled with all required data.

Characteristics of a Variant

  • Rate permissibility: Checks when rates are created
  • Block period: Controls whether block periods can be included? Selection options in schema
  • Bill line items relevant for posting: Controls whether fields for account determination subtransactions have to be maintained for the rate
  • Optional: Controls whether the user has the option of setting this indicator in the rate
  • Not for extrapolation: Prevents the variant from being executed during budget billing extrapolation
  • Type of quantity: Controls the statistics update
  • Operand categories of input and output operands
  • Document line item types

Customer variants must have the variant categories '00' (normal), '01' (IF variant) and possibly '10' (lighting variant).

Variant category '10' contains a check for the reference value type 'lighting unit'. Variant category '01' is important for correctly structuring the nestings during a schema workflow.

The indicator for posting-relevant bill line items means that a posting-relevant bill line item is written. However, this is purely for information. It does not control anything. The billing line item writing must be programmed in the variant. In addition to this, an indicator ensures that the fields for statistics control can be maintained in the schema.

The IF variants, for example, are variants that can never be set to optional. If these are not included in the schema due to missing operand values, the nesting logic will be incorrect during billing.

Preventing the execution of variants during budget billing extrapolation is normally used for variants that write in installation facts and variants for backbilling.

Examples of Variant Programs

  
COMPUT01Subtraction of two amounts
DEMAND01Valuation of a demand with a price
DISCNT01Quantity discount, percentage or absolute amount
IF01Condition: If Quantity1 >,>=,= Quantity2
ELSEStart of a NOT operation for an IF variant
ENDIFEnd of an IF nesting
INFACT01Writing of a demand in the installation facts
QUANTI01Valuation of a quantity with a price
QUANTI05Writing of info lines for the quantity

SAP provides a wide range of variant programs with the system.

A simple evaluation function helps you to select the variant programs you need for the billing rule.

The keys of the variant programs have a particular semantic. For example, all variant programs that begin with QUANTI deal with consumption/quantities to be billed.

The variants are grouped as follows:

BACKBI*
Variants dealing with billing nonresidential customers
COMPUT*
Arithmetic operation
DEMAND*
Demand valuation
DISCNT*
Discounts, surcharges
INFACT*
Writing of values in the installation facts
IF/ELSE/ENDIF
Conditions in rate
LUMSUM*
Valuation of flat rates
QUANTI*
Valuation of consumption/quantities
REFVAL*
Valuation of reference values
SETTLE*
Calculation of rental and settlement prices
UTILIT*
Special billing features (such as best-rate billing)
Comparison of document line item types for postings and information calculations, with examples including pricing, discounts, factors, quantities, and arithmetic operations.

The document line items control and analyze the billing rule.

Billing document line items are primarily required for bill printing, where the system may need to know which line item it is dealing with, for example in the billing form. For example, different information needs to be printed for energy price line items than for basic charge line items.

Line item types are stored in the rate in the rate steps and are automatically proposed by the system.

If necessary, additional document line item types can be defined in the customer namespace and be allocated to a variant program or rate.

Find a Variant Program Necessary for a Billing Step

Certain variant programs must be used to define the new rates. You have to determine suitable variant programs to calculate accordingly.

Steps

  1. The new rate contains the determination of an average price. Determine all variant programs in the system that use the input operand from operand category QUANT and AMOUNT and that deliver the output operand with the operand category QPRICE.

    1. On HOME page, select User ProfileApp FinderSAP MenuSearch in SAP MenuCustomizing – Execute Project (transaction SPRO).

    2. In the SAP Reference IMG, choose SAP UtilitiesContract BillingBilling Master DataRate StructureAnalyze Variant Programs.

    3. Enter the value QUANT in the first input operand category field, AMOUNT in the second input operand category field, and QPRICE in the first output operand category field.

    4. Choose Execute.

    5. You find, for example, the QUANTI06 variant program.

  2. How is the average price determined?

    1. The ratio from the amount and the quantity is mapped. The result is updated in the output operand.

  3. Which variant program do you generally use to allocate a price to a quantity?

    1. The QUANTI01 variant. If the second input operand (category) QPRICE is the average price, then the QUANTI06 variant (output operand) must be used in an earlier rate step to determine this operand value.

  4. Read the online documentation. Select program QUANTI04 from the variant list.

    1. In the SAP Reference IMG, choose SAP UtilitiesContract BillingBilling Master DataRate StructureAnalyze Variant Programs.

    2. Enter the value QUANTI04 in the Variant Program field. Choose Execute. You find the list with variant program QUANTI04. Select and display the variant program.

  5. Call the documentation for the program and read the information on the variant program function.

    1. Select Documentation.

  6. What input and output operand categories does the variant program require?

    1. Input operand categoryOutput operand category
      QUANTQUANT (quantity maintained based on the factor)
      FACTORQUANT (remaining quantity)
  7. Does the variant also write bill line items relevant for posting?

    1. No. In the General Data box, the field Line Item Rel. Post. is not selected.

  8. Which document line item types does the variant program create?

    1. Scroll down to see Line item types session.

      Document line typeDescription
      IQUANTQuantities (meter readings)
      IT008Breakdown of consumption values
  9. What are settings can you make with the variant control? Explain the meaning of the different control features.

    1. Info lines written about quantity

      Info lines written on breakdown

      Values added during update

      Values overwritten during update

      You use the variant control to specify how much detail is in the information that you need, for example, for bill printout. If you do not include the information line item written about quantity, you cannot print the data and quantities on the bill (for example, date of old and new meter reading). The update has more meaning if you have used the output operands from the billing schema in a rate, before the variant is executed. Values in this operand are added or overwritten by the result of the calculation step.

  10. What naming conventions are the variant programs subject to?

    1. All variant programs are ABAP/4 function modules, which you can process using the function builder. The naming convention is: ISU_variant program name (for example, ISU_QUANTI04).

Rate

Rate Characteristics

Header Data:

  • Permissibility of the rate
  • Value relevant to billing measured by a register (register operand)
  • Register-based data
  • RTP rate and RTP interface

Rate Step Data:

  • Calculation formulae
  • Allocation of values to operands (rate facts)
  • Account determination
  • Handling of bill line items

The rate contains many fields with a controlling function. They will be described in more detail later on.

The consumption of the register is made available to billing in the register operands. The register operand is determined by choosing: RegisterRate TypeRate DeterminationRateRegister Operand.

An RTP interface can only be assigned to rates for which interval meters are allowed (permissible).

A flow chart depicting Rate, Operand, and Variant program feeding into Rate steps, and Operand Category feeding into Operand and Variant program.

The rate consists of a key, header data, and one or more rate steps. A variant program is processed for each rate step.

These are some points that the rate determines:

  • How the measured consumption is extrapolated or broken down for meter reading data processing and for proration
  • Which technical billing values are measured by a register
  • Which reference values are billed
  • In which calculation formulas the values are used
  • Which prices are used
  • Which general ledger accounts the calculation (bill line items) results are posted to
  • How the bill line items are statistically treated
  • To which division and billing class the rate is allocated
Graphic detailing rate attributes categorized into headers and steps for system or process analysis. Includes related elements like billing classes, transactions, and control parameters.

The register operand is entered in the header data. The consumption of the register is made available to billing in the register operands. The register operand is determined by choosing: RegisterRate TypeRate DeterminationRateRegister Operand.

Larger rates with several rate steps can be documented using the notes.

The subtransactions control the account determination but can also be used as statistics criteria.

The statistical rate is used to distribute revenues and quantities of the individual rate steps over different rates for evaluation in the sales statistics.

The franchise fee group controls the calculation of the franchise fee.

Invoicing Transactions

Transactions describe the business scenario that forms the basis for posting a document line item.

In the rate, you must enter a debit and credit billing subtransaction for every rate step that creates billing line items relevant for posting. When the rate step is executed during contract billing, the plus or minus sign of the net amount determines which of these two subtransactions is used.

CNoVariantD-STC-STBBDSBBCS
1QUANTI010023001301200110

Normally, these billing subtransactions do not have to be so detailed for the business partner items. As a result, they are replaced by aggregated transactions in invoicing, which optimize the number of business partner items.

Note

  • Budget billing subtransactions from the rate step are allocated to the budget billing extrapolation line items.
  • Budget billing subtransactions are only used for account determination.

    Receivables accounts are only found via the main transaction.

    Revenue and tax accounts via the debit transaction.

  • Budget billing amounts with different budget billing subtransactions are managed separately in the budget billing plan.

  • Budget billing subtransactions and billing subtransactions must be maintained separately.
Illustration showing the flow of financial transactions within FI-CA, IS-U, and SAP systems, detailing settings, allocation, and default configurations for line item posting.

A transaction is a combination of main and sub-transactions

Texts allocated to the main and sub-transactions describe the business transaction and are made available for correspondence.

Main and sub-transactions control account determination.

They also control tax determination.

IS-U uses internal main and sub-transactions, which the system assigns to the different IS-U business processes, which they then control.

The internal transactions represent only a minimum of all transactions available in the IS-U functions. You can also maintain any number of transactions for manual postings.

You can specify transactions in IS-U by means of certain characteristics such as the debit/credit indicator, the interest key, and the statistics indicator.

Example Transactions in Invoicing

Invoicing uses the following internal posting transactions in the program:

Internal main trans.Internal subtrans.Description
01000010Credit consumption billing
01000020Receivable consumption billing
02000010Credit final billing
02000020Receivable final billing
03000010Manual credit backbilling
03000020Manual receivable backbilling
02500010Invoicing: Credit from posting
02500020Invoicing: Receivable from posting

The internal transactions control the invoicing program. They are allocated the external customer transactions in Customizing.

Main and subtransactions fulfill three functions:

  • They document the aspect of the business scenario or process, which forms the basis for posting the document item.
  • An explanatory text is allocated to every main and subtransaction. This text can be used for correspondence.
  • Main transactions and subtransactions influence automatic account determination.
Illustration of periodic billing structure, showing how transactions like energy, provisioning, and demand prices are categorized as receivables or credits within the main bill.

The accumulation transactions are allocated to the internal transactions, and do not have a defined account determination.

Transactions for the price components can be freely defined and are maintained in the rates. The account determination (main transaction relevancy and transaction relevancy) is defined for them.

Transactions must be defined for all main billing transactions (consumption billing / final billing / manual billing).

Diagram illustrating statistical budget billing procedures, showing subtransactions allocated to internal processes for account determination and freely defined BB plan entries.

The payment and transfer procedures should be allocated to the internal procedures. Account determination is not necessary.

The payment transactions must be defined as "follow-up" transactions for the extrapolation transactions.

The sub-transactions for budget billing extrapolation are maintained in the rates. They must be defined statistically (debit = "P" / credit = "Z"). Account determination must be defined for these transactions.

Diagram illustrating account determination in financial processing, connecting contract accounts and business transactions to receivables accounts through Posting area R000.

The account determination ID can be found in the contract account for multiple-contract or contract- independent postings, or in the contract.

Flowchart demonstrating account determination for sales revenue, linking transactions and contract accounts to revenue accounts based on specific criteria like billing and energy prices.

The account determination ID can be found in the contract account for multiple-contract or contract- independent postings, or in the contract.

The subtransaction is also required for the revenue account determination

Additional account assignments (for example, cost center, plant) and the tax determination ID are also determined through sales revenue account determination.

Flowchart illustrating the process of determining CO account assignment based on contract and account details, ending with a decision for account assignment specifics.

The posting items from invoicing are allocated the appropriate additional account assignments from CO so that they can be forwarded to the cost accounting components.

These additional assignments were already determined in contract billing. If the billing document line item is a line item relevant for posting and is posted to a cost element, the additional account assignment from CO is determined according to the following priorities:

  • Direct entry of the account assignment when the billing document line item is manually entered (if you are dealing with manual billing)
  • Specifications in the contract
  • Specifications in account determination (posting area R001)
  • Standard account assignment of cost element (for example in transaction KA02 'change cost element')

CO account determination keys (field COKEY) are allocated to the contract master record and contract determination. The CO account determination keys encode a valid combination of the CO additional account assignments. You can maintain the CO account determination keys in Customizing under Financial AccountingContract Accounts Receivable and PayableBasic FunctionsPostings and DocumentsDocumentStore Short Account Assignments for IS-U Contracts or for Define CO Short Account Assignments.

Time Period Control

Customizing for Time Period Control:

  • Time period procedure
    • To-the-day
    • Key date
    • Interval (+ enhanced interval procedure)
  • Alternative procedures are possible for the following special cases:
    • Move-in
    • Move-out
    • Values added/omitted sub-periodically
  • Consideration of leap years

You can control how periods are to be calculated by means of the period control in the rate steps.

The following procedures are supported:

  • To-the-day
  • For an exact number of months with a key date
  • For an exact number of months with intervals

The above procedures can also be dealt with differently in certain special cases (such as move- in/out).

The key date for month-related billing is entered in the meter reading unit.

The intervals for month-related billing are entered in the portion.

For calculating month-based time portions depending on an interval, additional values can be stored daily intervals using the enhanced interval procedure.

In the enhanced interval procedure:

  • To the month with key date refers to the calendar month
  • The interval procedure refers to the duration of the billing period. In the enhanced interval procedure, the limits can be specified for any period (rather than for just one month).
Diagram illustrating data variant control logic for updating operands and writing quantity information, with examples of data inputs and corresponding operations.

Using variant control, you can control the different variant programs. Control indicators are not the same for all variant programs, but depend instead on the task of each variant program.

Create a New Rate

The new contract contains a rate for billing an energy price according to which 60% of the consumption is billed with one price and the other 40% with another price.

Steps

  1. Check the definition of the rate in the implementation guide. Which menu path would you use to define a rate?

    1. On HOME page, select User ProfileApp FinderSAP MenuSearch in SAP MenuCustomizing – Execute Project (transaction SPRO).

    2. In the SAP Reference IMG, choose SAP UtilitiesContract BillingBilling Master DataRate StructureRatesDefine RatesCreate Rates/Change Rates/Display Rates.

  2. Display the definition of rate U-E-R-KWH in the system. What do you control by using the Min.share. (Percentage Minimum Share) field? Which value is used for extrapolation when meter reading results are missing?

    1. In the SAP Reference IMG, choose SAP UtilitiesContract BillingBilling Master DataRate StructureRatesDefine RatesDisplay Rates.

    2. In the initial screen, enter the rate U-E-R-KWH.

    3. Register-based data, Min.share.: 60 %

    4. This field is used to determine periods in which meter reading results must be available for the system to be able to extrapolate. If there are no meter reading results, the system uses the period consumption.

  3. How many and which variant programs are used in the rate? Go to the rate steps display to find out.

    1. Select Rate Steps.

    2. Number of variant programs :4

      Variant programs used:

      • QUANTI14
      • INFACT06
      • QUANTI22
      • QUANTI24
  4. Which output operand is used to store the billed consumption?

    1. Output operand 1: KWH_B

      In this case, the output operand is used as an input operand for subsequent variant programs.

  5. Create a new rate using the following data. A rate for billing electricity consumption. Use the data from the table.

    FieldValue
    RatePE1_1##
    DivisionElectricity
    TextRate ##
    Billing classResidential customer
    PermissibilityRegister permissible
    Min.Portion60 %
    Val. classCheck for residential customers
    Register operandEQUANT 1

    Rate steps:

    1. Write the info lines for the original consumption quantity.
    2. Determine the 40% and 60% portions (you first store percentages 0.4 and 0.6 for the facts in the next exercise).
    3. Valuate the 40% portion with an on-peak rate price.
    4. Valuate the 60 % portion with an off-peak rate price.

    Use the following processes:

    Debit energy price

    Credit energy price

    Extrapolation budget billing (debit)

    Extrapolation budget billing (credit)

    Use the following operands:

    EQUANT 1

    KWH_B

    KWH_D

    EQPRICE 1

    EQPRICE 2

    EAMOUNT 1

    EAMOUNT 2

    EFACTOR 1

    1. In the SAP Reference IMG, choose SAP UtilitiesContract BillingBilling Master DataRate StructureRatesDefine RatesCreate Rates

    2. In the initial screen, enter the rate PE1_1##.

    3. Enter PE1_1## in the Rate field and press Enter.

    4. To maintain header data, enter Rate ## in the text description field where ## is your group number. Enter/select 01/Electricity in the Division field. Then, enter/select 0001/Residential customers in the Bill. Class field. Enter/select EQUANT___1/On-peak rate consumption in the Reg. oper. field. Enter/select 0001/Validations for res. customers in the Val. Class field. Enter 60 in the Min. share. field.

      Permissibility is maintained at Register level.

    5. To maintain the rate step info, choose the Rate steps button.

    6. To maintain step 1 info to write the info lines, enter/select QUANTI05 in the Variant field for the first step of the rate. Enter/select 02/ Mth-bsd w.interv. to day MvI/O in the PC field. Enter/select EQUANT___1 in the InputOp. 1 field for the first step of the rate. Delete the content of Season field.

    7. To maintain step 2 info to determine the 40% and 60% portions, enter/select QUANTI04 in the Variant field for the second step of the rate. Enter/select 02/ Mth-bsd w.interv. to day MvI/O in the PC field. Use F4 to select Values added and Info lines written about quantity in the VC field. Enter/select EQUANT___1 in the InputOp. 1 field for the second step of the rate. Enter/select EFACTOR_1 in the InputOp. 2 field for the second step of the rate. Enter/select KWH_B in the OutputOp. 1 field for the second step of the rate. Enter/select KWH_D in the OutOp2 field for the second step of the rate.

    8. To maintain step 3 info to valuate the 40% portion, enter/select QUANTI01 in the Variant field for the third step of the rate. Enter/select 02/ Mth-bsd w.interv. to day MvI/O in the PC field. Use F4 to select Info lines written in the VC field. Enter/select 0021/Debit energy charge in the DST field. Enter/select 0011/Credit energy charge in the CST field. Enter/select 0120/BB request - debit in the BBDS field. Enter/select 0110/BB request - credit in the BBCS field. Enter/select KWHN_B in the InputOp. 1 field for the third step of the rate. Enter/select EQPRICE__1 in the InputOp. 2 field for the third step of the rate. Enter/select EAMOUNT__1 in the OutputOp. 1 field for the third step of the rate.

    9. To maintain step 4 info to valuate the 60% portion, enter/select QUANTI01 in the Variant field for the fourth step of the rate. Enter/select 02/Mth-bsd in the PC field. Use F4 to select Info lines written in the VC field. Enter/select 0021/Debit energy charge in the DST field. Enter/select 0011/Credit energy charge in the CST field. Enter/select 0120/BB request - debit in the BBDS field. Enter/select 0110/BB request - credit in the BBCS field. Enter/select KWH_D in the InputOp. 1 field for the fourth step of the rate. Enter/select EQPRICE__2 in the InputOp. 2 field for the fourth step of the rate. Enter/select EAMOUNT 2 in the OutputOp. 1 field for the fourth step of the rate.

    10. Choose the Save icon to save the rate details.

Fact Group

Visual representation of data flow for customer and installation information to determine rates, categorized by type and processed into schema with pricing execution details.
Diagram illustrating how fact groups enable the use of distinct operand values within one rate.

Concrete values, keys that the operands have been allocated and that are valid for a particular period, are referred to as facts. Depending on the level at which the key is allocated, these are either installation, rate or rate category facts.

Using the fact group, you can assign different values to individual operands in the rate facts.

A fact group must always be entered in combination with a rate type.

At rate level or rate-category-fact level, you can enter a replacement value instead of a fixed operand value (mandatory/optional entries are required at sub-ordinate levels). These replacement values give you more flexibility when allocating operand values.

A hierarchical diagram showing precedence relationships among installation facts, rate category facts, and rate facts with associated values.

Operand values are usually stored in the rate facts and are, therefore, valid at rate level. Cross-rate operand values can also be defined in the rate category facts and installation facts. They have priority over the rate facts.

At rate fact and rate category fact levels, you can also enter replacement values. These replacement values give you more flexibility when allocating operand values.

You can also historically overwrite operand values. In this way, a different price key can be allocated to a certain installation for only a certain period of time, for example, a month. In the other months, the values from the rate facts are used.

If no operand value can be determined during billing, the system cancels billing and outputs an error in the application log. Exception: the rate step is marked in the rate as an optional rate step.

In the rate facts and rate category facts, you define general operand values. These apply to groups of customers. An installation fact level, you define individual values, such as connection values and number of persons.

Diagram showing relationships between rate category, installation details, rate type, and calculated rates, emphasizing organizational structure and data connections.

You can override the data in the general rate category and in the facts to allow for customer-specific agreements.

You can also specify the rate type, and therefore the rate, in the facts.

However, only rate types for which the appropriate indicator is set can be used in the facts These rate types cannot be maintained at the device or register level.

Diagram illustrating the integration of function exits in SAP extension EBIS0002, connecting search logic, checks, and proposal logic to rate type and rate fact group processes.

This extension provides you with the following function exits:

  • EXIT_SAPLE20Q_001 Adapting the search help to the rate type
  • EXIT_SAPLE20Q_002 Adapting the search help to the rate fact group
  • EXIT_SAPLE20Q_003 Customer-specific input checks for rate type and rate fact group
  • EXIT_SAPLE20Q_004 Creating a proposal logic for the rate type and rate fact group

    For example, you can specify default if the corporation only uses one rate fact group It is also possible to let the rate fact group be recommended, for example, by regional factors.

Maintain Rate Facts

The new rate is valid for two different contract forms. These differ only in the portion of consumption quantity. In addition, special terms are agreed for a special business partner. The standard breakdown is 40% on- peak rate and 60% off-peak rate. The special business partner has 50% on-peak rate and 50% off-peak rate.

Steps

  1. Check the definition of the fact group in the implementation guide. Which fact group is maintained in the system for residential customers?

    1. On HOME page, select User ProfileApp FinderSAP MenuSearch in SAP MenuCustomizing – Execute Project (transaction SPRO).

    2. In the SAP Reference IMG, choose SAP UtilitiesContract BillingBilling Master DataRate StructureRatesDefine Rate Fact Groups.

    3. Rate fact group: 0001 Residential customers

  2. With which element of the rate structure is the fact group linked?

    1. In the SAP Reference IMG, choose SAP UtilitiesContract BillingBilling Master DataRate StructureRatesDefine Rate Fact Groups.

    2. Highlight the menu entry. Select Documentation by clicking on the menu entry.

    3. Linked element: Rate type

  3. Determine the service charge factor that will be applied for the installation created as a prerequisite of this exercise (Z_DATA_RES master data). In which master data object is the factor entered?

    1. From the SAP menu, select Utilities IndustryTechnical Master DataInstallationDisplay.

    2. Choose your installation.

    3. Click on the Facts button to call up the facts display. There are no facts here.

    4. Double-click on the Rate Category to call open related data. Click on the Facts button.

  4. Which factor is used for the master data found in the previous step?

    1. Select the operand EFACTOR_1.

      Operand value: 1

  5. What rate step is influenced by this factor?

    1. Return to the installation display.

    2. Select the Billing Periods button. The rate found for billing the installation is displayed on the Rates tab.

    3. Click on the rate U-E-R-SERV (service charge) to go to the rate display screen. Select Rate Steps. The operand EFACTOR_1 is used in the variant LUMSUM01 as a second input operand, a flat-rate price is full applied.

  6. Maintain the facts for the rate that you created earlier. Maintain all the necessary operands in your rate. Use the data from the table.

    FieldValue
    Factor0.4
    Price 1U-E-R-KWHN
    Price 2U-E-R-KWHF
    KWH_BDetermination at runtime
    KWH_DDetermination at runtime
    1. In the SAP Reference IMG, choose SAP UtilitiesContract BillingBilling Master DataRate StructureRatesDefine RatesChange Rates.

    2. Enter/confirm the rate you created in a previous step (PE1_1##).

    3. Choose the Facts button.

    4. Enter/select 0001/Residential customers in the Fact group field and press Enter to access the next screen.

    5. To maintain the details for each operand, enter the data to determine the 40/60 ratio. Double-click on the EFACTOR_1 to maintain the values. Enter/select today’s date in the first row of the Valid From column. Enter 0,4 in the Factor field. Click on the Transfer button to accept the changes.

    6. To enter the data to determine the price for the on-peak consumption, double-click on the EFACTOR_1 to maintain the values. Enter/select today’s date in the first row of the Valid From column. Enter/select U-E-R-KWHN in the first row of the Price field and press enter to validate the entries. Click on the Transfer button to accept the changes.

    7. To enter the data to determine the price for the off-peak consumption, double-click on the EQPRICE_2 to maintain the values. Enter/select today’s date in the first row of the Valid From column. Enter/select U-E-R-KWHF in the first row of the Price field and press enter to validate the entries. Click on the Transfer button to accept the changes.

    8. To enter the data to determine the usage for the on-peak consumption, double-click on the KWH_B to maintain the values. Select the Runtime option in the Replacement value section. Click on the Transfer button to accept the changes.

    9. Enter the data to determine the usage for the off-peak consumption. Double-click on the KWH_D to maintain the values. Select the Runtime option in the Replacement value section. Click on the Transfer button to accept the changes. Save your entries.

  7. What other replacement values can you name?

    1. Normal operand value:

      If this indicator is set, a replacement value is not used for the operand. As a result, an operand value must be entered.

      Optional value:

      If you enter this replacement value for an operand, the operand is proposed for maintenance in all installations that are allocated the rate category/rate. A value must not be entered for this operand in the installation facts.

      Mandatory value:

      If you enter this replacement value for an operand, the operand is proposed for maintenance in all installations that are allocated the rate category/rate. A value must be entered for this operand in the installation facts.

      Runtime:

      This replacement value must be entered when the operand is updated in subsequent rate steps as the output operand of a rate step.

Schema

Flowchart illustrating the process of rate determination based on customer data, installation details, and billing classifications, leading to schema execution and pricing information.

The billing schema:

  • Is valid for a certain division
  • Is valid for a certain billing class
  • Contains one or more rates
  • Determines the sequence of the rate steps for billing

Rates and their variant programs and operands are included in a billing schema. The following are specified in a billing schema: the rates used for billing, the schema steps used, and the sequence of the schema steps.

More than one rate can be contained in a billing schema than is necessary for the billing of a certain installation. Therefore, it is possible that a billing schema can contain two rates (on-peak household rate and off-peak household rate). Only one single-rate meter is installed in the installation. In this case only the on-peak rate is billed. The off-peak rate is simply ignored in the schema.

Billing Schema: 2

  • Controls how bill line items are dealt with statistically (quantity and/or amount)
  • Controls gross billing
  • Controls dynamic period control
  • Controls billing in advance
  • Is dependent on the rate category in the installation
Diagram summarizing schema components for billing processes, including headers like division and classes, and steps like rates, indicators, presort, deletion, and notes.

After a rate has been changed, the schema is automatically blocked, and the billing block has to be lifted by a clerk.

A schema is always allocated to a certain billing class and division. This checks the permissibility of different billing master data against each other.

A schema is made for a particular customer group. If too many schema steps are contained in the schema, which are not processed for each customer, it results in unnecessary run time.

The schema must contain all rates that can be billed together in an installation:

  • On-peak rate active energy
  • Off-peak rate active energy
  • On-peak rate active power

The presort key plays an important role in sorting individual billing line items for subsequent bill printout. We will look at the function of the presort key in more detail later on.

The deletion operand is required if billing line items have to be deleted while a contract is being billed, for example, in comparisons such as best-rate billing or maximum price limitation. The billing line items that are to be deleted must be provided with a deletion operand.

Illustration explaining installation disconnection reasons and their impact on billing, featuring customer actions, technical statuses, and a timeline for the billing and disconnection period.

At each schema step, you can define whether or not the charge (such as basic price, service price, rental price) is to be billed for the disconnection period.

In Customizing for disconnection/reconnection and also in the disconnection document itself, you can differentiate more precisely whether or not the control in the schema is to be taken into account.

Representation of data flow from billing document to CO-PA statistical and actual data systems, illustrating connections and schema categorization for analysis and decision-making.

You enter the statistics group for quantities in the billing schema for each schema step. In the statistics group, you can make more specific differentiations in the quantities (for example, on- peak/off-peak rate active energy) in the BW. This also makes it easier to transfer data to CO-PA.

SAP ships the statistics groups 000000 to 000002 with the system as standard.

You should define the statistics groups in detail to ensure that the quantity in the BW can be analyzed in different ways. You can also copy the quantity to several key figures simultaneously (using rules in BW).

Always include quantity and amount as key figures and include statistic groups and the amount together in one dimension!

In the statistics group, you also define into which value fields of the operating concern the quantity in a billing line item is copied. This only applies to statistical postings in CO-PA (for example for unbilled revenue reporting).

You cannot assign any update rules to a statistics group for actual postings of the value flow in CO- PA. You control these updates using the PA transfer structure. Basically, all the billing line items in a billing document for which the field 'Billing line item relevant for posting' is set are processed for actual posting in CO-PA. The amounts from the billing line items are always transferred for actual posting. You can, however, prevent the amounts from being transferred by not setting the field 'Relevant for actual posting in CO-PA' in the statistics group quantity.

Visual representation of data flow from billing documents to statistical and actual data in a CO-PA schema, highlighting data categorization and transfer processes.

You enter the statistics group for amounts in the billing schema for each schema step. In the statistics group, you can make more specific differentiations in the amounts (for example, energy and flat rate amount) in BI. This makes it easier to transfer data to CO-PA.

SAP ships the statistics groups 000000 and 000001 with the system as standard.

You should define the statistics groups in detail to ensure that the amount in BI can be analyzed in different ways. You can also copy the quantity to several key figures simultaneously.

Sorting for Bill Printout

  • Presort keys are for sorting billing line items before printout
  • Billing line items with the same presort keys form a group
  • Billing groups are sorted in ascending order according to the presort key
  • Function modules are used for sorting within billing groups
  • Presort keys must be allocated to all document lines in the schema

The presort keys are allocated in the schema of every billing or information line item and specifies how individual billing line items are sorted for bill printout.

You have to take all schemas into consideration. If, for example, an electricity and gas bill is to be created, the presort keys in the electricity and gas schemas should be checked against each other.

We will look at the function of the presort key in more detail in the chapter on bill printout.

Create a New Schema and a New Rate Category

After all the necessary rates have been defined, they are brought together to form an overall billing design. by creating a new billing schema. This billing schema is entered in a new rate category as a standard schema.

Steps

  1. Read the online documentation. Select the menu path Define schemas using the implementation guide.

    1. On HOME page, select User ProfileApp FinderSAP MenuSearch in SAP MenuCustomizing – Execute Project (transaction SPRO).

    2. In the SAP Reference IMG, choose SAP UtilitiesContract BillingBilling Master DataRate StructureSchemasDefine Schemas.

  2. Access the documentation from the menu. Read the information regarding prerequisites.

    1. Choose Define schemas.

    2. Read the information regarding prerequisites.

  3. Create a new billing schema using the following data. Use the data from the table.

    FieldValue
    SchemaPE1##
    TextBilling schema ##
    Division01 Electricity
    Billing class0001 Residential customers
    RateFrom the previous exercise PE1_1##
    Presort key 10002
    Presort key 20002
    1. In the SAP Reference IMG, choose SAP UtilitiesContract BillingBilling Master DataRate StructureSchemasDefine SchemasCreate Schemas.

    2. Enter the name of the schema (PE1##) in the Billing schema field.

    3. Enter the data from the table.

    4. Select Schema Step button, in the next window select the Insert Rate button.

    5. Select the rate PE1_1##. Then click Choose and Execute in the sequence.

    6. Enter rate from the previous exercise PE1_1##.

    7. For Presort 1 (Pre1), choose 0002.

    8. For Presort 2 (Pre2), choose 0002.

      Note

      Enter 0002 presort for all rate steps.
    9. Choose Save.

  4. Display the operand list for your schema. How many operand categories do you use?

    1. Select Display Schema, enter the schema created in the previous step and press Enter.

    2. On the menu, select GotoOverviewList of Operands.

      Result

      There are three operand categories:
      • QUANT
      • QPRICE
      • FACTOR
  5. Use your new schema to define a new rate category. Take the following information into account. Rate category of the electricity division. Use the information from the table.

    FieldValue
    TextRate category ##
    Billing class0001 Residential customer
    Outsorting group0001 Outsorting: res. customer
    Billing schemaPE1##
    BackbillingNo backbilling
    Period-end billingNo period-end billing
    FactsNot required, values are taken from rates
    Rate categoryPE1##
    DivisionElectricity
    1. In the SAP Reference IMG, choose SAP UtilitiesContract BillingBilling Master DataRate StructureRate CategoriesDefine Rate Categories.

    2. Select Create Rate Categories.

    3. In the initial screen, enter the key PE1## in the Rate cat. field, and 01 in the Division field.

    4. Maintain the contents in the data screen as described in the table.

    5. Save your entries.

Rate Category

Flowchart illustrating the data process for determining rates based on customer and installation information, categorized factors, types, and schema-driven execution logic.

  • Valid for one division only
  • Belongs to a single billing class
  • Contains one valid billing schema
  • Controls billing – used to determine the rate in conjunction with the rate type
  • Determines which outsorting checks occur during billing
  • Controls accompanying backbilling and period-end billing for nonresidential customers
  • Controls advance billing and dynamic period control

The rate category classifies the installation for billing. The rate category is used in conjunction with the rate types to determine the rate.

Rate determination:

rate type + rate category = rate

Diagram illustrating various concepts connected to Rate Category, emphasizing its role in billing processes, divisions, control systems, and operational classifications.

The rate category contains data that controls the processing of billing data. This includes:

  • Billing Scheme
  • Control of period-end billing and accompanying backbilling
  • Outsorting checks

Any other billing-relevant data is also saved in the rate category. This includes any agreed quantities, demand, prices, or flat rates. In the case of flat rate services (such as cable services and street lights), no quantities are measured. You must therefore define replacement values that the system can use for evaluation (for example number of cable connections or number of street lights with a specific connection value).

Illustration showing statistical customer groups categorized by rate categories and contracts, distinguishing between residential, commercial, standard, and individual statistics.

You can group rate categories and contracts according to the statistics update procedure using statistics groups.

You find the statistics groups for rate categories on the rate category screen. The statistics group for contracts is on a contract screen.

The following are examples of different updates:

  • Rate categories: "Residential customers" and Commercial and industrial customers".
  • Contracts: "Standard customers" and "Individual statistics". For certain contracts (such as standard customers), individual statistics are stored.

The update group controls the update on a general level. It is determined by a combination of the various statistics groups and the division.

Diagram explaining the workflow of updating customer information and grouping in business intelligence systems using rules tied to statistical categories and update groups.

When contracts are billed, the division and the statistics group are determined from the contract and rate category.

Using the combination of division and statistics groups, the system determines the relevant update group and saves it in the billing document for statistics-relevant line items.

Only line items with an update group in which an entry has been made can be updated to BI.

On the basis of the update group, further differentiations can be made within BI, for example, industrial and residential customers.

Illustration showing how historical rate categories and rate types are used to determine multiple dynamic rates, optimizing for best-rate billing.

Rate determination:

Rate type + rate category = Rate

The rate types/rate categories may not have to be changed in the master data if rates are reformed because the rate can be determined historically. It suffices to find new rates for a certain key date.

The system can also determine more than one rate per rate type and rate category. You can use this option, for example, to model best-rate billing in the system (low consumption rate, basic price rate 1, basic price rate 2).

Diagram linking billing-relevant objects to billing master data, showing relationships between installation structure, facts, and rate category facts to respective rate types (for example, on-peak).

The rate is comprised of a combination of the rate type and the rate category.

The rate type is generally maintained in the register. In some cases, it can be maintained at device level or in the installation facts. In addition, the rate type can be entered in the rate category facts (for example, if a device does not exist).

A rate type for reference values can also be defined in the installation facts (for example for street lighting, telephone booths).

Diagram illustrating the process of creating a rate structure, emphasizing the flow from rate type to rate determination, linked to billing schemas, variant programs, and rates.

Individual rate components must be created and maintained in a predefined sequence.

The sequence is determined by the respective links to the individual components.

The components are maintained in the following sequence:

  • Rate types
  • Operands
  • Prices
  • Rates
  • Schemas
  • Rate categories
  • Rate determination

You do not normally create the operands and prices beforehand, instead you create them from the rate. To do so, you enter the new name (of the operand, for example) in the field and by double- clicking on it, the system automatically goes to the transaction for creating operands.

Overall Check

  • Determines whether the master data can be billed by checking the completeness of:
    • The rate determination data
    • The operand values
  • The overall check is carried out
    • During billing
    • During move-in
    • Upon special request
    • During data migration

The overall check ensures that all data relevant to the billing process is complete and correct.

Interface showcasing billing-related utilities for rate determination, simulation, and operand settings, highlighting options for billing types and selection criteria in a structured layout.

Using the billing analysis, you carry out a detailed check to ensure that your rate models are correct.

The billing analysis is not designed for processing in production operation.

A visual representation of document flow in contract management, showing billing, installations, partnerships, account postings, and subledger integration for financial tracking.

Billing documents and print documents can be created from the billing analysis. These must be looked at in detail after successful billing (billing document for each contract) or invoicing (print document for each contract account).

Billing can executed as simulation.

The business partner items for the contract billing documents are constructed in detail according to:

  • Company Code
  • Business area
  • Account determination ID
  • Contract
  • Division
  • Main transaction
  • VAT code

The general ledger items for the contract billing documents are constructed in detail according to:

  • VAT code
  • Sales revenue account
  • CO account determination data (for example, cost center and so on)

Create a New Rate Determination and Determine the Billing Master Data

All the new billing components are brought together with the rate determination mechanism to be used in the system. All billing-relevant data in the system is determined for an existing business partner, for whom the new contract components are to be tested.

Steps

  1. Create a new rate determination for your rate (PE1_1##) from the combination of your rate category (PE1##) and the rate type 1001. Use January 1st of this year as the valid date.

    1. On HOME page, select User ProfileApp FinderSAP MenuSearch in SAP MenuCustomizing - Execute Project (transaction SPRO).

    2. In the SAP Reference IMG, choose SAP UtilitiesContract BillingBilling Master DataRate StructureDefine Rate Determination.

    3. Enter the rate category PE1## and rate type 1001, then choose the Create Rate Determination button.

    4. Choose the Insert Period button, enter January 1st in the Valid From field and PE1_1## in the Rate field. Choose Transfer.

    5. Save your entries.

  2. Check the installation created as a prerequisite for these exercises (Z_DATA_RES master data). Determine all the installation’s billing components used in the master data. Which rate category is entered at installation level?

    1. Select Display Installation App (transaction ES32).

    2. Enter the installation created.

    3. Select the rate category U-E-R-STD.

  3. Which rate type is entered on the register of the device?

    1. Choose GotoDevices (button)Register data (session).

    2. Select the rate type KWH.

  4. Which rate is determined with the rate determination for billing runtime?

    1. On HOME page, select User ProfileApp FinderSAP MenuSearch in SAP MenuCustomizing - Execute Project (transaction SPRO).

    2. In the SAP Reference IMG, choose SAP UtilitiesContract BillingBilling Master DataRate StructureDefine Rate Determination.

    3. Enter the rate category and rate type, found in the previous steps. Choose the Display Rate Determination button.

      Rates:

      • U-E-R-CHR

      • U-E-R-DISC

      • U-E-R-DIST

      • U-E-R-KWH

  5. Which billing schema is linked to the rate category?

    1. In the SAP Reference IMG, choose SAP UtilitiesContract BillingBilling Master DataRate StructureRate CategoriesDisplay Rate Categories.

    2. Enter the rate category U-E-R-STD in the initial screen.

    3. Select the billing schema U-E-R.

  6. Are special price keys which differ from the rate used for this business partner?

    1. Select Display Installation App (transacion ES32).

    2. Enter the installation created.

    3. Select the installation facts.

      Result

      No facts are available. No special price is used.