Enterprise Resource Planning Blogs by SAP
Get insights and updates about cloud ERP and RISE with SAP, SAP S/4HANA and SAP S/4HANA Cloud, and more enterprise management capabilities with SAP blog posts.
cancel
Showing results for 
Search instead for 
Did you mean: 
varsha_chetanmanu
Associate
Associate
836

The Project Billing solution (scope item 4E9) has been available in SAP S/4HANA Cloud Public Edition for a substantial period. It is extensively used for billing in professional service projects. For more information on its capabilities please refer to the Blog on Project billing for Professional services automation 

Project Billing solution works on the principle of real-time billing data preparation for professional services automation (Scope item J11). When a service or expense is posted, it is immediately simulated for price and stored. However, there is complex logic behind the preparation of such unbilled revenue data that is billing relevant.

This document aims to provide an overview of the billing data preparation that works behind the scenes of the Project Billing solution.

Primarily, there are two different streams of billing data preparation.

 

A.      Billing data preparation for Time and Material billing

This section describes the billing data preparation of the services and expenses relevant for resource related time and material billing. This preparation process remains the same whether the services and expenses are posted for the first time against a work package or if they are repriced via the applications Schedule Repricing for Projects or Manage Project Billing.

                   

varsha_chetanmanu_0-1720196921746.png

 

 

1. Billing relevance determination

The process of billing preparation begins with determining whether service(s) or expense(s) are relevant for billing. This involves several stages:

  • Contract Type Check:

The billing relevance of the services and expenses is based on the contract type of the associated sales order item linked to the billing WBS element. Only the services and expenses that fall under Time and Expense or Usage-Based Billing contract types are processed further.

  • Filtering Based on Cost Element Group:

Next, the services and expenses are filtered based on the General Ledger (G/L) account of the posting. Only those postings whose G/L accounts are part of the cost element group YBPS_BILL are advanced to the next stage. Therefore, customers must ensure to maintain the G/L accounts, that are relevant for billing, using the Change Cost Element Group application.

  • Special Case for Usage-Based Billing:

For Usage-Based Billing, only those postings whose G/L accounts are part of the YBPS_UBBT cost element group are advanced to the next stage. Any other postings related to this work package are disregarded.

 

2. Material determination:

The attributes of the filtered service/expense postings – G/L Account, source material (if applicable), and activity type (if applicable) – are matched against the flexible configuration maintained in the Maintain Billing Profile SSCUI/Configuration activity 103637. A significant point to note is that the sequence of the material determination configuration is crucial, as the first match is selected for the subsequent step. If no material is determined for the posting, an entry is created in the table associated with I_ProjectBillingElementEntry view, which is flagged to display as an error. For more details , please refer to Configuration for Maintaining a Project Billing Profile | SAP Help Portal and Blog on Material determination for Project Billing 

 

3. Simulating Billing Document Request:

The actual data preparation begins with this step, where all prerequisites for the preparation have been gathered. It comprises of two sub-steps:

  • Simulating Pricing:

Multiple entries from table associated with I_ProjectBillingElementEntry view are grouped and aggregated into a single “simulated billing document request” item based on differing values for the following set of attributes:

  • Project
  • Billing Item
  • Workpackage
  • Determined Material
  • Activity Type
  • Calendar Month of service date
  • Personnel Number
  • Work Item
  • Overtime Category
  • Transaction Currency
  • Service Organization
  • Customer
  • Sales Organization
  • Division
  • Distribution Channel

Items grouped by these attributes are simulated for pricing with the last date of the calendar month (when the service was performed) as the pricing date, which is also used as the exchange rate date.

Key Aspects:

  • A negative cost created upon billing an On Account request, termed as On Account to be utilized, is treated similarly to an expense posting except for material determination. In this case, the determined material will always be A002.
  • Service/Expense posting can come at any time during a project. When the user posts a service or expense posting on the project, each service/expense is individually sent for pricing simulation, but with the same logic for pricing date, i.e., the last date of the calendar month when service was performed.
  • Mid-month price intervals are not supported by design to maintain "one net price per unit" for services posted within a month. This helps to reconcile the billing data across various billing entities.
  • Postings are aggregated per month, even if the rate across various calendar months is the same, to maintain uniformity.
  • Introducing dynamic aggregation capability would
    • Increase the number of billing document line items with different price intervals along with the existing aggregation criteria.
    • Making reconciliation of billing data difficult.

