Migrate from SAP Identity Management to midPoint

A scenario-by-scenario plan for moving SAP IdM provisioning, approvals and role models to self-hosted midPoint, with the gaps, sequence and cost drivers made explicit.

On this page

Migrating from SAP IdM to midPoint: what the work involves

The move from SAP Identity Management to midPoint is a re-platforming of connectors, workflows and role models, not a copy of data. SAP IdM stores its identity data in its own repository and runs provisioning logic through jobs, maps and SPML-based interfaces. midPoint rebuilds that behavior from its own object model: users, roles, organizations, resources and synchronization and provisioning expressions. Your team should expect to redesign each target connection and each approval flow, then validate them against the accounts already in the target systems. Usually an internal platform or IAM team carries this work, supported by an implementation partner for the midPoint design, the connectors and the cutover plan. Confirm early which person owns each SAP IdM job and role, because those owners hold the knowledge that does not appear in the configuration export.

Licensing is the simplest part of the comparison. midPoint is open source under the EUPL-1.2 with Apache 2.0 as a secondary license, and Evolveum states it has no enterprise edition, so there is no license fee to pay. Evolveum sells optional subscriptions: Product Support, with an 8x5 next-business-day or 24x7 SLA, and Platform Subscriptions that add feature development and roadmap influence. Those prices are not published on the subscription page, so ask Evolveum for a written quote. The recurring costs you should budget for are the subscription if you choose one, the servers and PostgreSQL database, and the staff or partner time that runs the platform after go-live. The effort itself depends mainly on two drivers: the number of target systems you must reconnect and the amount of custom SPML logic that has to be rewritten. Inventory both before you request an estimate, and ask any partner to price the work per connector and per workflow, with a fixed scope agreed in writing.

Which SAP IdM capabilities map to midPoint, and which need rework

This table maps the main SAP IdM capabilities to their midPoint equivalents and marks each as a clean fit, a rework item or a gap. Read the status column first, then the notes, to see where migration effort will concentrate. Items marked to confirm depend on connector status that should be checked in the current catalog before scoping.

CapabilitymidPoint equivalentStatus and notes
Provisioning and deprovisioningResource-driven provisioning through ConnId connectors, with mappings and sync to target accountsClean fit for systems with a supported connector. Rework needed for custom SAP IdM connectors or scripts.
Identity lifecycle (joiner, mover, leaver)Object lifecycle driven by HR or other source resources, with assignments recalculated on changeClean fit once the HR source is mapped. Rework needed to re-express SAP IdM event rules as midPoint mappings and policies.
Role-based access controlRoles, assignments and policy rules, with role mining and simulations to test changesClean fit for the role model concept. Rework needed to rebuild role definitions and entitlement mappings from the SAP IdM model.
SPML-based provisioningNo SPML interface; provisioning goes through ConnId connectors or SCIM2 endpointsRework required. Each SPML integration must be re-implemented as a connector or SCIM feed and tested against the target.
SAP R/3 target connectorConnector status to confirm in the Evolveum connector catalog for your SAP release and interfaceTo confirm. Do not assume coverage; check the catalog and plan a proof of concept against your SAP landscape.
SuccessFactors source and targetCommunity SuccessFactors connector or CSV or SCIM feed, status to confirm in the catalogTo confirm. Test joiner and leaver scenarios before switching the source of truth.
Auditing and reportingAudit records of changes and access, with reports to be configured for your evidence needsPartial fit. Confirm which audit events and retention your assessors expect, then build the reports.
Self-service requests and password resetSelf-service access requests and password reset are part of midPoint's feature setClean fit at the feature level. Rework needed for approval workflows and any custom portal screens.

What moves cleanly and what does not in an SAP IdM exit

The portable material in an SAP IdM exit is the identity data, the business meaning of your roles and the audit obligations, while the executable logic is rebuilt. Identity data extracts from the SAP IdM repository can be loaded into midPoint as the starting population, but they need reconciliation against the authoritative HR source before anything is provisioned. Role definitions can move as documented business intent: write down each role's entitlements, its approvers and the systems it touches, then model it as a midPoint role with its own assignments. Target account mappings, meaning which attribute of the HR record becomes which account attribute in each system, are also worth carrying over, because they are the decisions your auditors will ask about. Audit requirements carry over as requirements, not as code: confirm which events, retention periods and reports your assessors expect, then check that midPoint's auditing covers each one.

