SAP S/4HANA On-Premise
Keep SAP S/4HANA On-Premise in step with your orders, stock and finance, with the right person approving every posting.
30 ways to read, 7 ways to write, each write switched on by you.
Quality checks
Built and tested with example responses.
- Ready to connect: doneEvery listed action is built in.
- Built and tested with example responses: doneEach action is built from the provider’s published API and tested against example responses, errors, rate limits and paging.
Connected, approved, proven.
The things teams do most with SAP S/4HANA On-Premise, an example flow with a person in the loop, and what Nexra keeps as proof.
Top actions
- Create purchase order
purchase_orders.createApproval by rule - Create sales order
sales_orders.createApproval by rule - List billing documents
billing_documents.listRead
Example flow
- SAP S/4HANA On-Premise · List billing documents
billing_documents.listDone - SAP S/4HANA On-Premise · Create purchase order
purchase_orders.createMaker-checker - Nexra · Record the decision and result in the evidence chainProven
Example workflow. Routine runs go through on their own. Only a change your rules flag, such as one over a limit you set, waits for the right person, who sees the exact change and the rule before it reaches SAP S/4HANA On-Premise.
What gets logged
- Whether it ran on its own or who approved it, and under which rule
- A fingerprint of the exact request sent to SAP S/4HANA On-Premise
- SAP S/4HANA On-Premise's reply: what it created or changed
- One entry in the evidence chain, linked to the one before
Try this in the sandbox
Run the whole flow with test data in your sandbox, then connect your own account when you are ready to go live.
For developers
Technical detail
Reads and writes S/4HANA on-premise business partners, orders, billing, deliveries, supplier invoices, products, stock, journal items and finance master data through the Nexra relay.
SAP API docs- Source actions
- 30
- Destination actions
- 7
- Data types
- 22
What you can map
Reads are always available. Writes are off until you switch them on for a connection, and governed writes follow your policies.
billing documents2
- Get billing documentSource
One billing document from API_BILLING_DOCUMENT_SRV/A_BillingDocument with to_Item.
- List billing documentsSourceIncremental
Billing documents from API_BILLING_DOCUMENT_SRV/A_BillingDocument with to_Item.
business partners3
- Get business partnerSource
One business partner from API_BUSINESS_PARTNER/A_BusinessPartner with to_BusinessPartnerRole.
- List business partnersSourceIncremental
Business partners from API_BUSINESS_PARTNER/A_BusinessPartner with to_BusinessPartnerRole.
- Update business partnerDestinationProvider duplicate protectionApproval before production
Updates a business partner's organisation or person names, search terms and language by ID.
cost centers1
- List cost centersSource
Cost centers from API_COSTCENTER_SRV/A_CostCenter.
credit notes1
- List credit notesSourceIncremental
Customer credit memos: billing documents from API_BILLING_DOCUMENT_SRV/A_BillingDocument whose SD document category is O, with items.
customer payments1
- List customer paymentsSourceIncremental
Incoming customer payments: the customer line of payment journal entries (account type D) from API_GLACCOUNTLINEITEM.
customers2
- Get customerSource
One customer from API_BUSINESS_PARTNER/A_Customer with to_CustomerCompany,to_CustomerSalesArea.
- List customersSource
Customers from API_BUSINESS_PARTNER/A_Customer.
entity sets1
- List OData entity setSource
Records from any activated API_* OData v2 service and A_* entity set the communication user can read.
gl accounts1
- List G/L accountsSource
G/L accounts from API_GLACCOUNTINCHARTOFACCOUNTS_SRV/A_GLAccountInChartOfAccounts.
inbound deliveries2
- Get inbound deliverySource
One inbound delivery from API_INBOUND_DELIVERY_SRV/A_InbDeliveryHeader with to_DeliveryDocumentItem.
- List inbound deliveriesSourceIncremental
Inbound deliveries from API_INBOUND_DELIVERY_SRV/A_InbDeliveryHeader with to_DeliveryDocumentItem.
journal entries1
- List journal entriesSourceIncremental
Journal entry line items (one record per line) from API_GLACCOUNTLINEITEM, with debit/credit, account and clearing details.
journal entry items1
- List journal entry itemsSource
Journal entry items from API_JOURNALENTRYITEMBASIC_SRV/A_JournalEntryItemBasic.
material stock1
- List material stock balancesSource
Material stock balances from API_MATERIAL_STOCK_SRV/A_MatlStkInAcctMod.
outbound deliveries2
- Get outbound deliverySource
One outbound delivery from API_OUTBOUND_DELIVERY_SRV;v=0002/A_OutbDeliveryHeader with to_DeliveryDocumentItem.
- List outbound deliveriesSourceIncremental
Outbound deliveries from API_OUTBOUND_DELIVERY_SRV;v=0002/A_OutbDeliveryHeader with to_DeliveryDocumentItem.
products2
- Get productSource
One product from API_PRODUCT_SRV/A_Product with to_Description.
- List productsSourceIncremental
Products from API_PRODUCT_SRV/A_Product with to_Description.
profit centers1
- List profit centersSource
Profit centers from API_PROFITCENTER_SRV/A_ProfitCenter.
purchase order items1
- Update purchase order itemDestinationProvider duplicate protectionApproval before production
Updates a purchase order item's quantity, net price, text, plant, storage location or tax code.
purchase orders4
- Create purchase orderDestinationNot retried automaticallyApproval before production
Creates a purchase order with items in one deep insert (POST A_PurchaseOrder).
- Get purchase orderSource
One purchase order from API_PURCHASEORDER_PROCESS_SRV/A_PurchaseOrder with to_PurchaseOrderItem.
- List purchase ordersSourceIncremental
Purchase orders from API_PURCHASEORDER_PROCESS_SRV/A_PurchaseOrder with to_PurchaseOrderItem.
- Update purchase orderDestinationProvider duplicate protectionApproval before production
Updates a purchase order header: purchasing group, payment terms, incoterms, external reference and validity.
sales order items1
- Update sales order itemDestinationProvider duplicate protectionApproval before production
Updates a sales order item's quantity, unit, text, plant or storage location.
sales orders4
- Create sales orderDestinationNot retried automaticallyApproval before production
Creates a sales order with items in one deep insert (POST A_SalesOrder).
- Get sales orderSource
One sales order with items, partners and pricing elements.
- List sales ordersSourceIncremental
Sales orders from API_SALES_ORDER_SRV/A_SalesOrder with to_Item.
- Update sales orderDestinationProvider duplicate protectionApproval before production
Updates a sales order header: customer reference, requested delivery date, payment terms, shipping, incoterms and blocks.
supplier invoices2
- Get supplier invoiceSource
One supplier invoice from API_SUPPLIERINVOICE_PROCESS_SRV/A_SupplierInvoice with to_SuplrInvcItemPurOrdRef.
- List supplier invoicesSourceIncremental
Supplier invoices from API_SUPPLIERINVOICE_PROCESS_SRV/A_SupplierInvoice with to_SuplrInvcItemPurOrdRef.
suppliers2
- Get supplierSource
One supplier from API_BUSINESS_PARTNER/A_Supplier with to_SupplierCompany.
- List suppliersSource
Suppliers from API_BUSINESS_PARTNER/A_Supplier with to_SupplierCompany.
vendor payments1
- List vendor paymentsSourceIncremental
Outgoing supplier payments: the supplier line of payment journal entries (account type K) from API_GLACCOUNTLINEITEM.
Access and limits
- Authentication
- Technical user (basic authentication) on your SAP Gateway, through the Nexra relay
- Plans and access
- SAP S/4HANA (on-premise) 1909 or later with the SAP Gateway OData services activated. Each OData service must be activated in /IWFND/MAINT_SERVICE, and the technical user needs the matching authorisations.
- Test environment
- Use a quality-assurance client of your own S/4HANA system for Test mode.
- Rate limits
- Limited by your SAP Gateway and dialog work processes; HTTP 503 under load.
- Pagination
- $top/$skip ordered by entity key.
- Provider events
- SAP Event Mesh or ABAP business events (separate setup). Flows run on demand, on a schedule, or when a scheduled check finds new or changed records.
Before you build a flow
- Needs a paired Nexra on-premise relay agent that is online; requests fail fast with a clear message while it is offline.
- The relay agent only reaches the systems, paths and methods its administrator allows in its local configuration file.
- Uses the same released OData APIs as SAP S/4HANA Cloud. Services that a release or customer system does not activate return not found; confirm each service on your system (on-site validation).
- Writes cover sales order and purchase order creation by deep insert, header and item updates for sales and purchase orders, and business partner name updates. Updates use PATCH with the supplied ETag, or If-Match: * (last write wins) when none is mapped.
- Journal entries are posted with G/L account lines through the SOAP Journal Entry - Post service (SAP_COM_0002), after a duplicate check on the Reference field; an uncertain posting is held for reconciliation, never resent.
- Intentionally excluded: reversing journal entries, customer and supplier journal lines, posting supplier invoices, billing document creation and cancellation, goods movements and delivery posting, order rejection or deletion, business partner creation and every delete.
- Creates have no idempotency key and are not repeated automatically.
- Nexra fetches a CSRF token once per OData service per connection session before the first request, including reads.
- Outbound deliveries filter on LastChangeDate and supplier invoices on PostingDate at day precision; suppliers, stock and journal entry items have no change timestamp.
- API_JOURNALENTRYITEMBASIC_SRV returns aggregated line values without document numbers; use the entity set operation for other activated finance APIs.
- Journal entries, customer payments and vendor payments read G/L account line items (API_GLACCOUNTLINEITEM) for the leading ledger 0L unless another ledger is chosen; payments are recognised by journal entry type (DZ for customers; KZ and ZP for suppliers by default).
- Credit notes are billing documents with SD document category O (credit memo); credit memo requests are not included.
- Bank transactions: S/4HANA on-premise has no released OData API that reads bank statement items, so bank statement lines are not available. Postings to bank G/L accounts can be read with journal_entries filtered by G/L account.
Developer reference
- Create the SAP credentials described above with the narrowest permissions your flows need.
- In Nexra, open Connect, then Connections, then New connection, choose SAP S/4HANA On-Premise, enter its settings and credentials, and tick only the write actions you need. Connection guide
- Test the connection, then use its actions as flow sources and destinations. Flow guide
Machine-readable detail: GET /api/public/connect/connectors/sap-s4hana-on-premise and the Connections API.