SAP S/4HANA API Reference: Supplier Invoice, Journal Entry & Cost Center
Field-level reference for three widely-used SAP S/4HANA Cloud APIs — API_SUPPLIERINVOICE_PROCESS_SRV, API_JOURNALENTRYITEMBASIC_SRV, and API_COSTCENTER_SRV — with entity sets, use cases, and integration gotchas.
Published August 5, 2026
Advertisement
SAP S/4HANA API Reference: Supplier Invoice, Journal Entry & Cost Center
The SAP API Business Hub documents thousands of API parameters but rarely tells you the thing you actually need before integrating: what a real request looks like, which entity set to start from, and what breaks in practice. Here's that context for three of the most commonly integrated S/4HANA Cloud APIs.
API_SUPPLIERINVOICE_PROCESS_SRV — Supplier Invoice
Type: OData v2 · Business object: Supplier Invoice · Access: read and write
This API posts and reads supplier invoices — the API-based equivalent of MIRO. The entity set you work with depends on the direction:
A_SupplierInvoice— header data (invoicing party, currency, gross amount, posting date).A_SupplierInvoiceItem— line items linked to a purchase order or G/L account.A_SupplierInvoiceItemGLAcct/A_SupplierInvoiceItemPurOrdRef— the two item sub-types, depending on whether a line references a PO or is posted directly to a G/L account.
POST /sap/opu/odata/sap/API_SUPPLIERINVOICE_PROCESS_SRV/A_SupplierInvoice
{
"InvoicingParty": "17300001",
"DocumentDate": "2026-08-01",
"PostingDate": "2026-08-01",
"InvoiceGrossAmount": "1250.00",
"DocumentCurrency": "EUR",
"CompanyCode": "1000",
"to_SupplierInvoiceItemPurOrdRef": [ ... ]
}
Common gotcha: the fiscal period referenced by PostingDate must be open in FI (transaction MMPV/OB52) — a closed period fails the POST with a generic-looking error that has nothing to do with your payload. If invoices from an EDI/OCR pipeline start failing in bulk on the 1st of the month, check period status first.
API_JOURNALENTRYITEMBASIC_SRV — Universal Journal (Read-Only)
Type: OData v2 · Access: read-only
This one doesn't post anything — it reads line items directly from the Universal Journal (table ACDOCA), which is why it's the default choice for financial reporting and reconciliation integrations rather than transactional posting. Entity set: A_JournalEntryItemBasic.
GET /sap/opu/odata/sap/API_JOURNALENTRYITEMBASIC_SRV/A_JournalEntryItemBasic
?$filter=CompanyCode eq '1000' and FiscalYear eq '2026' and FiscalPeriod eq '008'
&$select=AccountingDocument,GLAccount,AmountInCompanyCodeCurrency,CompanyCodeCurrency
Common gotcha: the Universal Journal is enormous. Calling this without a $filter on at least company code + fiscal year/period is the single most common cause of a timeout or a rejected request against this API — it's not a bug, it's the API refusing to attempt an unbounded scan of ACDOCA. Always filter by company code and period at minimum, and add G/L account or cost center filters when you can.
API_COSTCENTER_SRV — Cost Center Master Data
Type: OData v2 · Access: read (cost center master data)
Used to replicate cost center master data — used for cross-charging, budgeting integrations, or feeding a non-SAP planning tool. Entity sets: A_CostCenter (master record) and A_CostCenterText (language-dependent descriptions).
Common gotcha: cost centers are time-dependent — a single cost center number can have multiple A_CostCenter records with different ValidityStartDate/ValidityEndDate ranges (e.g., after a reorganization or a responsible-person change). Reading without filtering on validity date returns every historical version, which double-counts cost centers in a naive integration that assumes one record per ID.
What These Three Have in Common
All three are OData v2, all three are exposed via the classic SAP Gateway path (/sap/opu/odata/sap/..., not the newer /sap/opu/odata4/ used by some V4 APIs), and all three fail in the same general way when things go wrong: a generic-looking OData error that hides a business-rule issue (closed period, missing filter, wrong validity date) rather than a malformed request. Check the business context first, the payload second.
Use the S/4HANA API Browser to look these up alongside other APIs by business domain, and the OData Metadata Viewer to inspect the full $metadata for any of them before you write the integration.
Topics: