Greenfield Implementation GuidePhase 5: Billing & Tariff Foundation

Phase 5: Billing & Tariff Foundation (The Billing Engine)

Prerequisite Check: Phases 1–4 must be complete. We need: Company Code AEP1 activated for FI-CA (Phase 2, Step 2.1), FI-CA Document Types ZI/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 error BL 450 (“No consumption data found for operand”).

Step 5.1 — Configure the RTP Interface (EDM → Billing Data Transfer)

AttributeValue
SPRO PathSPRO → SAP Utilities → Billing → Meter Reading and Billing Data Determination → Energy Data Management Integration → Define EDM Data Transfer to Billing
T-CodeSPRO

SAP Screen Flow

Screen 1 — IMG Navigation

  1. Navigate to the SPRO path above → click Execute (⏩).

Screen 2 — EDM Billing Data Transfer: Table View

  1. Click New Entries.

Screen 3 — New Entry: Transfer Profile Details

FieldValue (Example: ZEDM_RES)Notes
Transfer ProfileZEDM_RESZ-namespace key for the data transfer rule
DescriptionEDM Transfer — Residential TOU Billing
Source Profile TypeTOUThe EDM TOU Profile (created in Phase 4, Step 4.7)
Aggregation MethodPeriod SummationSums all 15-minute intervals within each TOU period
Target Data TypeBilling OperandOutput feeds directly into billing operands
Billing RelevanceThis transfer is consumed by the billing schema
Interval Length15 MINMust match the EDM profile interval (Phase 4)
  1. Click Save (Ctrl+S).
  2. Repeat for each transfer profile:

Complete EDM Transfer Profiles

Transfer ProfileDescriptionSource ProfileAggregationTarget
ZEDM_RESEDM Transfer — Residential TOUTOUPeriod SummationBilling Operand
ZEDM_COMEDM Transfer — Commercial TOUTOU + DEMAPeriod Summation + Peak ExtractBilling Operand
ZEDM_INDEDM Transfer — Industrial TOUTOU + DEMAPeriod Summation + Coincident PeakBilling Operand
ZEDM_FLTEDM Transfer — Flat RateLOADTotal Summation (no TOU split)Billing Operand
ZEDM_NMEDM Transfer — Net MeteringTOU + RECVPeriod Summation + Net CalculationBilling 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:

  1. EDM receives 2,880 fifteen-minute intervals per meter per month (96/day × 30 days)
  2. EDM aggregates them using TOU Period Definitions (Phase 4, Step 4.8) into period buckets (PEAK, OFFP, SOFF)
  3. The RTP/Transfer Profile pushes these aggregated values into billing operands
  4. 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

AttributeValue
SPRO PathSPRO → SAP Utilities → Billing → Billing Master Data Maintenance → Formula Profiles → Define Formula Profiles
T-CodeSPRO

SAP Screen Flow

Screen 1 — IMG Navigation

  1. Navigate to the SPRO path above → click Execute (⏩).

Screen 2 — Formula Profiles: Table View

  1. Click New Entries.

Screen 3 — New Entry: Formula Profile Header

FieldValue (Example: ZFP_TOU)Notes
Formula ProfileZFP_TOUZ-namespace key
DescriptionTOU Billing Formula Profile
Calculation TypeEDM-BasedUses EDM profile data — NOT scalar meter reads
Profile SourceRTP TransferConsumption comes from the EDM Transfer Profile

Screen 4 — Formula Profile: Calculation Steps

  1. Click New Entries to define calculation steps within the formula:
StepOperationSourceTarget OperandNotes
010Read TOU Profile — PEAK bucketEDM TOU Profile, Period PEAKOP_PEAKExtracts summed On-Peak KWH
020Read TOU Profile — OFFP bucketEDM TOU Profile, Period OFFPOP_OFFPExtracts summed Off-Peak KWH
030Read TOU Profile — SOFF bucketEDM TOU Profile, Period SOFFOP_SOFFExtracts summed Super Off-Peak KWH
040Read DEMA Profile — Max ValueEDM DEMA Profile, MaxOP_DEMAExtracts peak demand KW
050Calculate TotalOP_PEAK + OP_OFFP + OP_SOFFOP_TOTALSum for bill display
060Set Fixed Value = 1ConstantOP_CUSTCustomer charge multiplier (always 1)
  1. Click Save (Ctrl+S).
  2. Repeat for each formula profile:

Complete Formula Profiles

