Skip to Content
Product Information
Author's profile photo Andreas Hammerschmidt

Project Billing for Customer Projects in SAP S/4HANA Cloud

Relevant for public edition of SAP S/4HANA Cloud 2302.



The preparation of a bill plays a vital role for companies in the consulting industry. Thus, the Project Billing in SAP S/4HANA Cloud as our public cloud offering is an important change in the professional services scenario. The following article shall provide further details on motivation and included functionalities.


Why Project Billing in SAP S/4HANA Cloud, public edition?

The former resource-related billing in SAP S/4HANA Cloud has been in place for several years, so there was the need to address not only feedback from customers and partners, but also holistically solve fundamental requirements. To give an example, the underlying source selection and material determination in the DIP Profile was not open to customers for customizing due to several reasons. This limited the number of activity types and sales/billing materials that could be used in the professional services scenario to the pre-delivered ones T001-T020, U001-U010 and E001-E040.

To overcome this problem and other restrictions, a completely new architecture for the billing preparation process was built. The key benefits of this Project Billing solution are the following:

  1. Increased usability due to the usage of latest SAP Fiori elements. This allows to leverage centrally provided capabilities such as sorting, grouping, and filtering or the use of different variants in viewing the provided data.
  2. Prior preparation of billing data using a push principle. When a posting in ACDOCA/Universal Journal is detected as billing relevant, it is getting directly pushed to the new billing tables which also has an added advantage of performance improvement.
  3. Addition of several new features as compared to the earlier solution. This does not only include the possibility to add further activity types respective billing materials through a flexible material determination configuration, but also a generic access to Project Billing based on authorizations and an extended reporting on billing data.


Delivery and localization

The delivery of the Project Billing functionality is enabled through scope item 4E9 “Project Billing – Project-Based Services”. Next to DE and US, this scope item is relevant for all standard countries and regions except Brazil. Further information can be found on the SAP Best Practices Explorer.

Since the release of SAP S/4HANA Cloud 2108, scope item 4E9 is delivered as standard scope item, which means that it is activated by default in all new customer systems. For existing brownfield landscapes, customers need to request for its activation specifically. The old billing solution (Business Catalog SAP_PSP_BC_PRJ_BILLING_PC with the applications Release Billing Proposals, Edit Billing Request and Release Billing Requests) is accordingly deprecated since 2108. Please see Note 3072179. The deletion of the deprecated Business Catalog is currently planned for CE2408. Starting from SAP S/4HANA Cloud 2111, the Project Billing solution is the default solution for the billing preparation process in the professional services scenario. As both solutions can still exist in parallel without impacting the existing billing process, customers can migrate to the Project Billing solution in a phased approach. This means that customer projects using the old solution can exist next to other ones with new solution, but there is no possibility to change running projects from one solution to the other. There is also an accelerator in place that can be used to extract project plan data in the format of the data migration template and that eases migration efforts.


Overview on the main application Manage Project Billing

The main application of our Project Billing is the successor of the Release Billing Proposals app called Manage Project Billing. This app gives an overview on different billing data and is the central place for the billing preparation before the SD billing process itself starts. All four contract types (Time and Expenses, Fixed Price, Periodic Service and Usage Based) are supported. Additionally, the prepayments on account (for Time and Expenses billing elements) and down payment (for Time and Expenses and Fixed Price billing elements) can be processed.

Fig 1 – Manage Project Billing Overview Page

During preparation of a bill for a “Time and Expense” or “Usage Based” billing element, one or more postings can be fully or partially written off or postponed to the next billing cycle. Technically, these actions are saved in an own object called “Project Billing Request”. Compared to the old billing solution, this allowed the introduction of certain functionalities (e.g. integration to the central approval framework, accessibility to historic data). Additionally, it is possible to bring back formerly written off items, which means a restoration of written-off items that were part of Billing Document Requests created earlier (see SAP Help Portal).

On top of that, a billing specialist or billing team member can add, edit and delete additional items in the project billing request. This helps the users to create additional revenue from heaven or discount. Further details can be found in the documentation on the SAP Help Portal.

Fig 2 – Prepare Billing screen

