This page describes AAES Govern’s controls. AAES Operate has private-work permissions, operational reviews and recorded-spend limits; it does not include Govern. About AAES Govern
Before you enable this package
The endpoint host 'sap-instance.invalid' is a reserved .invalid placeholder that fails closed until you substitute the real host in both the endpoint URLs and the egress allowlist. The documentation review covers SAP S/4HANA Cloud; other editions and deployment models are not covered.
Read each action's effects and exclusions below. Before installation, also read the complete package requirements, including credential issuance, scope, expiry, and provider permissions. These are deployment prerequisites, not capabilities this package supplies.
Capabilities (5)
Each capability below is one registered operation. The complete package JSON includes its exact network destination allowlist. The repository stores it at packs/sap.json and embeds a copy in the release binary.
Risk tiers. R0 is the minimum for reads. R2 is the minimum for write, create, update, execute, and invoke. R3 is the minimum for delete, send, pay, deploy, approve, share, and transfer. Operators can raise these levels. A minimum tier does not measure the operation's business or confidentiality risk.
On supported execution paths routed through AAES Govern, the R3 actions listed below require approval by an authorized person. Bypass paths and observation-only registrations are outside that guarantee. A provider's restoration feature does not remove this approval requirement. A provider-side approval, such as approving a GitLab merge request, is also separate from AAES Govern human approval. The capability matrix shows which execution paths are implemented, restricted to lab use, or refused at startup. Live compatibility must be tested in your environment.
Field guide. Endpoint is the service address and request method. Connector is the adapter that makes the call. Custody describes how the credential is held; the credential reference identifies the value to resolve. Data class sets handling requirements: pii means personal data, financial means financial records, and internal means internal organizational data.
sap.businesspartner.read v1.0.0R0
- Kind
- tool
- Action
- read
- Endpoint
GET https://sap-instance.invalid/sap/opu/odata/sap/API_BUSINESS_PARTNER/A_BusinessPartner- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-sap-s4-communication-user- Data class
- pii
Read business partner.
Read the A_BusinessPartner collection of the Business Partner (A2X) OData service: business partner, customer and supplier master records with names, addresses and contact data, which are personal data. The registered path covers the collection read only — single-record reads (A_BusinessPartner('...')) and the related address, bank and role entity sets are not registered by this pack.
The host is a reserved placeholder: substitute the customer's tenant host before enabling.
sap.supplierinvoice.read v1.0.0R0
- Kind
- tool
- Action
- read
- Endpoint
GET https://sap-instance.invalid/sap/opu/odata/sap/API_SUPPLIERINVOICE_PROCESS_SRV/A_SupplierInvoice- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-sap-s4-communication-user- Data class
- financial
Read supplier invoice.
Read the A_SupplierInvoice collection of the Supplier Invoice OData service: supplier invoice headers with amounts, currencies, suppliers and payment data, classified as financial data. The registered path covers the collection read only — the single-invoice read (A_SupplierInvoice(SupplierInvoice='...',FiscalYear='...')) and the documented create and release operations are not registered by this pack.
The host is a reserved placeholder: substitute the customer's tenant host before enabling.
sap.purchaseorder.read v1.0.0R0
- Kind
- tool
- Action
- read
- Endpoint
GET https://sap-instance.invalid/sap/opu/odata4/sap/api_purchaseorder_2/srvd_a2x/sap/purchaseorder/0001/PurchaseOrder- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-sap-s4-communication-user- Data class
- financial
Read purchase order.
Read the PurchaseOrder entity set of the OData V4 Purchase Order API (service group api_purchaseorder_2, repository srvd_a2x, service purchaseorder, version 0001): purchase order headers with suppliers, amounts and currencies, classified as financial data. The registered path covers the collection read only — single-record reads (PurchaseOrder(PurchaseOrder='...')) and the item, schedule-line and partner entity sets are not registered by this pack.
The host is a reserved placeholder: substitute the customer's tenant host before enabling.
sap.purchaseorder.create v1.0.0R3
- Kind
- tool
- Actions
- create, send
- Endpoint
POST https://sap-instance.invalid/sap/opu/odata4/sap/api_purchaseorder_2/srvd_a2x/sap/purchaseorder/0001/PurchaseOrder- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-sap-s4-communication-user- Data class
- financial
Create purchase order.
Create one purchase order through the OData V4 Purchase Order API. SAP supports create, read, update, and delete through this service; this package registers only create and, separately, read.
Creation can send the order to the supplier. SAP prevents output (printing or direct transmission) before approval when a release procedure applies. Otherwise, tenant output settings can dispatch the order immediately on save. The registration does not constrain those settings, so it declares create and send at R3.
The package registers no release, approval, update, or delete operation. That exclusion does not prevent a created order from triggering tenant workflows. Before POST, the deployment adapter must fetch an X-CSRF-Token from the same service root. Replace the reserved host with the customer's tenant host before enabling.
sap.journalentryitem.read v1.0.0R0
- Kind
- tool
- Action
- read
- Endpoint
GET https://sap-instance.invalid/sap/opu/odata/sap/API_JOURNALENTRYITEMBASIC_SRV/A_JournalEntryItemBasic- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-sap-s4-communication-user- Data class
- financial
Read journal entry item.
Read the A_JournalEntryItemBasic collection of the Journal Entry Item - Read (A2X) OData service: posted journal entry items with company code, G/L account, amounts and currencies, classified as financial data. The service is read-only; the registered path covers the collection read only — keyed single-item reads are not registered by this pack.
The host is a reserved placeholder: substitute the customer's tenant host before enabling.
Credential reference
The credential field names a reference rather than containing credential material. Packs are designed not to contain secrets; the format checks cover only known credential formats and cannot prove that arbitrary text contains no secrets. Installing a package registers its capabilities. Configure the provider credentials, endpoints, and network access, then test the integration in your environment before enabling it.
- Reference
secret-ref-sap-s4-communication-user- Custody
- customer_vault
- Injection
- header (Authorization)
Configure the value and injection format specified in the package. Assign responsibility for credential rotation and revocation, restrict provider permissions, and keep credential material out of logs and responses.
Complete credential requirements
Credentials of an inbound communication user on the customer's own S/4HANA Cloud tenant, held in the client's own secret manager. The stored material must be the complete Authorization header value (scheme included): 'Basic', one separating space, then the base64 of 'user:password' — 'Basic <base64>'. An external deployment process creates the communication user and the Communication Arrangements that publish these services (for example SAP_COM_0008 for the business partner service), rotates the password, and stores the renewed header value; the executor injects the stored value verbatim and performs no credential lifecycle itself. customer_vault is the only generally-supported production custody model here — identity_federation and customer_broker are refused at startup and inline is lab-only.
Passwords expire under the tenant's password policy and a communication user can be locked or deleted at any time, which revokes access; an expired or revoked value fails closed.
Least privilege: assign the user only the communication scenarios that publish the services this pack registers, and nothing more. Authorization granularity: a communication scenario publishes its services to the assigned inbound user, and the operation-level authority the user then holds is whatever the scenario's business catalogs and authorization objects grant — scenario assignment alone does not deny individual CRUD or release operations inside a published service.
The deployment must therefore verify the residual authority of the assigned scenarios (for example, whether the purchase order scenario also authorizes the update and delete operations this pack does not register) rather than assume exclusion by registration; residual authority the scenario cannot remove is a reviewed deployment risk, not a pack control. This registration stores a Basic header; certificate-based or OAuth 2.0 inbound authentication, where the deployment supports it, is a separately reviewed authentication change, not an interchangeable alternative to this credential contract.
Review rotation cadence before enabling.
Executor hygiene: the value must live only in executor memory for the lifetime of a call, must never be written to logs, traces or diagnostics, and must not appear in crash dumps; a deployment that cannot meet that bar must not enable the pack.
Resources
sap-s4-businesspartners(api, pii):https://sap-instance.invalid/sap/opu/odata/sap/API_BUSINESS_PARTNER/A_BusinessPartnersap-s4-supplierinvoices(api, financial):https://sap-instance.invalid/sap/opu/odata/sap/API_SUPPLIERINVOICE_PROCESS_SRV/A_SupplierInvoicesap-s4-purchaseorders(api, financial):https://sap-instance.invalid/sap/opu/odata4/sap/api_purchaseorder_2/srvd_a2x/sap/purchaseorder/0001/PurchaseOrdersap-s4-journalentries(api, financial):https://sap-instance.invalid/sap/opu/odata/sap/API_JOURNALENTRYITEMBASIC_SRV/A_JournalEntryItemBasic
Technical package and review record
Complete provider requirements and exclusions
The endpoint host 'sap-instance.invalid' is a reserved non-production placeholder (an RFC 2606 reserved TLD): substitute the customer's own S/4HANA Cloud tenant host before enabling, in every endpoint, in every resource locator and in every egress allowlist entry. The allowlist matches exactly, so endpoints and allowlist must be substituted together, and substitution is a required deployment step — the reserved host being allowlisted does not make an unsubstituted pack safe to enable.
This pack registers only endpoints SAP's official documentation for SAP S/4HANA Cloud describes: the OData V4 Purchase Order API (service group api_purchaseorder_2, repository srvd_a2x, service purchaseorder, version 0001) for purchase order read and create, and the OData V2 services SAP documents for business partners (API_BUSINESS_PARTNER), supplier invoices (API_SUPPLIERINVOICE_PROCESS_SRV) and journal entry items (API_JOURNALENTRYITEMBASIC_SRV). SAP deprecated the OData V2 purchase order API in favour of the OData V4 service, which is why the purchase order capabilities register the V4 path; this pack makes no claim that OData V4 equivalents of the other three objects do not exist — it registers the services SAP documents for them.
All reads are collection reads only: single-record reads (A_BusinessPartner('...'), A_SupplierInvoice(SupplierInvoice='...',FiscalYear='...'), PurchaseOrder(PurchaseOrder='...')) exist in the APIs and are deliberately not registered.
Documented exclusions, framed as what this pack does not register: business partner create, update and delete (the Business Partner (A2X) service documents full CRUD); supplier invoice create, release and the single-invoice deep read (the Supplier Invoice service is documented as Create, Read, Release, Reverse with POST on A_SupplierInvoice); purchase order update and delete (SAP documents the V4 service as create, read, update and delete — this pack registers create and read only); journal entry posting (the SOAP service JournalEntryBulkCreationRequest_In and any other posting API); and every other OData service on the tenant.
The services are exposed through Communication Arrangements on the tenant, and each arrangement's inbound communication user carries only the authorizations of the scenarios it is assigned: the registration records the endpoint, not the tenant's authorization decision — a capability works only if the communication user is permitted the operation. Modifying requests against SAP Gateway require an X-CSRF-Token: the deployment's HTTP adapter must fetch one (x-csrf-token: Fetch) against the same service root before issuing the registered POST, and that adapter wiring is a deployment step, not something this pack performs.
Approval classification: the collection reads sit at the minimum R0 tier of read. The purchase order create is registered at R3 declaring create and send: SAP documents that a purchase order subject to a release procedure cannot be outputted (printed or transmitted directly to the vendor) before release, but output determination and dispatch timing are tenant configuration, so on a tenant whose output management dispatches immediately on save with no release procedure the create can transmit the order to the supplier — the send effect is declared rather than assumed away.
Download the complete package JSON for exact network allowlists, credential requirements, exclusions, and setup notes. Read these requirements before installation.
The full documentation review record is supplied in the evaluation package. The evaluation package runs in your environment and comes only with the paid design partnership. This page reproduces the source links and review block; the full record is available for evaluation. Discuss a design partnership to inspect it before installation.
Review block
This section reproduces the review block recorded in the pack file. The evidence and approval record is separate: for a reviewed pack, it is in the evaluation materials and in the release binary's embedded assets.
Review completed: 2026-09-22
16 sources, retrieved 2026-09-21
- https://help.sap.com/docs/SAP_S4HANA_CLOUD/bb9f1469daf04bd894ab2167f8132a1a/649d14483a984b788f3753ac88b37810.html (retrieved 2026-09-21)
- https://help.sap.com/docs/SAP_S4HANA_CLOUD/bb9f1469daf04bd894ab2167f8132a1a/c89eec80ec2043d980cb7b8c89e0a00a.html (retrieved 2026-09-21)
- https://help.sap.com/docs/SAP_S4HANA_CLOUD/bb9f1469daf04bd894ab2167f8132a1a/807238156726425dbd7f7ff8afc24da1.html (retrieved 2026-09-21)
- https://help.sap.com/docs/SAP_S4HANA_ON-PREMISE/8a57feade137489098f59374c06f1e0e/cf06b753128eb44ce10000000a174cb4.html (retrieved 2026-09-21)
- https://help.sap.com/docs/SAP_S4HANA_CLOUD/0e602d466b99490187fcbb30d1dc897c/0dd23a5023d14ddd9e1aa520db1ce141.html (retrieved 2026-09-21)
- https://help.sap.com/doc/ce01d82756b947a1a043a5d5a3204226/2302.500/en-US/WN_CE2302_EN.pdf (retrieved 2026-09-21)
- https://help.sap.com/doc/b870b6ebcd2e4b5890f16f4b06827064/2023.000/en-US/WN_OP2023_EN.pdf (retrieved 2026-09-21)
- https://help.sap.com/docs/SAP_S4HANA_CLOUD/bb9f1469daf04bd894ab2167f8132a1a/d8b16ace9227447c8c66086bc045a937.html (retrieved 2026-09-21)
- https://help.sap.com/docs/SAP_S4HANA_CLOUD/bb9f1469daf04bd894ab2167f8132a1a/7bc52558ef790a02e10000000a44147b.html (retrieved 2026-09-21)
- https://help.sap.com/docs/SAP_S4HANA_CLOUD/b978f98fc5884ff2aeb10c8fdeb8a43b/8aa29c6ac8234f9a9b975b3900aa002d.html (retrieved 2026-09-21)
- https://help.sap.com/docs/SAP_S4HANA_CLOUD/3c916ef10fc240c9afc594b346ffaf77/85043858ea0f9244e10000000a4450e5.html (retrieved 2026-09-21)
- https://userapps.support.sap.com/sap/support/knowledge/en/3492316 (retrieved 2026-09-21)
- https://github.com/SAP-samples/btp-kyma-multitenant-extension/blob/main/documentation/appendix/enable-odata-of-s4hana/README.md (retrieved 2026-09-21)
- https://community.sap.com/t5/application-development-and-automation-discussions/s-4hana-cloud-public-odata-v4-rest-api-and-purchasing-history/td-p/13894896 (retrieved 2026-09-21)
- https://userapps.support.sap.com/sap/support/knowledge/en/3698875 (retrieved 2026-09-21)
- https://docs.plaidcloud.com/reference/connectors/rest/s4hana-cloud/ (retrieved 2026-09-21)
Current documentation links are navigation aids. They do not change the package, its historical sources or its review date. Review dates describe a documentation review, not a live integration test. No package is provider-endorsed or yet tested against a live provider tenant.
Release identity
SHA-256 of the pack file bytes: 6e8ab9502133c0a7b9fa90793b5b9d20198f9df10eb41891878e0ab86dbda185
Distributable: yes, digest matches the release manifest. Editing a package changes its release identity. A deployment plan checks its own file digests; it does not restore reviewed status or authenticate approval.