cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

S/4HANA Public Cloud - API Availability for BP Extension Fields Read, AR Payment Block Update, and P

byd
Participant
0 Likes
331

Hello SAP Community,
We are investigating API availability in S/4HANA Public Cloud Edition for the following three scenarios. Please answer with the specific API name if available, or clearly state if no API exists (and any alternative approaches if not possible).

Question 1: Business Partner Master Read (including Extension Fields)
・Can we retrieve BP master data including extension field values via API?
・If yes, please provide the specific API name.
・If no, please confirm that no standard API supports this and suggest any alternative approaches.


Question 2: AR Open Item - Payment Block Flag Update
・Can we toggle (set/unset) the payment block flag on AR line items via API?
・If yes, please provide the specific API name.
・If no, please confirm that no standard API supports this and suggest any alternative approaches.

Question 3: Payment Advice Document Registration
・Can we register payment advice documents via API?
・If yes, please provide the specific API name.
・If no, please confirm that no standard API supports this and suggest any alternative approaches.

Note: We would appreciate responses in the same numbered order (1→2→3) to keep the discussion clear.
Thank you in advance!

Accepted Solutions (1)

Accepted Solutions (1)

dawid90
Contributor
0 Likes

Dear @byd,

Question 1.

Answer: Yes

Standard API:

  • API name (business): Business Partner (A2X) OData API
  • Technical service name: API_BUSINESS_PARTNER
  • Protocol: OData V2
  • Communication scenario (S/4HANA Cloud, public edition):
    Business Partner, Customer and Supplier Integration (SAP_COM_0008)

More details below:

https://help.sap.com/docs/SAP_S4HANA_CLOUD/3c916ef10fc240c9afc594b346ffaf77/85043858ea0f9244e1000000...

https://help.sap.com/docs/SAP_S4HANA_CLOUD/3c916ef10fc240c9afc594b346ffaf77/f7399c7374d3475a96a56a08...

This API allows read, create, update, delete of Business Partner, Customer, and Supplier data

More details below:

https://help.sap.com/docs/SAP_S4HANA_CLOUD/3c916ef10fc240c9afc594b346ffaf77/1e488b3c40ff4ed3a96be20d...

Extension custom fields:

Answer: Yes, custom BP fields can be read via this API, provided they are created and enabled correctly:

1. Create the custom field in business context
Master Data: Business Partner (BP_CUSTVEND1) using the Custom Fields app

dawid90_2-1765447344618.png

 

More details below:

https://help.sap.com/docs/SAP_S4HANA_CLOUD/0f69f8fb28ac4bf48d2b57b9637e81fa/339c235db4e6448ab0166400...

https://help.sap.com/docs/SAP_S4HANA_CLOUD/0f69f8fb28ac4bf48d2b57b9637e81fa/46632054fa9d49a18b452ee2...

2. On the UI tab enable usage for the Business Partner (A2X) service, then Publish.
The Business Partner (A2X) help explicitly states the API entities are extensible via Custom Fields

dawid90_3-1765447344620.png

 

3. After publishing the custom field:

    • Appears in the OData service metadata.
    • Can be selected in $select and returned in read calls

So BP master data including extension fields is fully retrievable via API_BUSINESS_PARTNER as long as those fields are defined via Key User extensibility and enabled for the service.

Older IDoc-based options like DEBMAS/CREMAS exist but are explicitly not recommended for new integrations in current Public Cloud releases

More details below:

https://help.sap.com/docs/SAP_S4HANA_CLOUD/3c916ef10fc240c9afc594b346ffaf77/a04825050c1740ef98032dcc...

Question 2.
Answer: Yes, but via the generic Journal Entry change SOAP API, not an AR-specific OData service.

On the FI open item journal entry line side, the payment block is stored as:

  • Field: PaymentBlockingReason the payment block key
  • It is available on the Operational Journal Entry Item / DebtorItem/CreditorItem structures

More details below:

https://help.sap.com/docs/SAP_S4HANA_CLOUD/b978f98fc5884ff2aeb10c8fdeb8a43b/efabeff3bf8b4066ac03f096...

Standard API that can change this:

  • API name (business): Journal Entry Change (Asynchronous)
  • Inbound service: JournalEntryBulkChangeRequest_In (SOAP)
  • Communication scenario: Finance Posting Integration (SAP_COM_0002)

More details below:

https://help.sap.com/docs/SAP_S4HANA_CLOUD/6b39bd1d0e5e4099a5b65d835c29c696/5792333ddf3c47eaad4314b0...

The Finance API documentation explicitly describes this service as the way to change journal entry data and notes that it can be extended with custom fields as well

More details below:

https://help.sap.com/docs/SAP_S4HANA_CLOUD/b978f98fc5884ff2aeb10c8fdeb8a43b/c3833c31e7724a79b23e4273...

The Operational Journal Entry Item help lists PaymentBlockingReason as a field in the structure used together with the Journal Entry APIs

More details below:

https://help.sap.com/docs/SAP_S4HANA_CLOUD/b978f98fc5884ff2aeb10c8fdeb8a43b/efabeff3bf8b4066ac03f096...

https://help.sap.com/docs/SAP_S4HANA_CLOUD/b978f98fc5884ff2aeb10c8fdeb8a43b/a524c714dcaf4bbc847c9aa5...

Summary: Yes, you can toggle the payment block on AR open items via SOAP using Journal Entry Change (Asynchronous)

Question 3.
Answer: Yes

Standard OData API:

  • API name (business): Payment Advice (A2X)
  • Technical service name: API_PAYMENT_ADVICE_SRV
  • Protocol: OData V2
  • Communication scenario: Finance – Payment Advice Integration (SAP_COM_0331)

More details below:

https://help.sap.com/docs/SAP_S4HANA_CLOUD/4f22209d1f5d4bd79c4a55017608b51b/b448d39b85dd4da6baf28e8c...

To register (create) a payment advice:

  • Send POST to
    /sap/opu/odata/sap/API_PAYMENT_ADVICE_SRV/A_PaymentAdvice
    with payload including PaymentAdviceType, CompanyCode, PaymentAdviceNumber, etc.

More details below:

https://help.sap.com/docs/SAP_S4HANA_CLOUD/4f22209d1f5d4bd79c4a55017608b51b/5b8b271ca8004116bef1fe2c...

The same service exposes entity sets for Payment Advice and Payment Advice Line Item and the Operations for Payment Advice documentation lists the standardCRUD operations

More details below:

https://help.sap.com/docs/SAP_S4HANA_CLOUD/4f22209d1f5d4bd79c4a55017608b51b/6fc19bf0be0d4c3891e154f3...

There is also a SOAP API:

  • Payment Advice Create (PaymentAdviceNotification_In)
  • Also under the Finance Payment Advice Integration (SAP_COM_0331)

More details below:

https://help.sap.com/docs/SAP_S4HANA_CLOUD/4f22209d1f5d4bd79c4a55017608b51b/dbc3550ceaa4431ebda046cb...

In Public Cloud the documentation about Automatic Payment Advice Processing explicitly refers to both Payment Advice (A2X) and Payment Advice Create as the standard integration options

More details below:

https://help.sap.com/docs/SAP_S4HANA_CLOUD/918bca53037f408f91a2295d04ac16bc/577f55d53e544fc0ae362aed...

Summary:

  1. BP master + extension fields:
    Yes, Business Partner (A2X) OData API API_BUSINESS_PARTNER with custom fields enabled via Custom Fields
  2. AR open item payment block toggle:
    Yes, via Journal Entry Change (Asynchronous) SOAP (JournalEntryBulkChangeRequest_In, scenario SAP_COM_0002). No AR-specific OData API, but line-item PaymentBlockingReason is supported there
  3. Payment advice registration:
    Yes, Payment Advice (A2X) OData API API_PAYMENT_ADVICE_SRV (scenario SAP_COM_0331) and optionally SOAP Payment Advice Create