Once the Project Billing Request is submitted and the approval workflow is not in place, a Billing Document Request is created. This is a difference to the old billing solution, in which a Debit Memo Request was created. Thus, the Billing Request Editor cannot be used anymore. As an alternative the features and functions in the Preliminary Billing Document can be leveraged.

Fig 3 – Comparison of business process flows for billing


Approval workflow for project billing requests

Configuration experts have the possibility to enable and configure different workflow scenarios for project billing requests with the application “Manage Workflow for Project Billing Requests”. If such an approval workflow is in place, the end-to-end process stops after the submission of a project billing request and no follow-on documents can be created. Only once the project billing request is approved, the billing document request is created automatically. If the project billing request is rejected, the included items get reinstated and they are again available for billing in the Manage Project Billing application.

The automatic creation of a billing document request after approval is e.g. not possible if there is a price change between submission and approval of the project billing request. Administrators can track such errors in the app “Flexible Workflow Administration” with the Scenario ID WS01800259. Additionally, the project billing specialist or billing team member can use the Manage Project Billing Requests app (see next chapter) to easily filter project billing requests with approval status “Released” but lifecycle status “In Process”. To resolve such a scenario, the repricing job that is explained further below can be used to re-trigger the approval workflow.

The approver can view basic billing data during the approval process in the My Inbox, such as customer, project or aggregated cost and revenue information. If needed, she or he can also navigate from the project billing request number to its details to check written-off and postponed items. The display of this project billing request is also explained in the next chapter. To inform the project billing specialist on the approver’s decision, a notification is sent to the workflow initiator in case of approval, rejection and successful billing document creation.

Generic information on business workflows in SAP S/4HANA Cloud can be found on the SAP Help Portal. Specific information on the workflow for project billing requests can be found on the SAP Help Portal, too.

Fig 4 – Approval screen for a project billing request in the My Inbox


Application to manage project billing requests

In contrast to the legacy project billing solution, which did not allow to access released billing proposals from the past, the Project Billing offers the possibility to display submitted project billing requests. The application “Manage Project Billing – Project Billing Request” lists permanent project billing requests, which means that these requests were already submitted from the main Manage Project Billing application.

To access a project billing request in this new application “Manage Project Billing – Project Billing Request”, the business partner of the logged in user needs to be part of any header role in the corresponding customer project. So, if the user is maintained as project manager or any other standard or custom role of a customer project, she or he would see all project billing requests that were created for this specific project.

The main purpose of this application is not only to track the lifecycle and approval status of historical project billing requests, or the decision note entered by the approver during approval/rejection, but also to look at the details of these project billing requests. The UI of a project billing request has the same look and feel as the billing preparation screen with the difference that certain actions are certainly not allowed anymore. The buttons for editing, deleting, and submitting the project billing request as well as for write-off, postponement and date deferral are not visible. Instead, the project billing request can be rejected, or the follow-on billing document request can be triggered. The former is needed to withdraw a project billing request from the approval workflow, the latter is needed in case the automatic billing document request creation failed.

Further details can be found in the documentation on the SAP Help Portal.

Fig 5 – Application to manage project billing requests


Configuration possibilities for flexible material determination in Project Billing

As mentioned above, a central capability of our Project Billing is the possibility to configure a flexible material determination. The new Self Service Configuration User Interface (SSCUI) includes a configuration step for making settings related to maintaining the Project Billing Profile in the “Manage Your Solution” app. That way a configuration expert can define which billing materials are determined for incoming costs or quantities on certain activity types or materials. There is no default content or demo data provided in newly provisioned quality or productive tenants, which means that this configuration needs to be added in a one-time activity.

Fig 6: SSCUI for flexible material determination

To give an example, the below table shows how activity type T001 (Junior Consultant) is mapped to billing material T001 (Junior Consultant) in a Time and Expense scenario. The Project Billing profile CMPRJBL001 as well as the cost element group YBPS_BILL (YBPS_UBBT in Usage Based scenario) are fixed. The first line covers the scenario in which the activity type is available from the posting. The second one relates to the contingent worker scenario, for which only the material is given.

PB Profile Line Mat. dir. Qty/Costs Material Field Name Set Name Value
CMPRJBL001 1 Transfer Costs and Quantity T001 GLACCOUNT YBPS_T000
CMPRJBL001 2 Transfer Costs and Quantity T001 GLACCOUNT YBPS_T000


