SAP Integration
Which SAP versions Horizon connects to
- SAP S/4HANA (Cloud and Private/On-Premise) — primary integration path using OData APIs and CDS views. Tested on releases 1909 through 2023.
- SAP ECC 6.0 with EHP 7+ — RFC and BAPI-based integration plus IDoc inbound/outbound for transactional data. Most legacy SAP customers are on this path.
- SAP Business One — service layer integration for smaller manufacturers and subsidiaries.
- SAP IBP coexistence — for customers running SAP IBP for some functions and Horizon for others (typical in companies replacing legacy ECC planning while keeping IBP for executive S&OP), Horizon coexists rather than competes.
SAP-specific data objects Horizon reads
The integration speaks SAP's data model rather than translating it:
- Material master (MARA, MARC, MARD) with MRP views 1-4, including lot size, safety stock, MRP type, planning strategy, scheduling margin key, and procurement type
- Plant and storage location structure from T001W and T001L, with material-plant linkages
- Bills of material (STKO, STPO) at the engineering and production BOM level, including alternative BOMs
- Routings (PLKO, PLPO) with operations, work centers, standard values, and reference operation sets
- Work centers and capacities (CRHD, KAKO) including formulas, capacity categories, and shift sequences
- Info records and source lists for procurement lead times and supplier-material relationships
- Stock balances from MARD (storage location stock) and MCHB (batch stock) for batch-managed materials
- Demand history from VBAK/VBAP (sales orders) and LIPS (deliveries), filterable by sales organization, distribution channel, division
- Open orders — purchase orders (EKKO/EKPO), production orders (AUFK/AFKO), planned orders (PLAF)
SAP-specific data objects Horizon writes
- Planned independent requirements (PIRs) for material consumption against the forecast — written to PBED through BAPI_REQUIREMENTS_CREATE or similar
- Planned orders created through standard MRP planned order BAPIs, with conversion to production or purchase orders happening in SAP
- MRP parameter updates — safety stock, reorder point, lot size — written back to MARC for SAP's own MRP runs
- Production order schedule updates — for customers using Horizon for finite capacity scheduling, the optimized schedule writes back as start/end date updates on production orders
Authentication and connection
- S/4HANA Cloud: OAuth 2.0 against the API Hub, with named communication user. Standard SAP-recommended approach.
- S/4HANA Private Cloud / On-Premise: Communication user with assigned roles, accessed through SAP Gateway or SAP Cloud Connector for hybrid scenarios.
- ECC 6.0: RFC user with SAP_BC_RFC_REMOTE_DESTINATION authorization, plus tcode-level access for the specific BAPIs Horizon calls.
- IDoc-based (ECC): Outbound IDocs (MATMAS, INVCON, ORDERS) delivered to Horizon's SFTP endpoint or middleware layer.
The realistic project pattern
With Horizon Instant, demand planning on your own data is up and running in less than 24 hours. The full integration, including write-back, is planned with your IT team: the steps below stay the same, the timing depends on scope and data readiness.
For a mid-market manufacturer running S/4HANA with ~2,000 SKUs across 2 plants:
- Step 1: SAP Basis team provisions the communication user with required authorizations. SAP team validates the OData services Horizon needs are activated (some are off by default).
- Step 2: Horizon connector configured. Master data load and validation. This is where SAP-specific customization surfaces — custom fields in MARC, customer-specific material types, plant-specific MRP areas.
- Step 3: Transactional data load — 18-24 months of historical orders and shipments. Validation that history reconciles with SAP's own reporting.
- Step 4: Forecast generation, parallel run alongside existing SAP forecast (MD61, MD63). Write-back configuration tested.
- Step 5: Cutover. First operational cycle with Horizon publishing PIRs back to SAP.
Common SAP-specific gotchas we plan for
- MRP areas vs storage locations — SAP customers often use MRP areas inconsistently. The Horizon load explicitly maps which storage locations roll up to which planning level. Misalignment here causes inventory double-counting that's hard to find later.
- Sales BOMs vs production BOMs — for customers using both, Horizon needs the production BOM for planning; pulling the sales BOM produces forecast that doesn't reflect actual material consumption.
- Special procurement keys — SAP's stock transfer logic (special procurement key 40, 30) affects how multi-plant flows are interpreted. Horizon respects these rather than treating each plant independently.
- Custom MRP types (Z-types) — most SAP customers have custom MRP types created over the years. Horizon's mapping handles them explicitly; we don't assume standard SAP MRP type codes.
- Batch management and shelf life — for food, pharma, and chemicals, batch-managed materials need MCHB-level inventory visibility, not just MARD totals. Horizon pulls both.
SAP IBP and Horizon together
Some customers run SAP IBP for executive-level S&OP and want a more focused operational planning layer for daily and weekly cycles. Horizon supports this coexistence — IBP holds the strategic plan, Horizon executes operational demand, inventory, and supply planning, with the two reconciled through scheduled data exchange.