What does not move is the custom logic. SPML-based provisioning flows, scripts written against SAP IdM's own interfaces, approval workflows built in its task model, and job schedules built around its scheduler are all tied to that product and must be redesigned. Approval steps should be rebuilt as midPoint approval processes and tested with the same escalation paths your current approvers rely on. SAP-side connectors cannot be reused as-is either. Confirm with Evolveum and with your SAP integrator which SAP target connectors you need, since connector status varies, and plan for the work that remains.

Because midPoint reaches every system through a ConnId connector, each target system needs a connector check before cutover. For each system, confirm the connector exists and its status in the Evolveum connector catalog, test read, create, update and delete against a non-production instance, and verify the account attributes and group memberships your mappings expect. Where a connector is community or experimental, decide whether to accept that risk, build or maintain it yourself, or keep that system on a bridge until a supported path exists. Run these checks early, because a missing connector discovered during cutover can stall the whole migration.

Which data and integrations to move and rebuild

A SAP IdM replacement is mostly a set of data feeds and connectors, not one product switch. Each component below needs its source of truth, its midPoint connector and its export path settled before cutover. Confirm each connector's status in the midPoint connector catalog for your target versions.

HR source feed

SAP IdM usually receives joiner, mover and leaver events from an HR system. In midPoint, that feed can arrive as a CSV export, a SCIM2 endpoint or the community SuccessFactors connector, so confirm which one your HR team can operate. Test how each feed handles rehires, contractors and retroactive changes before you move the source of truth. Ask HR to export a full sample file so you can compare record counts with what SAP IdM currently holds.

SAP target systems

SAP R/3 and SuccessFactors connector status is the first thing to confirm, because it decides whether midPoint can provision SAP accounts directly or whether you need an intermediate file or API. Document every SAP role, authorization object and user type that SAP IdM currently maintains. Plan a test tenant or sandbox system for each SAP target before any production write.

Non-SAP directories

LDAP, Active Directory and Microsoft Entra ID (via the Graph API) are documented midPoint connectors and usually carry the widest group membership load. Map which attributes SAP IdM writes to each directory, including group nesting and naming rules. Confirm how your Entra ID tenant authenticates the connector and which Graph permissions it needs before the first sync.

Database targets

Applications that read access data from a database rely on the DatabaseTable and ScriptedSQL connectors. DatabaseTable covers simple table-based provisioning, while ScriptedSQL suits logic that needs custom SQL. Inventory which tables SAP IdM updates today and who owns their schema. Agree on a rollback statement for each table so a failed run can be reversed.

CSV and SCIM targets

Applications without a native connector can receive accounts through CSV files or a SCIM2 endpoint, and midPoint documents both paths. CSV suits batch handoffs to legacy tools, while SCIM2 suits modern applications that already expose a provisioning API. Confirm the target's SCIM version and whether it supports soft deletes, because the leaver behavior depends on it. Keep file exports under access control and with a retention rule.

Audit and reporting outputs

Compliance teams often rely on SAP IdM reports for access reviews and evidence. midPoint records audit events and supports simulations and reporting, but the report layouts your auditors expect must be rebuilt and checked. List each report, its recipients and its frequency, then compare sample output from both systems for one full review cycle. Whether a given report can be produced without custom work is something to confirm during the pilot.

The migration sequence from inventory to decommission

