.png)

SAP Business Network Integration Guide
Connect SAP Business Network procurement and supply-chain documents with enterprise applications through REST APIs, cXML exchange, selective notifications, and scheduled workflows.
SAP Business Network integration options at a glance
SAP Business Network integrations primarily use SAP Business Accelerator Hub REST APIs, with API availability determined by the Business Network service, tenant, role, and entitlement. Procurement and supply-chain document exchange may also use cXML over HTTP or configured network channels for purchase orders, confirmations, shipping notices, receipts, and invoices. Selected processes may provide event or notification capabilities, while bulk and asynchronous operations are available for some API families. Martini can securely consume these APIs, process JSON and XML, orchestrate cXML workflows, poll resources on a schedule, map documents to enterprise models, and handle retries, reconciliation, and status updates.
| Integration point | Supported by SAP Business Network? | Common use cases | How Martini supports it |
|---|---|---|---|
| REST APIs | Yes | SAP publishes SAP Business Network and related SAP Ariba API packages through SAP Business Accelerator Hub. APIs may cover procurement documents, suppliers, invoices, catalogs, sourcing, contracts, and related processes depending on entitlement. | Martini can consume the documented REST APIs, manage authenticated requests, paginate results, transform payloads, and orchestrate downstream workflows. |
| cXML and business-document exchange | Yes | cXML is used for procurement and supply-chain documents such as Purchase Orders, Order Confirmations, Advance Shipping Notices, Goods Receipts, and Invoices. Transport and endpoint requirements vary by tenant. | Martini can process XML, validate document types, map namespaces and line items, and coordinate cXML exchanges with other API or file-based steps. |
| Webhooks / outbound callbacks | Limited | Selected processes may provide event or notification capabilities, but coverage is not universal across objects or services and may vary by tenant. | Martini can receive webhook-style notifications or callbacks where SAP provides them, retrieve the complete resource when needed, and deduplicate notifications. |
| Bulk / async / batch APIs | Limited | Some SAP API families support asynchronous or batch-oriented operations for larger volumes. Job submission, polling, limits, and partial-failure behavior are API-specific. | Martini can submit jobs, persist request identifiers, poll status, process partial results, and route failed items for reconciliation. |
| File / attachment APIs | Limited | Business documents and attachments may be embedded, exposed through separate resources, delivered through file exchange, or represented by temporary URLs depending on the process. | Martini can retrieve, transform, route, and persist files or attachments when the target SAP Business Network mechanism and authorization are documented. |
| Authentication | Yes | SAP API access commonly uses OAuth 2.0, client credentials, API keys or application credentials where required, tenant permissions, scopes, roles, and entitlements. | Martini can store client credentials and endpoint configuration as environment-managed secrets and apply the required authentication to API workflows. |
| Scheduled synchronization | Yes | Polling is appropriate when a required event is unavailable or when incremental retrieval is the documented integration method. | Martini can run scheduled workflows, apply modified-date or cursor filters where supported, persist checkpoints, and resume after failures. |
| Database / analytics access | Not confirmed | Direct database access to SAP Business Network tenant data is not the recommended transactional integration approach. Use documented APIs, exports, or reporting interfaces instead. | Martini can consume documented exports or APIs, but should not assume direct access to SAP Business Network databases. |
How SAP Business Network exposes data and business events
SAP Business Network REST APIs
SAP Business Network REST APIs are the primary confirmed standards-based mechanism for accessing supported procurement, supplier, invoice, catalog, and related resources. Exact endpoints and operations depend on the API package, tenant, role, and entitlement.
Martini implementation pattern
Martini implementation pattern: Martini authenticates against the selected SAP API, retrieves or submits resources, maps JSON responses into canonical models, applies business rules, and calls downstream applications or returns an SAP status update.
Implementation sequence
cXML document exchange
SAP Business Network supports cXML-based procurement and supply-chain document exchange for processes such as Purchase Orders, Order Confirmations, Advance Shipping Notices, Goods Receipts, and Invoices. The exact transport and endpoint configuration must be confirmed for the tenant.
Martini implementation pattern
Martini implementation pattern: Martini receives or creates XML documents, validates the cXML document type and version, handles namespaces and nested lines, transforms the document, and coordinates the required response or downstream API call.
Implementation sequence
Selected event notifications
SAP Business Network and related SAP services may provide notifications for selected processes, but event coverage is selective rather than universal. The delivery may be a webhook, callback, message, or polling signal, and the notification may contain only an identifier.
Martini implementation pattern
Martini implementation pattern: Martini receives the notification when available, authenticates and validates it, checks idempotency, retrieves the complete SAP resource when necessary, and starts the business workflow. Scheduled polling remains the fallback when no suitable event exists.
Implementation sequence
Bulk and asynchronous processing
Some SAP Business Network API families provide asynchronous or batch-oriented operations for selected high-volume use cases. Job submission, status transitions, page limits, and partial-failure behavior are API-specific.
Martini implementation pattern
Martini implementation pattern: Martini submits the batch or asynchronous request, stores the returned job identifier, polls according to documented intervals, processes completed results, and routes item-level errors for reconciliation.
Implementation sequence
Common SAP Business Network integration patterns
Pattern 1: Synchronize purchase orders and confirmations
When to use this pattern
Use this pattern when SAP Business Network Purchase Orders must create or update orders in an ERP or order-management application and supplier confirmations must flow back to SAP. It supports polling or selected event notifications and should account for line-level changes and delivery commitments.
Integration direction
Example Mapping
| SAP Business Network Field | Canonical Field | Target Field |
|---|---|---|
| PurchaseOrderNumber | orderNumber | PurchaseOrderID |
| SupplierID | supplierIdentifier | VendorID |
| LineItem.Quantity | orderedQuantity | OrderLine.Quantity |
| DeliveryDate | requestedDeliveryDate | Schedule.DeliveryDate |
Martini implementation pattern
A Martini workflow retrieves or receives the Purchase Order, validates supplier, buyer, currency, lines, and delivery values, maps it to SAP S/4HANA, and stores the source identifier. A separate step submits or processes the Order Confirmation after applying tolerance and status rules. Transient failures are retried and duplicate documents are suppressed using SAP identifiers and versions.
Martini capabilities used
- workflows
- API consumption
- XML and JSON handling
- data mapping
- business rules
- error handling
Pattern 2: Coordinate shipments and goods receipts
When to use this pattern
Use this pattern when Advance Shipping Notices, Shipments, and Goods Receipts must be coordinated between SAP Business Network, an ERP, and a logistics or warehouse application. It is useful for detecting quantity, item, carrier, or delivery-date exceptions.
Integration direction
Example Mapping
| SAP Business Network Field | Canonical Field | Target Field |
|---|---|---|
| Shipment.TrackingNumber | trackingNumber | Shipment.TrackingNumber |
| Shipment.Line.Quantity | shippedQuantity | InboundDelivery.Quantity |
| GoodsReceipt.ReceivedQuantity | receivedQuantity | Receipt.Quantity |
| ExpectedDeliveryDate | expectedDeliveryDate | Delivery.ExpectedDate |
Martini implementation pattern
Martini consumes the ASN or Shipment document, normalizes carrier and line data, validates references against the Purchase Order, updates the logistics and ERP systems, and returns or records receipt status. Quantity and date mismatches are routed to exception handling, while request identifiers support replay and reconciliation.
Martini capabilities used
- workflow orchestration
- API consumption
- XML processing
- data transformation
- conditional routing
- error handling
Pattern 3: Validate invoices before ERP posting
When to use this pattern
Use this pattern when SAP Business Network Invoices must be checked against Purchase Orders and Goods Receipts before posting to a finance platform. It supports duplicate detection, three-way matching, tax validation, and manual exception routing.
Integration direction
Example Mapping
| SAP Business Network Field | Canonical Field | Target Field |
|---|---|---|
| Invoice.InvoiceNumber | invoiceNumber | DocumentNumber |
| Invoice.SupplierID | supplierIdentifier | VendorID |
| Invoice.Line.Amount | lineAmount | InvoiceLine.Amount |
| Invoice.Total | invoiceTotal | GrossAmount |
Martini implementation pattern
A Martini workflow retrieves the Invoice, obtains related Purchase Order and Goods Receipt data when required, validates supplier, number, currency, tax, totals, and line matches, then posts accepted invoices to the ERP. Duplicate or unmatched invoices are held for review, and status changes are reconciled back to SAP Business Network where supported.
Martini capabilities used
- workflows
- API consumption
- data mapping
- validation
- business rules
- reconciliation
Pattern 4: Synchronize suppliers and catalogs
When to use this pattern
Use this pattern when Suppliers, trading-partner relationships, Catalogs, or catalog items must be synchronized with procurement, master-data, or ERP applications. It is suitable for scheduled incremental loads and controlled full refreshes.
Integration direction
Example Mapping
| SAP Business Network Field | Canonical Field | Target Field |
|---|---|---|
| Supplier.SupplierID | supplierIdentifier | SupplierNumber |
| Supplier.RelationshipStatus | relationshipStatus | Status |
| CatalogItem.ItemID | itemIdentifier | ItemNumber |
| CatalogItem.UnitOfMeasure | unitOfMeasure | UOM |
Martini implementation pattern
Martini runs a scheduled workflow or consumes a supported notification, retrieves changed suppliers or catalog data, normalizes identifiers, units, currencies, tax attributes, effective dates, and inactive states, and writes approved changes to the target platform. The workflow persists a cursor or timestamp only after successful processing and records item-level failures for replay.
Martini capabilities used
- scheduled workflows
- API consumption
- pagination
- mapping and transformation
- business rules
- checkpointing
Applications commonly integrated with SAP Business Network
SAP Business Network can be connected with back-office, procurement, finance, workflow, and master-data applications. The exact document flows depend on the SAP Business Network service, tenant configuration, API entitlements, and the capabilities of the adjacent application.
| Application | Scenario | Direction | Martini Pattern |
|---|---|---|---|
| SAP S/4HANA | Synchronize purchase orders, goods receipts, invoices, suppliers, and procurement status between SAP back-office processes and SAP Business Network. | SAP Business Network → Martini → SAP S/4HANA | Martini consumes documented SAP APIs or cXML documents, validates identifiers and line data, maps the payload to SAP S/4HANA APIs or supported interfaces, and reconciles resulting document statuses. |
| SAP ERP / ECC | Connect legacy SAP procurement and finance processes with supplier collaboration and document exchange on SAP Business Network. | SAP Business Network → Martini → SAP ERP / ECC | A Martini workflow retrieves or receives SAP Business Network documents, transforms JSON or XML into the target SAP interface model, applies business rules, and routes failures for retry or reconciliation. |
| Salesforce | Make supplier, account, contract, or procurement-related information available to CRM processes where business users need a broader partner view. | SAP Business Network → Martini → Salesforce | Martini synchronizes selected supplier or trading-partner data through REST APIs, normalizes identifiers and statuses, and writes accepted changes to Salesforce while preserving source references. |
| ServiceNow | Create procurement, supplier, invoice, or reconciliation exceptions as service tasks and return resolution status to operational workflows. | SAP Business Network → Martini → ServiceNow | Martini receives a notification or scheduled exception result, creates a ServiceNow record through its supported API, attaches correlation identifiers, and updates the originating process when the task is resolved. |
| Coupa | Exchange procurement, supplier, catalog, order, invoice, or spend information in organizations operating both procurement platforms. | SAP Business Network → Martini → Coupa | Martini maps compatible procurement documents between the two platforms, validates document ownership and status semantics, and uses idempotency keys or source identifiers to prevent duplicates. |
| NetSuite | Send purchase orders, supplier information, receipts, and invoices between SAP Business Network processes and NetSuite ERP. | SAP Business Network → Martini → NetSuite | A workflow retrieves or receives SAP documents, transforms them into NetSuite API payloads, applies supplier and financial validation, and records document IDs for bidirectional reconciliation. |
How to build a SAP Business Network integration in Martini
Objective
Establish tenant-specific access to the selected SAP Business Network API or document-exchange endpoint without embedding credentials in workflow logic.
Instructions in Martini
- Identify the SAP Business Network product, API package, tenant, role, and environment
- Configure OAuth 2.0 or the required application credentials
- Store client IDs, secrets, tokens, scopes, and endpoint settings as environment-managed secrets
- Validate permissions with a controlled test request
Objective
Select an event-driven, API-led, or scheduled trigger based on the confirmed capabilities of the target SAP Business Network service.
Instructions in Martini
- Use a secured notification workflow when the required event is explicitly supported
- Use a scheduler for polling when event coverage is unavailable or incomplete
- Define modified-date, cursor, or status filters where the API supports them
- Set an appropriate polling interval and concurrency limit
Objective
Receive or retrieve complete business documents while preserving SAP identifiers, versions, statuses, and correlation data.
Instructions in Martini
- Receive the notification or request the relevant REST resource
- Retrieve the full document when the notification contains only an identifier
- Parse JSON or cXML and validate required fields
- Persist request IDs, document IDs, versions, and timestamps
Objective
Coordinate related SAP Business Network objects and downstream system calls as one maintainable integration process.
Instructions in Martini
- Sequence Purchase Orders, confirmations, shipments, receipts, and invoices according to the business process
- Call related resources when matching or enrichment is required
- Route valid, rejected, duplicate, and incomplete documents separately
- Use reusable workflow logic for common authentication, validation, and reconciliation behavior
Objective
Convert SAP Business Network JSON or XML documents into canonical and target-specific models without losing source references.
Instructions in Martini
- Map headers, supplier identifiers, references, lines, quantities, amounts, dates, and statuses
- Handle cXML namespaces, optional elements, and document versions
- Normalize units of measure, currencies, tax values, and date formats
- Preserve SAP document identifiers for traceability
Objective
Ensure only valid and authorized procurement, fulfillment, supplier, and invoice data reaches downstream systems.
Instructions in Martini
- Validate supplier and buyer relationships
- Apply quantity, price, tax, currency, and tolerance rules
- Detect duplicate invoices and repeated notifications
- Route status conflicts, unmatched lines, and missing references to exception handling
Common SAP Business Network data objects used in integrations
| Object | Typical Use | Common target systems | Martini handling |
|---|---|---|---|
| Purchase Orders | Buyer-issued requests for goods or services, including lines, quantities, prices, delivery information, and references. | SAP S/4HANA, SAP ERP / ECC, Coupa, NetSuite, Microsoft Dynamics 365 | Martini retrieves or receives the document, validates supplier, buyer, line, currency, and delivery data, maps it to the target system, and stores SAP identifiers for reconciliation. |
| Order Confirmations | Supplier responses confirming, rejecting, or modifying Purchase Order lines and delivery commitments. | SAP S/4HANA, SAP ERP / ECC, Coupa, NetSuite | Martini compares confirmation lines with the original Purchase Order, applies tolerance and status rules, and synchronizes accepted changes or exceptions. |
| Advance Shipping Notices | Pre-arrival shipment information containing carrier, tracking, quantities, and expected delivery details. | SAP S/4HANA, SAP ERP / ECC, warehouse and logistics applications | Martini normalizes shipment data, validates references and quantities, updates logistics systems, and routes mismatches for review. |
| Goods Receipts | Buyer records of goods received against purchase-order lines. | SAP S/4HANA, SAP ERP / ECC, Coupa, finance applications | Martini maps receipt quantities and references, supports three-way matching workflows, and synchronizes receipt status while preventing duplicate processing. |
| Invoices | Supplier billing documents associated with Purchase Orders, Goods Receipts, contracts, taxes, and payment processing. | SAP S/4HANA, SAP ERP / ECC, NetSuite, Coupa, Microsoft Dynamics 365 | Martini validates supplier, invoice number, currency, tax, totals, and PO or receipt matches before posting or routing the invoice for exception handling. |
| Suppliers and trading partners | Organizations, supplier profiles, relationships, identifiers, and network participants. | SAP S/4HANA, SAP ERP / ECC, Salesforce, Workday, Coupa | Martini normalizes identifiers and relationship status, applies master-data rules, and synchronizes approved changes with downstream systems. |
Authentication and security considerations
Tenant-specific authentication
SAP Business Network API access commonly uses OAuth 2.0 and application credentials, with exact scopes, roles, permissions, and entitlements determined by the API, tenant, and buyer or supplier context.
Credential protection
Martini should keep client IDs, client secrets, tokens, tenant identifiers, and endpoint configuration in environment-managed secrets rather than workflow definitions or payloads.
Document and endpoint security
- Use the documented SAP endpoint and transport requirements for the selected service.
- Validate notification sources and tenant context before processing.
- Restrict exposed Martini APIs and apply authentication and authorization policies.
- Protect cXML documents and attachments according to their content, retention, and access requirements.
Operational considerations for SAP Business Network integrations
Rate limits and pagination
Confirm limits for each SAP API. Implement bounded concurrency, pagination, modified-date or cursor filters, exponential backoff, and support for Retry-After where provided.
Idempotency and reconciliation
Use SAP document identifiers, versions, statuses, timestamps, and correlation data to handle repeated notifications, replayed documents, timeouts, duplicate invoices, and partial multi-line processing.
Asynchronous processing
For batch or asynchronous APIs, persist the job identifier and distinguish submitted, running, completed, partially failed, failed, and expired states.
Schema and lifecycle changes
API families can differ in schemas and status semantics. Isolate mappings by API version, tolerate documented optional fields, and test new enum values, line structures, pagination behavior, and document statuses.
Testing and monitoring
Test buyer, supplier, and trading-partner scenarios in the appropriate environment. Monitor authentication failures, entitlement errors, validation failures, rate limits, network errors, and business exceptions with sufficient SAP identifiers for diagnosis.
Why use Martini instead of scripts or point-to-point integrations?
Orchestrate complete business processes
Martini coordinates API calls, cXML processing, notifications, polling, validation, downstream writes, and status updates in one workflow rather than scattering logic across scripts.
Separate mappings from transport
Reusable workflows and transformation logic can isolate SAP API or cXML details from ERP, finance, procurement, logistics, and service-management models.
Make failure behavior explicit
Martini supports validation, conditional routing, retries, checkpoints, correlation data, and exception handling for transient technical failures and business-level mismatches.
Expose controlled APIs
Where an enterprise application needs a stable interface, Martini can expose an API façade that normalizes SAP Business Network data and shields consumers from vendor-specific payload and lifecycle details.
Frequently asked questions
SAP Business Network can be integrated through its documented REST APIs, cXML-based business-document exchange, selected event or notification interfaces, and API-specific asynchronous or batch operations. Scheduled polling is an option when a required event is unavailable.
Yes. Martini can integrate with SAP Business Network by consuming its documented REST APIs, processing JSON and cXML/XML documents, receiving supported notification mechanisms, and orchestrating workflows with ERP, procurement, logistics, finance, and other applications.
No. A dedicated SAP Business Network connector is not required. Martini can use SAP Business Network's confirmed native integration mechanisms, including REST APIs, cXML exchange, supported notifications, authentication methods, and scheduled retrieval.
Lonti does not charge an additional per-connector or per-vendor fee to integrate SAP Business Network. Integrations are subject to the provisioned capacity of the Martini environment. Separate costs may apply from SAP, cloud infrastructure, or other third-party systems based on subscription, usage, and deployment model.
REST APIs are the primary confirmed API mechanism for new integrations where the required resource is available. cXML remains important for procurement and supply-chain document exchange, while notifications, bulk operations, attachments, and asynchronous processing should be evaluated for the specific API and tenant.
Event and notification support is partial and process-specific rather than universal. Verify the required business object, event, tenant, region, delivery model, authentication, acknowledgment, and retry behavior. Martini can receive supported notifications or use scheduled polling as a fallback.
Martini can use event-driven workflows, REST retrieval, cXML exchange, or scheduled incremental polling. It can persist cursors or last-successful timestamps, paginate results, retain SAP document identifiers and versions, and reconcile statuses after successful processing.
Martini maps JSON and XML payloads into canonical and target-specific models, applies validation and business rules, and separates transient failures from authorization, validation, duplicate, and business exceptions. Workflows can retry transient errors, respect throttling, and use document identifiers, versions, and correlation data for idempotency.
Related Martini documentation
Workflows
Data Handling
Security Operations
Connect SAP Business Network with Martini
Use Martini to design maintainable SAP Business Network integrations across REST APIs, cXML documents, selected notifications, scheduled synchronization, and enterprise workflows.