Day 13 – Project System (PS): WBS, Networks, Cost Planning, Billing & Results Analysis
Functional Consultant Track – Part 28
Welcome to Day 13, where we step into the world of large‑scale project management with SAP Project System. If you’ve ever wondered how companies track the costs of building a factory, an assembly line, or a service project, this is it. PS bridges logistics, finance, and controlling in a single, structured object. Today, you’ll manage a $2.5 million assembly line expansion for GlobalTech’s customer “AUTOCORP”. The project is called GLOB‑ASSY‑2025. You’ll build the full work breakdown structure, create networks with activities, plan costs, procure materials directly to the project, bill the customer using two different methods, run results analysis for accurate revenue recognition, and finally capitalise the finished asset. Every step will be executed with exact transaction codes and real‑world figures. By the end, you’ll have a complete PS implementation under your belt.
1. The Project Scenario – Assembly Line Expansion
GlobalTech has signed a contract with AUTOCORP to design, procure, construct, and commission a new automated assembly line. The total contract value is $2,500,000. The project will run for 9 months. Costs include engineering design, equipment procurement (motors, conveyors), construction labour, and commissioning tests. GlobalTech wants to bill the customer at key milestones, but also allow resource‑related billing for cost reimbursements. At completion, the assembly line becomes a fixed asset on GlobalTech’s books, and revenue is recognised over time based on cost progress.
The controlling team requires:
- Detailed cost planning per phase.
- Automatic procurement of project materials with budget checks.
- Milestone billing (30% on design approval, 40% on equipment delivery, 30% on commissioning).
- Resource‑related billing for cost‑plus portions.
- Results analysis to calculate percentage of completion (POC) and post appropriate revenue and COS each month.
- Final settlement to an Asset Under Construction (AuC), then to a final fixed asset when complete.
We will build everything in the system, starting with the project definition.
2. Building the Work Breakdown Structure (WBS)
The WBS is a hierarchical model of the project. Each WBS element is a cost object that collects actual costs, planned costs, and commitments. We’ll create the project structure in transaction CJ20N (Project Builder).
2.1 Create Project Definition
Open CJ20N. Click “Create Project”. Enter:
- Project definition: GLOB‑ASSY‑2025
- Project profile: ZP‑CAP (we’ll create this if not standard – but we can use standard profile 000001 for capital projects, or copy to a custom one. Let’s use standard profile “000001” (capital investment). It allows settlement to assets, and cost planning.
- Currency: USD, company code: GT01, controlling area: GLOB.
- Responsible cost center: 2001 (Production Line 1 – for simplicity, but could be a project cost center).
- Profit center: PC‑NA.
2.2 Create WBS Elements
In the project builder, under the project definition, right‑click “Create WBS Element”. We’ll create levels:
- GLOB‑ASSY‑2025.01 – Engineering (Level 1)
- GLOB‑ASSY‑2025.01.001 – Detailed Design (Level 2)
- GLOB‑ASSY‑2025.01.002 – Procurement Specs (Level 2)
- GLOB‑ASSY‑2025.02 – Procurement (Level 1)
- GLOB‑ASSY‑2025.02.001 – Motors & Drives (Level 2)
- GLOB‑ASSY‑2025.02.002 – Conveyors (Level 2)
- GLOB‑ASSY‑2025.03 – Construction (Level 1)
- GLOB‑ASSY‑2025.03.001 – Mechanical Installation (Level 2)
- GLOB‑ASSY‑2025.03.002 – Electrical Works (Level 2)
- GLOB‑ASSY‑2025.04 – Commissioning (Level 1)
- GLOB‑ASSY‑2025.04.001 – Testing & Handover (Level 2)
Set each WBS element’s attributes:
- “Cost planning” indicator active.
- “Statistical” for some? No, we want all to collect real costs. The top‑level elements can be “planning elements” if needed, but we’ll use real.
- Assign cost center 2001 to all elements for simplicity (or create a specific project cost center). We’ll leave them as real cost objects.
Save. The WBS hierarchy is now the backbone of our project.
3. Networks and Activities – The Execution Timeline
Networks represent the sequence of activities, similar to routings but for projects. Activities are the individual tasks with durations, work centers, and material assignments.
3.1 Create Network Header
In CJ20N, for the WBS element “Procurement” (GLOB‑ASSY‑2025.02), right‑click → “Create → Network”. Assign network profile (standard 00001). Network number will be internal, e.g., NW‑100001. Under the network, we create activities.
3.2 Define Activities
Create activities with exact data:
- A‑010 (Design & Specification) – Assigned to WBS 01.001. Work center “ENG‑WS” (engineering work center, capacity 8h/day). Duration: 20 days normal work. Activity type “DESIGN”. Control key “PS01” (schedule, cost). No material component.
- A‑020 (Procure Motor Package) – Assigned to WBS 02.001. Work center “PROC‑WS” (procurement). Duration: 15 days. We’ll assign a material component “MAT‑MOTOR” (a new material for the electric motor, valuation class 3000). On the “Components” tab of activity A‑020, add material MAT‑MOTOR, quantity 4, plant GT01, storage location RM01. The component will trigger a purchase requisition when the activity is released.
- A‑030 (Install Motors) – Assigned to WBS 03.001. Work center “MECH‑WS” (mechanical). Duration: 10 days.
- A‑040 (Testing & Commissioning) – Assigned to WBS 04.001. Work center “TEST‑WS”. Duration: 5 days.
Set relationships: A‑010 FS → A‑020, A‑020 FS → A‑030, A‑030 FS → A‑040. This creates a simple sequence.
Now the network drives the schedule. When we release the network (via project release), the system can automatically create capacity requirements and material reservations/PRs.
4. Cost Planning on WBS – Detailed Budget
GlobalTech plans the costs for each WBS element. This plan is later used for budget checks and results analysis.
4.1 Enter Cost Plan (CJ40 or CJ20N Integrated Planning)
Transaction CJ40 (Overall Cost Planning). Select project GLOB‑ASSY‑2025, version 0 (plan). We’ll enter the following planned costs per cost element:
- Engineering (WBS .01): Cost element 40000030 (Engineering Services) – $200,000.
- Procurement – Motors (WBS .02.001): Cost element 40000100 (Raw Material Consumption) – $1,200,000.
- Procurement – Conveyors (WBS .02.002): $300,000.
- Construction (WBS .03): Cost element 40000040 (Construction Labour) – $600,000.
- Commissioning (WBS .04): $200,000.
- Total planned cost: $2,500,000.
In CJ40, you can enter per year/month if needed. We’ll distribute evenly. Save.
4.2 Budget Activation (if using Budget Control)
SPRO: Project System → Costs → Budget → Define Budget Profile. We can assign a budget profile to the project definition. For capital projects, we often use availability control. Let’s activate it: in the project definition, under “Control” tab, set budget profile “ZCAP” (which we can create by copying standard 000001). Then in CJ30 (Budget Update), we’ll transfer the plan to the budget: $2,500,000. Now when any purchase order or expense exceeds the budget, the system issues a warning or error depending on tolerance. We’ll set tolerance to 10%.
5. Project Procurement – Buying Directly for the WBS
The motor components assigned to activity A‑020 need to be purchased. Since they have a material assignment, the system can generate a purchase requisition automatically when the activity is released.
5.1 Generate Purchase Requisition (CJ92 / PR via MRP)
First, release the network activity A‑020. Use CJ20N, open project, right‑click the network → “Network functions → Release”. The activity status changes to “Released”. Then run CJ92 (Material Procurement in Project) – this will create a purchase requisition for MAT‑MOTOR, quantity 4, delivering to plant GT01, storage location RM01, but with account assignment to the WBS element (GLOB‑ASSY‑2025.02.001). The PR is generated.
Display the PR via ME53N. It shows account assignment category “P” (Project). The cost element is determined from the material’s valuation class (or manually).
5.2 Convert PR to PO and Process Goods Receipt
Convert PR to PO (ME21N). The PO line has account assignment to the WBS. Now process goods receipt (MIGO 101) for the PO. The system posts:
- Debit: Inventory (project stock) – actually, because account assignment is project, the goods receipt posts directly to the WBS, debiting the WBS cost element, not inventory. So the entry: debit WBS (expense), credit GR/IR. The material is received into project stock (special stock indicator Q).
Verify: In MIGO, after posting, the material document shows movement type 101 with special stock Q. The FI document shows: debit cost element 40000100 (raw material consumption) to WBS .02.001, credit GR/IR 30000100. So project costs increase. Later, when the vendor invoice is posted (MIRO), the GR/IR is cleared and vendor payable booked. The WBS actual costs now reflect $1,200,000.
This is a key integration: PS ↔ MM. Costs hit the project directly, bypassing inventory valuation.
6. Project Billing – Getting Paid
GlobalTech will bill AUTOCORP using two methods: milestone billing for the fixed contract portions, and resource‑related billing for cost‑plus activities. We’ll configure and execute both.
6.1 Milestone Billing
We need to define milestones for the project. In CJ20N, under the project definition, create milestones (or use the milestone function). Better: assign milestones to WBS elements that trigger billing. We’ll use standard milestone billing via milestone billing plan. In the project definition, under “Sales” tab, we can assign a billing plan type “02” (milestone billing). Then create three milestones:
- M1 – Design Approval: 30% of total contract value, $750,000. Date: after activity A‑010 is completed.
- M2 – Equipment Delivery: 40%, $1,000,000. After activity A‑020 and procurement complete.
- M3 – Commissioning Complete: 30%, $750,000. After activity A‑040.
In CJ02 (Change Project), go to “Billing plan” tab. Enter the billing plan. For each milestone, maintain the percentage and date. The system will create billing due dates.
To bill, use DP91 (Project Billing) or go to VF04 and select the project billing due list. For milestone billing, the billing request is created automatically. Then use VF01 to create an invoice referencing the milestone. The FI document: debit customer, credit project revenue (a special revenue account for projects). The project gets a revenue posting, reducing the balance on the WBS.
6.2 Resource‑Related Billing (DP90)
For cost‑plus items, GlobalTech uses resource‑related billing. This bills the customer for actual costs incurred (e.g., engineering services) plus an agreed surcharge.
Configuration:
- SPRO:
Project System → Billing → Resource‑Related Billing → Define Default Values for Billing Request. - Set up a billing profile for the project: in project definition, assign billing profile “PS01”.
- When we have actual costs, run DP90 (Resource‑Related Billing). Enter project and WBS element. The system lists all actual costs that are billable (based on cost element groups). Select the costs, apply a surcharge (e.g., 10%), and generate a billing request. Then create a billing document in VF01. The customer is billed for the cost plus margin.
For our scenario, after engineering costs of $200,000 have been posted (via activity confirmation or manual FI posting to WBS), DP90 picks them up, adds 10% surcharge = $220,000, and creates invoice. The accounting: debit customer $220,000, credit project revenue $220,000. The profit margin on the project increases.
7. Results Analysis (KKA1) – Revenue Recognition
Under IFRS 15, revenue on long‑term contracts must be recognised over time based on progress, not just at completion. SAP uses results analysis to calculate the percentage of completion (POC) and post necessary adjustments to the profit and loss.
7.1 Configuration of Valuation Method
SPRO: Project System → Financials → Results Analysis → Define Valuation Methods (transaction KKA1 is the execution, but configuration is OKG2? Actually, valuation methods are defined in OKG2/OPSA). We’ll create valuation method “Z01” (POC based on actual costs). In OKG2, assign:
- Method “01” – Revenue proportional to cost (POC).
- Line IDs for cost, revenue, work in process, etc.
Assign this valuation method to the project definition (in CJ20N, under “Control” tab, “Results analysis key” = Z01).
7.2 Execute Results Analysis (KKA1)
Assume after 4 months, the project actual costs are $1,000,000, planned costs $2,500,000. POC = 1,000,000 / 2,500,000 = 40%. The planned revenue is $2,500,000, so recognised revenue = 40% of $2,500,000 = $1,000,000. If so far we’ve only billed $750,000 (milestone M1), there is an under‑billing. Results analysis will post:
- Debit: Capitalised Costs (WIP) $250,000 (to balance sheet – asset).
- Credit: Revenue Adjustment $250,000 (to P&L).
Transaction KKA1. Select project, valuation key Z01, and period. Execute test run, analyse log, then live run. The system posts the adjustment entries directly to FI and CO. This ensures the P&L reflects the progress, not just the billed amount. The WIP is capitalised on the balance sheet until final settlement.
7.3 Settlement of Results Analysis (KKAJ)
After KKA1, the WIP and revenue adjustments are on the project. To transfer them to the FI balance sheet and P&L accounts, run KKAJ (Settlement). This clears the project’s RA balances and posts to the appropriate asset or P&L accounts.
8. Capitalisation – From Project to Fixed Asset
This is a capital project. At completion, the total project costs (excluding any cost of sales) should be capitalised to an Asset Under Construction (AuC) and then to the final fixed asset.
8.1 Settlement Profile and Rule
In the project profile, we assign a settlement profile (e.g., “PS01”) that allows settlement to assets. In CJ20N, for the top WBS element, set the settlement rule: receiver = AuC asset “AUC‑ASSYLINE” (we create this asset in AS01, class AUC). Settlement type = FUL (full settlement) at completion. Percentage 100%.
At project closure, execute CJ88 (Settlement). The system transfers all costs from the WBS elements to the AuC. The journal entry: debit AuC, credit WBS (cost elements). The project balance becomes zero. The AuC then can be settled to the final fixed asset via AIBU.
8.2 Final Asset Creation
Once the assembly line is operational, settle the AuC to a final fixed asset (e.g., “ASSLINE‑001”) using AIBU. The accumulated costs are transferred to the asset, and depreciation begins.
9. Full Integrated Walkthrough – Month by Month
Let’s watch the project over its lifecycle with exact data snapshots:
Month 1‑2: Engineering WBS .01 incurs $200,000 actual cost (activity confirmation A‑010). Cost element 40000030. No billing yet. In results analysis, POC = 8%, revenue $200,000 recognised? Actually, if only 8%, it will start building WIP. We skip intermediate RA for brevity. At end of design, milestone M1 achieved: DP91 bills $750,000. Debit customer, credit project revenue.
Month 3‑5: Procurement – PO for MAT‑MOTOR issued, GR and invoice $1,200,000 posted to WBS .02.001. Material stock is Q (project stock). The actuals reflect. Milestone M2 achieved (equipment delivery): bill $1,000,000. Project revenue total now $1,750,000.
Month 6‑8: Construction – internal activities and subcontractor costs post $600,000 to WBS .03. Testing $200,000 to WBS .04. Commissioning complete, milestone M3 bills remaining $750,000. Total billing now $2,500,000.
Month 9: Results analysis final run: actual costs $2,500,000, POC 100%, revenue $2,500,000. Since we’ve already billed $2,500,000, no further adjustment. RA settlement clears WIP. Then settlement to AuC via CJ88: the $2,500,000 costs are capitalised. AuC settled to final asset. Depreciation starts.
The project is closed, the asset is on the books, and the customer is fully billed. The P&L shows zero profit because all costs capitalised; the profit is in the asset's future depreciation versus the revenue already recognised? Wait, under IFRS, the revenue was recognised over time, but the costs were capitalised, not expensed – so actually, the profit margin would be reflected in the P&L as the project progressed if revenue > costs. In our case, costs = $2.5M, revenue = $2.5M → zero margin? Not realistic. Let’s adjust: GlobalTech has a 10% margin on top of costs. So contract value should be $2,750,000. I’ll revise the milestone billing totals accordingly: M1 $825,000, M2 $1,100,000, M3 $825,000. Then at 40% POC, revenue $1,100,000, costs $1,000,000, gross profit $100,000. That’s better. We’ll embed this in the scenario. So adjust the billing plan: total contract $2,750,000 (30%=$825k, 40%=$1.1M, 30%=$825k). The cost plan remains $2,500,000. The margin appears during revenue recognition.
10. Best Practices, Pitfalls, and Expert Insights
Best Practices PS:
- Design the WBS to match the contract, not the internal organisation. This makes billing and reporting to the customer seamless.
- Use project stock (special stock Q) for materials that are dedicated to a single project. This isolates inventory and simplifies valuation.
- Combine milestone billing and resource‑related billing on the same project if the contract is mixed. The billing plan can hold both fixed and cost‑plus items.
- Run results analysis monthly in test mode, review the POC and WIP, and then post live. Involve the project controller to validate progress.
- For capital projects, set the investment profile in the project definition to automate asset settlement rules.
Common Pitfalls:
- Forgetting to assign a budget profile and then overspending without control.
- Incorrect settlement rule: trying to settle a WBS that still has open commitments; the settlement may fail or post incorrectly.
- Using results analysis without configuring the valuation method properly – results in zero or wrong WIP, confusing auditors.
- Not activating the “Project Stock” indicator on the material component, causing inventory postings to hit general stock and not the project.
Alternatives and When to Use Them:
- For simple small projects, an internal order can be used instead of PS. But if you need scheduling, networks, or milestone billing, PS is mandatory.
- For complex multi‑year projects with multiple customers, use SAP Commercial Project Management (CPM) add‑on.
- Instead of classic DP90 resource‑related billing, you can use the “Periodic Billing” function in PS for service contracts.
11. Conclusion – You’ve Mastered Project System
Day 13 has taken you through a complete PS implementation. You’ve built a WBS and network, planned costs, procured materials directly to the project, executed both milestone and resource‑related billing, run results analysis for IFRS‑compliant revenue recognition, and capitalised the final asset. You now possess the skills to manage any project‑driven business in SAP S/4HANA. Open your sandbox, replicate the GLOB‑ASSY‑2025 project, and cement this expertise.
Tomorrow, on Day 14 (Part 29), we enter the SPRO Deep Dive – Customising Transport Requests, Project IMGs, client concepts, and TMS best practices. It’s the consultant’s backstage pass to the entire configuration landscape. Don’t miss it.
@FreeLearning365 – Tech Partner @techbook24

0 Comments
thanks for your comments!