The purpose of this blog entry is to get your payroll results in your SAP S/4HANA Cloud from a third-party payroll system.
With this integration scenario, you are able to transfer all necessary data (e.g. cost center, company codes,…) from SAP S/4HANA Cloud to the third-party payroll provider. After running payroll by the provider, you will get the posting documents as a journal entry via Webservices in your SAP S/4HANA Cloud.
Please note that you have to carefully check whether the interfaces and APIs listed below support your requirements sufficiently.
The business process as well the process diagram look as in the following two figures :
Figure 1: Business process
Figure 2: Process diagram
To assist you in successfully implementing and integrating third-party payroll with your SAP S/4HANA Cloud, you can use the following steps as a rough guideline which is a simplified approach:
Note: In the following, where appropriate, I will use the following abbreviation: SAP S/4HANA Cloud will also be shortened to S/4HANA.
- You have to ensure SAP S/4HANA Cloud as the system of record of cost centers.
- Company codes, cost center and business partner must be known to the third-party payroll provider. Therefore, once, at the beginning of the whole process, the G/L Accountant of your company must contact the payroll service provider e.g. for clarifying of which of your company codes and cost center data are used for the payroll process (define the data in the provider system). The APIs for the business objects which are relevant for this integration are as follow:
API Description Send cost center data Send cost center data from SAP S/4HANA Cloud via DRF Send company code data Send company codes from SAP S/4HANA Cloud via DRF Replicate business partner data Replicate business partner from SAP S/4HANA Cloud to the client
To get a better understanding for how to integrate S/4HANA with third-party systems using SOAP APIs, please read the following blog entries:
- Out of those data, please ensure that necessary payroll relevant employee data also must be transferred to the third-party payroll provider.A standard payroll integration template for SAP SuccessFactors Employee Central is provided by SAP. Please take the documentation in the following link: Standard Payroll Integration Template for SAP SuccessFactors Employee Central
This documentation gives you an overview about how to integrate SAP SuccessFactors Employee Central with any payroll provider. This is not an out-of-box solution to integrate with any benefits provider. Integration is through the process libraryDepending on which third-party payroll provider you are working with and which middleware you are using, you can choose between following options:
Integrating SAP SuccessFactors Employee Central with NGA HR Payroll Exchange (SAP Cloud Platform Integration)
This documentation gives you an overview about how to integrate SAP SuccessFactors Employee Central with third-party payroll vendor NGA HR, using SAP Cloud Platform Integration as middleware.
Integrating SAP SuccessFactors Employee Central with NGA HR Payroll Exchange (Dell Boomi)
This documentation gives you an overview about how to integrate SAP SuccessFactors Employee Central with third-party payroll vendor NGA HR using Dell Boomi as middleware
SAP SuccessFactors Employee Central integrated with ADP Global Payroll (PDF)
ADP Global proprietary document about Employee Central integration with ADP Global Payroll.
These steps are described at SAP Help Portal for SAP SuccessFactors Employee Central (click on View all under the tab Integration).
Note that the documentations above are based on SAP SuccessFactors Employee Central as used HCM system as your employee system of records. In case of using of another (non-SAP) HCM system, you should ensure by your own which data must be transferred from your HCM system into the third-party payroll provider.For the overall scenarios regarding integrations with SAP SuccessFactors Employee Central, please follow this link and choose the button “View all” below the “Integration” part.
- You should ensure the availability of the journal entry service which enables you to post journal entries from external systems to the SAP S/4HANA Cloud system via web services. This means that you are able to get all posting documents after a payroll run as journal entries (SAP_COM_0002).
For a detailed view of the journal entry service, please look into the documentation.An example code with a creditor item for a journal entry (XML) is as follow (The WSDL file will be available after setting up the communication arrangement in S/4HANA):
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sfin="http://sap.com/xi/SAPSCORE/SFIN"> <soapenv:Header/> <soapenv:Body> <sfin:JournalEntryBulkCreateRequest> <MessageHeader> <CreationDateTime>2018-01-01T01:01:01.1Z</CreationDateTime> </MessageHeader> <JournalEntryCreateRequest> <MessageHeader> <CreationDateTime>2018-01-01T01:01:01.1Z</CreationDateTime> </MessageHeader> <JournalEntry> <OriginalReferenceDocumentType>BKPFF</OriginalReferenceDocumentType> <OriginalReferenceDocument>0100000270F0012014</OriginalReferenceDocument> <OriginalReferenceDocumentLogicalSystem>THIRDPARTY</OriginalReferenceDocumentLogicalSystem> <BusinessTransactionType>RFBU</BusinessTransactionType> <AccountingDocumentType>AB</AccountingDocumentType> <DocumentHeaderText>PAYROLL POSTING</DocumentHeaderText> <CreatedByUser>Payroll User</CreatedByUser> <CompanyCode>1710</CompanyCode> <DocumentDate>2017-02-26</DocumentDate> <PostingDate>2018-06-25</PostingDate> <Item> <AccountAssignment> <CostCenter>0017101751</CostCenter> </AccountAssignment> <ReferenceDocumentItem>0000000001</ReferenceDocumentItem> <GLAccount listID="">0061100000</GLAccount> <AmountInTransactionCurrency currencyCode="USD">1650</AmountInTransactionCurrency> <AmountInCompanyCodeCurrency currencyCode="USD">1650</AmountInCompanyCodeCurrency> <DebitCreditCode>S</DebitCreditCode> </Item> <CreditorItem> <ReferenceDocumentItem>0000000002</ReferenceDocumentItem> <Creditor>0017401710</Creditor> <AmountInTransactionCurrency currencyCode="USD">-1650</AmountInTransactionCurrency> <AmountInCompanyCodeCurrency currencyCode="USD">-1650</AmountInCompanyCodeCurrency> </CreditorItem> </JournalEntry> </JournalEntryCreateRequest> </sfin:JournalEntryBulkCreateRequest> </soapenv:Body> </soapenv:Envelope>
After posting the journal entry into S/4HANA, you will find the item in the app Manage Journal Entry as in the following screenshot:
Another possibility to call a journal entry is to use the API Read Journal Entry: This OData service enables you to read (request) journal entry items and also detailed cost center and company codes.
Additionally, you are able to filter and select (e.g. calling journal entries with company code xxxx) on the appropriate properties. Click here for the business documentation.
In case of needed further business objects, please check the API Business Hub.