SAP S4HANA

Read and write SAP S4HANA Cloud business data via OData

SAP S4HANA is SAP's flagship intelligent ERP suite, running on the in-memory HANA database. It powers finance, supply chain, procurement, sales, and manufacturing for organizations of every size, and exposes its business data through a broad catalog of OData services on SAP Business Technology Platform (BTP).

With SAP S4HANA, you can:

  • Run core business processes: Manage finance, procurement, sales, logistics, inventory, and manufacturing on a single source of truth.
  • Model master data at scale: Maintain business partners, customers, suppliers, products, and organizational structures across multiple company codes, sales organizations, and plants.
  • Execute transactional flows end to end: Create and update sales orders, purchase requisitions, purchase orders, deliveries, billing documents, supplier invoices, and stock movements with full audit trails.
  • Govern access cleanly: Use Communication Arrangements, Communication Systems, and Communication Scopes to scope OAuth client credentials to exactly the services each integration needs.
  • Integrate via standard OData: Every entity supported here speaks OData v2 with consistent paging, filtering, expansion, and ETag-based optimistic concurrency.

In Sim, the SAP S4HANA integration lets your agents read and write directly against your tenant's OData services using per-tenant OAuth 2.0 client credentials. Agents can list and fetch master data, create and update transactional documents, run stock and material document queries, and execute arbitrary OData v2 calls against any whitelisted Communication Scenario — all routed through a single internal proxy that handles token acquisition, CSRF fetch-and-retry, and OData error normalization. Use it to automate order-to-cash, procure-to-pay, and inventory workflows, keep SAP in sync with the rest of your stack, or trigger downstream agent logic from SAP business events.

Usage Instructions

Connect any SAP S4HANA tenant — Cloud Public Edition, Cloud Private Edition (RISE), or on-premise — and read or write business data through the official OData v2 services. Each tool routes through a single internal proxy that handles token acquisition, CSRF fetch-and-retry for write operations, and OData error normalization.

Deployment modes

