Now accepting guest editorial from SAP, Oracle, Workday and ServiceNow practitioners.Pitch a guide
The Sign-Off Table

Lesson 4 of 6

Billing parallel runs and comparison

10 min

Listen to this lesson

0:00 / 7:27

The billing comparison is the heart of this course. The question is simple to state: given the same customers, devices, readings and rates, does SAP S/4HANA Utilities produce the same bills as IS-U did? The answer is never "identical" for every bill, because some differences are intended (a fixed defect, a changed rounding rule) and some are noise. So the comparison works with tolerances and classified differences, like any parallel run whose outputs are not identical by design.

Designing the comparison

  1. Freeze inputsSame meter reading results, master data and rates in the source and the converted copy
  2. Bill in bothLegacy ECC copy and converted S/4HANA system bill the same portions, ideally with simulation
  3. ExtractBilling and print document lines per contract: operands, quantities, prices, amounts, taxes
  4. CompareMatch per contract and line; apply tolerances
  5. ClassifyEach difference: defect, intended change, legacy exception or noise
  6. SignBilling owner signs results per portion and rate category
The billing comparison method.
The Sign-Off Table · thesignofftable.com/academy/sap-ind-201

Simulation is the tester's friend. Billing simulation and mass simulation (for example EA39 for mass billing simulation, or the simulation option in EA00) create simulated billing documents with their own number range, without deleting billing orders, changing meter reading results or master data. That means the same portion can be simulated repeatedly in both systems while the comparison is tuned, without consuming the billing orders. SAP's learning material also describes mass simulation for rate reforms and price changes, which is the same capability used here.

Simulating the same portion in both systems and comparing line by line.
The Sign-Off Table · thesignofftable.com/academy/sap-ind-201

Tolerances

LevelTolerance (illustrative)Why
Bill total per contractUSD 0.00 for 99.9% of contracts; up to USD 0.05 for the restRounding differences on many lines
Line amountExact match, except documented rounding changesLines expose where differences come from
QuantitiesExact matchConsumption must never differ
TaxesExact match per jurisdictionRegulated; differences are defects
Count of bills and outsortsSame number of bills; outsorts explainedMissing or held bills are defects

An illustrative tolerance policy. Agree it with the billing owner and, where required, the regulator, before Mock 1.

Coverage: which bills to compare

Comparing every bill of a portion is possible and desirable for counts and totals. For line-level investigation, coverage matters more than volume. Northwind's coverage matrix lists every rate category and every situation that changes billing logic, and the comparison must include bills for each combination that exists in production.

Residential standard rate, actual readsHigh volume, simple: compare all, investigate by sample
Residential with move-in, move-out, estimatesHigh volume, complex: must be covered explicitly
Small commercial standard ratesLow volume, simple: compare all
Industrial interval and demand (Contoso)Low volume, complex: compare every bill line by line
Where to spend comparison effort.
The Sign-Off Table · thesignofftable.com/academy/sap-ind-201
  • Move-in and move-out within the period, including final bills.
  • Estimated reads followed by actual reads (backbilling and adjustments).
  • Rate or price changes within the billing period (proration).
  • Budget billing plans and their settlement on the annual bill.
  • Device replacements mid-period and register changes.
  • Reversals and rebilling after a corrected read.
Triage a bill difference from quantities to prices to invoicing before classifying it.
The Sign-Off Table · thesignofftable.com/academy/sap-ind-201

What would you do?

In Mock 1's comparison, 2,140 residential bills in portion 07 differ by exactly USD 1.25. All are customers with a mid-period price change. What is the most likely cause, and what next?

How many bills to compare

For counts and totals, compare everything: every bill in every simulated portion. Automated comparison of totals per contract is cheap once the extraction exists. For line-level analysis of matching bills, a sample is enough; the effort goes into the differences. Northwind (illustrative) compared all 30,500 bills of each of three portions in Mock 1: 99.2% matched exactly, 0.6% differed within tolerance (rounding), and 0.2%, about 60 bills per portion, differed beyond tolerance. Those 60 or so were triaged and classified individually, and they became the defect list.

Mock 1 result per portion (illustrative)BillsShare
Exact match30,25699.2%
Within tolerance (rounding)1830.6%
Beyond tolerance, triaged610.2%
Total30,500100%

A portion-level comparison summary. Beyond-tolerance bills are triaged one by one.

What goes wrong in testing

PitfallEffectPrevention
Inputs not frozenDifferences caused by different reads or ratesCopy both systems from the same point and lock rate changes
Comparing totals onlyOffsetting line errors hiddenCompare lines for every beyond-tolerance bill and a sample of matches
Tolerances set after resultsDefects accepted to meet a dateTolerances signed before Mock 1
Missing situations in coverageLogic paths untested until productionCoverage matrix checked against production frequencies

Comparison pitfalls in utilities parallel runs.

Key points
  • Compare bills from frozen, identical inputs in both systems; simulation lets you repeat it safely.
  • Agree tolerances per level before Mock 1; quantities and taxes match exactly.
  • Cover every rate category and every situation that changes billing logic.
  • Triage differences: quantities, then prices and operands, then invoicing and print.

Check your understanding · not graded

Lesson check

  1. 1. Why is billing simulation useful for comparison?

  2. 2. Which values should match exactly in a billing comparison?

  3. 3. A constant difference appears on all bills with a mid-period price change. Where do you look?

  4. 4. What blocks a mock's billing exit?