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

Lesson 4 of 6

Service contracts and billing

10 min

Listen to this lesson

0:00 / 7:39

Service contracts are where the long-term relationship with a customer is written down: which objects are covered, which services are included, at what prices, with which response times, and how the customer pays. In SAP S/4HANA Service, a contract is a business transaction with items, just like an order, and it is managed in the Manage Service Contracts app. Two things make contracts important for testing: they influence every order through contract determination, and they generate revenue on their own through periodic billing.

What a contract holds

Contract elementExample: Great Lakes fleet maintenance contract
HeaderSold-to 17100001, validity January 1 to December 31, sales area 1710 / 10 / 00
ItemsOne item per service package, for example preventive inspection and repair coverage
Reference objectsThe alternators (equipment) installed in Great Lakes trucks at the Grand Rapids (17100006) and Flint (17100007) depots
Price agreementsContract labor rate 95.00 USD per hour; discounted parts prices (illustrative)
Service levelsResponse time for breakdowns at a depot
Billing planQuarterly fee billed in advance

The parts of a service contract, with Contoso's Great Lakes contract as the example (illustrative values).

Contract determination

When Maria's team creates a service order for Great Lakes, the system looks for a valid contract for the customer and the reference object, and copies the contract's agreements into the order: prices, service levels and what is billable. If the right contract is not found, the order is priced at list rates and the customer is overbilled. If the wrong contract is found, for example one that expired or covers another depot, the customer is underbilled or gets the wrong response time.

Contract determination decides the commercial terms of every order; each branch is a test case.
The Sign-Off Table · thesignofftable.com/academy/sap-sd-305

Periodic billing

Contract fees are billed through a billing plan on the contract item. For each billing date, a billing document request is generated; SAP Learning names the standard billing type for contract BDRs Cust. Mgmt Service Contract BDR (SVTB) and the report CRMS4_BILLING_BDR_GENERATE for generating BDRs. The BDRs then go through the billing due list like other items. Schedule the generation report in the job plan and test it with contracts that start mid-period, end early and are changed between billing dates.

A quarterly billing plan with a mid-period change: the change on May 15 is where billing tests earn their keep.
The Sign-Off Table · thesignofftable.com/academy/sap-sd-305
Billing caseExpected resultWhy test it
Regular quarterOne BDR per item per quarter at the agreed feeBaseline
Contract starts mid-quarterFirst period prorated or full, as agreedProration rules are often misconfigured
Object added mid-yearFee changes from the next billing date or with a correctionChanges between billing dates are the classic defect
Contract terminated earlyNo BDRs after the end date; credit for prepaid period if agreedCustomers notice overbilling first
RenewalNew period with new prices; no gap or overlapRevenue continuity

Periodic billing test cases for service contracts.

Service levels

Contracts often promise response and resolution times, for example a technician on site within a set number of hours for a breakdown at a Great Lakes depot. When a service request or order is created under the contract, these service levels are copied and dates are calculated from them. Tests must check the calculated due dates, including over weekends and holidays if the service level uses a working-time calendar, and what the service team sees when a date is about to be missed. Missed service levels are often tied to credits in the contract, so finance cares about them too.

Migrating contracts from CS

Contoso's 45 SD service contracts cannot be converted in place into service contracts: they are different documents. The usual approach is a migration: extract active contracts from SD, map them to service contract items and reference objects, load them, and reconcile. Check the SAP S/4HANA Migration Cockpit's list of migration objects for your release for service-related objects; if none fits, the load needs another method. Plan the cutover date with care: a contract billed quarterly in advance must not be billed by both the old SD contract and the new service contract for the same quarter.

  1. T-8 weeksContract extract and mappingActive SD contracts listed with objects, prices and billing status
  2. T-4 weeksMock load in CMQLoad, reconcile counts and next billing dates; test determination in orders
  3. T-1 weekBilling freeze planLast SD billing run agreed; first service contract billing date set
  4. T-0Production loadContracts loaded and reconciled; SD contracts closed for new billing
  5. First billing dateFirst BDR runEvery contract billed once, by the new contract only
Cutover rhythm for contracts: the billing handover is the critical point.
The Sign-Off Table · thesignofftable.com/academy/sap-sd-305

What goes wrong in testing

  • Determination tested with one contract per customer. Great Lakes has 30 contracts; test the depot-specific ones and an expired one.
  • Billing tested on the first date only. Changes between dates and terminations break most often.
  • Double billing at cutover. The last SD billing and the first service contract billing overlap; reconcile billed periods per contract.
  • BDR generation not scheduled in the test system. Testers wait for BDRs that never come; run the report explicitly in CMQ.

What would you do?

After the mock load, a Great Lakes order for the Flint depot is priced at list labor rates, although Great Lakes has a valid contract. The contract item covers only the Grand Rapids equipment. What is the most likely cause, and the fix?

Key points
  • Service contracts are business transactions with items, objects, prices, service levels and billing plans.
  • Contract determination copies terms into every order; test found, not found, several found and wrong-object cases.
  • Periodic billing creates BDRs (standard type SVTB) via CRMS4_BILLING_BDR_GENERATE.
  • Migrate SD contracts with a reconciled billing handover so no period is billed twice.

Check your understanding · not graded

Lesson check

  1. 1. What does contract determination do when a service order is created?

  2. 2. Which report generates billing document requests for service contracts?

  3. 3. Which periodic billing case most often reveals defects?

  4. 4. What is the main cutover risk for prepaid contracts moved from SD?