This sequence moves identity processing from SAP IdM to midPoint in controlled stages, so each population and target system is proven before the authoritative source changes. Each step produces a written artifact that gates the next one, and the final decommission only happens after SAP IdM is no longer needed for rollback or audit evidence.

  1. Inventory SAP IdM jobs, connectors and roles

    Catalog every SAP IdM job, scheduled task, connector, workflow, approval step, role and assignment rule, along with the target systems each one touches and the owner of each. Include the attributes mapped from the HR source, the mappings used for SAP and non-SAP targets, and any custom code. The output is an inventory register that assigns each item a disposition: rebuild in midPoint, replace with a different connector, retire, or keep out of scope. Confirm the list with the business owners and the SAP IdM administrators before moving on.

  2. Model roles and connectors in a midPoint test environment

    Build the midPoint environment in a non-production setting, sized using the midPoint system requirements for the chosen Java and PostgreSQL versions. Recreate the role model and resource definitions for the pilot targets, and confirm connector status in the Evolveum connector catalog for each system, including whether a SAP or SuccessFactors connector is supported, community or experimental. Use midPoint simulations against a copy of production data to compare the expected assignments with what SAP IdM currently grants. The output is a validated role model and a connector status list with any gaps flagged.

  3. Pilot one HR population on two target systems

    Choose one bounded HR population, such as a single business unit, and one or two target systems that have clear owners and reliable test accounts. Run joiner, mover and leaver events for that population in midPoint while SAP IdM stays authoritative, and compare each provisioned account with the one SAP IdM would create. Test approvals and access requests the same way. The output is a pilot report listing every difference, its root cause, and the fix, with a sign-off from the application owners.

  4. Run both systems in parallel with reconciliation

    Extend the scope to the remaining populations and targets while both systems run. Schedule reconciliation jobs in midPoint and compare its account and entitlement state with SAP IdM and with the target systems, both on a regular basis and after each change. Classify each mismatch as a role model defect, a connector defect, a data quality issue in the HR source, or an expected difference, and track it to closure. The output is a set of reconciliation results showing the open and closed exceptions, and the parallel run ends only when the owners accept the remaining differences in writing.

  5. Write and rehearse the cutover runbook

    Prepare a cutover runbook that names the authoritative source switch, the freeze window for changes to HR data and roles, the order in which target systems are moved, the rollback criteria, and the person who decides on rollback. Rehearse the runbook in the test environment, including a deliberate failure of the HR feed and of one connector. Confirm the backup and restore procedure for the midPoint database and for the SAP IdM data you must keep. The output is a signed cutover runbook with a tested rollback path.

  6. Execute the controlled cutover of the authoritative source

    Freeze changes, take a verified backup of both systems, and move the authoritative source for each population from SAP IdM to midPoint in the order set in the runbook. Run an immediate reconciliation after each population moves, and confirm that SAP IdM no longer issues changes for the cut-over population. Monitor the first full cycle of joiner, mover and leaver events closely with the operations team. The output is a cutover record with timestamps, reconciliation results before and after each move, and any rollback decisions taken.

  7. Decommission SAP IdM after the retention period

    Once midPoint has run the full cycle for every population and the rollback window has closed, shut down SAP IdM connectors and jobs, then retire the system according to the support timeline your organization has agreed with SAP. Confirm with your compliance team which audit logs, approval records and historical assignments must be exported and retained, and where they will be stored. Check the SAP maintenance dates for your contract, and do not disable SAP IdM before the retention plan is approved. The output is a decommission record listing what was shut down, where the archived evidence sits, and who approved the closure.

How the migration changes with the starting estate

When most provisioned targets are SAP systems, the work centers on SAP role and authorization data rather than on generic account creation. Existing SAP IdM jobs often push user, role and position data into several SAP landscapes, and the migration has to reproduce those mappings in midPoint before any target is switched. Confirm early which SAP connector path you will use for each landscape, because connector status for SAP R/3 and SuccessFactors is a deciding factor and must be verified against the current midPoint connector documentation rather than assumed.

  • Dominant scenarios: joiner, mover and leaver for SAP user accounts, role assignment mapped from SAP IdM roles, and periodic reconciliation of SAP authorizations.
  • Connectors to confirm: the SAP R/3 and SuccessFactors connector status in your midPoint version, plus any SAP Business Warehouse or GRC integration you depend on.
  • Role model porting: SAP IdM role and parameter logic usually needs a rebuilt role model in midPoint, so plan a review of role definitions with the SAP authorization owners.
  • Parallel run: keep SAP IdM as the source of truth for SAP targets while midPoint computes the same changes in simulation, and compare the two outputs per landscape.
  • Cutover order: switch the smallest SAP landscape first and keep a rollback path to SAP IdM until the reconciliation results match for a full cycle.

Before committing, confirm the connector version, the SAP transport and authorization requirements, and who in your SAP team will own the role content after cutover.

What drives migration cost and duration, and how to hold it down

This table lists the main drivers of effort when moving from SAP Identity Management to midPoint, why each one moves the work, and how to keep it under control. Read it before scoping, since most of the effort sits in a few drivers that the project team can influence early.

