Phase 5: Billing & Tariff Foundation (The Billing Engine)
Prerequisite Check: Phases 1–4 must be complete. We need: Company Code
AEP1activated for FI-CA (Phase 2, Step 2.1), FI-CA Document TypesZI/ZR(Phase 2, Step 2.3), Account Determination mapped (Phase 2, Step 2.5), Rate Categories assigned to Installation Types (Phase 3), and the complete EDM profile allocation with TOU Period Definitions (Phase 4, Steps 4.7–4.10). This phase builds the billing calculation engine — the operands, rates, and schemas that transform raw interval data into dollar amounts on the customer’s bill.
⚠️ Architecture Constraint — AMI-First Billing: This phase configures billing for a 100% AMI utility. All consumption data enters the billing engine through EDM profile aggregation, not through traditional scalar meter reading differences. The billing schema must reference EDM-sourced TOU operands — standard discrete meter reading logic is forbidden.
Section A: RTP Interface & Formula Profiles (EDM-to-Billing Bridge)
⚠️ Critical Prerequisite: Before defining any operands or rates, you must understand and configure how the raw 15-minute interval data (stored in EDM LOAD/TOU/DEMA profiles from Phase 4) is aggregated into the billing operands. Without this bridge, the billing engine has no consumption values to price against. The billing run (
EA00) will abort with errorBL 450(“No consumption data found for operand”).
Step 5.1 — Configure the RTP Interface (EDM → Billing Data Transfer)
| Attribute | Value |
|---|---|
| SPRO Path | SPRO → SAP Utilities → Billing → Meter Reading and Billing Data Determination → Energy Data Management Integration → Define EDM Data Transfer to Billing |
| T-Code | SPRO |
SAP Screen Flow
Screen 1 — IMG Navigation
- Navigate to the SPRO path above → click Execute (⏩).
Screen 2 — EDM Billing Data Transfer: Table View
- Click New Entries.
Screen 3 — New Entry: Transfer Profile Details
| Field | Value (Example: ZEDM_RES) | Notes |
|---|---|---|
| Transfer Profile | ZEDM_RES | Z-namespace key for the data transfer rule |
| Description | EDM Transfer — Residential TOU Billing | |
| Source Profile Type | TOU | The EDM TOU Profile (created in Phase 4, Step 4.7) |
| Aggregation Method | Period Summation | Sums all 15-minute intervals within each TOU period |
| Target Data Type | Billing Operand | Output feeds directly into billing operands |
| Billing Relevance | ✓ | This transfer is consumed by the billing schema |
| Interval Length | 15 MIN | Must match the EDM profile interval (Phase 4) |
- Click Save (
Ctrl+S). - Repeat for each transfer profile:
Complete EDM Transfer Profiles
| Transfer Profile | Description | Source Profile | Aggregation | Target |
|---|---|---|---|---|
ZEDM_RES | EDM Transfer — Residential TOU | TOU | Period Summation | Billing Operand |
ZEDM_COM | EDM Transfer — Commercial TOU | TOU + DEMA | Period Summation + Peak Extract | Billing Operand |
ZEDM_IND | EDM Transfer — Industrial TOU | TOU + DEMA | Period Summation + Coincident Peak | Billing Operand |
ZEDM_FLT | EDM Transfer — Flat Rate | LOAD | Total Summation (no TOU split) | Billing Operand |
ZEDM_NM | EDM Transfer — Net Metering | TOU + RECV | Period Summation + Net Calculation | Billing Operand |
Data Flow Architecture
EDM Profiles (Phase 4) Billing Engine (Phase 5)
───────────────────── ────────────────────────
LOAD Profile ──┐
(raw 15-min │ ┌──────────────┐ ┌─────────────────────┐
intervals) ├───→│ RTP / EDM │─────→│ Billing Operands │
│ │ Transfer │ │ │
TOU Profile ──┤ │ Profile │ │ OP_PEAK = 450 KWH │
(time-bucketed │ │ (ZEDM_RES) │ │ OP_OFFP = 820 KWH │
consumption) │ │ │ │ OP_SOFF = 230 KWH │
│ │ Aggregation:│ │ OP_DEMA = 8.5 KW │
DEMA Profile ──┘ │ Period Sum │ │ OP_TOTAL = 1500 KWH│
(peak demand) └──────────────┘ └─────────────────────┘
│
▼
┌─────────────────────┐
│ Rate Schema │
│ (price × operand) │
└─────────────────────┘Why This Step
In a traditional (non-AMI) utility, billing consumption comes from meter reading differences — the meter reader records a scalar value, and billing subtracts the previous read. For a 100% AMI utility, this entire paradigm is replaced:
- EDM receives 2,880 fifteen-minute intervals per meter per month (96/day × 30 days)
- EDM aggregates them using TOU Period Definitions (Phase 4, Step 4.8) into period buckets (PEAK, OFFP, SOFF)
- The RTP/Transfer Profile pushes these aggregated values into billing operands
- The billing schema applies prices to those operands
Without the Transfer Profile, there is a data gap between EDM and billing. The TOU profiles contain the data, but billing has no instruction to fetch it.
Step 5.2 — Define Formula Profiles for Billing Calculation
| Attribute | Value |
|---|---|
| SPRO Path | SPRO → SAP Utilities → Billing → Billing Master Data Maintenance → Formula Profiles → Define Formula Profiles |
| T-Code | SPRO |
SAP Screen Flow
Screen 1 — IMG Navigation
- Navigate to the SPRO path above → click Execute (⏩).
Screen 2 — Formula Profiles: Table View
- Click New Entries.
Screen 3 — New Entry: Formula Profile Header
| Field | Value (Example: ZFP_TOU) | Notes |
|---|---|---|
| Formula Profile | ZFP_TOU | Z-namespace key |
| Description | TOU Billing Formula Profile | |
| Calculation Type | EDM-Based | Uses EDM profile data — NOT scalar meter reads |
| Profile Source | RTP Transfer | Consumption comes from the EDM Transfer Profile |
Screen 4 — Formula Profile: Calculation Steps
- Click New Entries to define calculation steps within the formula:
| Step | Operation | Source | Target Operand | Notes |
|---|---|---|---|---|
010 | Read TOU Profile — PEAK bucket | EDM TOU Profile, Period PEAK | OP_PEAK | Extracts summed On-Peak KWH |
020 | Read TOU Profile — OFFP bucket | EDM TOU Profile, Period OFFP | OP_OFFP | Extracts summed Off-Peak KWH |
030 | Read TOU Profile — SOFF bucket | EDM TOU Profile, Period SOFF | OP_SOFF | Extracts summed Super Off-Peak KWH |
040 | Read DEMA Profile — Max Value | EDM DEMA Profile, Max | OP_DEMA | Extracts peak demand KW |
050 | Calculate Total | OP_PEAK + OP_OFFP + OP_SOFF | OP_TOTAL | Sum for bill display |
060 | Set Fixed Value = 1 | Constant | OP_CUST | Customer charge multiplier (always 1) |
- Click Save (
Ctrl+S). - Repeat for each formula profile:
Complete Formula Profiles
| Formula Profile | Description | Calc Type | Steps | Rate Class |
|---|---|---|---|---|
ZFP_TOU | TOU Billing Formula | EDM-Based | 6 steps (PEAK/OFFP/SOFF/DEMA/TOTAL/CUST) | Residential TOU, Commercial TOU, Industrial |
ZFP_FLT | Flat Rate Billing Formula | EDM-Based | 3 steps (TOTAL from LOAD sum, CUST, no TOU split) | Residential Standard |
ZFP_NM | Net Metering Formula | EDM-Based | 8 steps (adds RECV profile + net calculation) | Net Metering |
ZFP_DEM | Demand-Only Formula | EDM-Based | 4 steps (DEMA + ratchet logic for industrial) | Industrial (demand billing) |
Why This Step
Formula Profiles are the calculation instruction set that the billing engine executes during EA00. They define:
- What data to fetch from which EDM profile
- How to aggregate that data into operands
- What mathematical operations to apply (summation, peak extraction, netting)
Without a Formula Profile, the billing schema has operand slots but no logic to fill them with values.
Key Configuration Notes
- ⚠️ Standard scalar meter reading formulas (
R-Snotation) are NOT used in an AMI-first architecture. If you see formula steps referencing “previous read” or “register difference,” you have incorrectly engaged the legacy MR-based billing path. - The Formula Profile is assigned to the Rate Category in Step 5.5 — not to the installation or contract directly.
- For Net Metering (
ZFP_NM), Step 070 calculatesOP_NET = OP_TOTAL_DELIVERED - OP_TOTAL_RECEIVED. IfOP_NET < 0, the customer has a credit (net excess generation).
Section B: Billing Operands & Rate Types
Step 5.3 — Define Billing Operands
| Attribute | Value |
|---|---|
| SPRO Path | SPRO → SAP Utilities → Billing → Billing Master Data Maintenance → Operands → Define Operands |
| T-Code | SPRO |
SAP Screen Flow
Screen 1 — IMG Navigation
- Navigate to the SPRO path above → click Execute (⏩).
Screen 2 — Operands: Table View
SAP displays existing operands (may include SAP-standard entries).
- Click New Entries.
Screen 3 — New Entry: Operand Details
For each operand, fill in:
| Field | Value (Example: OP_PEAK) | Notes |
|---|---|---|
| Operand | OP_PEAK | Alphanumeric key — identifies what is being measured |
| Description | On-Peak Energy Consumption (KWH) | |
| UoM | KWH | (verified in Phase 1, Step 1.11) |
| Operand Category | Consumption | Consumption, Demand, Fixed, or Calculated |
| Data Source | EDM | ⚠️ Must be EDM — NOT Meter Reading |
| EDM Profile Type | TOU | References TOU Profile (Phase 4, Step 4.7) |
| TOU Period | PEAK | Maps to TOU Period Code (Phase 4, Step 4.8) |
| Decimal Places | 3 | |
| Print Relevant | ✓ | This operand value appears on the customer’s bill |
| Statistical | ☐ | This is a priced operand, not informational only |
- Click Save (
Ctrl+S). - Repeat New Entries for each operand:
Complete Billing Operands
| Operand | Description | UoM | Category | Source | EDM Profile | TOU Period | |
|---|---|---|---|---|---|---|---|
OP_PEAK | On-Peak Energy (KWH) | KWH | Consumption | EDM | TOU | PEAK | ✓ |
OP_OFFP | Off-Peak Energy (KWH) | KWH | Consumption | EDM | TOU | OFFP | ✓ |
OP_SOFF | Super Off-Peak Energy (KWH) | KWH | Consumption | EDM | TOU | SOFF | ✓ |
OP_CRIT | Critical Peak Energy (KWH) | KWH | Consumption | EDM | TOU | CRIT | ✓ |
OP_TOTAL | Total Energy Consumption (KWH) | KWH | Calculated | EDM | LOAD | (all) | ✓ |
OP_DEMA | Peak Demand (KW) | KW | Demand | EDM | DEMA | (max) | ✓ |
OP_CPEAK | Coincident Peak Demand (KW) | KW | Demand | EDM | DEMA | (PJM CP) | ✓ |
OP_REACT | Reactive Energy (KVARH) | KVARH | Consumption | EDM | LOAD | (all) | ✓ |
OP_PF | Power Factor | — | Calculated | EDM | (calc) | — | ✓ |
OP_CUST | Customer Charge (fixed) | EA | Fixed | Constant | — | — | ✓ |
OP_RECV | Received Energy / Solar Export (KWH) | KWH | Consumption | EDM | RECV | (all) | ✓ |
OP_NET | Net Energy (Delivered - Received) | KWH | Calculated | Formula | — | — | ✓ |
Why This Step
Operands are the measurable quantities that the billing engine prices. They represent the “what” in the billing equation (Price × Quantity = Charge). Each operand maps to a specific data source:
- Consumption operands (
OP_PEAK,OP_OFFP, etc.) are filled by EDM TOU profile aggregation - Demand operands (
OP_DEMA) are filled by EDM DEMA profile peak extraction - Fixed operands (
OP_CUST) are constants (always = 1 × customer charge rate) - Calculated operands (
OP_TOTAL,OP_NET,OP_PF) are derived from other operands via formula
Key Configuration Notes
- ⚠️ Data Source MUST be
EDMfor all consumption/demand operands. Setting it toMeter Readingwould invoke the legacy scalar-read logic, which is disabled in this AMI-first architecture (MR Relevance = inactive on Installation Type). - The
OP_CRIT(Critical Peak) operand will carry a value of0unless a Critical Peak event has been declared via the EDM event overlay mechanism (Phase 4, Step 4.8). OP_PF(Power Factor) is calculated asCOS(ARCTAN(OP_REACT / OP_TOTAL))and is used for power factor penalty determination on commercial/industrial accounts.
Step 5.4 — Define Rate Types
| Attribute | Value |
|---|---|
| SPRO Path | SPRO → SAP Utilities → Billing → Billing Master Data Maintenance → Rate Types → Define Rate Types |
| T-Code | SPRO |
SAP Screen Flow
Screen 1 — IMG Navigation
- Navigate to the SPRO path above → click Execute (⏩).
Screen 2 — Rate Types: Table View
- Click New Entries.
Screen 3 — New Entry: Rate Type Details
| Field | Value (Example: ENRG) | Notes |
|---|---|---|
| Rate Type | ENRG | Short key classifying the charge type |
| Description | Energy Charge | |
| Charge Category | Variable | Charge is proportional to operand value |
| Currency | USD | |
| Tax Relevant | ✓ | Subject to state/local tax calculation |
| Print Line | 10 | Sequence on printed bill |
- Click Save (
Ctrl+S). - Repeat for each rate type:
Complete Rate Types
| Rate Type | Description | Charge Category | Tax Relevant | Print Line |
|---|---|---|---|---|
ENRG | Energy Charge (per KWH) | Variable | ✓ | 10 |
DEMA | Demand Charge (per KW) | Variable | ✓ | 20 |
CUST | Customer Charge (fixed monthly) | Fixed | ✓ | 05 |
FUEL | Fuel Adjustment Charge | Variable (rider) | ✓ | 30 |
TRAN | Transmission Charge | Variable (rider) | ✓ | 35 |
DIST | Distribution Charge | Variable | ✓ | 40 |
TAXS | State Sales Tax | Calculated | (tax itself) | 90 |
TAXM | Municipal Tax / Franchise Fee | Calculated | (tax itself) | 91 |
CRIT | Critical Peak Pricing Surcharge | Variable (event) | ✓ | 15 |
PFPN | Power Factor Penalty | Variable (penalty) | ✓ | 50 |
NMCR | Net Metering Credit | Variable (credit) | ☐ | 60 |
LATP | Late Payment Penalty | Fixed | ✓ | 95 |
Why This Step
Rate Types classify each line item on the customer’s bill. They drive:
- How the charge is calculated (fixed vs. variable vs. calculated)
- Whether sales tax applies
- The print sequence on the customer’s statement
- Regulatory reporting categorization (PUCO requires separate reporting of energy, distribution, and transmission charges)
Section C: Rates & Rate Variants
Step 5.5 — Define Rates (Pricing Rules)
| Attribute | Value |
|---|---|
| SPRO Path | SPRO → SAP Utilities → Billing → Billing Master Data Maintenance → Rates → Define Rates |
| T-Code | SPRO |
SAP Screen Flow
Screen 1 — IMG Navigation
- Navigate to the SPRO path above → click Execute (⏩).
Screen 2 — Rates: Table View
- Click New Entries.
Screen 3 — New Entry: Rate Header
| Field | Value (Example: ZRES-TOU) | Notes |
|---|---|---|
| Rate | ZRES-TOU | Z-namespace key identifying the rate schedule |
| Description | Residential TOU Rate Schedule | |
| Rate Category | RES-TOU | (created in Phase 3) |
| Division | 01 | Electricity (Phase 3, Step 3.8) |
| Valid From | 01/01/2026 | Regulatory effective date |
| Valid To | 12/31/9999 | Open-ended (until next rate case) |
| Formula Profile | ZFP_TOU | (created in Step 5.2) |
- Press Enter → navigate to the Rate Lines detail view.
Screen 4 — Rate Lines: Pricing Detail
- Click New Entries to add pricing lines:
Rate Lines for ZRES-TOU (Residential TOU)
| Line | Rate Type | Operand | Price (USD) | UoM | Tier | Description |
|---|---|---|---|---|---|---|
010 | CUST | OP_CUST | $8.50 | EA | — | Monthly customer charge |
020 | ENRG | OP_PEAK | $0.1200 | KWH | — | On-Peak energy |
030 | ENRG | OP_OFFP | $0.0800 | KWH | — | Off-Peak energy |
040 | ENRG | OP_SOFF | $0.0500 | KWH | — | Super Off-Peak energy |
050 | CRIT | OP_CRIT | $0.7500 | KWH | — | Critical Peak surcharge (event-driven) |
060 | FUEL | OP_TOTAL | $0.0150 | KWH | — | Fuel adjustment rider |
070 | TRAN | OP_TOTAL | $0.0085 | KWH | — | Transmission rider |
080 | DIST | OP_TOTAL | $0.0320 | KWH | — | Distribution charge |
- Click Save (
Ctrl+S).
Calculation Example — Residential TOU
Customer: John Q. Customer
Installation: E2 (Residential TOU)
Billing Period: June 1 – June 30, 2026 (Summer Season)
EDM TOU Profile Output:
PEAK (3PM–7PM weekdays): 450 KWH
OFFP (remaining hours): 820 KWH
SOFF (11PM–5AM): 230 KWH
CRIT (no event declared): 0 KWH
TOTAL: 1,500 KWH
Bill Calculation:
Line 010: Customer Charge 1 × $8.50 = $8.50
Line 020: On-Peak Energy 450 × $0.1200 = $54.00
Line 030: Off-Peak Energy 820 × $0.0800 = $65.60
Line 040: Super Off-Peak 230 × $0.0500 = $11.50
Line 050: Critical Peak 0 × $0.7500 = $0.00
Line 060: Fuel Adjustment 1500 × $0.0150 = $22.50
Line 070: Transmission 1500 × $0.0085 = $12.75
Line 080: Distribution 1500 × $0.0320 = $48.00
──────────
Subtotal (before tax): $222.85
Line 090: State Sales Tax (5.75%): + $12.81
Line 091: Municipal Tax (3%): + $6.69
──────────
TOTAL AMOUNT DUE: $242.35Step 5.6 — Define Rate Variants (Seasonal / Geographic)
| Attribute | Value |
|---|---|
| SPRO Path | SPRO → SAP Utilities → Billing → Billing Master Data Maintenance → Rates → Define Rate Variants |
| T-Code | SPRO |
SAP Screen Flow
Screen 1 — IMG Navigation
- Navigate to the SPRO path above → click Execute (⏩).
Screen 2 — Rate Variants: Table View
- Click New Entries.
Screen 3 — New Entry: Rate Variant Details
| Field | Value (Example: SUM) | Notes |
|---|---|---|
| Rate Variant | SUM | Short key for the variant |
| Description | Summer Season Rates | |
| Parent Rate | ZRES-TOU | Which base rate this modifies |
| Valid From | 06/01 | Seasonal start (June 1) |
| Valid To | 09/30 | Seasonal end (September 30) |
| Override Lines | (see below) | Only the lines that differ from the base rate |
- Click Save (
Ctrl+S).
Complete Rate Variant Definitions
| Rate | Variant | Description | Valid Period | Changed Lines |
|---|---|---|---|---|
ZRES-TOU | SUM | Summer Residential TOU | Jun 1 – Sep 30 | Higher PEAK rate: $0.1500/KWH (+25%) |
ZRES-TOU | WIN | Winter Residential TOU | Oct 1 – May 31 | Lower PEAK rate: $0.1000/KWH (base) |
ZCOM-TOU | SUM | Summer Commercial TOU | Jun 1 – Sep 30 | Higher demand charge: $12.50/KW |
ZCOM-TOU | WIN | Winter Commercial TOU | Oct 1 – May 31 | Lower demand charge: $9.50/KW |
ZIND-TOU | SUM | Summer Industrial TOU | Jun 1 – Sep 30 | Coincident peak adder: $4.50/KW |
ZIND-TOU | WIN | Winter Industrial TOU | Oct 1 – May 31 | Coincident peak adder: $3.00/KW |
Why This Step
Regulated utilities operate under seasonal rate schedules filed with the state regulator. Summer rates are typically higher due to peak air conditioning load. Rate Variants allow the system to automatically switch pricing based on the billing period dates — the billing engine determines the applicable variant by comparing the billing period start/end dates against the variant validity periods.
Section D: Rate Categories & Billing Schemas
Step 5.7 — Assign Rate Categories
| Attribute | Value |
|---|---|
| SPRO Path | SPRO → SAP Utilities → Billing → Billing Master Data Maintenance → Rate Categories → Define Rate Categories |
| T-Code | SPRO |
SAP Screen Flow
Screen 1 — IMG Navigation
- Navigate to the SPRO path above → click Execute (⏩).
Screen 2 — Rate Categories: Table View
Rate Categories were initially defined in Phase 3. This step completes them by assigning the billing components created in this phase.
- Double-click on each Rate Category to edit:
Screen 3 — Rate Category Details: Billing Assignment Tab
For each Rate Category, assign:
| Field | Value (Example: RES-TOU) | Notes |
|---|---|---|
| Rate Category | RES-TOU | (created in Phase 3) |
| Rate | ZRES-TOU | (created in Step 5.5) |
| Formula Profile | ZFP_TOU | (created in Step 5.2) |
| EDM Transfer Profile | ZEDM_RES | (created in Step 5.1) |
| Billing Schema | ZSCH_TOU | (created in Step 5.8) |
| Print Schema | ZPRT_RES | (configured in Phase 6) |
- Click Save (
Ctrl+S). - Repeat for every Rate Category:
Complete Rate Category Assignments
| Rate Category | Rate | Formula Profile | EDM Transfer | Billing Schema | Rate Class |
|---|---|---|---|---|---|
RES-STD | ZRES-FLT | ZFP_FLT | ZEDM_FLT | ZSCH_FLT | Residential Standard |
RES-TOU | ZRES-TOU | ZFP_TOU | ZEDM_RES | ZSCH_TOU | Residential TOU |
COM-STD | ZCOM-FLT | ZFP_FLT | ZEDM_FLT | ZSCH_FLT | Commercial Standard |
COM-TOU | ZCOM-TOU | ZFP_TOU | ZEDM_COM | ZSCH_TOU_D | Commercial TOU (+Demand) |
IND-TOU | ZIND-TOU | ZFP_TOU | ZEDM_IND | ZSCH_TOU_D | Industrial TOU (+Demand) |
MUN-STD | ZMUN-FLT | ZFP_FLT | ZEDM_FLT | ZSCH_FLT | Municipal |
AGR-STD | ZAGR-FLT | ZFP_FLT | ZEDM_FLT | ZSCH_FLT | Agricultural |
NM-TOU | ZNM-TOU | ZFP_NM | ZEDM_NM | ZSCH_NM | Net Metering |
Why This Step
The Rate Category is the master switchboard that connects an Installation’s physical metering configuration (EDM Profiles) to the billing engine’s calculation logic (Formula Profile + Rate + Schema). When a billing order runs in EA00, the system looks up the Rate Category on the Contract, which in turn resolves the complete chain of billing components.
Step 5.8 — Define Billing Schemas
| Attribute | Value |
|---|---|
| SPRO Path | SPRO → SAP Utilities → Billing → Billing Master Data Maintenance → Billing Schemas → Define Billing Schemas |
| T-Code | EA97 (Billing Schema Simulation) |
SAP Screen Flow
Screen 1 — IMG Navigation
- Navigate to the SPRO path above → click Execute (⏩).
Screen 2 — Billing Schemas: Table View
- Click New Entries.
Screen 3 — New Entry: Schema Header
| Field | Value (Example: ZSCH_TOU) | Notes |
|---|---|---|
| Billing Schema | ZSCH_TOU | Z-namespace key |
| Description | TOU Billing Schema (Energy Only) | |
| Schema Type | Standard Billing |
- Press Enter → navigate to the Schema Lines detail view.
Screen 4 — Schema Lines: Processing Sequence
- Click New Entries to add processing steps for the billing schema:
Schema Lines for ZSCH_TOU (TOU Billing)
| Step | Operation | Rate Type | Operand | Condition | Action |
|---|---|---|---|---|---|
010 | Fetch EDM Data | — | — | — | Execute Formula Profile → populate operands |
020 | Calculate Customer Charge | CUST | OP_CUST | Always | OP_CUST × Rate → Line Item |
030 | Calculate On-Peak Energy | ENRG | OP_PEAK | OP_PEAK > 0 | OP_PEAK × Rate → Line Item |
040 | Calculate Off-Peak Energy | ENRG | OP_OFFP | OP_OFFP > 0 | OP_OFFP × Rate → Line Item |
050 | Calculate Super Off-Peak | ENRG | OP_SOFF | OP_SOFF > 0 | OP_SOFF × Rate → Line Item |
060 | Calculate Critical Peak | CRIT | OP_CRIT | OP_CRIT > 0 | OP_CRIT × Rate → Line Item |
070 | Calculate Fuel Adjustment | FUEL | OP_TOTAL | Always | OP_TOTAL × Rider Rate → Line Item |
080 | Calculate Transmission | TRAN | OP_TOTAL | Always | OP_TOTAL × Rider Rate → Line Item |
090 | Calculate Distribution | DIST | OP_TOTAL | Always | OP_TOTAL × Rider Rate → Line Item |
100 | Sum Subtotal | — | — | — | Σ all line items → SUBTOTAL |
110 | Calculate State Tax | TAXS | SUBTOTAL | Tax-relevant items | SUBTOTAL × 5.75% → Line Item |
120 | Calculate Municipal Tax | TAXM | SUBTOTAL | Tax-relevant items | SUBTOTAL × 3.00% → Line Item |
130 | Calculate Grand Total | — | — | — | SUBTOTAL + taxes → TOTAL_DUE |
- Click Save (
Ctrl+S).
Complete Billing Schemas
| Schema | Description | Rate Class | Key Differences |
|---|---|---|---|
ZSCH_FLT | Flat Rate Schema (Energy Only) | Residential Std, Municipal, Agricultural | No TOU split — single energy line using OP_TOTAL |
ZSCH_TOU | TOU Schema (Energy Only) | Residential TOU | PEAK/OFFP/SOFF energy lines, no demand charge |
ZSCH_TOU_D | TOU + Demand Schema | Commercial TOU, Industrial | Adds demand charge line: OP_DEMA × demand rate |
ZSCH_NM | Net Metering Schema | Net Metering | Adds net calculation: if OP_NET < 0, apply credit |
Why This Step
The Billing Schema is the master sequencing engine — it defines the exact order of operations that transforms raw operand values into a finished bill with line items, subtotals, taxes, and a grand total. It is the final piece of the billing puzzle.
Section E: Billing Simulation & Validation
Step 5.9 — Execute Billing Simulation (EA16)
| Attribute | Value |
|---|---|
| T-Code | EA16 (Billing Simulation) |
SAP Screen Flow
Screen 1 — Billing Simulation: Selection
- Execute
EA16. - Enter selection parameters:
| Field | Value | Notes |
|---|---|---|
| Company Code | AEP1 | |
| Contract Account | (test CA) | Enter a test Contract Account with TOU billing |
| Billing Period | 06/01/2026 – 06/30/2026 | Summer period for TOU variant testing |
| Simulation Mode | ✓ | ⚠️ Simulation = no posting, no document created |
- Click Execute (⏩).
Screen 2 — Simulation Results
SAP displays the calculated billing output:
| Result Field | Expected Value | Notes |
|---|---|---|
| Operand Values | PEAK: 450, OFFP: 820, SOFF: 230 | Confirms EDM data transfer |
| Line Items | Customer Charge, Energy charges, Riders, Taxes | Confirms schema execution |
| Total Amount | Matches manual calculation | ⚠️ Must match expected total |
| Error Log | (empty) | Any errors indicate configuration gaps |
Common Simulation Errors
| Error Code | Message | Root Cause | Resolution |
|---|---|---|---|
BL 450 | No consumption data found | EDM Transfer Profile not assigned to Rate Category | Step 5.1 / 5.7 |
BL 300 | No rate found for operand | Operand defined but no rate line references it | Step 5.5 |
BL 210 | Formula profile error | Formula profile step references missing EDM profile | Step 5.2 |
EDM 501 | No EDM profile for installation | Profile Allocation incomplete | Phase 4, Step 4.10 |
BL 100 | Schema not found | Rate Category not linked to billing schema | Step 5.7 |
Why This Step
Never go live without simulation. The billing simulation (EA16) runs the complete calculation pipeline without posting any financial documents. It is the only safe way to validate:
- EDM data flows correctly into operands
- Rate pricing applies correctly per TOU period
- Tax calculations are accurate
- The total matches expected values from manual calculation
Step 5.10 — Execute Test Billing Run (EA00)
| Attribute | Value |
|---|---|
| T-Code | EA00 (Billing Execution) |
⚠️ Only execute
EA00after successfulEA16simulation.EA00creates live FI-CA documents that post to the subledger.
SAP Screen Flow
Screen 1 — Billing: Selection
- Execute
EA00. - Enter selection parameters:
| Field | Value | Notes |
|---|---|---|
| Company Code | AEP1 | |
| Billing Period From | 06/01/2026 | |
| Billing Period To | 06/30/2026 | |
| Posting Date | 07/01/2026 | First day after billing period |
| Test Run | ✓ (for initial validation) | Set to ☐ for production posting |
| Parallel Processing | ☐ (off for test) | Enable for production mass runs |
- Click Execute (⏩).
Screen 2 — Billing Results Log
SAP displays processing statistics:
| Statistic | Value |
|---|---|
| Documents Created | Count of billing documents (FI-CA Doc Type ZI) |
| Documents Reversed | Count of corrections (Doc Type ZR) |
| Errors | Count of failed billing orders — drill down for details |
| Success Rate | Target: ≥ 99.5% for production billing runs |
- Review any errors via Error Log → drill down to individual contract level.
- Once satisfied, re-run with Test Run = ☐ to execute live posting.
Post-Billing Verification
| Check | T-Code | What to Verify |
|---|---|---|
| View billing document | EA10 | Open the billing document → verify line items match simulation |
| View FI-CA posting | FPL9 | Enter Contract Account → verify open item with Doc Type ZI |
| Verify Account Determination | FPL9 → line item detail | Debit: 1200000000 (AR) / Credit: 4100000000 (Revenue) |
Why This Step
EA00 is the production billing transaction. In a live system, it runs as a scheduled batch job (typically monthly for residential, daily for commercial/industrial). This step validates the complete end-to-end flow from EDM data through the billing schema to FI-CA document creation.
Phase 5 — Completion Checklist
| # | Object | T-Code | ID/Value | Status |
|---|---|---|---|---|
| Section A: EDM-to-Billing Bridge | ||||
| 5.1 | EDM Transfer Profiles | SPRO | ZEDM_RES, ZEDM_COM, ZEDM_IND, ZEDM_FLT, ZEDM_NM | ☐ |
| 5.2 | Formula Profiles | SPRO | ZFP_TOU, ZFP_FLT, ZFP_NM, ZFP_DEM | ☐ |
| Section B: Operands & Rate Types | ||||
| 5.3 | Billing Operands | SPRO | 12 operands (PEAK/OFFP/SOFF/CRIT/TOTAL/DEMA/CPEAK/REACT/PF/CUST/RECV/NET) | ☐ |
| 5.4 | Rate Types | SPRO | 12 types (ENRG/DEMA/CUST/FUEL/TRAN/DIST/TAXS/TAXM/CRIT/PFPN/NMCR/LATP) | ☐ |
| Section C: Rates & Variants | ||||
| 5.5 | Rate Definitions | SPRO | ZRES-TOU, ZCOM-TOU, ZIND-TOU, ZRES-FLT, plus variants | ☐ |
| 5.6 | Rate Variants (Seasonal) | SPRO | SUM / WIN per rate + geographic variants | ☐ |
| Section D: Schemas & Categories | ||||
| 5.7 | Rate Category Assignments | SPRO | 8 rate categories → Rate + Formula + EDM + Schema linked | ☐ |
| 5.8 | Billing Schemas | SPRO / EA97 | ZSCH_FLT, ZSCH_TOU, ZSCH_TOU_D, ZSCH_NM | ☐ |
| Section E: Validation | ||||
| 5.9 | Billing Simulation | EA16 | Test customer: calculated total matches manual calculation | ☐ |
| 5.10 | Test Billing Run | EA00 | FI-CA doc posted (type ZI), open item visible in FPL9 | ☐ |
🔗 The billing engine is now operational. Proceed to Phase 6: Invoicing & Print Formatting to configure how bills are posted to FI-CA and formatted for the customer.