Lesson 6 of 6
Testing billing
9 min
Billing tests sit at the end of order to cash, so they inherit every earlier mistake. A good billing test pack checks billing's own logic, splits, types, cancellation and posting, and uses the journal entry as its main evidence. This is where sales and finance sign off together.
A compact billing test set
| Scenario | What it proves | Expected result (Contoso) |
|---|---|---|
| Delivery-related invoice | Basic billing, quantities, prices, posting | One F2 invoice for delivery 80001234; journal entry as specified |
| Order-related service invoice | Billing relevance of service items | Invoice for the service item from the order, no delivery |
| Collective run with combination | Eligible deliveries combine | Two deliveries, same payer and date → one invoice |
| Collective run with split | Split rules work as designed | Different payment terms → two invoices; split analysis names the field |
| Cancellation and re-bill | Reversal and re-billing | S1 reverses the journal entry; delivery billable again; new invoice correct |
| Credit memo from request | Order-related credit with approval | Credit memo request released → G2 posts credit to customer |
| Account determination failure | Error handling | Billing saved but not posted; VFX3 posts after fix |
Billing scenarios worth testing.
Evidence: billing document plus journal entry
The evidence for each billing test is the billing document with its matching journal entry, compared with the expected values. For a cancellation, add the cancellation document and its reversing journal entry, and the document flow showing the delivery back on the due list. For a split, add the split analysis.
Common traps
- Testing only VF01: production runs collective and scheduled billing; split behavior only shows there.
- Ignoring billing dates: combination depends on them; test deliveries on different days.
- Accepting "billing created": an unposted billing document saves successfully.
- Tax by assumption: confirm tax with the tax team for each ship-to jurisdiction in scope.
- Period end: test cancellation when the original period is closed.
- PrepareDeliveries with goods issue and orders with service items in client 100; expected journal entries written
- ExecuteIndividual, collective and scheduled billing; cancellations; credit memos
- CaptureBilling numbers, logs, split analysis, journal entries, document flow
- CompareActual vs expected line by line; differences logged as findings
- ReviewFinance and sales review the evidence together and sign off
After go-live, billing belongs in every regression pack. Any change to pricing, copy control, account determination, tax or output can change an invoice. Keep a small set of reference scenarios, each with a stored expected journal entry, and rerun them after every release. A difference in one line of a known journal entry is much easier to spot than a vague "invoice looks different" report from a customer.
Billing also has a cutover angle. At go-live, deliveries shipped in ECC but not yet billed must be billed somewhere, once. Luis's cutover plan should say whether they are billed in ECC before the freeze or migrated as open items, and a test should prove that nothing is billed twice or not at all.
What would you do?
Priya's billing test shows invoice 90001877 created successfully, and the tester marked it passed. When Dan opens the accounting documents, the list is empty. What should happen?
- Test individual, collective and scheduled billing, splits, cancellations, credit memos and error handling.
- Evidence: billing document plus matching journal entry, vs expected, for every scenario.
- Add split analysis for splits and both journal entries for cancellations.
- An unposted billing document is a failed test, not a pass.
Check your understanding · not graded
Lesson check
1. What is the core evidence for a billing test?
2. Why test collective billing and not only VF01?
3. What extra evidence belongs to a cancellation test?
4. What should cutover testing prove about deliveries shipped but not billed at go-live?