Formula ProfileDescriptionCalc TypeStepsRate Class
ZFP_TOUTOU Billing FormulaEDM-Based6 steps (PEAK/OFFP/SOFF/DEMA/TOTAL/CUST)Residential TOU, Commercial TOU, Industrial
ZFP_FLTFlat Rate Billing FormulaEDM-Based3 steps (TOTAL from LOAD sum, CUST, no TOU split)Residential Standard
ZFP_NMNet Metering FormulaEDM-Based8 steps (adds RECV profile + net calculation)Net Metering
ZFP_DEMDemand-Only FormulaEDM-Based4 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-S notation) 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 calculates OP_NET = OP_TOTAL_DELIVERED - OP_TOTAL_RECEIVED. If OP_NET < 0, the customer has a credit (net excess generation).

Section B: Billing Operands & Rate Types

Step 5.3 — Define Billing Operands

AttributeValue
SPRO PathSPRO → SAP Utilities → Billing → Billing Master Data Maintenance → Operands → Define Operands
T-CodeSPRO

SAP Screen Flow

Screen 1 — IMG Navigation

  1. Navigate to the SPRO path above → click Execute (⏩).

Screen 2 — Operands: Table View

SAP displays existing operands (may include SAP-standard entries).

  1. Click New Entries.

Screen 3 — New Entry: Operand Details

For each operand, fill in:

FieldValue (Example: OP_PEAK)Notes
OperandOP_PEAKAlphanumeric key — identifies what is being measured
DescriptionOn-Peak Energy Consumption (KWH)
UoMKWH(verified in Phase 1, Step 1.11)
Operand CategoryConsumptionConsumption, Demand, Fixed, or Calculated
Data SourceEDM⚠️ Must be EDM — NOT Meter Reading
EDM Profile TypeTOUReferences TOU Profile (Phase 4, Step 4.7)
TOU PeriodPEAKMaps to TOU Period Code (Phase 4, Step 4.8)
Decimal Places3
Print RelevantThis operand value appears on the customer’s bill
StatisticalThis is a priced operand, not informational only
  1. Click Save (Ctrl+S).
  2. Repeat New Entries for each operand:

Complete Billing Operands

OperandDescriptionUoMCategorySourceEDM ProfileTOU PeriodPrint
OP_PEAKOn-Peak Energy (KWH)KWHConsumptionEDMTOUPEAK
OP_OFFPOff-Peak Energy (KWH)KWHConsumptionEDMTOUOFFP
OP_SOFFSuper Off-Peak Energy (KWH)KWHConsumptionEDMTOUSOFF
OP_CRITCritical Peak Energy (KWH)KWHConsumptionEDMTOUCRIT
OP_TOTALTotal Energy Consumption (KWH)KWHCalculatedEDMLOAD(all)
OP_DEMAPeak Demand (KW)KWDemandEDMDEMA(max)
OP_CPEAKCoincident Peak Demand (KW)KWDemandEDMDEMA(PJM CP)
OP_REACTReactive Energy (KVARH)KVARHConsumptionEDMLOAD(all)
OP_PFPower FactorCalculatedEDM(calc)
OP_CUSTCustomer Charge (fixed)EAFixedConstant
OP_RECVReceived Energy / Solar Export (KWH)KWHConsumptionEDMRECV(all)
OP_NETNet Energy (Delivered - Received)KWHCalculatedFormula

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 EDM for all consumption/demand operands. Setting it to Meter Reading would 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 of 0 unless a Critical Peak event has been declared via the EDM event overlay mechanism (Phase 4, Step 4.8).
  • OP_PF (Power Factor) is calculated as COS(ARCTAN(OP_REACT / OP_TOTAL)) and is used for power factor penalty determination on commercial/industrial accounts.

Step 5.4 — Define Rate Types

AttributeValue
SPRO PathSPRO → SAP Utilities → Billing → Billing Master Data Maintenance → Rate Types → Define Rate Types
T-CodeSPRO

SAP Screen Flow

Screen 1 — IMG Navigation

  1. Navigate to the SPRO path above → click Execute (⏩).

Screen 2 — Rate Types: Table View

  1. Click New Entries.

Screen 3 — New Entry: Rate Type Details

FieldValue (Example: ENRG)Notes
Rate TypeENRGShort key classifying the charge type
DescriptionEnergy Charge
Charge CategoryVariableCharge is proportional to operand value
CurrencyUSD
Tax RelevantSubject to state/local tax calculation
Print Line10Sequence on printed bill
  1. Click Save (Ctrl+S).
  2. Repeat for each rate type:

Complete Rate Types