As an initial step, the pricing procedure is determined using the above list of attributes. While the details of pricing simulation are beyond the scope of this document, it essentially evaluates the price against the condition records in each condition type defined in the pricing procedure. If a standard pricing procedure is determined, which is unchanged for example, for country DE, A10001, then the price evaluation runs as per the defined sequence of condition types – first PSP0, then PCP0 to find a matching condition record and consequently a net rate per unit and price. The fallback would be the PCO1 condition where the actual costs themselves become the revenue.

Upon completion of the pricing simulation, the price is provided back in the document currency of the sales order (which is also the same as the project currency) at the constructed item level. The price is then proportioned to be stored against each individual entry of the table associated with I_ProjectBillingElementEntry view that was part of the constructed item for simulation.

  • Revenue Account Determination:

Alongside the pricing simulation, the revenue G/L account is determined. The determined account, along with the calculated revenue price, is stored in the finance table ACDOCA to ensure up-to-date unbilled revenue information.

 

B.      Billing data preparation for Fixed price billing

In this section, we discuss the process of preparing billing data for fixed contract type usages such as Fixed Price, Periodic Services, On Account request, and Downpayment request. The trigger for the preparation of billing data is the creation/update of a billing plan item in the customer project application. An entry is then created in the table associated with I_ProjectBillingElementEntry view, with the following details derived from the billing plan items:

  •               BillingWBSElement
  •               Billing Plan
  •               Billing Plan Item
  •               Billing Plan Item Date
  •               Material from Billing Item/Sales Order Item
  •               Quantity Unit
  •               Quantity
  •               Document Currency
  •               Amount to Be Billed

Key Aspects:

  • Material determination based on the Billing Profile is not triggered. Instead, the material/product defined in the billing item is used for billing data preparation.
    • For On Account request, the material is always A001.
  • Since the amount is manually maintained in the billing plan item, no pricing simulation is performed.
  • Amount to be billed is directly stored as unbilled revenue. 

 

“After” Billing data preparation

The diagram below provides a concise overview of the interaction of billing data preparation with billing up till the creation of billing document.

varsha_chetanmanu_1-1720197850878.png

 

After the data preparation, user can select multiple Project Billing Elements on Manage project billing to initiate the creation of a Project Billing Request(PBR). A PBR may consist of any combination of contract types or usages, with the exception of Downpayment requests, which must be triggered in a separate PBR. Furthermore, a Project Billing Request can also be generated through an API. Please refer to API Business Hub for more details.

The user can perform housekeeping tasks such as postponement or write off and submit to generate Billing Document Request (BDR) creation.  Before the BDR ID is saved, the system re-runs the simulation of Billing Document Request to ensure consistent net price unit determination.

Notably, at the time of BDR creation, it can contain different items related to different billing items with varying contract and usage types, and across different calendar months (billing item and month are grouping and aggregation attributes as stated above). Hence, the service rendered date passed varies depending on contract/usage type and month.

  • For Time and Expense and Usage-Based billing
    • For BDR items from previous months, the default service rendered date is the last date of that month.
    • For the BDR item for the current calendar month, the service rendered date of the latest posting in current month is passed as default to ensure the tax determination date is not beyond the invoice creation date.
  • For Fixed price, On-account request and Downpayment request
    • Each billing plan item entry in a customer project becomes one item in the BDR. These BDR items are processed via the pricing procedure to generate the BDR.
    • Although the pricing date is always the last date of the month, the Billing Plan Item due date is passed as the service rendered date at the item level.
  • For Periodic services
    • Similar to Fixed Price, each billing plan item entry in a customer project becomes one item in the Billing Document Request. The constructed Billing Document Request items are processed via the pricing procedure to generate the Billing Document Request with pricing date as the last date of the month.
    • The service end date of billing plan item is passed as the service rendered date for the BDR item.

 

