ServiceNow and SAP Integration Guide
Why Organisations Integrate ServiceNow and SAP
SAP holds transactional data: purchase orders, invoices, asset records and financial transactions. ServiceNow manages request and incident workflows. Integration connects service delivery to business transactions. When a user requests a laptop in ServiceNow, the request triggers a purchase order in SAP. When an asset is received in SAP, it updates the ServiceNow CMDB. This coordination ensures that IT delivery is visible in the business system and business records reflect actual IT operations.
Integration also enables single-pane-of-glass views. IT directors can see both ServiceNow incident trends and SAP cost impacts of those incidents. Finance teams see costs of IT changes. Procurement teams see how service requests translate into purchase orders. Without integration, each system holds part of the story.
Common Integration Patterns
Inbound patterns bring data from SAP to ServiceNow. Master data like asset records, cost centres and purchase orders flow into ServiceNow so service requests can reference accurate business data. When SAP records an asset receipt, ServiceNow is notified and can update inventory or trigger fulfillment workflows. Outbound patterns send ServiceNow data to SAP: when a change is approved in ServiceNow, SAP’s scheduling system is notified. When an incident is closed in ServiceNow, cost data can be synchronised to SAP for billing or accountability.
Bidirectional patterns are common in procurement: a service request is created in ServiceNow, a purchase order is generated in SAP, and when SAP shows the order fulfilled, the request is fulfilled in ServiceNow. Asset management also works bidirectionally: asset records created in SAP are added to the CMDB, and when ServiceNow decommissions an asset, SAP is notified to retire it.
Data Ownership and Master Data Governance
Deciding which system is the source of truth for each data type prevents conflicting updates. SAP typically owns asset master data, cost centres and purchase order history. ServiceNow owns service configurations, request workflows and incident data. When both systems need the same data, one should be the source and the other a consumer. For example, if SAP is the master for assets, ServiceNow should not allow editing assets; it should sync them from SAP on a schedule or via event.
Master data management frameworks help define ownership. Document which tables in each system are authoritative and which are read-only copies. Communicate these rules clearly to teams so they know which system to update. Without clear ownership, duplicate masters create conflicts: an asset is updated in ServiceNow while someone else updates it in SAP, and the sync cannot determine which version is correct.
Authentication and Access Control
SAP and ServiceNow have different authentication models. Many organisations use a technical service account with limited permissions to sync data between systems. The service account can read master data from SAP and create or update records in ServiceNow, but it cannot access sensitive transactions or reports. User authentication is separate: when a user views data in ServiceNow, their identity determines what they can see, independent of how the data was populated.
Consider also whether users need direct SAP access. In many organisations, users interact with SAP data through ServiceNow forms and reports, and never log into SAP directly. This centralises access control and reduces SAP license costs. Where users do need SAP access, single sign-on can integrate authentication so they use one password for both systems.
Handling Business Process Workflows Across Systems
Some workflows span both systems. A procurement request starts in ServiceNow but must be approved by finance in SAP before a purchase order is created. Design these orchestrations carefully. ServiceNow can hold the request, call SAP to check budget availability, and only proceed if SAP approves. Alternatively, the request is created and sent to SAP, and ServiceNow waits for SAP to notify it when the purchase order is ready.
Error handling is critical. If SAP cannot create a purchase order because the cost centre does not exist, the request should not be marked complete in ServiceNow. Instead, the request should be put on hold and someone notified to investigate. Design workflows to fail safely and not leave the business in an inconsistent state across systems.
Performance and Scalability Considerations
Syncing large volumes of master data can strain both systems if not done carefully. Schedule heavy syncs during maintenance windows rather than during business hours. Use filters to sync only data that has changed rather than replicating everything. If SAP contains thousands of assets and you are syncing to ServiceNow, consider running the sync on an off-peak schedule and caching results rather than running real-time queries.
Monitor sync performance. If a sync job takes longer than expected, it may indicate that your integration is polling inefficiently. Use event-based approaches where possible: SAP notifies ServiceNow when a record changes, rather than ServiceNow repeatedly asking SAP if anything is new. Event-based integration reduces latency and load on both systems.
Separating access requests from master data changes
When ServiceNow and SAP are discussed together, two different flows tend to get merged by mistake. The first is access: a person needs a role in an SAP system, and the request should be approved, provisioned and later removed. The second is master data: a new supplier, material or cost object needs to exist in SAP before anything else can reference it. These have different owners, different risk and different failure modes. A single integration that handles both often serves neither well, so scope them as separate projects even if the same middleware carries them.
| Flow | Who approves | Typical SAP side | Main risk |
|---|---|---|---|
| Role provisioning for a user | Line manager, then the role owner | User and role assignment in the access layer | Conflicting duties granted together |
| New supplier record | Procurement, with a finance check | Vendor master in the purchasing area | Duplicate vendors with different bank details |
| New material record | Owning business unit | Material master across plants | Units of measure set inconsistently |
| Cost object for an IT service | Finance controller | Controlling objects | Costs posted to an object nobody reviews |
The access row is often the first one built, and it is the one where the segregation of duties question appears. A person who can raise a purchase request and approve it is a control problem, whatever the platform happens to permit. The platform’s approval flow should evaluate the combination of requested roles against the agreed conflict list before the request reaches the SAP side, and that conflict list should be agreed alongside the access controls review.
The access provisioning sequence
Role provisioning is safest as a fixed sequence in which every step either passes or stops with a reason. The order below guards against the common first-attempt error of granting too much.
- Capture the requested roles as business roles, not as the technical role names the SAP team uses, so that the approver can see what the access allows.
- Run the conflict check against the agreed list and block any request that combines conflicting duties, with the conflict named in the record.
- Route the request to the role owner for a second approval, with the conflict result attached.
- Send the approved assignment to SAP through the agreed interface, and store the SAP acknowledgement against the request.
- Set an end date on every temporary role, and make the expiry create a removal task rather than relying on memory.
- Reconcile the platform’s view of each user’s roles against SAP at a fixed interval, and treat any unexplained difference as a finding.
Master data: one owner per record and no silent overwrites
Master data integrations can fail when two systems both believe they can edit the same record. A supplier updated in the procurement tool and then again from a platform form will end up with whichever write arrived last. Decide for each attribute which system is the master, and let the other system read it. Where a field must be shared, record the owner in the platform so that a user looking at the record can see which side to ask for a change. Keep the mapping of codes between systems in a controlled table, and review it whenever a plant, company code or unit of measure is added.
Batch timing matters here. A master data update that arrives in the middle of a close run, or during a transport between landscapes, can produce a record that is valid in one environment and missing in another. Agree a freeze window with the SAP team, and do not send master data changes in that window.
Transports, environments and the first live change
The integration itself has to move between development, test and production like any other change. Keep the mapping tables and the interface definitions under the same change control as the SAP transports, and do not allow a configuration change to reach production that has not passed the same test cycle as the code. The first live change should be a low-risk record, such as a single cost object or a single test role, chosen so that an error can be reversed without a business impact.
Measures that show the integration is behaving
For access, watch the count of requests blocked by the conflict check and the reasons given, the number of temporary roles past their end date, and the number of users whose roles differ between the platform and SAP after reconciliation. For master data, watch the number of rejected records by reason, the number of duplicate candidates flagged before creation, and the time between an approved request and the record being usable in SAP. A rise in duplicate candidates often means the search step before creation is being skipped.
When this is the wrong integration to build
Automated access provisioning is the wrong first step where the organization has no agreed role catalog. Without one, the platform will request roles that the SAP team cannot map cleanly, and the approvals can become rubber stamps. Master data automation is also premature where the data itself is untrusted: a supplier list with known duplicates can be replicated faster rather than cleaned. In both cases, start with the catalog or the cleansing exercise, then add the interface.
Questions that come up in SAP and ServiceNow projects
Should a platform form create a supplier directly in SAP?
Only when procurement has agreed that the form is the front door for new suppliers and that every supplier passes the duplicate search first. A form that bypasses that search can create the duplicates that the finance team later spends weeks removing.
Who should own the conflict list?
The control owner, usually in finance or internal audit, with the SAP security team maintaining the technical mapping. The platform should reference the list, not hold its own copy, so a change to the agreed rules takes effect in one place.
Can a temporary role expire without anyone noticing?
It can if the expiry depends on a person remembering. Make the end date a field that creates a removal task on the due date, and send the task to the approver as well as the requester, so that a missed removal has two people who can see it.
How should a user with roles in several SAP systems be reconciled?
Reconcile each system separately, with the same user identifier mapped once, and report the differences per system. A single combined count hides the case where one system is correct and another is not.
Next step for an SAP integration scope
The conflict list and the owner of each master attribute are the two inputs that drive everything else in the design. For the related hardware and software records that often sit alongside these flows, see the IT asset management area of this library.
Frequently asked questions
Can ServiceNow become the system of record for assets instead of SAP?
Not typically. ServiceNow is excellent at managing the IT perspective of assets, but SAP is the legal and financial record. SAP typically holds the authority over asset cost, depreciation and legal ownership. ServiceNow can be the definitive IT source for operational details like patch status and configuration, but asset ownership and cost data should remain in SAP to maintain financial integrity.
What do we do if the integration between ServiceNow and SAP fails for several hours?
Determine whether your business can function with stale data. If assets are not syncing from SAP to ServiceNow, can IT continue to manage services using cached asset data? Plan fallback procedures: either allow teams to work without integration temporarily or have a manual process to sync critical data if the automated flow breaks. Monitor integrations actively so you detect failures within minutes, not hours.
How often should master data be synchronised between ServiceNow and SAP?
It depends on how fast the data changes and how fresh it needs to be. Asset records often change slowly, so daily synchronisation may be sufficient. Purchase order data might sync every few hours if it drives rapid decisions. Cost centre data might sync weekly. Start with daily sync and adjust based on how often teams encounter stale data problems. Real-time streaming is possible but adds complexity; it is worth implementing only for the most time-critical data.
Related guides
Related Oblytech services
Where this topic turns into delivery work, these are the Oblytech services that cover it.
Planning, running or fixing a ServiceNow programme? Tell us where you are and we will suggest a sensible next step.
Contact us