DriverWhy it moves effortHow to hold it down
Number of target systemsEach target needs a connector, mapping, test cases and a cutover step. Non-SAP targets without a supported ConnId connector add custom build work.Inventory every target first, then rank by business criticality. Migrate the high-value targets first and retire low-use ones instead of porting them.
Custom SPML and workflow logicProvisioning logic written against SPML or custom SAP IdM workflows must be re-expressed in midPoint objects, mappings and approval logic. Undocumented logic is the most common source of rework.Export and document existing workflows and scripts before design. Remove steps nobody uses and rebuild the rest as midPoint policies, not line-by-line ports.
Role model complexityLarge numbers of overlapping roles, or roles assigned by hand, need analysis before they can be mapped. midPoint's role mining and simulation features help, but someone must still review the results.Clean up roles and owners in the source system before migration. Use midPoint simulations against production-like data to check changes before they go live.
HR source qualityInconsistent employee IDs, missing manager relationships or delayed joiner and leaver data cause mismatched accounts and manual correction during parallel running.Agree the authoritative source and key attributes with HR early. Clean duplicates and test joiner, mover and leaver events on sample data before switching the source of truth.
Parallel-run lengthRunning SAP IdM and midPoint side by side doubles operation of provisioning and reconciliation, and extends the time both systems need support.Define exit criteria per target system, such as reconciliation results and approval outcomes matching. Ask the implementer to state how long parallel running is planned, and why.
Connector gaps needing custom workmidPoint's connector catalog includes supported, community and experimental connectors. Gaps for SAP-specific or older targets may need custom ConnId connectors built and maintained in-house or by a partner.Check each target's connector status in the Evolveum connector catalog during discovery. Prefer targets with supported connectors, and price custom connector work as a separate, scoped item.
Skills in Java, PostgreSQL and midPointConnector development requires Java, and the midPoint repository and PostgreSQL need administration. Teams without these skills depend on vendors or hire for them, which adds cost and key-person risk.Confirm which skills exist internally before choosing a delivery model. Ask for knowledge transfer, runbooks and documented configuration as part of the written scope.

What usually goes wrong and how to prevent it

Most failed SAP IdM to midPoint migrations fail at the seams: the moment provisioning changes hands, the approval logic that nobody wrote down, and the role definitions that drift while two systems run side by side. The cards below name six recurring risks and a concrete check for each, so cutover decisions rest on evidence rather than assumptions.

Provisioning gaps during cutover

Each SAP IdM job, sync rule and outbound feed must have a named owner in midPoint before the switch. A gap appears when a target system is still fed by SAP IdM but midPoint has no equivalent resource, so joiners receive no access or leavers keep it. Build a written inventory of every provisioning path, mark each one as moved, parallel or retired, and test a leaver case against every target before you stop the old feed. Map every outbound path before cutover.

Unmapped approval workflows

SAP IdM approval steps often live in configuration that teams no longer read. If those steps are not exported and reviewed, midPoint will grant access that the old process would have blocked, or block requests that were routine. Export the approval rules and escalation paths from SAP IdM, write each one as a midPoint approval case with an expected outcome, and walk business owners through the test results. Treat undocumented approvals as missing requirements.

Role model drift between systems

While both systems run in parallel, roles get changed in one place and not the other, so the two models quietly diverge. Auditors then see different entitlements for the same person depending on which system they query. Freeze role changes during the parallel period or route them through one approved change process, and compare effective access per identity on a fixed sample each week. Run a standing role comparison during parallel operation.

Connector status misread as production-ready

midPoint's connector catalog ranges from supported to community and experimental connectors, and the status determines how much support and testing you can rely on. A connector that works in a lab may lack the behavior your production target needs, such as particular attribute mappings or error handling. Check the status of every connector you depend on in the connector documentation, confirm which ones your support level covers, and test each against a non-production copy of the target before go-live. Verify each connector's status before you plan around it.

Orphaned accounts after decommission

When SAP IdM is switched off, accounts it created may remain in target systems with no owner that midPoint recognizes. These orphans keep working and fall outside the access reviews that now run in midPoint. Before shutdown, reconcile target accounts against identity records, decide how each unmatched account is disabled, archived or assigned, and keep a dated record of that decision. Reconcile every target system before shutting SAP IdM down.

PostgreSQL and Java version mismatch

midPoint's system requirements recommend Java 25 for version 4.11 and later, Java 21 for 4.10 and older, and PostgreSQL as the native repository database, ideally on a separate server. Running an unsupported Java or database version, or a version chosen to match an existing SAP database standard, can cause failures that look like provisioning errors. Select the midPoint release first, then pin the Java and PostgreSQL versions its requirements page lists, and confirm the support window for that release. Choose the midPoint release before choosing the runtime stack.

Questions teams ask before migrating from SAP IdM to midPoint

What does a migration from SAP IdM to midPoint cost?

The software license is not the main cost. midPoint is open source with no license fees, so the cost is the work and infrastructure around it: migration services, connector work for SAP and non-SAP targets, servers, PostgreSQL, testing, and the team that operates the platform afterwards. Optional Evolveum support subscriptions are a separate recurring cost, and the Evolveum support subscriptions page lists no prices, so request a quote for them. Current SAP IdM costs (maintenance or a replacement license) are the other side of the comparison. The largest drivers are the number of target systems, how many approval workflows and role models must be ported, and how much of the SAP landscape needs new connectors. Ask every bidder for a fixed-scope quote that itemizes these components.

