Service procurement has always been a concept for consultants to comprehend with the various options in SAP ERP, be it item category D, Limit Item, Service Master or Product Type. With Product type introduced in SAP S/4HANA there is however a much simpler way to perform service procurement but with few lines of additional code (code not applicable for Cloud)
SERV material type was introduced in SAP S/4HANA as an alternative or probably enhanced version to the DIEN material type but only for Fiori based users. Both material types could be used for the same purpose but the after affects and usage would differ.
DIEN is received into SAP ERP as a material document without any service confirmation. It is not dependent on whether the requirements are created from SAP GUI or SAP Fiori, more generically whether it is used in SAP S/4HANA On-Premise (including HEC) or SAP S/4HANA Cloud.
While SERV materials would first require a confirmation from a responsible person who is aware about the service that has been performed by an external vendor and will have an approval workflow upon which the material document gets posted for necessary consumption account postings.
This additional step of service confirmation comes handy to customer who want to make use of approvals before posting invoices for the service performed. The user interface is SAP Fiori based for maintaining the service confirmation and for the approvals too.
But what were the other options we had, if not going with the service confirmation and approval way from SAP Fiori ?
We have item category D and Service Master, which upon ordering and having the business partner perform their service at your desired location, sends over the invoice or time entry sheets. After which, either the concerned department or finance team creates service entry sheet in SAP GUI. The service entry sheet can also be sent across to the person responsible for monitoring the work done basically to approve the service entry sheet. This is similar to the SERV material route. But it comes with SAP GUI screens and not SAP Fiori. Also, if you need service hierarchy to be defaulted/populated in the purchasing transactions, then you will need to go with the item category D way with maintaining the service master.
And what if you don’t need service hierarchy and want to make use of service confirmations and also have master data maintained for each service or activity ? You can still use service master.
But service master, means no Fiori UI and service master maintenance.
There is way by which you don’t have to use the service master and still have service confirmation. No, it is not by only having free description entered in you purchasing documents. This would divert from having master data maintained for each service.
The field Product type in the material type can make this difference. This difference was already made for all Fiori based users who use the SERV materials. But if you have the external requirements defined in WBS, Network, Sales Order or Production Order, the SERV material gives up on all your service procurement plans. And there is a way. Code.
Somehow when you create a PR with SERV material type from SAP GUI, the product type is always defaulted to '1' and cannot be changed to '2'. And if you do the same from Fiori UI, the additional field product type can be changed to '2' or is defaulted to '2'. This is really strange until product team gives a non-technical reasoning for this.
Below notes only tell us what is not possible.
https://launchpad.support.sap.com/#/notes/2802304
https://launchpad.support.sap.com/#/notes/2648547
And when PR is generated from Project or Production Order, the product type is defaulted to '1' as in the case of manual creation of PR from SAP GUI.
When you have the product type set as '2' for such requirements whether coming from SAP GUI or from external modules, the line item behaves in line with service procurement with service confirmation from SAP Fiori. When service confirmation is approved, material documents are generated to consume the cost into P/L account assigned to a cost object.
To set the product type to '2' during requirements generation from SAP GUI or external modules, below user exits need to be implemented to read the material’s material type field ‘PRODUCTTYPE’ and copy to EBAN-PRODUCTTYPE field.
- EXIT_SAPLEBND_004 – For PR’s created from external modules
- ME_PROCESS_REQ_CUST – for PR’s created from SAP GUI.
Also Append "PRODUCTTYPE Types PRODUCT_TYPE_MEREQ” to structure MEREQ_ITEM_S_CUST_ALLOWED. This will allow changes to the field PRODUCTTYPE in purchase requisition from SAP GUI.
These few changes can help in making use of SERV materials across all source of requirements and it won’t be lean anymore.