Rate TypeDescriptionCharge CategoryTax RelevantPrint Line
ENRGEnergy Charge (per KWH)Variable10
DEMADemand Charge (per KW)Variable20
CUSTCustomer Charge (fixed monthly)Fixed05
FUELFuel Adjustment ChargeVariable (rider)30
TRANTransmission ChargeVariable (rider)35
DISTDistribution ChargeVariable40
TAXSState Sales TaxCalculated(tax itself)90
TAXMMunicipal Tax / Franchise FeeCalculated(tax itself)91
CRITCritical Peak Pricing SurchargeVariable (event)15
PFPNPower Factor PenaltyVariable (penalty)50
NMCRNet Metering CreditVariable (credit)60
LATPLate Payment PenaltyFixed95

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)

AttributeValue
SPRO PathSPRO → SAP Utilities → Billing → Billing Master Data Maintenance → Rates → Define Rates
T-CodeSPRO

SAP Screen Flow

Screen 1 — IMG Navigation

  1. Navigate to the SPRO path above → click Execute (⏩).

Screen 2 — Rates: Table View

  1. Click New Entries.

Screen 3 — New Entry: Rate Header

FieldValue (Example: ZRES-TOU)Notes
RateZRES-TOUZ-namespace key identifying the rate schedule
DescriptionResidential TOU Rate Schedule
Rate CategoryRES-TOU(created in Phase 3)
Division01Electricity (Phase 3, Step 3.8)
Valid From01/01/2026Regulatory effective date
Valid To12/31/9999Open-ended (until next rate case)
Formula ProfileZFP_TOU(created in Step 5.2)
  1. Press Enter → navigate to the Rate Lines detail view.

Screen 4 — Rate Lines: Pricing Detail

  1. Click New Entries to add pricing lines:

Rate Lines for ZRES-TOU (Residential TOU)

LineRate TypeOperandPrice (USD)UoMTierDescription
010CUSTOP_CUST$8.50EAMonthly customer charge
020ENRGOP_PEAK$0.1200KWHOn-Peak energy
030ENRGOP_OFFP$0.0800KWHOff-Peak energy
040ENRGOP_SOFF$0.0500KWHSuper Off-Peak energy
050CRITOP_CRIT$0.7500KWHCritical Peak surcharge (event-driven)
060FUELOP_TOTAL$0.0150KWHFuel adjustment rider
070TRANOP_TOTAL$0.0085KWHTransmission rider
080DISTOP_TOTAL$0.0320KWHDistribution charge
  1. 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.35

Step 5.6 — Define Rate Variants (Seasonal / Geographic)

AttributeValue
SPRO PathSPRO → SAP Utilities → Billing → Billing Master Data Maintenance → Rates → Define Rate Variants
T-CodeSPRO

SAP Screen Flow

Screen 1 — IMG Navigation

  1. Navigate to the SPRO path above → click Execute (⏩).

Screen 2 — Rate Variants: Table View

  1. Click New Entries.

Screen 3 — New Entry: Rate Variant Details

FieldValue (Example: SUM)Notes
Rate VariantSUMShort key for the variant
DescriptionSummer Season Rates
Parent RateZRES-TOUWhich base rate this modifies
Valid From06/01Seasonal start (June 1)
Valid To09/30Seasonal end (September 30)
Override Lines(see below)Only the lines that differ from the base rate
  1. Click Save (Ctrl+S).

Complete Rate Variant Definitions

RateVariantDescriptionValid PeriodChanged Lines
ZRES-TOUSUMSummer Residential TOUJun 1 – Sep 30Higher PEAK rate: $0.1500/KWH (+25%)
ZRES-TOUWINWinter Residential TOUOct 1 – May 31Lower PEAK rate: $0.1000/KWH (base)
ZCOM-TOUSUMSummer Commercial TOUJun 1 – Sep 30Higher demand charge: $12.50/KW
ZCOM-TOUWINWinter Commercial TOUOct 1 – May 31Lower demand charge: $9.50/KW
ZIND-TOUSUMSummer Industrial TOUJun 1 – Sep 30Coincident peak adder: $4.50/KW
ZIND-TOUWINWinter Industrial TOUOct 1 – May 31Coincident 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

AttributeValue
SPRO PathSPRO → SAP Utilities → Billing → Billing Master Data Maintenance → Rate Categories → Define Rate Categories
T-CodeSPRO

SAP Screen Flow

Screen 1 — IMG Navigation

  1. 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.

  1. Double-click on each Rate Category to edit:

Screen 3 — Rate Category Details: Billing Assignment Tab

For each Rate Category, assign:

FieldValue (Example: RES-TOU)Notes
Rate CategoryRES-TOU(created in Phase 3)
RateZRES-TOU(created in Step 5.5)
Formula ProfileZFP_TOU(created in Step 5.2)
EDM Transfer ProfileZEDM_RES(created in Step 5.1)
Billing SchemaZSCH_TOU(created in Step 5.8)
Print SchemaZPRT_RES(configured in Phase 6)
  1. Click Save (Ctrl+S).
  2. Repeat for every Rate Category:

Complete Rate Category Assignments

Rate CategoryRateFormula ProfileEDM TransferBilling SchemaRate Class
RES-STDZRES-FLTZFP_FLTZEDM_FLTZSCH_FLTResidential Standard
RES-TOUZRES-TOUZFP_TOUZEDM_RESZSCH_TOUResidential TOU
COM-STDZCOM-FLTZFP_FLTZEDM_FLTZSCH_FLTCommercial Standard
COM-TOUZCOM-TOUZFP_TOUZEDM_COMZSCH_TOU_DCommercial TOU (+Demand)
IND-TOUZIND-TOUZFP_TOUZEDM_INDZSCH_TOU_DIndustrial TOU (+Demand)
MUN-STDZMUN-FLTZFP_FLTZEDM_FLTZSCH_FLTMunicipal
AGR-STDZAGR-FLTZFP_FLTZEDM_FLTZSCH_FLTAgricultural
NM-TOUZNM-TOUZFP_NMZEDM_NMZSCH_NMNet 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

AttributeValue
SPRO PathSPRO → SAP Utilities → Billing → Billing Master Data Maintenance → Billing Schemas → Define Billing Schemas
T-CodeEA97 (Billing Schema Simulation)

SAP Screen Flow

Screen 1 — IMG Navigation

  1. Navigate to the SPRO path above → click Execute (⏩).

Screen 2 — Billing Schemas: Table View

  1. Click New Entries.

Screen 3 — New Entry: Schema Header

FieldValue (Example: ZSCH_TOU)Notes
Billing SchemaZSCH_TOUZ-namespace key
DescriptionTOU Billing Schema (Energy Only)
Schema TypeStandard Billing
  1. Press Enter → navigate to the Schema Lines detail view.

Screen 4 — Schema Lines: Processing Sequence

  1. Click New Entries to add processing steps for the billing schema:

Schema Lines for ZSCH_TOU (TOU Billing)

StepOperationRate TypeOperandConditionAction
010Fetch EDM DataExecute Formula Profile → populate operands
020Calculate Customer ChargeCUSTOP_CUSTAlwaysOP_CUST × Rate → Line Item
030Calculate On-Peak EnergyENRGOP_PEAKOP_PEAK > 0OP_PEAK × Rate → Line Item
040Calculate Off-Peak EnergyENRGOP_OFFPOP_OFFP > 0OP_OFFP × Rate → Line Item
050Calculate Super Off-PeakENRGOP_SOFFOP_SOFF > 0OP_SOFF × Rate → Line Item
060Calculate Critical PeakCRITOP_CRITOP_CRIT > 0OP_CRIT × Rate → Line Item
070Calculate Fuel AdjustmentFUELOP_TOTALAlwaysOP_TOTAL × Rider Rate → Line Item
080Calculate TransmissionTRANOP_TOTALAlwaysOP_TOTAL × Rider Rate → Line Item
090Calculate DistributionDISTOP_TOTALAlwaysOP_TOTAL × Rider Rate → Line Item
100Sum SubtotalΣ all line items → SUBTOTAL
110Calculate State TaxTAXSSUBTOTALTax-relevant itemsSUBTOTAL × 5.75% → Line Item
120Calculate Municipal TaxTAXMSUBTOTALTax-relevant itemsSUBTOTAL × 3.00% → Line Item
130Calculate Grand TotalSUBTOTAL + taxes → TOTAL_DUE
  1. Click Save (Ctrl+S).

Complete Billing Schemas

SchemaDescriptionRate ClassKey Differences
ZSCH_FLTFlat Rate Schema (Energy Only)Residential Std, Municipal, AgriculturalNo TOU split — single energy line using OP_TOTAL
ZSCH_TOUTOU Schema (Energy Only)Residential TOUPEAK/OFFP/SOFF energy lines, no demand charge
ZSCH_TOU_DTOU + Demand SchemaCommercial TOU, IndustrialAdds demand charge line: OP_DEMA × demand rate
ZSCH_NMNet Metering SchemaNet MeteringAdds 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)

AttributeValue
T-CodeEA16 (Billing Simulation)

SAP Screen Flow