How long does it take to move from SAP IdM to midPoint?

The duration depends on scope, not on a fixed template. The main variables are the number of HR and target sources, how many SAP and non-SAP systems need connectors, the volume of approval workflows and role definitions to rebuild, and how much parallel running your change process requires. Because SAP has announced the end of mainstream maintenance for SAP IdM in 2027, plan backwards from that date and have the inventory done early. Ask for a written timeline with milestones for each scenario, including the parallel-run period and the decommissioning step. Any duration a vendor gives should be tied to the inventory you provide.

What does our internal team need to provide during the migration?

An external implementer cannot finish the migration without good inputs from your own organization. Expect to provide:

  • Access to the authoritative HR source and a named owner for joiner, mover and leaver rules
  • Exports or documentation of SAP IdM jobs, workflows, roles and approval rules
  • Accounts, service credentials and test tenants for each target system
  • Decision makers who approve role models and certification scope
  • Operations staff who will run PostgreSQL, the midPoint nodes and the upgrade cycle after handover

The more complete this inventory is at the start, the more accurately a fixed-scope quote can be written.

Can we migrate from SAP IdM to midPoint without an outside partner?

Yes, it is possible in principle, because midPoint is open source and its source code, documentation and connectors are public. Whether it is practical depends on your team's experience with Java applications, identity data models, ConnId connectors and PostgreSQL, and on how many SAP-specific processes you must recreate. Evolveum funds development through subscriptions, training and professional services, so training and consulting are also available from the vendor. DeployOpen plans, implements, integrates, hardens, backs up and documents self-hosted platforms in your own infrastructure under a written scope, which can cover some or all of this work while your team builds skills.

Does midPoint have connectors for SAP systems?

midPoint connects to targets through the ConnId framework, and its documented connectors include LDAP, Active Directory, CSV, DatabaseTable, ScriptedSQL, Microsoft Entra ID (Graph API), SCIM2 and SCIMv1. The Evolveum connectors documentation also lists an integration catalog whose status ranges from supported to community and experimental. Confirm in that catalog whether a connector for the specific SAP module you run (for example, SAP R/3 or SuccessFactors) is supported, community or experimental, and which version it targets. Where no suitable connector exists, the usual options are a ConnId connector built for your system, a SCIM feed, or a CSV or database interface, each of which carries its own development and testing effort.

How do midPoint support subscriptions differ from a product license?

midPoint itself carries no license fee because it is dual-licensed under EUPL-1.2 and Apache 2.0 and has no enterprise edition. Evolveum's support subscriptions are a separate, optional, recurring commercial agreement. Its Product Support tier covers resolving product bugs with an 8x5 next-business-day or 24x7 SLA, and its Platform Subscriptions add feature development and roadmap influence. Evolveum's support page lists no prices, so you should request the terms in writing. Unlike a product license, you can run midPoint without a subscription, but you then carry the responsibility for fixes and upgrades, either in-house or through a service provider.

How DeployOpen scopes and runs an SAP IdM to midPoint migration

DeployOpen plans, implements, integrates, hardens, documents and supports self-hosted open-source platforms inside your own infrastructure. For an SAP Identity Management move to midPoint, we start from a written scope that names each source, target and workflow, then run the migration in stages so provisioning keeps working throughout.

How we scope

  • Inventory every SAP IdM connector, job, workflow and role that is in use today, with owners for each.
  • Agree in writing which HR source, SAP and non-SAP targets, and approval flows move to midPoint in this engagement.
  • Define acceptance tests and the parallel-run period before any build work starts, since engagements are fixed-scope.

How we build

  • Configure midPoint resources on ConnId connectors and confirm each SAP and non-SAP connector status before relying on it.
  • Port role models and approval logic into midPoint, then compare results against SAP IdM outputs in a test environment.
  • Run both systems side by side on non-production data, and document every difference found before cutover.

How we hand over

  • Deliver architecture, configuration, runbooks and decommissioning steps for SAP IdM in your own documentation set.
  • Walk your operations and security teams through midPoint administration, backup and upgrade procedures.
  • Prepare control evidence for your internal auditors or independent assessors, who issue any formal attestation.

How we support

  • Ongoing support, upgrades and continuous testing are available as a retainer after handover.
  • Plan midPoint upgrades against the published release support dates, so your team knows when each version reaches end of support.
  • Confirm with Evolveum which support subscription, if any, your team wants alongside DeployOpen's services.

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.