.png)

SAP Ariba Integration Guide
Integrate SAP Ariba with enterprise applications through REST APIs, cXML document exchange, selected notifications, asynchronous jobs, and SAP middleware endpoints.
SAP Ariba integration options at a glance
SAP Ariba integrations primarily use solution-specific REST APIs for procurement, sourcing, supplier management, invoicing, and SAP Business Network capabilities. cXML supports document exchange such as purchase orders, confirmations, ship notices, invoices, and receipt-related transactions. Selected scenarios provide notification or callback capabilities, while bulk and asynchronous operations may require job submission and polling. Authentication commonly combines OAuth 2.0 with application or API credentials and realm-specific configuration. Martini can consume these endpoints, process JSON and XML, orchestrate asynchronous workflows, expose APIs, schedule polling, and coordinate SAP Ariba with SAP and non-SAP applications.
| Integration point | Supported by SAP Ariba? | Common use cases | How Martini supports it |
|---|---|---|---|
| REST APIs | Yes | SAP Ariba publishes REST APIs for selected procurement, sourcing, supplier-management, invoicing, and SAP Business Network capabilities. Availability varies by solution, realm, and API family. | Martini can consume SAP Ariba REST APIs, transform JSON payloads, expose APIs for upstream systems, and orchestrate calls across SAP Ariba and other applications. |
| cXML and document exchange | Yes | cXML supports procurement and supplier documents such as purchase orders, order confirmations, ship notices, invoices, and receipt-related transactions through applicable SAP Business Network or supplier endpoints. | Martini can receive, parse, validate, transform, and transmit XML or cXML within workflows when the relevant endpoint and credentials are available. |
| Bulk, asynchronous, and batch APIs | Limited | Selected operations use asynchronous jobs, imports, exports, or polling for larger data volumes and longer-running processes. | Martini can submit a job, persist its identifier, poll for completion, retrieve results, and route timeout or failure conditions to exception handling. |
| Webhooks and outbound callbacks | Limited | Notification and event-driven capabilities exist in selected SAP Ariba and SAP Business Network scenarios, but coverage varies by object, event, product, and subscription configuration. | Martini can receive webhook-style requests where SAP Ariba provides them, retrieve the current object, and use scheduled polling when no suitable callback exists. |
| File and attachment APIs | Limited | Selected transaction and API scenarios support attachments or supporting document content, including some cXML-related processes. | Martini can coordinate document retrieval or transfer and apply XML, binary-content, validation, and retention logic subject to the specific API limits. |
| SOAP and legacy web services | Limited | Some SAP Ariba landscapes may contain older or middleware-based web-service interfaces, but current public guidance emphasizes REST, cXML, and SAP middleware. | Martini can consume a SOAP service when the specific SAP Ariba or middleware documentation confirms the interface and its authentication requirements. |
| Reporting and analytical exports | Limited | SAP Ariba products provide reporting and analytical capabilities through documented exports or APIs; direct access to the underlying database is not the normal integration method. | Martini can consume documented report or export endpoints and deliver normalized results to databases, applications, or operational workflows. |
| Authentication | Yes | API access commonly uses OAuth 2.0 with application or API credentials, client credentials, realm and organization context, and environment-specific endpoints. cXML uses distinct credentials or shared-secret arrangements. | Martini can store secrets and environment configuration securely, acquire API tokens, set required headers, and keep realm-specific values outside workflow logic. |
How SAP Ariba exposes data and business events
SAP Ariba REST APIs
SAP Ariba REST APIs expose selected procurement, sourcing, supplier-management, invoicing, and SAP Business Network capabilities. The available resources and operations depend on the selected solution, API family, realm, and buyer or supplier context.
Martini implementation pattern
Martini implementation pattern: a workflow authenticates to the applicable SAP Ariba API, retrieves or submits JSON resources, follows pagination, maps fields to a canonical or target model, and records request and business identifiers for audit and retry handling.
Implementation sequence
SAP Ariba cXML exchange
cXML is used for selected procurement and supplier-commerce documents, including purchase orders, confirmations, ship notices, invoices, and receipt-related messages. Exchange may occur through SAP Business Network, supplier endpoints, or SAP middleware.
Martini implementation pattern
Martini implementation pattern: a workflow receives or retrieves XML, parses it namespace-aware, validates document identifiers and required elements, maps the cXML structure to the target application, and returns or transmits the required response.
Implementation sequence
SAP Ariba asynchronous jobs
Selected bulk, import, export, and batch operations use asynchronous processing rather than returning a complete result in one synchronous response. Operation behavior, status endpoints, and retention periods vary by API.
Martini implementation pattern
Martini implementation pattern: a workflow submits the operation, persists the job identifier and context, schedules controlled status checks, retrieves the completed result, and routes expired or failed jobs to exception handling.
Implementation sequence
SAP Ariba notifications and callbacks
SAP Ariba and SAP Business Network provide notification-oriented capabilities in selected scenarios, but event coverage is not universal across objects and processes. Unsupported events may require scheduled polling.
Martini implementation pattern
Martini implementation pattern: Martini exposes or receives the applicable webhook-style request, authenticates and validates the notification, retrieves the current SAP Ariba object when necessary, and processes the event idempotently.
Implementation sequence
Common SAP Ariba integration patterns
Pattern 1: Synchronize purchase orders and invoices
When to use this pattern
Use this pattern when SAP Ariba procurement documents must be exchanged with SAP S/4HANA, SAP ECC, or another financial system. It separates transport success from business-process status and preserves document correlation across the order-to-invoice lifecycle.
Integration direction
Example Mapping
| SAP Ariba Field | Canonical Field | Target Field |
|---|---|---|
| purchaseOrderNumber | externalDocumentId | PurchaseOrder.ExternalId |
| supplierId | supplierExternalId | Supplier.ExternalId |
| lineItems[].quantity | orderedQuantity | PurchaseOrderLine.Quantity |
| invoiceStatus | documentStatus | Invoice.Status |
Martini implementation pattern
Martini retrieves or receives the purchase order, maps it to the ERP model, and submits it with stable external identifiers. A subsequent workflow polls or receives invoice status, correlates the invoice to the purchase order and receipt, validates required accounting data, and routes transient failures for retry while sending validation or business exceptions to an exception process.
Martini capabilities used
- workflows
- API consumption
- XML and JSON processing
- data mapping
- business rules
- error handling
Pattern 2: Synchronize suppliers and procurement master data
When to use this pattern
Use this pattern when supplier onboarding, qualification, addresses, tax information, or organizational reference data must be coordinated between SAP Ariba and an ERP or master-data application.
Integration direction
Example Mapping
| SAP Ariba Field | Canonical Field | Target Field |
|---|---|---|
| supplier.id | supplierExternalId | BusinessPartner.ExternalId |
| supplier.name | legalName | BusinessPartner.Name |
| supplier.address | postalAddress | BusinessPartner.Address |
| supplier.taxId | taxRegistrationId | BusinessPartner.TaxNumber |
Martini implementation pattern
A Martini workflow retrieves approved supplier changes or receives available notifications, normalizes addresses and identifiers, checks for duplicates, and applies system-of-record rules before creating or updating the target supplier. Conflicting ownership or incomplete tax data is rejected without retrying as a transient failure.
Martini capabilities used
- scheduled workflows
- API consumption
- data mapping
- validation
- business rules
- duplicate prevention
Pattern 3: Process sourcing awards downstream
When to use this pattern
Use this pattern when sourcing events, bids, suppliers, and award results must create downstream supplier, contract, purchase-agreement, or analytics data.
Integration direction
Example Mapping
| SAP Ariba Field | Canonical Field | Target Field |
|---|---|---|
| sourcingEvent.id | sourcingEventId | SourcingProject.ExternalId |
| award.supplierId | awardedSupplierId | Supplier.ExternalId |
| award.amount | awardedAmount | Contract.Value |
| award.status | approvalStatus | Contract.Status |
Martini implementation pattern
Martini schedules retrieval of relevant sourcing data, maps event and award structures, validates that awards are approved and suppliers are known, and sends eligible results to the target application. The workflow stores the last successful checkpoint, handles pagination, and records failed downstream submissions for controlled retry.
Martini capabilities used
- scheduler triggers
- workflows
- pagination handling
- data transformation
- validation
- monitoring
Pattern 4: Monitor procurement exceptions
When to use this pattern
Use this pattern when rejected invoices, failed transactions, approval delays, or supplier-document exceptions need operational visibility in ServiceNow or another case-management application.
Integration direction
Example Mapping
| SAP Ariba Field | Canonical Field | Target Field |
|---|---|---|
| invoice.id | businessDocumentId | Incident.ExternalReference |
| invoice.status | exceptionStatus | Incident.State |
| supplier.name | counterpartyName | Incident.Company |
| error.message | failureReason | Incident.Description |
Martini implementation pattern
Where a suitable SAP Ariba notification exists, Martini receives the event and retrieves the full object; otherwise it polls selected endpoints on a schedule. It classifies transport, authorization, validation, and business-status failures, creates or updates a ServiceNow case idempotently, and records the source identifiers for reconciliation.
Martini capabilities used
- webhook consumption
- scheduled workflows
- API orchestration
- data mapping
- conditional routing
- error handling
Applications commonly integrated with SAP Ariba
SAP Ariba is commonly coordinated with SAP enterprise applications, business-network services, financial platforms, and operational case-management tools. The exact interface depends on the SAP Ariba solution, API family, realm, and the adjacent application's supported endpoints.
| Application | Scenario | Direction | Martini Pattern |
|---|---|---|---|
| SAP S/4HANA | Synchronize suppliers, purchase requisitions, purchase orders, receipts, invoices, contracts, and procurement status between procurement and ERP processes. | SAP Ariba → Martini → SAP S/4HANA | Martini consumes the relevant SAP Ariba REST API or processes cXML, maps procurement documents to SAP S/4HANA payloads, applies validation and correlation rules, and routes failures for retry or review. |
| SAP ECC | Connect SAP Ariba procurement and invoicing processes with legacy SAP ERP purchasing and financial workflows. | SAP Ariba → Martini → SAP ECC | A Martini workflow retrieves or receives SAP Ariba documents, transforms them to the interfaces exposed by SAP ECC or an SAP middleware layer, tracks document identifiers, and handles business and transport errors separately. |
| SAP Business Network | Exchange purchase orders, order confirmations, ship notices, invoices, and supplier transaction documents. | SAP Ariba → Martini → SAP Business Network | Martini receives or sends XML and cXML documents where the required endpoint is available, validates namespaces and business identifiers, preserves correlation data, and orchestrates status processing. |
| Coupa | Coordinate procurement, supplier, invoice, or spend information during platform coexistence, migration, or shared operating models. | SAP Ariba → Martini → Coupa | Martini consumes the documented APIs of both platforms, maps supplier and transaction identifiers through a canonical model, applies ownership rules, and prevents duplicate or looping updates. |
| Workday | Synchronize worker, organization, cost-center, or supplier-related reference data used in procurement controls and approvals. | Workday → Martini → SAP Ariba | A scheduled Martini workflow retrieves approved reference data from Workday, normalizes identifiers and organizational attributes, validates the SAP Ariba target model, and records rejected changes for review. |
| Salesforce | Align account, supplier, contract, or business-partner information where procurement and customer or partner processes overlap. | Salesforce → Martini → SAP Ariba | Martini exposes or consumes APIs on each side, maps partner identifiers and selected master data, applies field-level ownership rules, and routes incomplete or conflicting updates to an exception process. |
| ServiceNow | Create and update cases for supplier onboarding issues, invoice exceptions, failed transactions, or procurement support requests. | SAP Ariba → Martini → ServiceNow | Martini polls or receives selected SAP Ariba notifications, retrieves the full object, creates a ServiceNow case with sanitized context, and sends status changes back when required. |
| NetSuite | Synchronize purchase orders, suppliers, invoices, receipts, and accounting information for organizations using NetSuite as an ERP or financial system. | SAP Ariba → Martini → NetSuite | Martini orchestrates REST or document-based exchange, maps SAP Ariba business documents to NetSuite objects, correlates external identifiers, and applies retry and duplicate-prevention rules. |
How to build a SAP Ariba integration in Martini
Objective
Establish environment-specific access to the SAP Ariba API, cXML endpoint, SAP Business Network interface, or middleware layer without embedding credentials in workflow logic.
Instructions in Martini
- Configure the SAP Ariba realm, organization, endpoint, and environment values
- Store OAuth credentials, application keys, cXML secrets, and certificates in secure configuration
- Define the target application's authentication and endpoint settings
- Test access with a least-privilege account
Objective
Select the trigger that matches the SAP Ariba operation and its available integration mechanism.
Instructions in Martini
- Use a webhook-style request where the relevant SAP Ariba event is confirmed
- Use a scheduler for polling, exports, status checks, or reconciliation
- Use an API-triggered workflow for on-demand document processing
- Use a message or callback entry point when the surrounding SAP middleware provides one
Objective
Receive or retrieve the complete SAP Ariba object or document, including pages, asynchronous results, and supporting references where applicable.
Instructions in Martini
- Follow documented pagination or continuation tokens
- Persist asynchronous job identifiers and poll according to the operation guidance
- Retrieve the current resource after receiving a notification when necessary
- Preserve document and request identifiers for correlation
Objective
Coordinate SAP Ariba calls, target-system calls, validation, status checks, and exception branches as a maintainable Martini workflow.
Instructions in Martini
- Separate transport, transformation, validation, and delivery stages
- Route documents according to object type and business status
- Use reusable workflow logic for token handling, correlation, and common errors
- Keep source and target business identifiers together throughout processing
Objective
Convert SAP Ariba JSON or cXML structures into the canonical model required by the target application.
Instructions in Martini
- Map suppliers, purchase orders, invoices, receipts, and sourcing objects explicitly
- Handle XML namespaces and optional elements
- Normalize dates, identifiers, amounts, statuses, and addresses
- Retain traceable source references for reconciliation
Objective
Apply business ownership, approval, duplicate, and data-quality rules before writing to downstream systems.
Instructions in Martini
- Validate required fields and permitted status transitions
- Check stable document or supplier identifiers before creating objects
- Enforce the designated system of record for shared master data
- Distinguish business exceptions from temporary connectivity failures
Common SAP Ariba data objects used in integrations
| Object | Typical Use | Common target systems | Martini handling |
|---|---|---|---|
| Suppliers | Supplier organizations, profiles, onboarding information, qualification data, and supplier relationships. | SAP S/4HANA, SAP ECC, Workday, Coupa, NetSuite | Martini retrieves or receives supplier data, normalizes identifiers and addresses, validates required fields, applies ownership rules, and synchronizes approved changes. |
| Purchase requisitions | Internal requests for goods or services that proceed through approval and purchasing processes. | SAP S/4HANA, SAP ECC, NetSuite | Martini maps requisition lines, organizations, cost centers, and approval information, then routes valid requests to the target procurement or ERP process. |
| Purchase orders | Approved purchasing documents sent to suppliers or exchanged through SAP Business Network. | SAP S/4HANA, SAP ECC, SAP Business Network, NetSuite | Martini processes REST or cXML representations, correlates document numbers, validates line and supplier data, and prevents duplicate creation. |
| Invoices | Supplier invoices, invoice statuses, exceptions, and matching information. | SAP S/4HANA, SAP ECC, NetSuite, ServiceNow | Martini validates invoice fields, correlates invoices with purchase orders and receipts, maps accounting data, and routes rejected or failed transactions for review. |
| Receipts | Confirmations that ordered goods or services were received. | SAP S/4HANA, SAP ECC, NetSuite | Martini transforms receipt quantities, dates, references, and status values, then sends them to the financial or procurement system with correlation identifiers. |
| Sourcing events | Sourcing projects, events, bids, suppliers, and award information. | SAP S/4HANA, SAP ECC, contract-management platforms, analytics stores | Martini schedules retrieval or consumes available notifications, maps event and award data, applies approval rules, and delivers approved results downstream. |
Authentication and security considerations
Environment-specific access
SAP Ariba access commonly combines OAuth 2.0, client credentials, application or API keys, realm context, buyer or supplier organization values, and data-center-specific endpoints. cXML credentials and SAP middleware credentials are separate arrangements.
Protect credentials
Store client secrets, API keys, OAuth tokens, cXML shared secrets, certificates, and realm-specific settings in Martini environment configuration or secrets management. Do not embed them in workflows or logs.
Limit exposure
- Use least-privilege SAP Ariba applications and service identities.
- Keep source and target credentials separate.
- Sanitize procurement, supplier, invoice, and authentication data in operational logs.
- Rotate credentials according to the relevant SAP and enterprise security policy.
Operational considerations for SAP Ariba integrations
API behavior
Account for pagination, quotas, concurrency limits, token expiration, and operation-specific asynchronous processing. Use bounded concurrency, documented polling intervals, exponential backoff, and overall timeouts.
Business processing
Technical acceptance does not necessarily mean that a purchase order, invoice, or sourcing document has completed its business process. Track statuses such as pending, rejected, failed, or awaiting approval separately from transport results.
Data integrity
- Use document numbers, supplier IDs, transaction IDs, and external references for idempotency.
- Handle cXML namespaces, optional elements, versions, attachments, and document-specific statuses explicitly.
- Define system-of-record ownership to avoid update loops and overwrites.
- Test realm-specific mappings and monitor API-version or schema changes.
Why use Martini instead of scripts or point-to-point integrations?
Coordinate more than one endpoint
Scripts often become difficult to maintain when they combine OAuth, application keys, cXML, SAP middleware, pagination, asynchronous jobs, and several target applications. Martini provides a workflow-oriented place to coordinate these concerns.
Make integrations reusable
Martini can consume SAP Ariba APIs, expose controlled APIs, process JSON and XML, map data, apply business rules, and reuse common authentication and error-handling logic across procurement processes.
Improve operational control
- Use scheduled, event-driven, API-led, or asynchronous workflows as appropriate.
- Centralize validation, correlation, retries, and exception routing.
- Separate environment configuration from implementation logic.
- Monitor workflow outcomes without creating a separate point-to-point script for every target system.
Frequently asked questions
SAP Ariba can be integrated through its solution-specific REST APIs, cXML document exchange, SAP Business Network interfaces, selected notifications or callbacks, asynchronous imports and exports, and SAP middleware such as SAP Integration Suite or Cloud Integration Gateway. Scheduled polling is appropriate where event coverage is unavailable.
Yes. Martini can integrate with SAP Ariba by consuming its REST APIs, processing JSON and cXML, receiving selected webhook-style notifications, scheduling polling workflows, handling asynchronous jobs, and coordinating SAP Ariba with SAP and non-SAP applications.
No. A dedicated SAP Ariba connector is not required. Martini can use SAP Ariba's confirmed native integration mechanisms, including REST APIs, cXML, selected callbacks, asynchronous endpoints, authentication methods, and SAP middleware interfaces.
Lonti does not charge an additional per-connector or per-vendor fee to integrate SAP Ariba. The integration is subject to the provisioned capacity of the Martini environment. Separate costs may apply from SAP Ariba, SAP Business Network, SAP Integration Suite, cloud infrastructure, or other third-party services depending on subscriptions, usage, and deployment model.
REST APIs are the primary choice for confirmed API capabilities. Use cXML for supported procurement and supplier-document exchange, asynchronous or bulk operations for larger workloads, and SAP middleware when it is part of the enterprise architecture. Verify the specific product and API family before relying on SOAP, attachments, or callbacks.
SAP Ariba and SAP Business Network provide notification-oriented capabilities in selected scenarios, but coverage is not universal. Availability depends on the product, object, document type, and subscription configuration; scheduled polling can cover processes without a suitable callback.
Martini can run real-time, callback-driven, scheduled, or asynchronous workflows. It retrieves or receives SAP Ariba objects, follows pagination or job status, maps JSON or cXML to a canonical model, applies validation and ownership rules, and writes approved results to target systems with correlation checkpoints.
Martini can classify authentication, rate-limit, network, validation, and business-process failures, applying bounded retries and backoff only to transient conditions. Stable document, supplier, transaction, and job identifiers support idempotency and duplicate prevention, while failed or ambiguous cases can be routed to exception workflows. Martini can also expose an API façade for upstream systems when a controlled integration endpoint is needed.
Related Martini documentation
API Integration
Workflows
Data Security
Data Formats
Connect SAP Ariba with the rest of your enterprise
Use Martini to orchestrate SAP Ariba APIs, cXML documents, selected notifications, asynchronous jobs, and SAP middleware endpoints in maintainable enterprise workflows.