Application jobs for automation and repricing

The first application job that is offered in Project Billing is called “Schedule Project Billing Preparation”. It allows customers to automate their billing processes through automatic creation of Billing Document Requests for different billing methods. The process definition can be narrowed based on different criteria. Further details can be found in the documentation on the SAP Help Portal.

The second application job is “Schedule Repricing for Projects”. Due to the architectural change explained above (push instead of pull principle) and the fact that repricing is not run each time the “Manage Project Billing” app is used, the billing data needs to be updated when there is a change of the sales rate or material configuration. Compared to the old DIP run, this application job can be scheduled at the customer’s own discretion. Further details can be found in the documentation on the SAP Help Portal.


Access and usage of Project Billing

Scope item 4E9 does not only include the business role template “Billing Specialist – Projects” and various business catalogs, but also a switch on the information tab of the Plan Customer Projects app. Starting from SAP S/4HANA Cloud 2111 release, the default setting of this flag “Use Project Billing (New)” will be set to Yes which means that the Project Billing solution will be the default solution. If the old billing solution is still needed, the flag can be changed manually. The BAdI “Custom Checks on Project Save” (Business Context: Engagement Project) can be used to ensure that either the legacy solution or Project Billing is used for all newly created customer projects.

The flag can be changed for single projects as long as the project is in planning stage. Once the project stage is set to Contract Preparation, this decision can no longer be changed. Additionally, the flag can be removed from the UI using the key user functionality for adapting UIs.

In a long-term meaning after the deletion of the old resource-related billing process mentioned above, this Project Billing switch will be deprecated and not shown anymore.

Fig 7: Flag in Plan Customer Projects application

There are in principle two ways how billing elements in the “Manage Project Billing” app are shown. The first one is based on the authorizations maintained on the business role, which means that for example a central billing team can be allowed access to all billing elements in one or more specific service organizations. The second one is based on assignments in the project or rather sales order. This access is designed on the billing item level: If a user is assigned in any partner function on sales order item level, the according billing element would be shown. If the assignment is on sales order header or accordingly project level, all billing elements for that project would be accessible. The filter that uses this logic in the “Manage Project Billing” app is My Billing Elements. More information can be found in Note 2971025.


