This guide explains how to configure integration between SAP Self-Billing Cockpit and an SAP S/4HANA system. Follow the sections below step by step.
Overview
The complete setup involves the following major tasks:
Prerequisites
Your global account and subaccount on SAP BTP are set up.You have the Administrator role for the global account.You have the Security Administrator role for the subaccount to manage role collections.
1. Creating a Communication User
Log on to the SAP GUI in the SAP S/4HANA system.Run transaction SU01.Enter a username and choose Technical User.On the Logon Data tab:Set User Type to Service.Enter a password and record it (used when creating destinations in SAP BTP).On the Roles tab, assign: SAP_ALL/SAP_APP.
2. Checking the Availability of OData Services
Log on to the SAP S/4HANA system.Run transaction /IWFND/MAINT_SERVICE (Activate and Maintain Services).
For each required OData service, choose SAP Gateway Client → Execute to check status.
If the system returns HTTP 200, the service is working. Otherwise choose Add Service and add the missing service.
External Service NameProcessing ModeSystem AliasesRemarksAPI_BUSINESS_PARTNERRouting-basedrequired API_SD_SA_SOLDTOPARTYDETNCo-deployed only API_OUTBOUND_DELIVERY_SRVRouting-basedrequiredVersion: 2API_BILLING_DOCUMENT_SRVCo-deployed only API_SUBSQNT_BILLG_DOC_SBI_SRVCo-deployed only API_PRODUCT_SRVRouting-basedrequired API_SALESORGANIZATION_SRVCo-deployed only API_SALES_DOCUMENT_REASON_SRVRouting-basedrequired API_COMPANYCODE_SRVCo-deployed only API_CREDIT_MEMO_REQUEST_SRVCo-deployed only only used for Invoice CreationAPI_DEBIT_MEMO_REQUEST_SRVCo-deployed only only used for Invoice Creation
3. Configuring the Cloud Connector
Download the SAP Cloud Connector from the SAP Tools website and install it on a server that remains continuously available. If the server is shut down, the connection between SAP Self-Billing Cockpit and SAP S/4HANA will break. For details, see Cloud Connector for SAP BTP Connectivity.
In the Cloud Connector
Add your SAP BTP subaccount and verify the connection is Green (Connected).
Region
Europe(Frankfurt) – AWS
cf.eu10.hana.ondemand.comSubaccount<Your subaccount ID>Display NameBy yourselfLogin E-Mail<Your subaccount user>Password<Your subaccount user password>Location IDDon’t need to maintainDescriptionBy yourself
Under Cloud To On-Premise, add a new system mapping. Obtain host and port values in S/4 via SMICM → GOTO → Services.
SAP S/4HANA ports:Go to the Transaction SMICM. Choose from the menu “GOTO -> Services”.You can find the ports and host information.
Click the check button to check the connection availability
Add resources (typically / for all resources) or define specific allowed paths.
For self-billing APIs, add specific URL paths and set the Access Policy to Path and All Sub-Paths.
OData
/sap/opu/odata/sap/API_BILLING_DOCUMENT_SRV
OData
/sap/opu/odata/sap/API_BUSINESS_PARTNER
OData
/sap/opu/odata/sap/API_OUTBOUND_DELIVERY_SRV;v=0002
OData
/sap/opu/odata/sap/API_PRODUCT_SRV
OData
/sap/opu/odata/sap/API_SALESORGANIZATION_SRV
OData
/sap/opu/odata/sap/API_SALES_DOCUMENT_REASON_SRV
OData
/sap/opu/odata/sap/API_SD_SA_SOLDTOPARTYDETN
OData
/sap/opu/odata/sap/API_SUBSQNT_BILLG_DOC_SBI_SRV
OData
/sap/opu/odata/sap/API_COMPANYCODE_SRV
SOAP
The value of the additional property CREATE_BILLING_URL_PATH configured in the destination
SOAP
The value of the additional property UPDATE_JE_URL_PATH configured in the destination
SOAP
The value of the additional property UPDATE_BILLING_URL_PATH configured in the destination
SOAP
The value of the additional property SIMULATE_PRICING_PATH configured in the destination
OData
/sap/opu/odata/sap/API_BILLING_DOCUMENT_SRV
OData
/sap/opu/odata/sap/API_BUSINESS_PARTNER
OData
/sap/opu/odata/sap/API_OUTBOUND_DELIVERY_SRV;v=0002
OData
/sap/opu/odata/sap/API_PRODUCT_SRV
OData
/sap/opu/odata/sap/API_SALESORGANIZATION_SRV
OData
/sap/opu/odata/sap/API_SALES_DOCUMENT_REASON_SRV
OData
/sap/opu/odata/sap/API_SD_SA_SOLDTOPARTYDETN
OData
/sap/opu/odata/sap/API_SUBSQNT_BILLG_DOC_SBI_SRV
OData
/sap/opu/odata/sap/API_CREDIT_MEMO_REQUEST_SRV
OData
/sap/opu/odata/sap/API_DEBIT_MEMO_REQUEST_SRV
OData
/sap/opu/odata/sap/API_COMPANYCODE_SRV
SOAP
The value of the additional property CREATE_BILLING_URL_PATH configured in the destination
SOAP
The value of the additional property CREATE_INVOICE_URL_PATH configured in the destination
SOAP
The value of the additional property SIMULATE_PRICING_PATH configured in the destination
Check the cloud connectors in SAP BTP subaccount.
4. Subscribing to SAP Self-Billing Cockpit
Log on to the SAP BTP Cockpit (Cloud Foundry).
Navigate to Connectivity → Destinations → New Destination.
Create a destination with the following values:Name: SELFB_DEST_S4HANA (must match exactly)Type: HTTPURL: Virtual host and port from Cloud ConnectorProxy Type: OnPremiseAuthentication: Basic AuthenticationUser / Password: Communication user created earlierAdd additional property can be created with : SAP_CLIENTUse Check Connection to validate.
Open Service Marketplace, select SAP Self-Billing Cockpit, and choose Create to subscribe.
5. Assigning Role Collections to Users
Create role collections in SAP BTP and assign the recommended roles:
Admin – SAP_BR_ADMINISTRATORBilling_Clerk – SAP_SELFB_CLERKConfirmation – SAP_SELFB_CR_APITransmission – SAP_SELFB_TR_API
Assign these collections to your technical and business users as required.
Create a technical user in your own IDP service.Log on to the SAP BTP cockpit (Cloud Foundry environment) with your registered subaccount.Choose Security > Role Collections.Create a role collection, enter a name and a description, and save the settings.
6. Configuring Data Replication (Units of Measurement & Plants)
This section covers:
Setting up SOA endpointsCreating replication models via DRFIMGExecuting and scheduling replication jobs via DRFOUT and SM36
This guide explains how to configure, execute, and optionally schedule master data replication from SAP S/4HANA to SAP Self-Billing Cockpit
1. Configure Endpoints in SOAMANAGER
Follow these steps for each object, using its specific service name and endpoint path.
1.1 Common Procedure
Log on to SAP S/4HANA and run SOAMANAGER.
Navigate to Service Administration → Web Service Configuration.
Search for the required service (listed below).
Choose Create → Manual Configuration.
Enter a logical port name and description.
Mark the port as default, then choose Next.
Under Consumer Security:
Set Authentication: User ID / Password
Enter the SAP BTP technical user credentials
Click Next
Under HTTP Settings → URL Components, configure:
Protocol: HTTPS
Host: <subdomain>.eu10.selfbilling.cloud.sap
Port: 443
Path: (see table below)
Under SOAP Protocol:
RM Protocol: SAP RM
Message ID Protocol: SAP Message ID
Data Transfer Scope: Minimal Data Transfer
Transfer Protocol: Transfer via HTTP header
Activate and save the logical port as the default port.
1.2 Object-Specific Service Details
Note:
If using a custom identity provider, append:
?login_hint=%7B%22origin%22%3A%22sap.custom%22%7D
to the end of the path.
2. Define Replication Models in DRFIMG
Steps below apply to both UoM and Plant models, with only the implementation differing.
2.1 Common Procedure
Run DRFIMG.
Navigate to:
Data Replication → Define Custom Settings for Data Replication → Define Replication Models
Choose New Entries and create:
A replication model name (e.g., UOM_999, PLANT_999)
A description
Save the model.
Select the model → choose Assign Outbound Implementation.
Choose New Entries, assign outbound implementation (see table below).
Select the outbound implementation → choose
Assign Target Systems for Repl. Model / Outb. Impl.
Add a new entry with your business system name.
(For UoM only) Assign outbound parameters if required.
Return and activate the replication model.
2.2 Object-Specific Outbound Implementation
3. Execute Data Replication in DRFOUT
Use this single process for both UoM and Plant models.
3.1 Common Procedure
Run DRFOUT.
Select:
The replication model created earlier
The corresponding outbound implementation
Set Replication Mode = Manual.
Execute data replication.
3.2 Important Notes
Ensure the SAP Self-Billing Cockpit subscription is active.
The SAP BTP technical user must have the role:
SAP_BR_ADMINISTRATOR
Trigger manual replication whenever master data is updated before the scheduled job runs.
3.3 Save as Variant
After executing replication, return to the selection screen.
Save the selection as a variant.
Enter:
Variant name
Description
Save.
(Repeat once for UoM and once for Plant replication.)
4. Schedule Data Replication (Optional)
This procedure is identical for both replication models.
Run SM36.
Choose Job Wizard.
Provide:
Job Name
ABAP Program: RDRF_MESSAGE_OUT
Variant: Select the variant (UoM or Plant)
Set scheduling frequency
Save and activate the job.
Monitor under Own Jobs
The steps are similar for Units of Measurement and Plants; only the specific service names and outbound implementations differ.
7. Configuring the Service for Updating Journal Entries (Automatic Posting Only)
Key tasks:
Create inbound and outbound SOAP services using SOAMANAGER.Configure security, HTTP settings, and logical ports.Map logical ports to tenant IDs.Run /AIF/CONTENT_EXTRACT to extract deployment scenario SAP_COM_0002.
1. Create an Inbound Service
Log on to your SAP S/4HANA system and run transaction SOAMANAGER to open the SOA Manager.
Navigate to Service Administration → Web Service Configuration.
Search for the object JOURNALENTRYBULKCHANGEREQUEST_ and select the result.
Choose Create Service to create a binding.
In the Provider Security tab:
Set Transport Level Security to SSL (HTTPS).
Set Transport Channel Authentication to User ID / Password.
Activate the binding.
2. Create an Outbound Service (Logical Port)
Run transaction SOAMANAGER again.
Navigate to Service Administration → Web Service Configuration.
Search for the object CO_FINS_JOURNAL_ENTRY_BULK_CHA and select the result.
Under Create, choose Manual Configuration.
Enter a logical port name and description, mark it as the default logical port, and note the port name for later use.
On the Consumer Security tab:
Select User ID / Password as the authentication method.
Enter the User Name and Password of the technical user created in SAP BTP.
On the HTTP Settings tab:
Protocol: HTTPS
Host: <subdomain>.eu10.selfbilling.cloud.sap
Port: 443
Path: /api-password/selfbilling-confirmation-service/v1/api/JournalEntryBulkChangeConfirmation_In
Keep all other fields as default.
Note:
If you use a custom identity provider (instead of SAP ID service), append the following to the end of the path:
?login_hint=%7B%22origin%22%3A%22sap.custom%22%7D
On the SOAP Protocol tab:
RM Protocol: SAP RM
Message ID Protocol: Suppress ID Transfer
Data Transfer Scope: Minimal Data Transfer
Transfer Protocol: Transfer via HTTP Header
Choose Next and complete the configuration.
3. Set Up Mapping Between the Inbound and Outbound Services
In SAP S/4HANA, run transaction SPRO.
Navigate to:
SAP Reference IMG → Financial Accounting → Financial Accounting → Global Settings → API Settings for API Monitoring → Map External System and Logical Port
Choose New Entries and maintain the following:
External System ID: Your BTP subaccount tenant ID
Logical Port: The outbound logical port created earlier
4. Extract Deployment Scenario
Run transaction /AIF/CONTENT_EXTRACT.
Extract deployment scenario SAP_COM_0002.
8. Configuring the Service for Billing Integration
This section includes:
Creating a security profile in SOAMANAGER.Activating pending tasks and rebuilding lists.Creating provider systems and uploading WSDL files.Assigning service groups and creating integration scenarios.Running pending tasks and enabling point-to-point communication for async services.
1. Create a Security Profile
Log on to your SAP S/4HANA system and run transaction SOAMANAGER to open the SOA Manager.
Navigate to Technical Administration → Profile, then choose Create Profile.
On the General tab, enter a profile name and choose Next.
On the Security tab:
Set Transport Level Security to SSL (HTTPS).
Set Transport Channel Authentication to User ID / Password.
Choose Next, then Finish.
Activate the profile.
2. Activate Pending Tasks
In SOAMANAGER, go to Service Administration → Pending Tasks.
Choose Switch to Expert Mode.
Choose Filter by Profile and Version, select the profile you created, and set Version = 1.
Choose Rebuild List to refresh the pending-task list for that profile.
Choose Process List and verify that all tasks were processed successfully.
3. Define a Provider System (for Business Scenario Configuration)
In SOAMANAGER, navigate to Technical Administration → Provider Systems.
Choose Create Special → Create Third-Party System.
On the General tab:
Enter a system name (use the tenant ID of your BTP subaccount).
Select the security profile you created.
Choose Next.
On Services Search Settings, enter the SAP S/4HANA credentials that WSIL will use, then choose Check to verify authentication.
Return to the provider systems list, select the provider system you created, and choose Edit.
On the WSDL Assignments tab, choose Upload and upload the outbound WSDL files you downloaded from the API Hub.
Important: Before uploading, update any host/subdomain placeholders in the WSDL files to match your environment (<subdomain>.eu10.selfbilling.cloud.sap, or your custom host).
If you use a custom identity provider instead of the SAP ID service, append the following to each service path:
Continue through the wizard and activate the provider system.
If you see a connection-check warning when validating the provider system, it is often a transient or expected message depending on your network/WSIL setup — you can ignore it if other checks pass and WSDLs upload successfully.
4. Create a Technical User and Assign Logon Data
In SOAMANAGER, go to Service Administration → Logon Data Management.
Create logon data entries with the Authentication Method set to User/Password (or X.509 as required) and store the credentials. Save your changes.
Open the Assignments tab and choose Create.
For Provider IBC Reference, select the provider system you defined earlier. Choose Restrict to Service Group / Consumer Factory and enter the service group:
Choose Next, select the logon data you created, and choose Finish.
Repeat the assignment (steps 3–5) for these service groups:
SDBIL_SBI_CDM_API_OUT
SDBIL_SBI_SMLTE_API_OUT
SDBIL_SBI_BD_CREATE_API_OUT
5. Create an Integration Scenario
In SOAMANAGER, go to Service Administration → Local Integration Scenario Configuration and create a new integration scenario.
On the Service Definitions tab, add the inbound services and assign the security profile you created:
BD_UPDATE_SBI_REQUEST_IN
CREDITDEBITMEMOREQUEST_IN
BDSIMULATEPRICINGREQUEST_IN
BDCREATESELFBILLINGREQUEST_IN
Then choose Next.
Add the outbound service groups and set the Provider IBC Reference to the provider system you created:
SDBIL_SBI_BD_UPD_API_OUT
SDBIL_SBI_CDM_API_OUT
SDBIL_SBI_SMLTE_API_OUT
SDBIL_SBI_BD_CREATE_API_OUT
For Logon Data, select the logon entry you created earlier.
Confirm and activate the integration scenario.
6. Run Pending Tasks (to create logical ports)
In SOAMANAGER → Service Administration → Pending Tasks, switch to Expert Mode.
Choose Filter by Business Scenario, and enter the integration scenario name you created.
Choose Process List — this creates the logical ports and other objects defined by the scenario.
7. Extract Deployment Scenario
Run transaction /AIF/CONTENT_EXTRACT and extract the deployment scenario SAP_COM_0564.
8. Enable Point-to-Point Asynchronous Communication
Run transaction SPRO.
Navigate to:
Activate support if it is not already enabled.
APIs for Billing Integration
Download the WSDLs for these services from the API Hub and upload them to your provider system. Update host/subdomain placeholders before upload.
SBINV / SBWAP columns indicate whether each API is present for standard Self-Billing (SBINV) and Self-Billing with Adjustment Processing (SBWAP) scenarios.
9. Defining Additional Destination Properties
Add the following properties to the destination:
CREATE_BILLING_URL_PATHUPDATE_JE_URL_PATHUPDATE_BILLING_URL_PATHCREATE_INVOICE_URL_PATHUI_SALES_ORDER_PATHSIMULATE_PRICING_PATHUI_* paths (UI_BILLING_PATH, UI_DELIVERY_PATH, etc.)SAP_CLIENTNameValueRemarkCREATE_BILLING_URL_PATHPath of the API for creating credit memos or debit memos in your SAP S/4HANA system UPDATE_JE_URL_PATHPath of the API for updating journal entries in your SAP S/4HANA systemOnly for SBWAPUPDATE_BILLING_URL_PATHPath of the API for updating billing documents in your SAP S/4HANA systemOnly for SBWAPCREATE_INVOICE_URL_PATHPath of the API for creating invoices in your SAP S/4HANA systemOnly for SBINVSIMULATE_PRICING_PATHPath of the API for pricing simulation in your SAP S/4HANA system UI_BILLING_PATHIt is in the format of https://<host>/sap/bc/ui5_ui5/ui2/ushell/shells/abap/FioriLaunchpad.html#BillingDocument-displayFactSheet&/C_BillingDocumentFs(‘%s’), where <host> is your host name. UI_SALES_ORDER_PATHIt is in the format of https://<host>/sap/bc/ui5_ui5/ui2/ushell/shells/abap/FioriLaunchpad.html#SalesOrder-displayFactSheet&/C_SalesorderFs(‘%s’), where <host> is your host name. UI_DELIVERY_PATHIt is in the format of https://<host>/sap/bc/ui5_ui5/ui2/ushell/shells/abap/FioriLaunchpad.html#OutboundDelivery-displayFactSheet&/C_OutboundDeliveryFs(‘%s’), where <host> is your host name. UI_CMR_PATHIt is in the format of https://<host>/sap/bc/ui5_ui5/ui2/ushell/shells/abap/FioriLaunchpad.html?sap-client=<sap client>#CreditMemoRequest-display?CreditMemoRequest=%s, where <host> is your host name and <sap client> is the client number of your SAP S/4HANA system. UI_DMR_PATHIt is in the format of https://<host>/sap/bc/ui5_ui5/ui2/ushell/shells/abap/FioriLaunchpad.html?sap-client=<sap client>#DebitMemoRequest-display?DebitMemoRequest=%s, where <host> is your host name and <sap client> is the client number of your SAP S/4HANA system. SAP_CLIENTClient number of your SAP S/4HANA system.
To obtain the correct paths, use SOAMANAGER → Web Service Configuration and check the Calculated Access URL for each service binding.
Retrieving Service Endpoints for Billing Integration
Follow the steps below to obtain the endpoint paths required for configuring billing-related services in your SAP S/4HANA system.
1. Access the SOA Manager
Log on to your SAP S/4HANA system and run transaction SOAMANAGER to open the SOA Manager.
In the Service Administration section, choose Web Service Configuration.
2. Retrieve the Endpoint for Updating Journal Entries
Search for the object named JOURNALENTRYBULKCHANGEREQUEST_ and open the result.
Select the service that you created for updating journal entries and display its Binding.
Choose Transport Settings and note the value in Calculated Access URL.
This represents the API endpoint for updating journal entries.
→ Assign this value to the property UPDATE_JE_URL_PATH.
3. Retrieve Additional Service Endpoints
Repeat Steps 1–3 above for each of the following services, and assign the extracted Calculated Access URL to the corresponding property name.
10. Verifying the Integration Setup
This section explains how to validate your integration configuration. The example below uses the service for updating journal entries, but the same approach applies to other related services.
1. Verify the Web Service Configuration in SOA Manager
Log on to your SAP S/4HANA system and run transaction SOAMANAGER to open the SOA Manager.
Under Service Administration, choose Web Service Configuration.
Search for the object CO_FINS_JOURNAL_ENTRY_BULK_CHA and open the result.
Select the service you created for updating journal entries and choose Ping Web Service.
If the response shows HTTP 405, the integration setup is correct.
2. Verify Additional Services
Repeat the steps above to ping and validate the following services in your SAP S/4HANA system:
PurposeObject NameService for updating billing documentsSDBIL_SBI_BD_UPD_API_OUTService for creating billing documentsSDBIL_SBI_CDM_API_OUTService for simulating pricesSDBIL_SBI_SMLTE_API_OUTService for invoice creationSDBIL_SBI_BD_CREATE_API_OUT
3. Verifying OData Services and Destination Using the API
You can further validate the configuration of OData services and the destination by performing a check through the API.
Steps:
Open Postman and create a GET request.
Enter the following URL: https://<subdomain>/api-password/selfbilling-customizing-service/v1/api/check
Replace <subdomain> with the subdomain of your BTP subaccount.
Go to Authorization, set Type = Basic Auth, and enter the username and password of the technical user assigned with the SAP_BR_ADMINISTRATOR role.
Execute the request.
Expected Result:
All items under odataCheck return “200 OK”
Configuration Missing under additionalCheck is empty
If both conditions are satisfied, your integration setup is correct.👌
Summary
Configure communication and OData in the S/4HANA system.Set up Cloud Connector and create the OnPremise destination in SAP BTP.Subscribe to Self-Billing Cockpit and assign required role collections.Configure replication models, SOAP services, and billing integration scenarios.Complete destination properties and verify all services.
Additional Information
• SAP Self-Billing Cockpit Product Documentation
• SAP Self-Billing Cockpit on SAP Store
Blog Post Series for SAP Self-Billing Cockpit
SAP Self-Billing CockpitHow to Set Up Integration Between SAP Self-Billing Cockpit and SAP S/4HANA CloudHow to Set Up Cloud ConnectorHow to Set Up a Custom Identity ProviderSelf-Billing with Invoice CreationSelf-Billing Cockpit Q&A[Feature]Automatic Execution of Self-Billing[Feature]Comparison of Tax in Self-Billing with Automated Posting[Feature]Main reference duplicate checks in self-billing with automatic posting[Feature]Support for multiple pricing types in the copying control for billing[Feature]Customize self-billing processing[Feature]Side-by-side extensiblity to adjust the received transmission(ABAP)[Feature]Side-by-side extensiblity to custom the product and customer material mapping logic(ABAP)
This guide explains how to configure integration between SAP Self-Billing Cockpit and an SAP S/4HANA system. Follow the sections below step by step.OverviewThe complete setup involves the following major tasks:Create Communication User Check OData Services Configure Cloud Connector Subscribe to Self-Billing Assign Role Collections Data Replication Journal Entry Services Billing Integration Services Destination PropertiesPrerequisitesYour global account and subaccount on SAP BTP are set up.You have the Administrator role for the global account.You have the Security Administrator role for the subaccount to manage role collections.1. Creating a Communication UserLog on to the SAP GUI in the SAP S/4HANA system.Run transaction SU01.Enter a username and choose Technical User.On the Logon Data tab:Set User Type to Service.Enter a password and record it (used when creating destinations in SAP BTP).On the Roles tab, assign: SAP_ALL/SAP_APP.2. Checking the Availability of OData ServicesLog on to the SAP S/4HANA system.Run transaction /IWFND/MAINT_SERVICE (Activate and Maintain Services). For each required OData service, choose SAP Gateway Client → Execute to check status.If the system returns HTTP 200, the service is working. Otherwise choose Add Service and add the missing service.External Service NameProcessing ModeSystem AliasesRemarksAPI_BUSINESS_PARTNERRouting-basedrequired API_SD_SA_SOLDTOPARTYDETNCo-deployed only API_OUTBOUND_DELIVERY_SRVRouting-basedrequiredVersion: 2API_BILLING_DOCUMENT_SRVCo-deployed only API_SUBSQNT_BILLG_DOC_SBI_SRVCo-deployed only API_PRODUCT_SRVRouting-basedrequired API_SALESORGANIZATION_SRVCo-deployed only API_SALES_DOCUMENT_REASON_SRVRouting-basedrequired API_COMPANYCODE_SRVCo-deployed only API_CREDIT_MEMO_REQUEST_SRVCo-deployed only only used for Invoice CreationAPI_DEBIT_MEMO_REQUEST_SRVCo-deployed only only used for Invoice Creation3. Configuring the Cloud ConnectorDownload the SAP Cloud Connector from the SAP Tools website and install it on a server that remains continuously available. If the server is shut down, the connection between SAP Self-Billing Cockpit and SAP S/4HANA will break. For details, see Cloud Connector for SAP BTP Connectivity.In the Cloud ConnectorAdd your SAP BTP subaccount and verify the connection is Green (Connected). RegionEurope(Frankfurt) – AWScf.eu10.hana.ondemand.comSubaccount<Your subaccount ID>Display NameBy yourselfLogin E-Mail<Your subaccount user>Password<Your subaccount user password>Location IDDon’t need to maintainDescriptionBy yourself Under Cloud To On-Premise, add a new system mapping. Obtain host and port values in S/4 via SMICM → GOTO → Services. SAP S/4HANA ports:Go to the Transaction SMICM. Choose from the menu “GOTO -> Services”.You can find the ports and host information. Click the check button to check the connection availability Add resources (typically / for all resources) or define specific allowed paths. For self-billing APIs, add specific URL paths and set the Access Policy to Path and All Sub-Paths.API CategoryURL Path OData/sap/opu/odata/sap/API_BILLING_DOCUMENT_SRVOData/sap/opu/odata/sap/API_BUSINESS_PARTNEROData/sap/opu/odata/sap/API_OUTBOUND_DELIVERY_SRV;v=0002OData/sap/opu/odata/sap/API_PRODUCT_SRVOData/sap/opu/odata/sap/API_SALESORGANIZATION_SRVOData/sap/opu/odata/sap/API_SALES_DOCUMENT_REASON_SRVOData/sap/opu/odata/sap/API_SD_SA_SOLDTOPARTYDETNOData/sap/opu/odata/sap/API_SUBSQNT_BILLG_DOC_SBI_SRVOData/sap/opu/odata/sap/API_COMPANYCODE_SRVSOAPThe value of the additional property CREATE_BILLING_URL_PATH configured in the destinationSOAPThe value of the additional property UPDATE_JE_URL_PATH configured in the destinationSOAPThe value of the additional property UPDATE_BILLING_URL_PATH configured in the destinationSOAPThe value of the additional property SIMULATE_PRICING_PATH configured in the destinationFor APIs used in self-billing with invoice creation, specify the URL paths as follows:API CategoryURL Path OData/sap/opu/odata/sap/API_BILLING_DOCUMENT_SRVOData/sap/opu/odata/sap/API_BUSINESS_PARTNEROData/sap/opu/odata/sap/API_OUTBOUND_DELIVERY_SRV;v=0002OData/sap/opu/odata/sap/API_PRODUCT_SRVOData/sap/opu/odata/sap/API_SALESORGANIZATION_SRVOData/sap/opu/odata/sap/API_SALES_DOCUMENT_REASON_SRVOData/sap/opu/odata/sap/API_SD_SA_SOLDTOPARTYDETNOData/sap/opu/odata/sap/API_SUBSQNT_BILLG_DOC_SBI_SRVOData/sap/opu/odata/sap/API_CREDIT_MEMO_REQUEST_SRVOData/sap/opu/odata/sap/API_DEBIT_MEMO_REQUEST_SRVOData/sap/opu/odata/sap/API_COMPANYCODE_SRVSOAPThe value of the additional property CREATE_BILLING_URL_PATH configured in the destinationSOAPThe value of the additional property CREATE_INVOICE_URL_PATH configured in the destinationSOAPThe value of the additional property SIMULATE_PRICING_PATH configured in the destinationCheck the cloud connectors in SAP BTP subaccount. 4. Subscribing to SAP Self-Billing CockpitLog on to the SAP BTP Cockpit (Cloud Foundry). Navigate to Connectivity → Destinations → New Destination. Create a destination with the following values:Name: SELFB_DEST_S4HANA (must match exactly)Type: HTTPURL: Virtual host and port from Cloud ConnectorProxy Type: OnPremiseAuthentication: Basic AuthenticationUser / Password: Communication user created earlierAdd additional property can be created with : SAP_CLIENTUse Check Connection to validate. Open Service Marketplace, select SAP Self-Billing Cockpit, and choose Create to subscribe. 5. Assigning Role Collections to UsersCreate role collections in SAP BTP and assign the recommended roles:Admin – SAP_BR_ADMINISTRATORBilling_Clerk – SAP_SELFB_CLERKConfirmation – SAP_SELFB_CR_APITransmission – SAP_SELFB_TR_APIAssign these collections to your technical and business users as required.Create a technical user in your own IDP service.Log on to the SAP BTP cockpit (Cloud Foundry environment) with your registered subaccount.Choose Security > Role Collections.Create a role collection, enter a name and a description, and save the settings. 6. Configuring Data Replication (Units of Measurement & Plants)This section covers:Setting up SOA endpointsCreating replication models via DRFIMGExecuting and scheduling replication jobs via DRFOUT and SM36This guide explains how to configure, execute, and optionally schedule master data replication from SAP S/4HANA to SAP Self-Billing Cockpit 1. Configure Endpoints in SOAMANAGERFollow these steps for each object, using its specific service name and endpoint path.1.1 Common ProcedureLog on to SAP S/4HANA and run SOAMANAGER.Navigate to Service Administration → Web Service Configuration.Search for the required service (listed below).Choose Create → Manual Configuration.Enter a logical port name and description.Mark the port as default, then choose Next.Under Consumer Security:Set Authentication: User ID / PasswordEnter the SAP BTP technical user credentialsClick NextUnder HTTP Settings → URL Components, configure:Protocol: HTTPSHost: <subdomain>.eu10.selfbilling.cloud.sapPort: 443Path: (see table below)Under SOAP Protocol:RM Protocol: SAP RMMessage ID Protocol: SAP Message IDData Transfer Scope: Minimal Data TransferTransfer Protocol: Transfer via HTTP headerActivate and save the logical port as the default port.1.2 Object-Specific Service DetailsObject Service Name Endpoint Path Units of MeasurementUNITOFMEASUREMENTMASTERDATAREPLICATIONBUNDLEREQUEST_OUT/api-password/selfbilling-core-service/v1/erpintegration/data/UnitOfMeasurementMasterDataReplicationBundleRequest_InPlantsPLANTMASTERDATAREPLICATIONBUNDLEREQUEST_OUT/api-password/selfbilling-core-service/v1/erpintegration/data/plantsSyncNote:If using a custom identity provider, append:?login_hint=%7B%22origin%22%3A%22sap.custom%22%7Dto the end of the path.2. Define Replication Models in DRFIMGSteps below apply to both UoM and Plant models, with only the implementation differing.2.1 Common ProcedureRun DRFIMG.Navigate to:Data Replication → Define Custom Settings for Data Replication → Define Replication ModelsChoose New Entries and create:A replication model name (e.g., UOM_999, PLANT_999)A descriptionSave the model.Select the model → choose Assign Outbound Implementation.Choose New Entries, assign outbound implementation (see table below).Select the outbound implementation → chooseAssign Target Systems for Repl. Model / Outb. Impl.Add a new entry with your business system name.(For UoM only) Assign outbound parameters if required.Return and activate the replication model.2.2 Object-Specific Outbound ImplementationObject Outbound Implementation Units of MeasurementARIBA_999PlantsLMDR_PLANT3. Execute Data Replication in DRFOUTUse this single process for both UoM and Plant models.3.1 Common ProcedureRun DRFOUT.Select:The replication model created earlierThe corresponding outbound implementationSet Replication Mode = Manual.Execute data replication.3.2 Important NotesEnsure the SAP Self-Billing Cockpit subscription is active.The SAP BTP technical user must have the role:SAP_BR_ADMINISTRATORTrigger manual replication whenever master data is updated before the scheduled job runs.3.3 Save as VariantAfter executing replication, return to the selection screen.Save the selection as a variant.Enter:Variant nameDescriptionSave.(Repeat once for UoM and once for Plant replication.)4. Schedule Data Replication (Optional)This procedure is identical for both replication models.Run SM36.Choose Job Wizard.Provide:Job NameABAP Program: RDRF_MESSAGE_OUTVariant: Select the variant (UoM or Plant)Set scheduling frequencySave and activate the job.Monitor under Own JobsThe steps are similar for Units of Measurement and Plants; only the specific service names and outbound implementations differ.7. Configuring the Service for Updating Journal Entries (Automatic Posting Only)Key tasks:Create inbound and outbound SOAP services using SOAMANAGER.Configure security, HTTP settings, and logical ports.Map logical ports to tenant IDs.Run /AIF/CONTENT_EXTRACT to extract deployment scenario SAP_COM_0002.1. Create an Inbound ServiceLog on to your SAP S/4HANA system and run transaction SOAMANAGER to open the SOA Manager.Navigate to Service Administration → Web Service Configuration.Search for the object JOURNALENTRYBULKCHANGEREQUEST_ and select the result.Choose Create Service to create a binding.In the Provider Security tab:Set Transport Level Security to SSL (HTTPS).Set Transport Channel Authentication to User ID / Password.Activate the binding.2. Create an Outbound Service (Logical Port)Run transaction SOAMANAGER again.Navigate to Service Administration → Web Service Configuration.Search for the object CO_FINS_JOURNAL_ENTRY_BULK_CHA and select the result.Under Create, choose Manual Configuration.Enter a logical port name and description, mark it as the default logical port, and note the port name for later use.On the Consumer Security tab:Select User ID / Password as the authentication method.Enter the User Name and Password of the technical user created in SAP BTP.On the HTTP Settings tab:Protocol: HTTPSHost: <subdomain>.eu10.selfbilling.cloud.sapPort: 443Path: /api-password/selfbilling-confirmation-service/v1/api/JournalEntryBulkChangeConfirmation_InKeep all other fields as default.Note:If you use a custom identity provider (instead of SAP ID service), append the following to the end of the path:?login_hint=%7B%22origin%22%3A%22sap.custom%22%7DOn the SOAP Protocol tab:RM Protocol: SAP RMMessage ID Protocol: Suppress ID TransferData Transfer Scope: Minimal Data TransferTransfer Protocol: Transfer via HTTP HeaderChoose Next and complete the configuration.3. Set Up Mapping Between the Inbound and Outbound ServicesIn SAP S/4HANA, run transaction SPRO.Navigate to:SAP Reference IMG → Financial Accounting → Financial Accounting → Global Settings → API Settings for API Monitoring → Map External System and Logical PortChoose New Entries and maintain the following:External System ID: Your BTP subaccount tenant IDLogical Port: The outbound logical port created earlier4. Extract Deployment ScenarioRun transaction /AIF/CONTENT_EXTRACT.Extract deployment scenario SAP_COM_0002.8. Configuring the Service for Billing IntegrationThis section includes:Creating a security profile in SOAMANAGER.Activating pending tasks and rebuilding lists.Creating provider systems and uploading WSDL files.Assigning service groups and creating integration scenarios.Running pending tasks and enabling point-to-point communication for async services.1. Create a Security ProfileLog on to your SAP S/4HANA system and run transaction SOAMANAGER to open the SOA Manager.Navigate to Technical Administration → Profile, then choose Create Profile.On the General tab, enter a profile name and choose Next.On the Security tab:Set Transport Level Security to SSL (HTTPS).Set Transport Channel Authentication to User ID / Password.Choose Next, then Finish.Activate the profile.2. Activate Pending TasksIn SOAMANAGER, go to Service Administration → Pending Tasks.Choose Switch to Expert Mode.Choose Filter by Profile and Version, select the profile you created, and set Version = 1.Choose Rebuild List to refresh the pending-task list for that profile.Choose Process List and verify that all tasks were processed successfully.3. Define a Provider System (for Business Scenario Configuration)In SOAMANAGER, navigate to Technical Administration → Provider Systems.Choose Create Special → Create Third-Party System.On the General tab:Enter a system name (use the tenant ID of your BTP subaccount).Select the security profile you created.Choose Next.On Services Search Settings, enter the SAP S/4HANA credentials that WSIL will use, then choose Check to verify authentication.Return to the provider systems list, select the provider system you created, and choose Edit.On the WSDL Assignments tab, choose Upload and upload the outbound WSDL files you downloaded from the API Hub.Important: Before uploading, update any host/subdomain placeholders in the WSDL files to match your environment (<subdomain>.eu10.selfbilling.cloud.sap, or your custom host).If you use a custom identity provider instead of the SAP ID service, append the following to each service path: ?login_hint=%7B%22origin%22%3A%22sap.custom%22%7DContinue through the wizard and activate the provider system. If you see a connection-check warning when validating the provider system, it is often a transient or expected message depending on your network/WSIL setup — you can ignore it if other checks pass and WSDLs upload successfully.4. Create a Technical User and Assign Logon DataIn SOAMANAGER, go to Service Administration → Logon Data Management.Create logon data entries with the Authentication Method set to User/Password (or X.509 as required) and store the credentials. Save your changes.Open the Assignments tab and choose Create.For Provider IBC Reference, select the provider system you defined earlier. Choose Restrict to Service Group / Consumer Factory and enter the service group: SDBIL_SBI_BD_UPD_API_OUT Choose Next, select the logon data you created, and choose Finish.Repeat the assignment (steps 3–5) for these service groups:SDBIL_SBI_CDM_API_OUTSDBIL_SBI_SMLTE_API_OUTSDBIL_SBI_BD_CREATE_API_OUT5. Create an Integration ScenarioIn SOAMANAGER, go to Service Administration → Local Integration Scenario Configuration and create a new integration scenario.On the Service Definitions tab, add the inbound services and assign the security profile you created:BD_UPDATE_SBI_REQUEST_INCREDITDEBITMEMOREQUEST_INBDSIMULATEPRICINGREQUEST_INBDCREATESELFBILLINGREQUEST_INThen choose Next.Add the outbound service groups and set the Provider IBC Reference to the provider system you created:SDBIL_SBI_BD_UPD_API_OUTSDBIL_SBI_CDM_API_OUTSDBIL_SBI_SMLTE_API_OUTSDBIL_SBI_BD_CREATE_API_OUTFor Logon Data, select the logon entry you created earlier.Confirm and activate the integration scenario.6. Run Pending Tasks (to create logical ports)In SOAMANAGER → Service Administration → Pending Tasks, switch to Expert Mode.Choose Filter by Business Scenario, and enter the integration scenario name you created.Choose Process List — this creates the logical ports and other objects defined by the scenario.7. Extract Deployment ScenarioRun transaction /AIF/CONTENT_EXTRACT and extract the deployment scenario SAP_COM_0564.8. Enable Point-to-Point Asynchronous CommunicationRun transaction SPRO.Navigate to: SAP Reference IMG → Cross-Application Components → Processes and Tools for Enterprise Applications → Enterprise Services → Point-to-Point Enablement for Asynchronous Enterprise Services → Activate Support for Point2Point Communication Activate support if it is not already enabled.APIs for Billing IntegrationDownload the WSDLs for these services from the API Hub and upload them to your provider system. Update host/subdomain placeholders before upload.Service Name SBINV SBWAP Remarks CreditDebitMemoConfirmation_OutYesYesUsed in versions earlier than S/4HANA 2020 FPS02CreditDebitMemoConfirmation_Out_V2YesYesUse for S/4HANA 2020 FPS02 or laterBD_Update_SBI_Confirmation_OutNoYes BDSimulatePricingConfirmation_OutYesYes BDCreateSelfBillingConfirmation_OutYesNo SBINV / SBWAP columns indicate whether each API is present for standard Self-Billing (SBINV) and Self-Billing with Adjustment Processing (SBWAP) scenarios.9. Defining Additional Destination PropertiesAdd the following properties to the destination:CREATE_BILLING_URL_PATHUPDATE_JE_URL_PATHUPDATE_BILLING_URL_PATHCREATE_INVOICE_URL_PATHUI_SALES_ORDER_PATHSIMULATE_PRICING_PATHUI_* paths (UI_BILLING_PATH, UI_DELIVERY_PATH, etc.)SAP_CLIENTNameValueRemarkCREATE_BILLING_URL_PATHPath of the API for creating credit memos or debit memos in your SAP S/4HANA system UPDATE_JE_URL_PATHPath of the API for updating journal entries in your SAP S/4HANA systemOnly for SBWAPUPDATE_BILLING_URL_PATHPath of the API for updating billing documents in your SAP S/4HANA systemOnly for SBWAPCREATE_INVOICE_URL_PATHPath of the API for creating invoices in your SAP S/4HANA systemOnly for SBINVSIMULATE_PRICING_PATHPath of the API for pricing simulation in your SAP S/4HANA system UI_BILLING_PATHIt is in the format of https://<host>/sap/bc/ui5_ui5/ui2/ushell/shells/abap/FioriLaunchpad.html#BillingDocument-displayFactSheet&/C_BillingDocumentFs(‘%s’), where <host> is your host name. UI_SALES_ORDER_PATHIt is in the format of https://<host>/sap/bc/ui5_ui5/ui2/ushell/shells/abap/FioriLaunchpad.html#SalesOrder-displayFactSheet&/C_SalesorderFs(‘%s’), where <host> is your host name. UI_DELIVERY_PATHIt is in the format of https://<host>/sap/bc/ui5_ui5/ui2/ushell/shells/abap/FioriLaunchpad.html#OutboundDelivery-displayFactSheet&/C_OutboundDeliveryFs(‘%s’), where <host> is your host name. UI_CMR_PATHIt is in the format of https://<host>/sap/bc/ui5_ui5/ui2/ushell/shells/abap/FioriLaunchpad.html?sap-client=<sap client>#CreditMemoRequest-display?CreditMemoRequest=%s, where <host> is your host name and <sap client> is the client number of your SAP S/4HANA system. UI_DMR_PATHIt is in the format of https://<host>/sap/bc/ui5_ui5/ui2/ushell/shells/abap/FioriLaunchpad.html?sap-client=<sap client>#DebitMemoRequest-display?DebitMemoRequest=%s, where <host> is your host name and <sap client> is the client number of your SAP S/4HANA system. SAP_CLIENTClient number of your SAP S/4HANA system. To obtain the correct paths, use SOAMANAGER → Web Service Configuration and check the Calculated Access URL for each service binding.Retrieving Service Endpoints for Billing IntegrationFollow the steps below to obtain the endpoint paths required for configuring billing-related services in your SAP S/4HANA system.1. Access the SOA ManagerLog on to your SAP S/4HANA system and run transaction SOAMANAGER to open the SOA Manager.In the Service Administration section, choose Web Service Configuration.2. Retrieve the Endpoint for Updating Journal EntriesSearch for the object named JOURNALENTRYBULKCHANGEREQUEST_ and open the result.Select the service that you created for updating journal entries and display its Binding.Choose Transport Settings and note the value in Calculated Access URL.This represents the API endpoint for updating journal entries.→ Assign this value to the property UPDATE_JE_URL_PATH.3. Retrieve Additional Service EndpointsRepeat Steps 1–3 above for each of the following services, and assign the extracted Calculated Access URL to the corresponding property name.Purpose Property Name Object Name in SOA Manager Service for updating billing documentsUPDATE_BILLING_URL_PATHBD_UPDATE_SBI_REQUEST_INService for creating billing documentsCREATE_BILLING_URL_PATHCREDITDEBITMEMOREQUEST_INService for simulating pricingSIMULATE_PRICING_PATHBDSIMULATEPRICINGREQUEST_INService for invoice creationCREATE_INVOICE_URL_PATHBDCREATESELFBILLINGREQUEST_IN10. Verifying the Integration SetupThis section explains how to validate your integration configuration. The example below uses the service for updating journal entries, but the same approach applies to other related services.1. Verify the Web Service Configuration in SOA ManagerLog on to your SAP S/4HANA system and run transaction SOAMANAGER to open the SOA Manager.Under Service Administration, choose Web Service Configuration.Search for the object CO_FINS_JOURNAL_ENTRY_BULK_CHA and open the result.Select the service you created for updating journal entries and choose Ping Web Service. If the response shows HTTP 405, the integration setup is correct. 2. Verify Additional ServicesRepeat the steps above to ping and validate the following services in your SAP S/4HANA system:PurposeObject NameService for updating billing documentsSDBIL_SBI_BD_UPD_API_OUTService for creating billing documentsSDBIL_SBI_CDM_API_OUTService for simulating pricesSDBIL_SBI_SMLTE_API_OUTService for invoice creationSDBIL_SBI_BD_CREATE_API_OUT3. Verifying OData Services and Destination Using the APIYou can further validate the configuration of OData services and the destination by performing a check through the API.Steps:Open Postman and create a GET request.Enter the following URL: https://<subdomain>/api-password/selfbilling-customizing-service/v1/api/checkReplace <subdomain> with the subdomain of your BTP subaccount.Go to Authorization, set Type = Basic Auth, and enter the username and password of the technical user assigned with the SAP_BR_ADMINISTRATOR role.Execute the request.Expected Result:All items under odataCheck return “200 OK”Configuration Missing under additionalCheck is empty If both conditions are satisfied, your integration setup is correct.👌SummaryConfigure communication and OData in the S/4HANA system.Set up Cloud Connector and create the OnPremise destination in SAP BTP.Subscribe to Self-Billing Cockpit and assign required role collections.Configure replication models, SOAP services, and billing integration scenarios.Complete destination properties and verify all services.Additional Information• SAP Self-Billing Cockpit Product Documentation• SAP Self-Billing Cockpit on SAP StoreBlog Post Series for SAP Self-Billing CockpitSAP Self-Billing CockpitHow to Set Up Integration Between SAP Self-Billing Cockpit and SAP S/4HANA CloudHow to Set Up Cloud ConnectorHow to Set Up a Custom Identity ProviderSelf-Billing with Invoice CreationSelf-Billing Cockpit Q&A[Feature]Automatic Execution of Self-Billing[Feature]Comparison of Tax in Self-Billing with Automated Posting[Feature]Main reference duplicate checks in self-billing with automatic posting[Feature]Support for multiple pricing types in the copying control for billing[Feature]Customize self-billing processing[Feature]Side-by-side extensiblity to adjust the received transmission(ABAP)[Feature]Side-by-side extensiblity to custom the product and customer material mapping logic(ABAP) Read More Technology Blog Posts by SAP articles
#SAP
#SAPTechnologyblog