Lesson 4 of 6
Service contracts and billing
10 min
Listen to this lesson
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 element | Example: Great Lakes fleet maintenance contract |
|---|---|
| Header | Sold-to 17100001, validity January 1 to December 31, sales area 1710 / 10 / 00 |
| Items | One item per service package, for example preventive inspection and repair coverage |
| Reference objects | The alternators (equipment) installed in Great Lakes trucks at the Grand Rapids (17100006) and Flint (17100007) depots |
| Price agreements | Contract labor rate 95.00 USD per hour; discounted parts prices (illustrative) |
| Service levels | Response time for breakdowns at a depot |
| Billing plan | Quarterly 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.
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.
| Billing case | Expected result | Why test it |
|---|---|---|
| Regular quarter | One BDR per item per quarter at the agreed fee | Baseline |
| Contract starts mid-quarter | First period prorated or full, as agreed | Proration rules are often misconfigured |
| Object added mid-year | Fee changes from the next billing date or with a correction | Changes between billing dates are the classic defect |
| Contract terminated early | No BDRs after the end date; credit for prepaid period if agreed | Customers notice overbilling first |
| Renewal | New period with new prices; no gap or overlap | Revenue 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.
- T-8 weeksContract extract and mappingActive SD contracts listed with objects, prices and billing status
- T-4 weeksMock load in CMQLoad, reconcile counts and next billing dates; test determination in orders
- T-1 weekBilling freeze planLast SD billing run agreed; first service contract billing date set
- T-0Production loadContracts loaded and reconciled; SD contracts closed for new billing
- First billing dateFirst BDR runEvery contract billed once, by the new contract only
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?
- 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. What does contract determination do when a service order is created?
2. Which report generates billing document requests for service contracts?
3. Which periodic billing case most often reveals defects?
4. What is the main cutover risk for prepaid contracts moved from SD?