Interplay of Project Billing CDS views

Up until the step of data preparation, the information from this prepared data is only available in the set of Project Billing Element views. This consists of I_ProjectBillingElement view which consists of Billing WBS element as Project Billing Element instance and the prepared data as its items I_ProjectBillingElementEntry view. Each I_ProjectBillingElementEntry instance has a reference that is linked either to a Time or expense journal entry in I_PrjBlgElmEntrJrnlEntrLink view (In case parent workpackage is associated with Time and Expense or Usage-Based Billing contract type/usage) or to a billing plan item in I_PrjBlgElmEntrBillgPlnLink view (In case parent workpackage is associated with Fixed Price, Periodic Service, Downpayment or On-Account request contract type/usage). 

When a user opens the Manage Project Billing application and initiates the Prepare Billing function, a Project Billing Request (PBR) is generated and an entry is created in the table associated with I_ProjectBillingRequest view. The data used in a particular billing cycle is then stored in the table associated with I_ProjectBillingRequestItem view as items under a specific I_ProjectBillingRequest reference. Any postponements and write-offs that occur within the billing cycle are captured in the table associated with I_ProjectBillingRequestItem view.

Upon the creation of a billing document request, the reference of the partially or fully billed items from I_ProjectBillingElementEntry view, along with references to the Billing Document Request and the Project Billing Request are updated in the table associated with I_ProjectBillingElementEntrFlw view. The writte-offs are also updated in the table associated with I_ProjectBillingElementEntrFlw view.

In summary, the set of Project Billing Element views captures the billing data and its lifecycle, compiling this information in real-time in the background. The set of Project Billing Request views captures real-time changes done by the end user as part of housekeeping/preparation for billing document request creation. It subsequently preserves a snaphot of any postponements or write-offs carried out during a specific billing cycle, after the billing document request is generated.

The details of available CDS views can be found at CDS Views for Project Billing | SAP Help Portal. The relationship between the views is depicted below:

varsha_chetanmanu_0-1720621547108.png

 

 

Options to Influence billing data preparation

While the standard billing data preparation process mostly limits the end user's influence on material determination, especially for time and material billing, there are several customizable options that can significantly affect the data preparation process.

 

  • Influence through Process Extensibility

While the standard set of fields affecting pricing and aggregation logic are fixed, it is feasible to incorporate a custom attribute via the process extensibility options that can be configured to achieve one or combination of the below flexibilities:

  • Adjust the aggregation criteria of the billing document,
  • Enable invoice splitting based on custom requirements,
  • Impact the determination of sales rates and surcharge/discount calculation.

The existing process extensibility option for this purpose is from Sales Order header/item to Billing Document header/item for Project Billing. For future options, please refer to Extensibility, from Journal entry through Billing, to influence Invoice Pricing and Structure

 

  • Influence through Cloud Business Add-in

A cloud business add-in (BAdi) PROJ_BIL_MODIFY_BDR_DATA Billing Interface Field Modification on BDR item level, is accessible via the “Custom Logic” application and offers the following capabilities:

  • Modify the material tax classification of billing document request items.
    • For instance, when creating a new billing document request, you can set the material tax classification to zero, which implies that the tax for that specific material will be exempted.
  • Modify the service rendered date on an item level in billing document requests
    • For instance, for a fixed-price billing document item, you can set the service rendered date to the last day of the month, rather than using the automatically determined planned billing due date.

varsha_chetanmanu_3-1719910485054.png

Please note, currently this BAdi is released only for key-user extensibility

 

In conclusion, the process of preparing data for Project Billing is a crucial aspect that significantly impacts the performance, efficiency, and accuracy of the overall billing system. A deep understanding of this process can equip organizations to identify the extensive potential of this solution. Furthermore, by fully comprehending the various flexible options that exist in data preparation for billing, organizations can tailor the process to fit their unique needs and conditions.

For more information on the Project Billing solution in SAP S/4HANA Cloud, please refer to the following links:

 

 

2 Comments
Jefflu2024
Explorer
0 Kudos

that's great sharing and blog!! 

varsha_chetanmanu
Associate
Associate
0 Kudos

Thank you