Pick the deployment that matches your tenant in the Deployment dropdown:

  • S4HANA Cloud Public Edition — provide your BTP subaccount subdomain and region (e.g., eu10, us10). The host is derived automatically as {subdomain}-api.s4hana.ondemand.com, and OAuth tokens are fetched from the matching BTP UAA endpoint. Authentication is OAuth 2.0 client credentials configured in a Communication Arrangement.
  • S4HANA Cloud Private Edition (RISE) — provide your OData Base URL (e.g., https://my-tenant.s4hana.cloud.sap). Authenticate with OAuth 2.0 client credentials (provide the tenant's UAA tokenUrl, clientId, clientSecret) or HTTP Basic with a Communication User (username, password).
  • On-premise S4HANA — provide your OData Base URL (e.g., https://sap.internal.company.com:44300). Authenticate with OAuth 2.0 client credentials issued by your on-prem identity provider, or HTTP Basic with a service user.

What you can do

Read and create business partners, customers, suppliers, sales orders, deliveries (inbound/outbound), billing documents, products, stock and material documents, purchase requisitions, purchase orders, and supplier invoices. Update business partners, customers, suppliers, products, sales orders, purchase orders, and purchase requisitions with PATCH. Run arbitrary OData v2 queries against any whitelisted Communication Scenario or registered service.

Optimistic concurrency

All update tools accept an optional ifMatch ETag. When omitted, If-Match defaults to a wildcard (unconditional). For safe concurrent updates, fetch the entity first, capture its ETag from the response, and pass it as ifMatch to detect lost updates.

Connect SAP S4HANA Cloud Public Edition with per-tenant OAuth 2.0 client credentials configured in your Communication Arrangements. Read and create business partners, customers, suppliers, sales orders, deliveries (inbound/outbound), billing documents, products, stock and material documents, purchase requisitions, purchase orders, and supplier invoices, or run arbitrary OData v2 queries against any whitelisted Communication Scenario.

Tools

sap_s4hana_list_business_partners

List business partners from SAP S/4HANA Cloud (API_BUSINESS_PARTNER, A_BusinessPartner) with optional OData $filter, $top, $skip, $orderby, $select, $expand.

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
filterstringNoOData $filter expression (e.g., "BusinessPartnerCategory eq '1'")
topnumberNoMaximum results to return ($top)
skipnumberNoNumber of results to skip ($skip)
orderBystringNoOData $orderby expression
selectstringNoComma-separated fields to return ($select)
expandstringNoComma-separated navigation properties to expand ($expand)

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP
datajsonOData v2 envelope \{ d: \{ results: \[...\], __count?, __next? \} \}. Properties listed below describe each element of data.d.results.
BusinessPartnerstringBusiness partner key (up to 10 chars)
BusinessPartnerFullNamestringFull name (concatenated first/last or organization name)
BusinessPartnerCategorystring"1" Person, "2" Organization, "3" Group
BusinessPartnerGroupingstringGrouping / number range (tenant-configured)
BusinessPartnerTypestringBusiness partner type (tenant-configured)
BusinessPartnerUUIDstringGUID identifier for the business partner
BusinessPartnerIsBlockedbooleanWhether the business partner is centrally blocked
FirstNamestringFirst name (Person)
LastNamestringLast name (Person)
OrganizationBPName1stringOrganization name line 1
SearchTerm1stringSearch term 1
CreationDatestringDate the partner was created (OData /Date(...)/ literal)
CreatedByUserstringUser who created the business partner
LastChangeDatestringDate of last change (OData /Date(...)/ literal)
LastChangedByUserstringUser who last changed the business partner

sap_s4hana_get_business_partner

Retrieve a single business partner by BusinessPartner key from SAP S/4HANA Cloud (API_BUSINESS_PARTNER, A_BusinessPartner).

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
businessPartnerstringYesBusinessPartner key (string, up to 10 characters)
selectstringNoComma-separated fields to return ($select)
expandstringNoComma-separated navigation properties to expand ($expand)

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP
datajsonA_BusinessPartner entity (under d in OData v2)
BusinessPartnerstringBusiness partner key (up to 10 chars)
BusinessPartnerFullNamestringFull name (concatenated first/last or organization name)
BusinessPartnerCategorystring"1" Person, "2" Organization, "3" Group
BusinessPartnerGroupingstringGrouping / number range (tenant-configured)
BusinessPartnerTypestringBusiness partner type (tenant-configured)
BusinessPartnerUUIDstringGUID identifier for the business partner
BusinessPartnerIsBlockedbooleanWhether the business partner is centrally blocked
FirstNamestringFirst name (Person)
LastNamestringLast name (Person)
OrganizationBPName1stringOrganization name line 1
CorrespondenceLanguagestringCorrespondence language (2-char code, e.g. "EN")
SearchTerm1stringSearch term 1
SearchTerm2stringSearch term 2
CreationDatestringDate the partner was created (OData /Date(...)/ literal)
CreatedByUserstringUser who created the business partner
LastChangeDatestringDate of last change (OData /Date(...)/ literal)
LastChangedByUserstringUser who last changed the business partner

sap_s4hana_create_business_partner

Create a business partner in SAP S/4HANA Cloud (API_BUSINESS_PARTNER, A_BusinessPartner). For Person category 1 provide FirstName and LastName. For Organization category 2 provide OrganizationBPName1.

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
businessPartnerCategorystringYesBusinessPartnerCategory: "1" Person, "2" Organization, "3" Group
businessPartnerGroupingstringYesBusinessPartnerGrouping (number range / role grouping configured in S/4HANA, e.g. "0001")
firstNamestringNoFirstName (required for Person)
lastNamestringNoLastName (required for Person)
organizationBPName1stringNoOrganizationBPName1 (required for Organization)
bodyjsonNoOptional additional A_BusinessPartner fields merged into the create payload

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP (201 on success)
datajsonCreated A_BusinessPartner entity (under d in OData v2)
BusinessPartnerstringGenerated business partner key (up to 10 chars)
BusinessPartnerFullNamestringFull name (concatenated first/last or organization name)
BusinessPartnerCategorystring"1" Person, "2" Organization, "3" Group
BusinessPartnerGroupingstringGrouping / number range used to assign the key
BusinessPartnerTypestringBusiness partner type (tenant-configured)
BusinessPartnerUUIDstringGUID identifier for the business partner
FirstNamestringFirst name (Person)
LastNamestringLast name (Person)
OrganizationBPName1stringOrganization name line 1
CreationDatestringDate the partner was created (OData /Date(...)/ literal)
CreatedByUserstringUser who created the business partner
LastChangeDatestringDate of last change (OData /Date(...)/ literal)

sap_s4hana_update_business_partner

Update fields on an A_BusinessPartner entity in SAP S/4HANA Cloud (API_BUSINESS_PARTNER). Uses HTTP MERGE (OData v2 partial update) — only the fields you provide are written; existing values are preserved. If-Match defaults to a wildcard (unconditional) — for safe concurrent updates pass the ETag from a prior GET to avoid lost updates. Deep updates on nested associations (e.g. to_BusinessPartnerAddress) are not supported by SAP (KBA 2833338) — use the dedicated child endpoints.

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
businessPartnerstringYesBusinessPartner key to update (string, up to 10 characters)
bodyjsonYesJSON object with A_BusinessPartner fields to update (e.g., {"FirstName":"Jane","SearchTerm1":"VIP"})
ifMatchstringNoIf-Match ETag for optimistic concurrency. Defaults to "*" (unconditional).

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP (204 on success)
datajsonNull on 204 success, or updated A_BusinessPartner entity if SAP returns one
BusinessPartnerstringBusiness partner key
BusinessPartnerFullNamestringFull name (concatenated first/last or organization name)
BusinessPartnerCategorystring"1" Person, "2" Organization, "3" Group
BusinessPartnerGroupingstringGrouping / number range
FirstNamestringFirst name (Person)
LastNamestringLast name (Person)
OrganizationBPName1stringOrganization name line 1
LastChangeDatestringDate of last change (OData /Date(...)/ literal)
LastChangedByUserstringUser who last changed the business partner

sap_s4hana_list_customers

List customers from SAP S/4HANA Cloud (API_BUSINESS_PARTNER, A_Customer) with optional OData $filter, $top, $skip, $orderby, $select, $expand.

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
filterstringNoOData $filter expression (e.g., "CustomerAccountGroup eq 'Z001'")
topnumberNoMaximum results to return ($top)
skipnumberNoNumber of results to skip ($skip)
orderBystringNoOData $orderby expression
selectstringNoComma-separated fields to return ($select)
expandstringNoComma-separated navigation properties to expand (e.g., "to_CustomerCompany,to_CustomerSalesArea")

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP
datajsonArray of A_Customer entities, or \{ results, __count?, __next? \} when pagination metadata is present (proxy unwraps the OData v2 d envelope). Properties below describe each customer item.
CustomerstringCustomer key (up to 10 characters)
CustomerNamestringName of customer
CustomerFullNamestringFull name of the customer
CustomerAccountGroupstringCustomer account group
CustomerClassificationstringCustomer classification code
CustomerCorporateGroupstringCorporate group code
AuthorizationGroupstringAuthorization group
SupplierstringLinked supplier account number
FiscalAddressstringFiscal address ID
IndustrystringIndustry key
NielsenRegionstringNielsen ID
ResponsibleTypestringResponsible type
NFPartnerIsNaturalPersonstringNatural person indicator
InternationalLocationNumber1stringInternational location number 1
TaxNumberTypestringTax number type
VATRegistrationstringVAT registration number
DeletionIndicatorbooleanCentral deletion flag
OrderIsBlockedForCustomerstringCentral order block reason code
PostingIsBlockedbooleanCentral posting block flag
DeliveryIsBlockedstringCentral delivery block reason code
BillingIsBlockedForCustomerstringCentral billing block reason code
CreationDatestringCreation date (OData v2 epoch)
CreatedByUserstringUser who created the customer

sap_s4hana_get_customer

Retrieve a single customer by Customer key from SAP S/4HANA Cloud (API_BUSINESS_PARTNER, A_Customer).

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
customerstringYesCustomer key (string, up to 10 characters)
selectstringNoComma-separated fields to return ($select)
expandstringNoComma-separated navigation properties to expand (e.g., "to_CustomerCompany,to_CustomerSalesArea")

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP
dataobjectA_Customer entity
CustomerstringCustomer key (up to 10 characters)
CustomerNamestringName of customer
CustomerFullNamestringFull name of the customer
CustomerAccountGroupstringCustomer account group
CustomerClassificationstringCustomer classification code
CustomerCorporateGroupstringCorporate group code
AuthorizationGroupstringAuthorization group
SupplierstringLinked supplier account number
FiscalAddressstringFiscal address ID
IndustrystringIndustry key
NielsenRegionstringNielsen ID
ResponsibleTypestringResponsible type
NFPartnerIsNaturalPersonstringNatural person indicator
InternationalLocationNumber1stringInternational location number 1
TaxNumberTypestringTax number type
VATRegistrationstringVAT registration number
DeletionIndicatorbooleanCentral deletion flag
OrderIsBlockedForCustomerstringCentral order block reason code
PostingIsBlockedbooleanCentral posting block flag
DeliveryIsBlockedstringCentral delivery block reason code
BillingIsBlockedForCustomerstringCentral billing block reason code
CreationDatestringCreation date (OData v2 epoch)
CreatedByUserstringUser who created the customer

sap_s4hana_update_customer

Update fields on an A_Customer entity in SAP S/4HANA Cloud (API_BUSINESS_PARTNER). Uses HTTP MERGE (OData v2 partial update) — only the fields you provide are written; existing values are preserved. A_Customer is limited to modifiable fields such as OrderIsBlockedForCustomer, DeliveryIsBlocked, BillingIsBlockedForCustomer (Edm.String reason codes like

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
customerstringYesCustomer key to update (string, up to 10 characters)
bodyjsonYesJSON object with A_Customer fields to update (e.g., {"OrderIsBlockedForCustomer":"01","DeletionIndicator":false}). Block-reason fields are Edm.String codes, not booleans.
ifMatchstringNoIf-Match ETag for optimistic concurrency. Defaults to "*" (unconditional).

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP (204 on success)
dataobjectNull on 204 success, or updated A_Customer entity if SAP returns one
CustomerstringCustomer key (up to 10 characters)
CustomerNamestringName of customer
CustomerAccountGroupstringCustomer account group
DeletionIndicatorbooleanCentral deletion flag
OrderIsBlockedForCustomerstringCentral order block reason code
PostingIsBlockedbooleanCentral posting block flag
DeliveryIsBlockedstringCentral delivery block reason code
BillingIsBlockedForCustomerstringCentral billing block reason code

sap_s4hana_list_suppliers

List suppliers from SAP S/4HANA Cloud (API_BUSINESS_PARTNER, A_Supplier) with optional OData $filter, $top, $skip, $orderby, $select, $expand.

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
filterstringNoOData $filter expression (e.g., "SupplierAccountGroup eq 'BP02'")
topnumberNoMaximum results to return ($top)
skipnumberNoNumber of results to skip ($skip)
orderBystringNoOData $orderby expression
selectstringNoComma-separated fields to return ($select)
expandstringNoComma-separated navigation properties to expand (e.g., "to_SupplierCompany,to_SupplierPurchasingOrg")

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP
datajsonOData v2 response envelope; collection at output.data.d.results
djsonOData v2 envelope
resultsarrayA_Supplier entities
SupplierstringSupplier key (up to 10 characters)
AlternativePayeeAccountNumberstringAccount number of the alternative payee
AuthorizationGroupstringAuthorization group
BusinessPartnerstringLinked BusinessPartner key
BR_TaxIsSplitbooleanBrazil-specific tax split flag
CreatedByUserstringUser who created the supplier
CreationDatestringCreation date (OData v2 epoch)
CustomerstringLinked customer key (if any)
DeletionIndicatorbooleanCentral deletion flag
BirthDatestringDate of birth (OData v2 epoch)
ConcatenatedInternationalLocNostringConcatenated international location number
FiscalAddressstringFiscal address number
IndustrystringIndustry key
InternationalLocationNumber1stringInternational location number, part 1
InternationalLocationNumber2stringInternational location number, part 2
InternationalLocationNumber3stringInternational location number, part 3
IsNaturalPersonbooleanIndicates whether the supplier is a natural person
PaymentIsBlockedForSupplierbooleanPayment block flag
PostingIsBlockedbooleanPosting block flag
PurchasingIsBlockedbooleanPurchasing block flag
ResponsibleTypestringType of business (Brazil)
SupplierAccountGroupstringSupplier account group
SupplierCorporateGroupstringCorporate group identifier
SupplierFullNamestringFull name of the supplier
SupplierNamestringSupplier name
SupplierProcurementBlockstringProcurement block at supplier level
SuplrProofOfDelivRlvtCodestringProof of delivery relevance code
SuplrQltyInProcmtCertfnValidTostringQuality certification validity end date (OData v2 epoch)
SuplrQualityManagementSystemstringQuality management system of the supplier
TaxNumber1stringTax number 1
TaxNumber2stringTax number 2
TaxNumber3stringTax number 3
TaxNumber4stringTax number 4
TaxNumber5stringTax number 5
TaxNumberResponsiblestringTax number of responsible party
TaxNumberTypestringTax number type
VATRegistrationstringVAT registration number
__nextstringOData skiptoken URL for next page

sap_s4hana_get_supplier

Retrieve a single supplier by Supplier key from SAP S/4HANA Cloud (API_BUSINESS_PARTNER, A_Supplier).

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
supplierstringYesSupplier key (string, up to 10 characters)
selectstringNoComma-separated fields to return ($select)
expandstringNoComma-separated navigation properties to expand (e.g., "to_SupplierCompany,to_SupplierPurchasingOrg")

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP
datajsonOData v2 response envelope; entity at output.data.d
djsonA_Supplier entity
SupplierstringSupplier key (up to 10 characters)
AlternativePayeeAccountNumberstringAccount number of the alternative payee
AuthorizationGroupstringAuthorization group
BusinessPartnerstringLinked BusinessPartner key
BR_TaxIsSplitbooleanBrazil-specific tax split flag
CreatedByUserstringUser who created the supplier
CreationDatestringCreation date (OData v2 epoch)
CustomerstringLinked customer key (if any)
DeletionIndicatorbooleanCentral deletion flag
BirthDatestringDate of birth (OData v2 epoch)
ConcatenatedInternationalLocNostringConcatenated international location number
FiscalAddressstringFiscal address number
IndustrystringIndustry key
InternationalLocationNumber1stringInternational location number, part 1
InternationalLocationNumber2stringInternational location number, part 2
InternationalLocationNumber3stringInternational location number, part 3
IsNaturalPersonbooleanIndicates whether the supplier is a natural person
PaymentIsBlockedForSupplierbooleanPayment block flag
PostingIsBlockedbooleanPosting block flag
PurchasingIsBlockedbooleanPurchasing block flag
ResponsibleTypestringType of business (Brazil)
SupplierAccountGroupstringSupplier account group
SupplierCorporateGroupstringCorporate group identifier
SupplierFullNamestringFull name of the supplier
SupplierNamestringSupplier name
SupplierProcurementBlockstringProcurement block at supplier level
SuplrProofOfDelivRlvtCodestringProof of delivery relevance code
SuplrQltyInProcmtCertfnValidTostringQuality certification validity end date (OData v2 epoch)
SuplrQualityManagementSystemstringQuality management system of the supplier
TaxNumber1stringTax number 1
TaxNumber2stringTax number 2
TaxNumber3stringTax number 3
TaxNumber4stringTax number 4
TaxNumber5stringTax number 5
TaxNumberResponsiblestringTax number of responsible party
TaxNumberTypestringTax number type
VATRegistrationstringVAT registration number

sap_s4hana_update_supplier

Update fields on an A_Supplier entity in SAP S/4HANA Cloud (API_BUSINESS_PARTNER). Uses HTTP MERGE (OData v2 partial update) — only the fields you provide are written; existing values are preserved. A_Supplier is limited to modifiable fields such as PostingIsBlocked, PurchasingIsBlocked, PaymentIsBlockedForSupplier, DeletionIndicator, and SupplierAccountGroup; company-code/purchasing-org segments must be updated via the to_SupplierCompany / to_SupplierPurchasingOrg deep-update endpoints. If-Match defaults to a wildcard - for safe concurrent updates pass the ETag from a prior GET to avoid lost updates.

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
supplierstringYesSupplier key to update (string, up to 10 characters)
bodyjsonYesJSON object with A_Supplier fields to update (e.g., {"PaymentIsBlockedForSupplier":true,"PostingIsBlocked":true})
ifMatchstringNoIf-Match ETag for optimistic concurrency. Defaults to "*" (unconditional).

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP (204 on success)
datajsonNull on 204 success, or OData v2 envelope with updated entity at output.data.d when SAP returns a representation
djsonA_Supplier entity (when SAP returns a representation)
SupplierstringSupplier key (up to 10 characters)
SupplierNamestringSupplier name
SupplierAccountGroupstringSupplier account group
BusinessPartnerstringLinked BusinessPartner key
PaymentIsBlockedForSupplierbooleanPayment block flag
PostingIsBlockedbooleanPosting block flag
PurchasingIsBlockedbooleanPurchasing block flag
DeletionIndicatorbooleanCentral deletion flag

sap_s4hana_list_sales_orders

List sales orders from SAP S/4HANA Cloud (API_SALES_ORDER_SRV, A_SalesOrder) with optional OData $filter, $top, $skip, $orderby, $select, $expand.

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
filterstringNoOData $filter expression (e.g., "SalesOrganization eq '1010'")
topnumberNoMaximum results to return ($top)
skipnumberNoNumber of results to skip ($skip)
orderBystringNoOData $orderby expression
selectstringNoComma-separated fields to return ($select)
expandstringNoComma-separated navigation properties to expand (e.g., "to_Item,to_Partner")

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP
datajsonOData v2 response envelope; collection at output.data.d.results
djsonOData v2 envelope
resultsarrayA_SalesOrder entities
SalesOrderstringSales order number
SalesOrderTypestringSales document type (e.g., OR)
SalesOrganizationstringSales organization
DistributionChannelstringDistribution channel
OrganizationDivisionstringDivision
SoldToPartystringSold-to business partner
TotalNetAmountstringTotal net amount
TransactionCurrencystringDocument currency
CreationDatestringCreation date (OData /Date(ms)/)
SalesOrderDatestringSales order date (OData /Date(ms)/)
RequestedDeliveryDatestringRequested delivery date (OData /Date(ms)/)
LastChangeDatestringLast change date (OData /Date(ms)/)
PurchaseOrderByCustomerstringCustomer purchase order reference
OverallSDProcessStatusstringOverall sales document process status
OverallTotalDeliveryStatusstringOverall total delivery status
OverallSDDocumentRejectionStsstringOverall sales document rejection status
__nextstringOData skiptoken URL for next page

sap_s4hana_get_sales_order

Retrieve a single sales order by SalesOrder key from SAP S/4HANA Cloud (API_SALES_ORDER_SRV, A_SalesOrder).

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
salesOrderstringYesSalesOrder key (string, up to 10 characters)
selectstringNoComma-separated fields to return ($select)
expandstringNoComma-separated navigation properties to expand (e.g., "to_Item")

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP
datajsonOData v2 response envelope; entity at output.data.d
djsonA_SalesOrder entity
SalesOrderstringSales order number
SalesOrderTypestringSales document type
SalesOrganizationstringSales organization
DistributionChannelstringDistribution channel
OrganizationDivisionstringDivision
SoldToPartystringSold-to business partner
PurchaseOrderByCustomerstringCustomer purchase order reference
SalesOrderDatestringSales order date (OData /Date(ms)/)
RequestedDeliveryDatestringRequested delivery date (OData /Date(ms)/)
PricingDatestringPricing date (OData /Date(ms)/)
LastChangeDatestringLast change date (OData /Date(ms)/)
LastChangeDateTimestringLast change timestamp (OData /Date(ms)/)
TotalNetAmountstringTotal net amount
TransactionCurrencystringDocument currency
CreationDatestringCreation date
OverallSDProcessStatusstringOverall sales document process status
OverallTotalDeliveryStatusstringOverall total delivery status
OverallSDDocumentRejectionStsstringOverall sales document rejection status
to_ItemjsonSales order items (when $expand=to_Item)

sap_s4hana_create_sales_order

Create a sales order in SAP S/4HANA Cloud (API_SALES_ORDER_SRV, A_SalesOrder) with deep insert of sales order items via to_Item.

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
salesOrderTypestringYesSalesOrderType (e.g., "OR" Standard Order)
salesOrganizationstringYesSalesOrganization (4 chars, e.g., "1010")
distributionChannelstringYesDistributionChannel (2 chars, e.g., "10")
organizationDivisionstringYesOrganizationDivision (2 chars, e.g., "00")
soldToPartystringYesSoldToParty business partner key (up to 10 chars)
itemsjsonYesArray of sales order items for to_Item deep insert. Each item should include Material and RequestedQuantity (e.g., [{"Material":"TG11","RequestedQuantity":"1"}]).
bodyjsonNoOptional additional A_SalesOrder fields merged into the create payload

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP (201 on create)
datajsonOData v2 response envelope; created entity at output.data.d
djsonCreated A_SalesOrder entity
SalesOrderstringNewly assigned sales order number
SalesOrderTypestringSales document type
SalesOrganizationstringSales organization
DistributionChannelstringDistribution channel
OrganizationDivisionstringDivision
SoldToPartystringSold-to business partner
TotalNetAmountstringTotal net amount
TransactionCurrencystringDocument currency
CreationDatestringCreation date
OverallSDProcessStatusstringOverall sales document process status
OverallTotalDeliveryStatusstringOverall total delivery status
to_ItemjsonDeep-inserted sales order items as returned by SAP

sap_s4hana_update_sales_order

Update fields on an A_SalesOrder header in SAP S/4HANA Cloud (API_SALES_ORDER_SRV). Uses HTTP MERGE (OData v2 partial update) — only the fields you provide are written; existing values are preserved. Header-only — deep updates to to_Item / to_Partner / to_PricingElement navigations are not supported (see SAP KBA 2833338); use A_SalesOrderItem operations for line-level changes. If-Match defaults to a wildcard (unconditional) — for safe concurrent updates pass the ETag from a prior GET to avoid lost updates.

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
salesOrderstringYesSalesOrder key to update (string, up to 10 characters)
bodyjsonYesJSON object with A_SalesOrder fields to update (e.g., {"PurchaseOrderByCustomer":"PO-12345","HeaderBillingBlockReason":"01"})
ifMatchstringNoIf-Match ETag for optimistic concurrency. Defaults to "*" (unconditional).

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP (204 on success)
datajsonNull on 204 success; otherwise OData v2 envelope with the updated entity at output.data.d
djsonUpdated A_SalesOrder entity (when SAP returns one)
SalesOrderstringSales order number
SalesOrderTypestringSales document type
PurchaseOrderByCustomerstringCustomer purchase order reference
OverallSDProcessStatusstringOverall sales document process status
OverallTotalDeliveryStatusstringOverall total delivery status

sap_s4hana_delete_sales_order

Delete an A_SalesOrder entity in SAP S/4HANA Cloud (API_SALES_ORDER_SRV). Only orders without subsequent documents (deliveries, invoices) can be deleted; otherwise reject items via update instead.

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
salesOrderstringYesSalesOrder key to delete (string, up to 10 characters)
ifMatchstringNoIf-Match ETag for optimistic concurrency. Defaults to "*" (unconditional).

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP (204 on success)
datajsonNull on successful deletion (SAP returns 204 No Content)

sap_s4hana_list_outbound_deliveries

List outbound deliveries from SAP S/4HANA Cloud (API_OUTBOUND_DELIVERY_SRV;v=0002, A_OutbDeliveryHeader) with optional OData $filter, $top, $skip, $orderby, $select, $expand.

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
filterstringNoOData $filter expression (e.g., "OverallDeliveryStatus eq 'C'")
topnumberNoMaximum results to return ($top)
skipnumberNoNumber of results to skip ($skip)
orderBystringNoOData $orderby expression
selectstringNoComma-separated fields to return ($select)
expandstringNoComma-separated navigation properties to expand (e.g., "to_DeliveryDocumentItem")

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP
datajsonOData v2 response envelope; collection at output.data.d.results
djsonOData v2 envelope
resultsarrayA_OutbDeliveryHeader entities
DeliveryDocumentstringOutbound delivery number
DeliveryDocumentTypestringDelivery document type (e.g., LF)
SDDocumentCategorystringSD document category (e.g., J = outbound delivery)
ShippingPointstringShipping point
ShippingTypestringShipping type
ShipToPartystringShip-to business partner
SoldToPartystringSold-to business partner
DeliveryDatestringDelivery date (Edm.DateTime)
ActualGoodsMovementDatestringActual goods issue date (Edm.DateTime)
PlannedGoodsIssueDatestringPlanned goods issue date (Edm.DateTime)
OverallSDProcessStatusstringOverall SD process (delivery) status
OverallGoodsMovementStatusstringOverall goods movement status
TransactionCurrencystringDocument currency
DocumentDatestringDocument date (Edm.DateTime)
CreationDatestringCreation date (Edm.DateTime)
LastChangeDatestringLast change date (Edm.DateTime)
__nextstringOData skiptoken URL for next page
__countstringTotal count when $inlinecount=allpages is used

sap_s4hana_get_outbound_delivery

Retrieve a single outbound delivery by DeliveryDocument key from SAP S/4HANA Cloud (API_OUTBOUND_DELIVERY_SRV;v=0002, A_OutbDeliveryHeader).

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
deliveryDocumentstringYesDeliveryDocument key (string, up to 10 characters)
selectstringNoComma-separated fields to return ($select)
expandstringNoComma-separated navigation properties to expand (e.g., "to_DeliveryDocumentItem")

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP
datajsonOData v2 response envelope; entity at output.data.d
djsonA_OutbDeliveryHeader entity
DeliveryDocumentstringOutbound delivery number
DeliveryDocumentTypestringDelivery document type
SDDocumentCategorystringSD document category (e.g., J = outbound delivery)
ShippingPointstringShipping point
ShippingTypestringShipping type
ShipToPartystringShip-to business partner
SoldToPartystringSold-to business partner
DeliveryDatestringDelivery date (Edm.DateTime)
ActualGoodsMovementDatestringActual goods issue date (Edm.DateTime)
PlannedGoodsIssueDatestringPlanned goods issue date (Edm.DateTime)
OverallSDProcessStatusstringOverall SD process (delivery) status
OverallGoodsMovementStatusstringOverall goods movement status
TransactionCurrencystringDocument currency
DocumentDatestringDocument date (Edm.DateTime)
CreationDatestringCreation date (Edm.DateTime)
LastChangeDatestringLast change date (Edm.DateTime)
to_DeliveryDocumentItemjsonDelivery items (when $expand=to_DeliveryDocumentItem)
to_DeliveryDocumentPartnerjsonDelivery partners (when $expand=to_DeliveryDocumentPartner)

sap_s4hana_list_inbound_deliveries

List inbound deliveries from SAP S/4HANA Cloud (API_INBOUND_DELIVERY_SRV;v=0002, A_InbDeliveryHeader) with optional OData $filter, $top, $skip, $orderby, $select, $expand.

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
filterstringNoOData $filter expression (e.g., "ReceivingPlant eq '1010'")
topnumberNoMaximum results to return ($top)
skipnumberNoNumber of results to skip ($skip)
orderBystringNoOData $orderby expression
selectstringNoComma-separated fields to return ($select)
expandstringNoComma-separated navigation properties to expand (e.g., "to_DeliveryDocumentItem")

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP
datajsonOData v2 response envelope; collection at output.data.d.results
djsonOData v2 envelope
resultsarrayA_InbDeliveryHeader entities
DeliveryDocumentstringInbound delivery number
DeliveryDocumentTypestringDelivery document type (e.g., EL)
SDDocumentCategorystringSD document category (e.g., 7 = inbound delivery)
ReceivingPlantstringReceiving plant
SupplierstringSupplier business partner
ShipToPartystringShip-to business partner
DeliveryDatestringDelivery date (Edm.DateTime)
ActualGoodsMovementDatestringActual goods movement (receipt) date (Edm.DateTime)
PlannedGoodsMovementDatestringPlanned goods movement date (Edm.DateTime)
OverallSDProcessStatusstringOverall SD process (delivery) status
OverallGoodsMovementStatusstringOverall goods movement status
DocumentDatestringDocument date (Edm.DateTime)
CreationDatestringCreation date (Edm.DateTime)
LastChangeDatestringLast change date (Edm.DateTime)
__nextstringOData skiptoken URL for next page
__countstringTotal count when $inlinecount=allpages is used

sap_s4hana_get_inbound_delivery

Retrieve a single inbound delivery by DeliveryDocument key from SAP S/4HANA Cloud (API_INBOUND_DELIVERY_SRV;v=0002, A_InbDeliveryHeader).

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
deliveryDocumentstringYesDeliveryDocument key (string, up to 10 characters)
selectstringNoComma-separated fields to return ($select)
expandstringNoComma-separated navigation properties to expand (e.g., "to_DeliveryDocumentItem")

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP
datajsonOData v2 response envelope; entity at output.data.d
djsonA_InbDeliveryHeader entity
DeliveryDocumentstringInbound delivery number
DeliveryDocumentTypestringDelivery document type
SDDocumentCategorystringSD document category (e.g., 7 = inbound delivery)
ReceivingPlantstringReceiving plant
SupplierstringSupplier business partner
ShipToPartystringShip-to business partner
DeliveryDatestringDelivery date (Edm.DateTime)
ActualGoodsMovementDatestringActual goods movement (receipt) date (Edm.DateTime)
PlannedGoodsMovementDatestringPlanned goods movement date (Edm.DateTime)
OverallSDProcessStatusstringOverall SD process (delivery) status
OverallGoodsMovementStatusstringOverall goods movement status
DocumentDatestringDocument date (Edm.DateTime)
CreationDatestringCreation date (Edm.DateTime)
LastChangeDatestringLast change date (Edm.DateTime)
to_DeliveryDocumentItemjsonDelivery items (when $expand=to_DeliveryDocumentItem)
to_DeliveryDocumentPartnerjsonDelivery partners (when $expand=to_DeliveryDocumentPartner)

sap_s4hana_list_billing_documents

List billing documents (customer invoices) from SAP S/4HANA Cloud (API_BILLING_DOCUMENT_SRV, A_BillingDocument) with optional OData $filter, $top, $skip, $orderby, $select, $expand.

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
filterstringNoOData $filter expression (e.g., "SoldToParty eq '10100001'")
topnumberNoMaximum results to return ($top)
skipnumberNoNumber of results to skip ($skip)
orderBystringNoOData $orderby expression
selectstringNoComma-separated fields to return ($select)
expandstringNoComma-separated navigation properties to expand (e.g., "to_Item,to_Partner,to_PricingElement")

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP
datajsonOData v2 response envelope; collection at output.data.d.results
djsonOData v2 envelope
resultsarrayA_BillingDocument entities
BillingDocumentstringBilling document number
SDDocumentCategorystringSD document category
BillingDocumentCategorystringBilling document category
BillingDocumentTypestringBilling document type (e.g., F2)
BillingDocumentDatestringBilling document date (OData /Date(ms)/)
BillingDocumentIsCancelledbooleanWhether the billing document is cancelled
CancelledBillingDocumentstringCancelled billing document number
TotalNetAmountstringTotal net amount (Edm.Decimal as string)
TaxAmountstringTax amount (Edm.Decimal as string)
TotalGrossAmountstringTotal gross amount (Edm.Decimal as string)
TransactionCurrencystringDocument currency
SoldToPartystringSold-to business partner
PayerPartystringPayer party
SalesOrganizationstringSales organization
DistributionChannelstringDistribution channel
DivisionstringDivision
CompanyCodestringCompany code
FiscalYearstringFiscal year
OverallBillingStatusstringOverall billing status
AccountingPostingStatusstringAccounting posting status
AccountingTransferStatusstringAccounting transfer status
InvoiceClearingStatusstringInvoice clearing status
AccountingDocumentstringLinked accounting document
CustomerPaymentTermsstringCustomer payment terms
PaymentMethodstringPayment method
DocumentReferenceIDstringDocument reference ID
CreationDatestringCreation date (OData /Date(ms)/)
LastChangeDatestringLast change date (OData /Date(ms)/)
LastChangeDateTimestringLast change date-time (Edm.DateTimeOffset)
__nextstringOData skiptoken URL for next page
__countstringTotal count when $inlinecount=allpages is used

sap_s4hana_get_billing_document

Retrieve a single billing document (customer invoice) by BillingDocument key from SAP S/4HANA Cloud (API_BILLING_DOCUMENT_SRV, A_BillingDocument).

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
billingDocumentstringYesBillingDocument key (string, up to 10 characters)
selectstringNoComma-separated fields to return ($select)
expandstringNoComma-separated navigation properties to expand (e.g., "to_Item,to_Partner,to_PricingElement")

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP
datajsonOData v2 response envelope; entity at output.data.d
djsonA_BillingDocument entity
BillingDocumentstringBilling document number
SDDocumentCategorystringSD document category
BillingDocumentCategorystringBilling document category
BillingDocumentTypestringBilling document type
BillingDocumentDatestringBilling document date (OData /Date(ms)/)
BillingDocumentIsCancelledbooleanWhether the billing document is cancelled
CancelledBillingDocumentstringCancelled billing document number
TotalNetAmountstringTotal net amount (Edm.Decimal as string)
TaxAmountstringTax amount (Edm.Decimal as string)
TotalGrossAmountstringTotal gross amount (Edm.Decimal as string)
TransactionCurrencystringDocument currency
SoldToPartystringSold-to business partner
PayerPartystringPayer party
SalesOrganizationstringSales organization
DistributionChannelstringDistribution channel
DivisionstringDivision
CompanyCodestringCompany code
FiscalYearstringFiscal year
OverallBillingStatusstringOverall billing status
AccountingPostingStatusstringAccounting posting status
AccountingTransferStatusstringAccounting transfer status
InvoiceClearingStatusstringInvoice clearing status
AccountingDocumentstringLinked accounting document
CustomerPaymentTermsstringCustomer payment terms
PaymentMethodstringPayment method
DocumentReferenceIDstringDocument reference ID
CreationDatestringCreation date (OData /Date(ms)/)
LastChangeDatestringLast change date (OData /Date(ms)/)
LastChangeDateTimestringLast change date-time (Edm.DateTimeOffset)
to_ItemjsonBilling document items (when $expand=to_Item)
to_PartnerjsonBilling document partners (when $expand=to_Partner)
to_PricingElementjsonBilling document pricing elements (when $expand=to_PricingElement)

sap_s4hana_list_products

List products (materials) from SAP S/4HANA Cloud (API_PRODUCT_SRV, A_Product) with optional OData $filter, $top, $skip, $orderby, $select, $expand.

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
filterstringNoOData $filter expression (e.g., "ProductType eq 'FERT'")
topnumberNoMaximum results to return ($top)
skipnumberNoNumber of results to skip ($skip)
orderBystringNoOData $orderby expression
selectstringNoComma-separated fields to return ($select)
expandstringNoComma-separated navigation properties to expand ($expand)

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP
datajsonOData v2 response envelope; collection at output.data.d.results
djsonOData v2 envelope
resultsarrayA_Product entities
ProductstringProduct (material) number
ProductTypestringProduct type (e.g., FERT, HAWA)
ProductGroupstringMaterial group
BaseUnitstringBase unit of measure
BrandstringBrand
DivisionstringDivision
GrossWeightstringGross weight
NetWeightstringNet weight
WeightUnitstringWeight unit of measure
CrossPlantStatusstringCross-plant material status
IsMarkedForDeletionbooleanDeletion flag
ProductStandardIDstringStandard product ID (e.g., GTIN)
ItemCategoryGroupstringItem category group
ProductOldIDstringLegacy/old product ID
CreatedByUserstringUser who created the product
CreationDatestringCreation date (OData /Date(ms)/)
LastChangedByUserstringUser who last changed the product
LastChangeDatestringLast change date
LastChangeDateTimestringLast change timestamp (Edm.DateTimeOffset)
__nextstringOData skiptoken URL for next page
__countstringTotal count when $inlinecount=allpages is used

sap_s4hana_get_product

Retrieve a single product (material) by Product key from SAP S/4HANA Cloud (API_PRODUCT_SRV, A_Product).

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
productstringYesProduct key (string, up to 40 characters)
selectstringNoComma-separated fields to return ($select)
expandstringNoComma-separated navigation properties to expand (e.g., "to_Description")

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP
datajsonOData v2 response envelope; entity at output.data.d
djsonA_Product entity
ProductstringProduct (material) number
ProductTypestringProduct type (e.g., FERT, HAWA)
ProductGroupstringMaterial group
BaseUnitstringBase unit of measure
BrandstringBrand
DivisionstringDivision
GrossWeightstringGross weight
NetWeightstringNet weight
WeightUnitstringWeight unit of measure
CrossPlantStatusstringCross-plant material status
IsMarkedForDeletionbooleanDeletion flag
ProductStandardIDstringStandard product ID (e.g., GTIN)
ItemCategoryGroupstringItem category group
ProductOldIDstringLegacy/old product ID
CreatedByUserstringUser who created the product
CreationDatestringCreation date (OData /Date(ms)/)
LastChangedByUserstringUser who last changed the product
LastChangeDatestringLast change date
LastChangeDateTimestringLast change timestamp (Edm.DateTimeOffset)
to_DescriptionjsonProduct descriptions (when $expand=to_Description)
to_PlantjsonPlant-level data (when $expand=to_Plant)
to_ProductSalesjsonSales data (when $expand=to_ProductSales)

sap_s4hana_update_product

Update fields on an A_Product entity in SAP S/4HANA Cloud (API_PRODUCT_SRV). Uses HTTP MERGE (OData v2 partial update) — only the fields you provide are written; existing values are preserved. Flat scalar header fields only — deep/multi-entity updates across navigation properties are not supported by API_PRODUCT_SRV MERGE/PUT (see SAP KBA 2833338); update child entities (plant, valuation, sales data, etc.) via their own endpoints. If-Match defaults to a wildcard (unconditional) — for safe concurrent updates pass the ETag from a prior GET.

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
productstringYesProduct key to update (string, up to 40 characters)
bodyjsonYesJSON object with A_Product fields to update (e.g., {"ProductGroup":"L001","IsMarkedForDeletion":false})
ifMatchstringNoIf-Match ETag for optimistic concurrency. Defaults to "*" (unconditional).

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP (204 on success)
datajsonNull on 204 success, or OData v2 envelope with the updated A_Product entity at output.data.d
djsonUpdated A_Product entity (only present if SAP returns a body)
ProductstringProduct (material) number
ProductTypestringProduct type
ProductGroupstringMaterial group
BaseUnitstringBase unit of measure
IsMarkedForDeletionbooleanDeletion flag
LastChangeDatestringLast change date

sap_s4hana_list_material_stock

List material stock quantities from SAP S/4HANA Cloud (API_MATERIAL_STOCK_SRV, A_MatlStkInAcctMod). The entity uses an 11-field composite key (Material, Plant, StorageLocation, Batch, Supplier, Customer, WBSElementInternalID, SDDocument, SDDocumentItem, InventorySpecialStockType, InventoryStockType) — query with $filter on these fields instead of a direct key lookup.

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
filterstringNoOData $filter expression (e.g., "Material eq 'TG10' and Plant eq '1010' and InventoryStockType eq '01'")
topnumberNoMaximum results to return ($top)
skipnumberNoNumber of results to skip ($skip)
orderBystringNoOData $orderby expression
selectstringNoComma-separated fields to return ($select)
expandstringNoComma-separated navigation properties to expand ($expand)

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP
datajsonOData payload containing the array of A_MatlStkInAcctMod stock entries
MaterialstringMaterial number
PlantstringPlant identifier
StorageLocationstringStorage location identifier
BatchstringBatch identifier
SupplierstringSupplier business partner key
CustomerstringCustomer business partner key
WBSElementInternalIDstringWBS element internal ID
SDDocumentstringSD document number
SDDocumentItemstringSD document item
InventorySpecialStockTypestringSpecial stock type indicator
InventoryStockTypestringStock type (e.g., 01 unrestricted-use, 02 quality inspection, 03 blocked, 04 restricted-use)
MatlWrhsStkQtyInMatlBaseUnitstringMaterial warehouse stock quantity in material base unit (Edm.Decimal serialized as string)
MaterialBaseUnitstringMaterial base unit of measure

sap_s4hana_list_material_documents

List material document headers (goods movements) from SAP S/4HANA Cloud (API_MATERIAL_DOCUMENT_SRV, A_MaterialDocumentHeader) with optional OData $filter, $top, $skip, $orderby, $select, $expand.

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
filterstringNoOData $filter expression (e.g., "MaterialDocumentYear eq '2024' and PostingDate ge datetime'2024-01-01T00:00:00'")
topnumberNoMaximum results to return ($top)
skipnumberNoNumber of results to skip ($skip)
orderBystringNoOData $orderby expression
selectstringNoComma-separated fields to return ($select)
expandstringNoComma-separated navigation properties to expand (e.g., "to_MaterialDocumentItem")

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP
datajsonOData payload containing the array of A_MaterialDocumentHeader entities
MaterialDocumentYearstringMaterial document year (4-digit fiscal year)
MaterialDocumentstringMaterial document number
DocumentDatestringDocument date (OData /Date(...)/ string)
PostingDatestringPosting date (OData /Date(...)/ string)
MaterialDocumentHeaderTextstringHeader text describing the material document
ReferenceDocumentstringReference document number
GoodsMovementCodestringGoods movement code (e.g., 01 GR for PO, 03 GI to cost center)
InventoryTransactionTypestringInventory transaction type indicator
CreatedByUserstringUser who created the material document
CreationDatestringCreation date (OData /Date(...)/ string)
CreationTimestringCreation time (OData PT...S string)
VersionForPrintingSlipstringVersion for printing the goods movement slip
ManualPrintIsTriggeredbooleanIndicates whether manual print was triggered for this document
CtrlPostgForExtWhseMgmtSyststringControl posting for external warehouse management system
to_MaterialDocumentItemjsonMaterial document items (only present when $expand=to_MaterialDocumentItem is supplied)

sap_s4hana_get_material_document

Retrieve a single material document header by composite key (MaterialDocument + MaterialDocumentYear) from SAP S/4HANA Cloud (API_MATERIAL_DOCUMENT_SRV, A_MaterialDocumentHeader).

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
materialDocumentYearstringYesMaterialDocumentYear (4-character year, e.g., "2024")
materialDocumentstringYesMaterialDocument key (string, up to 10 characters)
selectstringNoComma-separated fields to return ($select)
expandstringNoComma-separated navigation properties to expand (e.g., "to_MaterialDocumentItem")

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP
datajsonOData payload containing the A_MaterialDocumentHeader entity (and optionally to_MaterialDocumentItem when expanded)
MaterialDocumentYearstringMaterial document year (4-digit fiscal year)
MaterialDocumentstringMaterial document number
DocumentDatestringDocument date (OData /Date(...)/ string)
PostingDatestringPosting date (OData /Date(...)/ string)
MaterialDocumentHeaderTextstringHeader text describing the material document
ReferenceDocumentstringReference document number
GoodsMovementCodestringGoods movement code (e.g., 01 GR for PO, 03 GI to cost center)
InventoryTransactionTypestringInventory transaction type indicator
CreatedByUserstringUser who created the material document
CreationDatestringCreation date (OData /Date(...)/ string)
CreationTimestringCreation time (OData PT...S string)
VersionForPrintingSlipstringVersion for printing the goods movement slip
ManualPrintIsTriggeredbooleanIndicates whether manual print was triggered for this document
CtrlPostgForExtWhseMgmtSyststringControl posting for external warehouse management system
to_MaterialDocumentItemjsonMaterial document items (only present when $expand=to_MaterialDocumentItem is supplied)

sap_s4hana_list_purchase_requisitions

List purchase requisitions from SAP S/4HANA Cloud (API_PURCHASEREQ_PROCESS_SRV, A_PurchaseRequisitionHeader) with optional OData $filter, $top, $skip, $orderby, $select, $expand. Note: API_PURCHASEREQ_PROCESS_SRV is deprecated since S/4HANA Cloud Public Edition 2402; the successor is API_PURCHASEREQUISITION_2 (OData v4). This tool still works against tenants where the legacy service is enabled.

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
filterstringNoOData $filter expression (e.g., "PurchaseRequisitionType eq 'NB'")
topnumberNoMaximum results to return ($top)
skipnumberNoNumber of results to skip ($skip)
orderBystringNoOData $orderby expression
selectstringNoComma-separated fields to return ($select)
expandstringNoComma-separated navigation properties to expand (e.g., "to_PurchaseReqnItem")

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP
datajsonOData v2 response envelope; collection at output.data.d.results
djsonOData v2 envelope
resultsarrayA_PurchaseRequisitionHeader entities
PurchaseRequisitionstringPurchase requisition number
PurchaseRequisitionTypestringPurchase requisition document type (e.g., NB)
PurReqnDescriptionstringPurchase requisition description
SourceDeterminationstringSource-of-supply determination flag
__nextstringOData skiptoken URL for next page

sap_s4hana_get_purchase_requisition

Retrieve a single purchase requisition by PurchaseRequisition key from SAP S/4HANA Cloud (API_PURCHASEREQ_PROCESS_SRV, A_PurchaseRequisitionHeader). Note: API_PURCHASEREQ_PROCESS_SRV is deprecated since S/4HANA Cloud Public Edition 2402; the successor is API_PURCHASEREQUISITION_2 (OData v4). This tool still works against tenants where the legacy service is enabled.

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
purchaseRequisitionstringYesPurchaseRequisition key (string, up to 10 characters)
selectstringNoComma-separated fields to return ($select)
expandstringNoComma-separated navigation properties to expand (e.g., "to_PurchaseReqnItem")

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP
datajsonOData v2 response envelope; entity at output.data.d
djsonA_PurchaseRequisitionHeader entity
PurchaseRequisitionstringPurchase requisition number
PurchaseRequisitionTypestringPR document type (e.g., NB)
PurReqnDescriptionstringPurchase requisition description
SourceDeterminationstringSource-of-supply determination flag
to_PurchaseReqnItemjsonExpanded PR items (when $expand=to_PurchaseReqnItem)

sap_s4hana_create_purchase_requisition

Create a purchase requisition in SAP S/4HANA Cloud (API_PURCHASEREQ_PROCESS_SRV, A_PurchaseRequisitionHeader). PurchaseRequisition is auto-assigned by SAP from the document number range; provide line items via the to_PurchaseReqnItem deep-insert array. Note: API_PURCHASEREQ_PROCESS_SRV is deprecated since S/4HANA Cloud Public Edition 2402; the successor is API_PURCHASEREQUISITION_2 (OData v4). This tool still works against tenants where the legacy service is enabled.

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
purchaseRequisitionTypestringYesPurchaseRequisitionType (e.g., "NB" Standard PR)
itemsjsonYesto_PurchaseReqnItem deep-insert array (e.g., [{"PurchaseRequisitionItem":"10","Material":"TG11","RequestedQuantity":"5","Plant":"1010","BaseUnit":"PC","DeliveryDate":"/Date(1735689600000)/"}])
bodyjsonNoAdditional A_PurchaseRequisitionHeader fields merged into the create payload (e.g., {"PurReqnDescription":"Office supplies"})

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP
datajsonOData v2 response envelope; created entity at output.data.d
djsonCreated A_PurchaseRequisitionHeader entity
PurchaseRequisitionstringAuto-assigned purchase requisition number
PurchaseRequisitionTypestringPR document type (e.g., NB)
PurReqnDescriptionstringPurchase requisition description
SourceDeterminationstringSource-of-supply determination flag
to_PurchaseReqnItemjsonCreated PR items returned in deep insert

sap_s4hana_update_purchase_requisition

Update fields on an A_PurchaseRequisitionHeader entity in SAP S/4HANA Cloud (API_PURCHASEREQ_PROCESS_SRV; deprecated since S/4HANA 2402, successor is API_PURCHASEREQUISITION_2 OData v4). Uses HTTP MERGE (OData v2 partial update) — only the fields you provide are written; existing values are preserved. Header-only — deep updates across navigations are not supported (SAP KBA 2833338); use the A_PurchaseReqnItem entity directly to modify items. If-Match defaults to a wildcard - for safe concurrent updates pass the ETag from a prior GET to avoid lost updates.

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
purchaseRequisitionstringYesPurchaseRequisition key to update (string, up to 10 characters)
bodyjsonYesJSON object with A_PurchaseRequisitionHeader fields to update (e.g., {"PurchaseRequisitionType":"NB"})
ifMatchstringNoIf-Match ETag for optimistic concurrency. Defaults to "*" (unconditional).

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP (204 on success)
datajsonNull on 204 success, or OData v2 envelope with updated A_PurchaseRequisitionHeader at output.data.d
djsonUpdated A_PurchaseRequisitionHeader entity (if returned)
PurchaseRequisitionstringPurchase requisition number
PurchaseRequisitionTypestringPR document type
PurReqnDescriptionstringPurchase requisition description
SourceDeterminationstringSource-of-supply determination flag

sap_s4hana_list_purchase_orders

List purchase orders from SAP S/4HANA Cloud (API_PURCHASEORDER_PROCESS_SRV, A_PurchaseOrder) with optional OData $filter, $top, $skip, $orderby, $select, $expand.

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
filterstringNoOData $filter expression (e.g., "CompanyCode eq '1010'")
topnumberNoMaximum results to return ($top)
skipnumberNoNumber of results to skip ($skip)
orderBystringNoOData $orderby expression
selectstringNoComma-separated fields to return ($select)
expandstringNoComma-separated navigation properties to expand (e.g., "to_PurchaseOrderItem")

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP
datajsonOData v2 response envelope; collection at output.data.d.results
djsonOData v2 envelope
resultsarrayA_PurchaseOrder entities
PurchaseOrderstringPurchase order number
PurchaseOrderTypestringPO document type (e.g., NB)
CompanyCodestringCompany code
PurchasingOrganizationstringPurchasing organization
PurchasingGroupstringPurchasing group
SupplierstringSupplier business partner key
DocumentCurrencystringDocument currency
NetAmountstringNet amount of the purchase order
CreationDatestringCreation date (OData /Date(ms)/)
CreatedByUserstringUser who created the PO
PurchaseOrderDatestringPurchase order date
__nextstringOData skiptoken URL for next page
__countstringTotal count when $inlinecount=allpages is used

sap_s4hana_get_purchase_order

Retrieve a single purchase order by PurchaseOrder key from SAP S/4HANA Cloud (API_PURCHASEORDER_PROCESS_SRV, A_PurchaseOrder).

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
purchaseOrderstringYesPurchaseOrder key (string, up to 10 characters)
selectstringNoComma-separated fields to return ($select)
expandstringNoComma-separated navigation properties to expand (e.g., "to_PurchaseOrderItem")

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP
datajsonOData v2 response envelope; entity at output.data.d
djsonA_PurchaseOrder entity
PurchaseOrderstringPurchase order number
PurchaseOrderTypestringPO document type
CompanyCodestringCompany code
PurchasingOrganizationstringPurchasing organization
PurchasingGroupstringPurchasing group
SupplierstringSupplier business partner key
DocumentCurrencystringDocument currency
NetAmountstringNet amount of the purchase order
CreationDatestringCreation date (OData /Date(ms)/)
CreatedByUserstringUser who created the PO
PurchaseOrderDatestringPurchase order date
ValidityStartDatestringValidity start date
ValidityEndDatestringValidity end date
IncotermsClassificationstringIncoterms classification (e.g., FOB)
PaymentTermsstringPayment terms key
LastChangeDateTimestringLast change timestamp (OData /Date(ms)/)
to_PurchaseOrderItemjsonExpanded PO items (when $expand=to_PurchaseOrderItem)

sap_s4hana_create_purchase_order

Create a purchase order in SAP S/4HANA Cloud (API_PURCHASEORDER_PROCESS_SRV, A_PurchaseOrder). PurchaseOrder is auto-assigned by SAP from the document number range; provide line items via the body parameter.

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
purchaseOrderTypestringYesPurchaseOrderType (e.g., "NB" Standard PO)
companyCodestringYesCompanyCode (4 chars, e.g., "1010")
purchasingOrganizationstringYesPurchasingOrganization (4 chars)
purchasingGroupstringYesPurchasingGroup (3 chars)
supplierstringYesSupplier business partner key (up to 10 chars)
bodyjsonYesA_PurchaseOrder body containing to_PurchaseOrderItem deep-insert items (required by SAP) plus any additional header fields, e.g., {"to_PurchaseOrderItem":[{"PurchaseOrderItem":"10","Material":"TG11","OrderQuantity":"5","Plant":"1010","PurchaseOrderQuantityUnit":"PC","NetPriceAmount":"100.00","DocumentCurrency":"USD"}]}.

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP
datajsonOData v2 response envelope; created entity at output.data.d
djsonCreated A_PurchaseOrder entity
PurchaseOrderstringAuto-assigned purchase order number
PurchaseOrderTypestringPO document type
CompanyCodestringCompany code
PurchasingOrganizationstringPurchasing organization
PurchasingGroupstringPurchasing group
SupplierstringSupplier business partner key
DocumentCurrencystringDocument currency
NetAmountstringNet amount of the purchase order
CreationDatestringCreation date (OData /Date(ms)/)
to_PurchaseOrderItemjsonCreated PO items returned in deep insert

sap_s4hana_update_purchase_order

Update fields on an A_PurchaseOrder header in SAP S/4HANA Cloud (API_PURCHASEORDER_PROCESS_SRV). Uses HTTP MERGE (OData v2 partial update) — only the fields you provide are written; existing values are preserved. Header-only — line-item changes are not supported via deep update on the header (SAP KBA 2833338); use the A_PurchaseOrderItem entity directly to modify items. If-Match defaults to a wildcard - for safe concurrent updates pass the ETag from a prior GET to avoid lost updates.

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
purchaseOrderstringYesPurchaseOrder key to update (string, up to 10 characters)
bodyjsonYesJSON object with A_PurchaseOrder fields to update (e.g., {"PurchasingGroup":"002","PurchaseOrderDate":"/Date(1735689600000)/"})
ifMatchstringNoIf-Match ETag for optimistic concurrency. Defaults to "*" (unconditional).

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP (204 on success)
datajsonNull on 204 success, or OData v2 envelope with updated A_PurchaseOrder at output.data.d
djsonUpdated A_PurchaseOrder entity (if returned)
PurchaseOrderstringPurchase order number
PurchaseOrderTypestringPO document type
CompanyCodestringCompany code
PurchasingGroupstringPurchasing group
SupplierstringSupplier key
NetAmountstringNet amount
DocumentCurrencystringDocument currency
LastChangeDateTimestringLast change timestamp

sap_s4hana_list_supplier_invoices

List supplier invoices from SAP S/4HANA Cloud (API_SUPPLIERINVOICE_PROCESS_SRV, A_SupplierInvoice) with optional OData $filter, $top, $skip, $orderby, $select, $expand.

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
filterstringNoOData $filter expression (e.g., "InvoicingParty eq '17300001'")
topnumberNoMaximum results to return ($top)
skipnumberNoNumber of results to skip ($skip)
orderBystringNoOData $orderby expression
selectstringNoComma-separated fields to return ($select)
expandstringNoComma-separated navigation properties to expand ($expand)

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP
datajsonOData v2 response envelope; collection at output.data.d.results
djsonOData v2 envelope
resultsarrayA_SupplierInvoice entities
SupplierInvoicestringSupplier invoice number
FiscalYearstringFiscal year
CompanyCodestringCompany code
DocumentDatestringInvoice document date
PostingDatestringPosting date
InvoicingPartystringInvoicing party (supplier key)
InvoiceGrossAmountstringGross invoice amount
DocumentCurrencystringDocument currency
AccountingDocumentTypestringAccounting document type
PaymentTermsstringPayment terms key
DueCalculationBaseDatestringBaseline date for due-date calculation
SupplierInvoiceIDByInvcgPartystringReference number used by the invoicing party
PaymentMethodstringPayment method
TaxIsCalculatedAutomaticallybooleanWhether tax is calculated automatically
ManualCashDiscountstringManually entered cash discount amount
BusinessPlacestringBusiness place (jurisdiction code)
__nextstringOData skiptoken URL for next page

sap_s4hana_get_supplier_invoice

Retrieve a single supplier invoice by composite key (SupplierInvoice + FiscalYear) from SAP S/4HANA Cloud (API_SUPPLIERINVOICE_PROCESS_SRV, A_SupplierInvoice).

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
supplierInvoicestringYesSupplierInvoice key (string, up to 10 characters)
fiscalYearstringYesFiscalYear (4-character year, e.g., "2024")
selectstringNoComma-separated fields to return ($select)
expandstringNoComma-separated navigation properties to expand ($expand)

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP
datajsonOData v2 response envelope; entity at output.data.d
djsonA_SupplierInvoice entity
SupplierInvoicestringSupplier invoice number
FiscalYearstringFiscal year
CompanyCodestringCompany code
DocumentDatestringInvoice document date
PostingDatestringPosting date
InvoicingPartystringInvoicing party (supplier key)
InvoiceGrossAmountstringGross invoice amount
DocumentCurrencystringDocument currency
AccountingDocumentTypestringAccounting document type
PaymentTermsstringPayment terms key
DueCalculationBaseDatestringBaseline date for due-date calculation
SupplierInvoiceIDByInvcgPartystringReference number used by the invoicing party
PaymentMethodstringPayment method
TaxIsCalculatedAutomaticallybooleanWhether tax is calculated automatically
ManualCashDiscountstringManually entered cash discount amount
BusinessPlacestringBusiness place (jurisdiction code)

sap_s4hana_odata_query

Make an arbitrary OData v2 call against any SAP S/4HANA Cloud whitelisted Communication Scenario. Use when no dedicated tool exists for the entity. The proxy handles auth, CSRF, and OData unwrapping. For write operations (POST/PUT/PATCH/MERGE/DELETE), pass an If-Match ETag obtained from a prior GET to avoid lost updates; misuse will mutate production data.

Input

ParameterTypeRequiredDescription
subdomainstringNoSAP BTP subaccount subdomain (technical name of your subaccount, not the S/4HANA host)
regionstringNoBTP region (e.g. eu10, us10)
clientIdstringNoOAuth client ID from the S/4HANA Communication Arrangement
clientSecretstringNoOAuth client secret from the S/4HANA Communication Arrangement
deploymentTypestringNoDeployment type: cloud_public (default), cloud_private, or on_premise
authTypestringNoAuthentication type: oauth_client_credentials (default) or basic
baseUrlstringNoBase URL of the S/4HANA host (Cloud Private / On-Premise)
tokenUrlstringNoOAuth token URL (Cloud Private / On-Premise + OAuth)
usernamestringNoUsername for HTTP Basic auth
passwordstringNoPassword for HTTP Basic auth
servicestringYesOData service name (e.g., "API_BUSINESS_PARTNER", "API_SALES_ORDER_SRV")
pathstringYesPath inside the service (e.g., "/A_BusinessPartner" or "/A_BusinessPartner('1000123')")
methodstringNoHTTP method: GET (default), POST, PATCH, PUT, DELETE, MERGE
queryjsonNoOData query parameters as JSON object or query string (e.g., {"$filter":"BusinessPartnerCategory eq '1'","$top":10}). $format=json is added automatically when omitted.
bodyjsonNoJSON request body for write operations
ifMatchstringNoETag value for the If-Match header (required by SAP for PATCH/PUT/DELETE on existing entities)

Output

ParameterTypeDescription
statusnumberHTTP status code returned by SAP
datajsonParsed OData payload (entity, collection, or null on 204)

On this page

Usage Instructions
Deployment modes
What you can do
Optimistic concurrency
Tools
sap_s4hana_list_business_partners
Input
Output
sap_s4hana_get_business_partner
Input
Output
sap_s4hana_create_business_partner
Input
Output
sap_s4hana_update_business_partner
Input
Output
sap_s4hana_list_customers
Input
Output
sap_s4hana_get_customer
Input
Output
sap_s4hana_update_customer
Input
Output
sap_s4hana_list_suppliers
Input
Output
sap_s4hana_get_supplier
Input
Output
sap_s4hana_update_supplier
Input
Output
sap_s4hana_list_sales_orders
Input
Output
sap_s4hana_get_sales_order
Input
Output
sap_s4hana_create_sales_order
Input
Output
sap_s4hana_update_sales_order
Input
Output
sap_s4hana_delete_sales_order
Input
Output
sap_s4hana_list_outbound_deliveries
Input
Output
sap_s4hana_get_outbound_delivery
Input
Output
sap_s4hana_list_inbound_deliveries
Input
Output
sap_s4hana_get_inbound_delivery
Input
Output
sap_s4hana_list_billing_documents
Input
Output
sap_s4hana_get_billing_document
Input
Output
sap_s4hana_list_products
Input
Output
sap_s4hana_get_product
Input
Output
sap_s4hana_update_product
Input
Output
sap_s4hana_list_material_stock
Input
Output
sap_s4hana_list_material_documents
Input
Output
sap_s4hana_get_material_document
Input
Output
sap_s4hana_list_purchase_requisitions
Input
Output
sap_s4hana_get_purchase_requisition
Input
Output
sap_s4hana_create_purchase_requisition
Input
Output
sap_s4hana_update_purchase_requisition
Input
Output
sap_s4hana_list_purchase_orders
Input
Output
sap_s4hana_get_purchase_order
Input
Output
sap_s4hana_create_purchase_order
Input
Output
sap_s4hana_update_purchase_order
Input
Output
sap_s4hana_list_supplier_invoices
Input
Output
sap_s4hana_get_supplier_invoice
Input
Output
sap_s4hana_odata_query
Input
Output