SAP Integration with Website
SAP is an enterprise ERP platform used by large enterprises. Website integration with SAP is an enterprise-level project with serious requirements for architecture, security, and performance. The task is never solved "directly" — only through intermediate layer.
Key SAP Modules in Integration Context
- SAP SD (Sales and Distribution) — customer orders, pricing, delivery
- SAP MM (Materials Management) — nomenclature, warehouses, stock
- SAP FI (Financial Accounting) — invoicing, accounts receivable
- SAP CRM — customer and contact management
- SAP MDG (Master Data Governance) — NSI: customers, materials
Integration Architecture
Direct calls from website to SAP is an antipattern. SAP systems are loaded with operational business, and additional web requests can cause performance issues. Recommended scheme:
Website (PHP/Node.js)
↕
Middleware (SAP BTP Integration / MuleSoft / custom service)
↕
SAP (via SAP PI/PO, RFC, OData, SOAP)
Methods of Connecting to SAP
SAP OData (REST-like) — most modern and recommended approach. SAP Gateway publishes OData services for external systems. Works via HTTP, supports CRUD.
GET https://sap-server/sap/opu/odata/sap/ZSD_ORDER_SRV/OrderSet?
$filter=CustomerID eq '1234567'
&$expand=OrderItems
Authorization: Basic {credentials}
RFC (Remote Function Call) — calling functional modules through SAP protocol. Requires SAP JCo (Java Connector) or pyrfc (Python). For PHP there's no official support — needs intermediate service on Java or Python.
SAP SOAP Web Services — available via Enterprise Services Repository (ESR). Used for complex orchestrations.
IDocs (Intermediate Documents) — XML format for asynchronous exchange. Historical SAP integration standard, still widely used.
Getting Material Data
# Example via SAP OData (Python requests)
import requests
response = requests.get(
'https://sap-gw/sap/opu/odata/sap/ZMM_MATERIAL_SRV/MaterialSet',
params={
'$filter': "Plant eq '1000' and MaterialType eq 'FERT'",
'$select': 'MaterialNumber,Description,BaseUnit,StandardPrice',
'$format': 'json'
},
auth=(SAP_USER, SAP_PASSWORD),
verify=True
)
materials = response.json()['d']['results']
B2B Portal: Key Scenarios
For corporate clients, B2B portal with SAP integration provides:
- Individual prices (from SAP SD: pricing conditions for specific customer)
- Credit limit and current debt (SAP FI)
- Order history with ability to repeat
- Shipment status and documents (shipping bills, invoices from SAP)
- Account managers and contacts from SAP CRM
SAP Business Technology Platform (BTP)
For new SAP integrations, SAP BTP Integration Suite is recommended — SAP's cloud ESB. Provides monitoring of data flows, retry logic, format transformation. Website connects to BTP via standard REST calls.
Team Requirements
SAP integration requires specialists with experience in both SAP Basis/ABAP and web development. Critical: participation of SAP architect from client side — without system access and configuration understanding, integration will take many times longer.
Development Timeline: 3–6 months for serious B2B integration with several SAP modules through intermediate bus.