For more information on the Project Billing solution in SAP S/4HANA Cloud, check out the following links:

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Luca Biasotto
      Luca Biasotto

      Hi Andreas,

      very nice blog, the new Project Billing sounds really interesting and we look forward to testing it.

      Concerning the new Billing Document Requests, will they be affected by the same modification constraints as DMRs?

      The impossibility to edit basic elements such as the Customer Purchase Order Reference currently forces users to perform rather time-consuming and annoying operations to satisfy the requirements of customers in terms of reference information to be output in the printouts and in the XML eInvoices.

      Thank you,




      Author's profile photo Andreas Hammerschmidt
      Andreas Hammerschmidt
      Blog Post Author

      Hi Luca,

      Thanks a lot for your comment. Your assumption is correct, modifications on Billing Document Requests are not supported. Please leverage on the functionality given in the Preliminary Billing Document, where for example the Header Texts can be added or changed. This document is exactly designed for your described business scenario, in which a customer upfront can receive and agree on a preliminary invoice and changes can be done if needed. Please keep in mind that the Customer Reference from the Sales Order is not changeable in the billing process at all.

      Best regards,


      Author's profile photo Feras Al-Basha
      Feras Al-Basha

      Great blog and valuable information. CE 2008 has outstanding innovations for professional services.

      Thank you Andreas !

      Kind regards,


      Author's profile photo Haaroon Daya
      Haaroon Daya

      Hi Andreas

      Thank you Great Post

      WRT your comment below: The BAdI Custom Checks on Project Save (Business ContextEngagement Project) can be used to ensure that either the old or new project billing is used for all newly created customer projects

      Does this mean we can default the selection to "NO". If so can i get some guidance on how to set this up via the Custom Checks on Project Save Badi



      Author's profile photo Andreas Hammerschmidt
      Andreas Hammerschmidt
      Blog Post Author

      Hi Haaroon,

      Thanks a lot for your question. The default value of "Use Project Billing (New)" cannot be changed and is always set to Yes. The BAdI is rather a security measure to prohibit the existence of customer projects with either the one or other setting.

      So if you e.g. want that customer projects are only created/saved with the old process, projects managers need to manually change the flag. If they forget, the BAdI can ensure that projects cannot be saved with this "wrong" setting.

      Best regards,


      Author's profile photo Angelina Ramaisa
      Angelina Ramaisa

      Hi Andreas,

      Thank you for your swift response. last week I sat with Haaroon he managed to put the Badi to ensure that the project does not save if the flag is on Yes. Business thought there is another Badi to switch the flag to No with this badi.

      kind regards,


      Author's profile photo Haaroon Daya
      Haaroon Daya

      Hi Andreas


      Thank you for your response.

      I have added the validation in the badi 🙂



      Author's profile photo Sean House
      Sean House

      Is there any commitment to when this functionality would be available on premise?  Are we still stuck with DP91 ?

      Author's profile photo Andreas Hammerschmidt
      Andreas Hammerschmidt
      Blog Post Author

      Thanks a lot for your question. The Project Billing is part of SAP S/4HANA Cloud, public edition. There are currently no plans to make this available in SAP S/4HANA.

      Author's profile photo Sunil Yadav
      Sunil Yadav

      Hello Andreas,

      I was working for New Billing Solution and found some conflicts and Questions:

      1. Usage Based Project:

      Here we found few discrepancies in SAP documentation, Video, etc. Please check below configuration help maintained.

      Here, the U-material provided is a usage-based material that is configured to transfer both costs and quantities. Also, the Material Direct is set to True.

      • Qty/Costs: Transfer Costs and Quantities Only
      • Material: U001
      • Material Direct: True (This is not mandatory, however if we try activating this, system does not create any issue)

      To the above material determination, add the following criteria:

      • MATERIAL: U001 (Direct Activity Allocation does not have any Material in posting, so it should be Activity type)


      1. Contingent Worker

      In case of Contingent worker, SAP has given cost element group as YBPS_S001 under YBPS_T000 and YBPS_S000 as separate. using this we can bill Purchased service and get relevant Material in Billing but In our case we have to Bill as normal (T001-T020) materials with quantity. So we can define these settings as per our requirement. System has flexibility to set as required.

      Please check and help us to understand.



      Author's profile photo Andreas Hammerschmidt
      Andreas Hammerschmidt
      Blog Post Author

      Hello Sunil,

      Thanks a lot for your questions. The configuration of the Project Billing Profile for our Usage-Based Billing scenario is very similar to the Time & Expense one. In your referenced video, the material direct flag is not set to true, so I am not sure what you are referring to? For the second part (material U001 is maintained as criteria instead of the activity type) your understanding is correct. If the posting is done through activity allocation, the criteria needs to be maintained with activity type.

      The demo configuration for material S001 and cost element group YBPS_S002 is not necessarily meant for the contingent worker scenario, but rather for general purchased services (scope item J13, chapter 4.5). You can maintain the Project Billing Profile for the contingent worker scenario as described in this blog.

      Best regards,


      Author's profile photo Sunil Yadav
      Sunil Yadav

      Hi Andreas,

      1. I am referring to configuration help maintained in manage your solution where Material Direct: True is activated  (but This is not mandatory, however if we try activating this, system does not impacts) system works fine in both options.
      2. Material is not being used in "manage/create direct activity allocation" so we are not getting material in this posting so how system will determine Material U001 in billing. this app is using activity type instead of Material while postings so we need to add Activity type in Criteria. in video material is being used in criteria which is wrong.
      3. In contingent worker or Purchased Services, we need config for both separately as per business, In case of contingent work we need T* (where activity type or material are used as criteria) in billing and if we consider purchased service then S* (where material or activity type are not coming as criteria) will be in billing.

      please let me know in case you feel anything different.



      Author's profile photo Andreas Hammerschmidt
      Andreas Hammerschmidt
      Blog Post Author

      Hello Sunil.

      1. The example in the configuration help explains the behavior with a material direct flag: For any cost posting that matches this criteria, the source material defined in the posting is determined. This is because the Material Direct option is selected. However, in the absence of a material in the posting, the material determined is U001. This last sentence explains why there is no difference for you.
      2. Yes, your understanding is correct.
      3. As you correctly stated beforehand the configuration allows such flexibility.

      Best regards,