Co-Authored by Anja Flatau

In this blog series I would like to provide answers for the following topics related to the migration of CPM projects (Customer Project Management - Project-Based Services) :

  • General SAP recommendation: close projects in legacy system and create only new projects in SAP S/4HANA Cloud and do not try to migrate ongoing projects with 
    the full current status

  • If this is not possible then this blog series provides an approach how to handle the migration of CPM projects.


Part 1: Commercial Project Migration - Part 1: Migration of Fixed Price Projects (ongoing and partially billed) and Time & Expense Projects

Part 2 (this blog): Commercial Project Migration - Part 2: Migration of Periodic Service Projects and Bundles in Projects

  • Migration of Periodic Service Projects
  • Migration of Bundles in Projects (Fixed Price & Periodic Service) 


Out of scope in this blog series:

  • Migration of CPM Projects in phase: "Completed" or "Closed".
  • Project duration of more than 5 years is not recommended. Projects with a longer duration decrease upload performance significantly.
  • Down Payments / Down Payment Requests
  • Standalone Selling Price (SSP)

Migration of Periodic Service Projects

Ongoing periodic service billing items can have been partially billed in the legacy system.

Assumption: the migration approach is based upon the default revenue recognition key for periodic service projects “SPPC”

Revenue Recognition for periodic service billing items is set up like this:

  • With periodic billing there is no event-based revenue or cost realization
  • Revenue and cost postings will be deferred with the initial posting
  • The periodic run recognizes costs and revenues time-based on the basis of the invoice schedule (matching principle is always applied).
  • The billed and partially recognized amount should be migrated into the new S/4HANA Cloud system

Different from fixed price projects for periodic service billing items cost postings do not necessarily have to be migrated as the cost amount will not be the base for the revenue recognition.

Example:

  • Billing Due Date: 01.01.2019 (Billing already executed in legacy system
  • Amount: 12.000 € (1.000€ per period)
  • Period: 01.01.2019 – 31.12.2019
  • Go-Live Date is the 01.04.2019

Process:  

  • Migrate the project with all packages
    • Billing plan should contain the entry (half processes billing item) above
    • The value and the period for which it should apply is very important!
  • Now bill the bill plan entry → 12.000€ with posting period march 2019, which will result in 12.000€ of deferred revenue and 12.000€ of accruals
  • Clean the AR posting up against the migration project as described for fixed price projects in part 1 of this blog series: Historical revenue migration - Reversal of customer open items against migration account and dummy project
  • Now run the revenue recognition run in period march 2019 → Result: 3.000€ of deferred revenue will be realized and posted against the accruals
  • Now starting in period April 2019 you can run the project normally (conduct revenue recognition run every month as 1.000€ will be realized every period)

Difference in comparison to fixed price: For periodic service we do not need the migration of cost necessarily to have revenue recognition run correctly

Ongoing fixed price projects can have been partially billed in the legacy system. The billed amount should be migrated into the new S/4HANA Cloud system.

Assumption: the migration approach is based upon the default revenue recognition key for fixed price projects “SPFP”.

Process:

Create project with plan data for cost and billing

App: Manage Your Solution

  • Migration of CPM Projects via Migration Cockpit Object “CPM project” is supported in following phases: In-Planning, Contract Preparation, In-Execution
  • The "CPM Project" can be enhanced with the App „Custom Fields and Logic” adding custom fields in the application. 
    If the "CPM Project" is enhanced this way, the custom fields will be reflected automatically also in the XML template.
  • The following objects must already have been maintained or migrated: Customer Master, Employee Master, Material Master, Cost Center Master, Profit Center Master, 
    Service Organization

Process:


Outcome:

  • Project in Stage “In Execution”
  • Work Packages / Work Items
  • Activity / Expense Planning
  • Sales Order Header / Item
  • Billing Plan Item

App: Plan Customer Projects

Check if billing plan was created for all periodic service work packages – without billing plan data no revenue recognition can be posted!

Check if your billing plan was created → Advice: only partially recognized billing plan items (parts of the recognition happening in legacy system parts in S4H Cloud) have to be migrated

Example for Periodic Service workpackage / billing item:
Billing Due Date 01.01.2019 → Amount 12.000 € → Period 01.01.2019 – 31.12.2019
Go-Live Date is the 01.04.2019

Migrate the project with all packages:

  • Billing plan should contain the entry (half processes billing item) above
  • The value and the period for which it should apply is very important!

App: “Release Billing Proposal”

Outcome: Debit Memo Request is created → it would be sufficient to have on invoice for all historical revenue

App “Create Billing Documents”: 

Now bill the installment:

  • 12.000€ with posting period march 2019
  • This will result in 12.000€ of deferred revenue and 12.000€ of accruals


→ Billing document out of DMR for historical revenue is created

Tax Exempt” tax code is triggered: No tax line is generated!

Journal entry is created

Billing Plan Item is marked as “Invoiced

App: Revenue Recognition (Event-Based) - Projects

Reversal of Customer Open Items against Migration Account and Dummy Project

App: Post with Clearing

Step 4 in blog series part 1 - “Posting Logic” diagram: 

  1. Enter the document date and posting date (choose same date as open items migration date)
  2. Enter company code
  3. Select Currency Rate
  4. Enter Posting Key “40” (Debit entry)
  5. Provide Account: Revenue Account against which was posted during billing e.g. 41910000 Billed Revenue Dom. - Time (see Journal Entry)

  1. Enter the amount (it is possible to re-post all open items of one customer at once)
  2. Enter the tax exempt Tax Code e.g. A0
  3. Select WBS element of the dummy migration project
  4. Choose “Process Open Items”

  1. Enter company code
  2. Change Account type to “D” (Customer)
  3. Select Customer ID
  4. Choose “Process Open Items”

  1. Click “Select All” (All items are activated by default)
  2. Click “Deactivate Items”
  3. Choose and activate the items which shall be reversed (items out of periodic service project migration)
  4. Click “Post”

App: Manage Customer Line Items

Check Journal Entry and Clearing Entry

App: Run Revenue Recognition - Projects

Clearing of Balance Sheet Accounts

  • In order to create the right values for “Deferred Revenue” and “Accrued Revenue” the revenue recognition run has to be executed
  • Now run the revenue recognition run in period March 2019 → Result: 3.000€ of deferred revenue will be realized and posted against the accruals
  • Now starting in period April 2019 you can run the project “normally” (conduct revenue recognition run every month → 1.000€ will be realized every period)
  • Difference in comparison to fixed price: For periodic service we do not need the migration of cost necessarily to have revenue recognition run correctly (Cost recognition follows the revenue recognition. If there are actuals costs of 600€ / year, there will be 50€ realized per month - so in March 150€ recognized costs and 450€ deferred costs.)

Migration of Bundles in Projects (Fixed Priced & Periodic Service)

  • Bundles in projects should not be any issue as every financial migration of historic data is based upon the WBS elements (work packages and billing items).
  • For bundles of fixed price and periodic service the
    • fixed price part works as described in part 1 of this blog series
    • periodic service part works as described above