Best Regards,

Dawid

byd
Participant
0 Likes
Dear Dawid, Thank you for the detailed response on Question 2 regarding payment block flag updates. I am currently testing the Journal Entry Change (Asynchronous) SOAP API to update the PaymentBlockingReasonCode field, but I need clarification on the correct identifiers to use: **Question:** In the JournalEntryDebtorCreditorItem → ItemKey structure: - What should be specified in the `AccountingDocument` field? - Customer Invoice Document Number (e.g., from Customer Invoice Posting run)? - Accounting Journal Entry Number? - AR Open Item Document Number? **Test payload I'm using:** <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sfin="http://sap.com/xi/SAPSCORE/SFIN"> <soap-env:Header/> <soap-env:Body> <sfin:JournalEntryBulkChangeRequestMessage> <MessageHeader> <ID>AK4_TEST_20251213_001</ID> <CreationDateTime>2025-12-12T15:30:00Z</CreationDateTime> </MessageHeader> <JournalEntryDebtorCreditorItem> <MessageHeader> <ID>AK4_ITEM_001</ID> <CreationDateTime>2025-12-12T15:30:00Z</CreationDateTime> </MessageHeader> <ItemKey> <!-- Customer Invoice ID? Journal Entry ID? --> <AccountingDocument>9400000086</AccountingDocument> <CompanyCode>1510</CompanyCode> <FiscalYear>2025</FiscalYear> <AccountingDocumentItemID>000001</AccountingDocumentItemID> </ItemKey> <PaymentBlockingReasonCodeChange> <!-- "Clear the payment block by sending an empty value --> <PaymentBlockingReasonCode></PaymentBlockingReasonCode> <FieldValueChangeIsRequested>true</FieldValueChangeIsRequested> </PaymentBlockingReasonCodeChange> </JournalEntryDebtorCreditorItem> </sfin:JournalEntryBulkChangeRequestMessage> </soap-env:Body> </soap-env:Envelope> **Current situation:** - I have an AR open item with payment block that I want to clear - The item is visible in "Manage Open Items" (Receivables) - I'm unsure which document number to reference in the SOAP request Could you please provide: 1. Which document ID should be used in `AccountingDocument` 2. How to identify the correct `AccountingDocumentItemID` 3. Whether sending empty `<PaymentBlockingReasonCode></PaymentBlockingReasonCode>` is the correct approach to clear the block Thank you in advance!

Answers (1)

Answers (1)

dawid90
Contributor
0 Likes

Dear @byd,

I apologize but I didn't see your comment earlier. Below are the answers to your questions

Question 1

In this API the item key is AccountingDocument + CompanyCode + FiscalYear + AccountingDocumentItemID
So:

  • YES Accounting Journal Entry / FI Accounting Document number is CORRECT

  • IF Customer Invoice Document Number is only correct if it is the same FI Accounting Document number produced by the posting often yes in FI-based invoicing runs but not the SD Billing Document number

  • NO AR Open Item Document Number isn’t a separate key here the open item is a line item in the accounting document

Question 2

In Public Cloud the item number is specified as 3 numeric characters for example 001 BUT it’s mixing between documentation and system. Correct key you will find in Manage Journal Entries app below:

 

dawid90_2-1766412708344.png

 

More details below:

https://help.sap.com/docs/SAP_S4HANA_CLOUD/b978f98fc5884ff2aeb10c8fdeb8a43b/8247ba7cf3344cb6b1092443...

https://help.sap.com/docs/SAP_S4HANA_CLOUD/b978f98fc5884ff2aeb10c8fdeb8a43b/de7030b74705456997aa9b9b...

dawid90_3-1766412708344.png

Question 3

Yes the standard Change pattern in this API is:

  • Put the new value in the …Change node and

  • Set FieldValueChangeIsRequested to true so SAP actually applies the change

To clear the payment block, you send an initial/blank value for PaymentBlockingReasonCode and FieldValueChangeIsRequested=true

Best Regards,

Dawid