Screen 1 — Billing Simulation: Selection

  1. Execute EA16.
  2. Enter selection parameters:
FieldValueNotes
Company CodeAEP1
Contract Account(test CA)Enter a test Contract Account with TOU billing
Billing Period06/01/2026 – 06/30/2026Summer period for TOU variant testing
Simulation Mode⚠️ Simulation = no posting, no document created
  1. Click Execute (⏩).

Screen 2 — Simulation Results

SAP displays the calculated billing output:

Result FieldExpected ValueNotes
Operand ValuesPEAK: 450, OFFP: 820, SOFF: 230Confirms EDM data transfer
Line ItemsCustomer Charge, Energy charges, Riders, TaxesConfirms schema execution
Total AmountMatches manual calculation⚠️ Must match expected total
Error Log(empty)Any errors indicate configuration gaps

Common Simulation Errors

Error CodeMessageRoot CauseResolution
BL 450No consumption data foundEDM Transfer Profile not assigned to Rate CategoryStep 5.1 / 5.7
BL 300No rate found for operandOperand defined but no rate line references itStep 5.5
BL 210Formula profile errorFormula profile step references missing EDM profileStep 5.2
EDM 501No EDM profile for installationProfile Allocation incompletePhase 4, Step 4.10
BL 100Schema not foundRate Category not linked to billing schemaStep 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)

AttributeValue
T-CodeEA00 (Billing Execution)

⚠️ Only execute EA00 after successful EA16 simulation. EA00 creates live FI-CA documents that post to the subledger.

SAP Screen Flow

Screen 1 — Billing: Selection

  1. Execute EA00.
  2. Enter selection parameters:
FieldValueNotes
Company CodeAEP1
Billing Period From06/01/2026
Billing Period To06/30/2026
Posting Date07/01/2026First day after billing period
Test Run(for initial validation)Set to ☐ for production posting
Parallel Processing(off for test)Enable for production mass runs
  1. Click Execute (⏩).

Screen 2 — Billing Results Log

SAP displays processing statistics:

StatisticValue
Documents CreatedCount of billing documents (FI-CA Doc Type ZI)
Documents ReversedCount of corrections (Doc Type ZR)
ErrorsCount of failed billing orders — drill down for details
Success RateTarget: ≥ 99.5% for production billing runs
  1. Review any errors via Error Log → drill down to individual contract level.
  2. Once satisfied, re-run with Test Run = ☐ to execute live posting.

Post-Billing Verification

CheckT-CodeWhat to Verify
View billing documentEA10Open the billing document → verify line items match simulation
View FI-CA postingFPL9Enter Contract Account → verify open item with Doc Type ZI
Verify Account DeterminationFPL9 → line item detailDebit: 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

#ObjectT-CodeID/ValueStatus
Section A: EDM-to-Billing Bridge
5.1EDM Transfer ProfilesSPROZEDM_RES, ZEDM_COM, ZEDM_IND, ZEDM_FLT, ZEDM_NM
5.2Formula ProfilesSPROZFP_TOU, ZFP_FLT, ZFP_NM, ZFP_DEM
Section B: Operands & Rate Types
5.3Billing OperandsSPRO12 operands (PEAK/OFFP/SOFF/CRIT/TOTAL/DEMA/CPEAK/REACT/PF/CUST/RECV/NET)
5.4Rate TypesSPRO12 types (ENRG/DEMA/CUST/FUEL/TRAN/DIST/TAXS/TAXM/CRIT/PFPN/NMCR/LATP)
Section C: Rates & Variants
5.5Rate DefinitionsSPROZRES-TOU, ZCOM-TOU, ZIND-TOU, ZRES-FLT, plus variants
5.6Rate Variants (Seasonal)SPROSUM / WIN per rate + geographic variants
Section D: Schemas & Categories
5.7Rate Category AssignmentsSPRO8 rate categories → Rate + Formula + EDM + Schema linked
5.8Billing SchemasSPRO / EA97ZSCH_FLT, ZSCH_TOU, ZSCH_TOU_D, ZSCH_NM
Section E: Validation
5.9Billing SimulationEA16Test customer: calculated total matches manual calculation
5.10Test Billing RunEA00FI-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.


Developed by Venakata Subbareddy Annem.

Inspired by Andrej Karpathy's (@karpathy) LLM Knowledge base post on X.

Disclaimer: This independent educational portfolio project is not affiliated with or endorsed by SAP SE. It is not a substitute for official SAP documentation or certified learning materials. All concepts and representations have been independently synthesized.

IS-U Notes 2026