Intelligent SoD Reporting: how AI turns SAP access risk into audit-grade evidence
Knowing that a user can perform two conflicting activities is where the work begins - not where it ends. This article shows how AI closes the gap between a Segregation of Duties report and the questions your auditor actually asks.
- Detection is table-stakes. Every modern SoD engine flags conflicts. The value has moved to what happens next.
- Usage narrows the noise, change data confirms the risk. Only a persisted modification to business data - on both sides of the conflict - is the pattern worth investigating.
- AI ranks fixes and validates mitigations. Which role change resolves the most conflicts with least impact? Did the mitigation control actually run? A ranked shortlist, grounded in evidence, replaces the 4,000-row spreadsheet.
- The output is audit-grade evidence, not a claim. Every finding traces back to a change document, a usage log, or a control execution record. The AI interprets - it never invents.
Every SAP access-risk project ends with the same artifact: a Segregation of Duties (SoD) report. Thousands of rows. Every user who could perform two conflicting activities - maintain vendors and run payments, create materials and issue deliveries, post journals and open periods.
It answers one question: who has risky access? It's a fair question, and a necessary one. It's just not the one your auditor asks next - and it's rarely the one that separates a genuine problem from four thousand rows of noise.
A textbook SoD conflict, decomposed by the roles that grant each side. This is where most tools stop.
1. The audit gap: what your auditor actually asks
Show an auditor "User A - Vendor Maintenance + Payment Processing - HIGH," and they don't stop at the label. They ask a very different set of questions - all of them about facts, not possibilities:
- Did the user actually use that access? Or is it dormant?
- One side of the conflict, or both? Because only both-sides activity is the pattern.
- When? How often? A single event three years ago is not the same as a weekly pattern.
- Did the activities touch the same business object? Same vendor, same material, same customer - the sequence that describes the risk.
- What was the financial exposure? Value posted, amount cleared, contract modified.
- Was a mitigation control in place - and did it actually run? A documented compensating control is not the same as a control that executed.
- Who owns the control, and when was it last tested? An orphan control fails the next audit even if it was designed correctly.
- Was the mitigation validated, or only documented? This is the single most common finding in SOX and ISO 27001 audits.
A standard SoD report can't answer any of these. It describes what is possible, not what happened. So teams spend weeks manually chasing thousands of technically-correct conflicts - most of which never turned into anything, while the one that did hides in the noise.
2. Why detection alone stops one question too early
Access-risk tools have matured over the last decade, and you can place almost any of them on the same three-step ladder - three progressively harder questions about the very same conflict. Intelligent SoD reporting adds a fourth.
1 · Detection. The classic SoD report - the user holds roles that grant two conflicting functions. Almost every tool does this, SAP's own rule sets included. It's necessary; it's where most reviews still end.
2 · Usage. A smaller set of tools cross-reference the conflict with transaction usage. Did the user actually run one of the conflicting transactions in the period? This is better - it separates dormant conflicts from live ones. But it still counts execution, not consequence.
3 · Change. This is where smartGRC sits, and it's a bigger jump than it looks. Because "a conflicting transaction was executed" still isn't the risk. Execution includes display, simulation, a reversed posting, an aborted session. The signal that matters is narrower: a real, persisted change to business data - the kind that leaves a record in the SAP change documents (CDPOS/CDHDR) and the security audit log.
4 · AI interpretation. Finding the cases that matter is half the job. The other half is doing something about them - and that's where reviews stall. Which role do you actually change? Will removing it break someone's job? Is the compensating control real, or just documented? The AI layer reads the same evidence you do - the roles, the authorizations, the change documents, the mitigation control execution logs - and turns it into ranked decisions with reasoning.
Most tools tell you a user can do two things. Some tell you they used the access. smartGRC tells you whether they changed the data on both sides - and AI tells you exactly which fix to apply first.
A user can hold a conflict for three years and never touch it. A transaction can be executed and only display data. That last step - the actual change - is the difference between "this looks risky on paper" and "here is what happened, with the evidence." It's also the honest boundary of what a role matrix can ever tell you: everything up to step 3 is about possibility; only the change data is about fact. And only AI, working on that fact, can turn it into a prioritized fix at the scale of a real SAP estate.
3. What intelligent SoD reporting actually looks like
The layer that closes the gap doesn't replace the SoD engine. It sits on top of it and asks a second question of every conflict: did anyone actually change data on both sides? Only the users who did show up - one-sided activity stays potential.
The "Data changes" view: not thousands of conflicts - the handful of users who actually exercised both sides.
4. What the AI sees that a human reviewer would miss at scale
Finding the cases that matter is half the job. The other half is doing something about them. This is where the smartReport AI package - the AI layer on top of smartSoD - starts earning its keep. It sits on the access model, the conflicts, the actual data changes, and the mitigation control execution logs as an interpretive layer, not a black box. It reads the same evidence you do, and turns it into decisions.
| Fix first | Resolves | Used to change data | Priority |
|---|---|---|---|
| Remove FK02 from Z_AP_ACCOUNTANT | 24 conflicts | Yes · 14× | High |
| Split role Z_MM_MASTER | 11 conflicts | Not exercised | Medium |
| Tighten F_LFA1_BUK in Z_FI_SUPER | 7 conflicts | Yes · 3× | High |
The AI reads the same evidence you do - and turns it into a ranked, actionable fix list.
Prioritize the fix. Not every conflict is equal. The AI ranks what to remediate first, using real signals - which roles are the source of the most conflicts, which access was actually exercised to change data, how many users each fix would clear. You get an ordered list, not a flat 4,000 rows.
Point to the exact fix. Not "this role is risky" - the AI names what to change: which role to remove, or which single authorization or transaction to restrict, choosing the least-disruptive option. Where several roles feed one conflict, it ranks them by impact and by whether the access was actually used - so you cut the right one first, not the one that happens to be top of the list.
Reduce risk, not just flag it. The AI reads role structure and real usage together to propose how to tighten access - strip an authorization that was never exercised, narrow an over-broad value range, or replace access with a compensating control - always with the evidence and the trade-off in view.
Draft the role-redesign specification. For roles that need rebuilding, the AI produces a working brief your SAP security team can implement: what to keep, what to remove, how to split one role into two clean ones, the target authorization set, and which users move where. Remediation stops being a whiteboard exercise and becomes a document you can hand off and track.
Explain in business language. It translates a technical conflict into a sentence a risk owner or CFO actually understands, and drafts the "why this matters" behind each finding.
5. Example one - vendor bank details, then a payment
Consider the classic Vendor Maintenance + Payment Processing conflict. The report says the user could do both. The change data says what they did:
| Date · time | Side | T-code | Business object | Field | Before → After |
|---|---|---|---|---|---|
| 14 Aug · 10:42 | A | FK02 | Vendor 100384 | Bank account | DE89 3704… → DE12 5001… |
| 14 Aug · 10:44 | A | FK02 | Vendor 100384 | Payment terms | 30 days → 60 days |
| 14 Aug · 14:21 | B | F110 | Payment run · Vendor 100384 | — | payment executed |
Instead of "User executed FK02," you get: "User changed vendor bank details while holding a Vendor Maintenance + Payment Processing conflict - same vendor, same day." That is a much better place to start an audit.
And when the AI reviews it, it doesn't just describe the sequence. It asks whether the assigned mitigation control (say, "AP team lead reviews all vendor bank changes weekly") actually executed during the same period. If the control has no evidence of execution, the AI flags it as an unvalidated mitigation - which is a finding in itself.
6. Example two - a material, then a delivery
Take Delivery ⟷ Material Master Data. On its own, a material change is harmless. In sequence, it tells a story:
A user changed the unit of measure and gross weight on material 8845 - then, the next day, created and posted a delivery for that same material. Change on one side, activity on the other, the same object between them. Down to before → after, with the source change document behind every line. This is exactly the abuse the risk describes - and it's visible only on a timeline, not in a role matrix.
7. How this changes an SoD review in practice
The point isn't a nicer report - it's a different way of working. A periodic SoD review stops being a triage marathon and becomes a focused pass:
- Start where the activity is real. Open a risk, go to Data changes. Instead of a wall of "HIGH," you see the users who actually changed data on both sides. That's your shortlist - often a handful, out of thousands.
- Read the sequence, not the row. The timeline shows what happened and in what order - a master-data change, then a transaction on the same object. The story is visible without opening five other transactions to reconstruct it.
- Ask the AI for the next step. "What's the least-disruptive fix?" "Which mitigation control should have caught this?" "Draft the audit finding." The AI produces text you review and sign, not a black-box verdict.
- Judge with the evidence in front of you. Every line carries before → after and a source change-document number. Legitimate process, control gap, or escalate - you decide without leaving the screen to pull change docs or SUIM by hand.
- Document defensibly. What you clear and what you raise both trace back to a source record. Your working paper isn't "we reviewed the SoD report" - it's "here is the activity, here is the evidence, here is the AI recommendation, here is my decision."
- Re-run next period. New changes surface; cleared cases stay cleared. The review compounds instead of starting from zero every quarter.
The net effect: work that used to mean weeks of manual chasing becomes a focused pass over the cases that actually moved data, with AI accelerating the analysis and mitigation validation at every step.
8. Detection to Decision - five outcomes, not two
A single SoD conflict has five possible outcomes, not two. Detection is only the first flag; the decision is what matters. AI-driven reporting helps you land in the right outcome for every case - grounded in evidence, defensible in audit.
No conflict detected.
Conflict detected - decision pending.
Access denied - role change required.
Access kept, monitored with control.
Access removed - conflict eliminated.
Two users can hold exactly the same flagged conflict and land in different outcomes - and that is not a bug. It is governance. One user has the combination temporarily (covering for a colleague on vacation) - the right decision is Mitigate with a 30-day auto-expire. Another has it because a role bundle from three years ago was never reviewed - the right decision is Remediate. The AI helps you see the difference at scale, and drafts the right compensating control for each mitigation case.
9. Mitigation controls - the missing half of most SoD reports
Most SoD reports describe conflicts. Very few describe whether the mitigation around each conflict is actually working. This is where auditors close the loop - and where AI-driven reporting delivers what a spreadsheet cannot.
A mitigation control is a compensating process that lets a user keep an SoD-conflicting access safely - typically dual-control approval, periodic review, independent monitoring, or a system-enforced threshold. It is not the absence of risk. It is a documented, tested way to make the risk acceptable. And it fails at audit for one of three reasons:
- No owner. The control is documented but no one is accountable to run it. Auditors find this by asking "who owns this control?" and getting silence.
- No frequency. The control exists in policy but has no defined review cadence - or the cadence exists but the last execution was 18 months ago.
- No evidence of execution. The control has an owner and a cadence, but nothing in the system proves it actually ran. A "we do quarterly reviews" statement without a signed working paper is worth zero at audit.
AI-driven reporting closes all three gaps. Every mitigation control assigned to a conflict gets a live status:
| Control attribute | What the AI validates | Failure mode |
|---|---|---|
| Owner assigned | HR-active named individual, not a distribution list or "team X" | Orphan control |
| Frequency defined | Explicit cadence (daily, weekly, monthly, quarterly) - not "as needed" | Undefined cadence |
| Last execution | System evidence within the expected window (approval log, workflow trace, signed export) | Stale / never executed |
| Design coverage | The control actually addresses the SoD risk it is mapped to - not a generic "we review quarterly" | Design gap |
| Alignment with exercised activity | The control triggered on the periods when the risky access was actually used | Missed event |
The output is a live dashboard: for every mitigated risk, a green/amber/red status of the control that supposedly covers it. And when a control shows red, the AI drafts the finding: "Mitigation control MC-042 (Weekly AP bank-change review) was not executed in Q2. Vendor bank change on 14 Aug was not reviewed. Recommend re-testing the control and evaluating a system-enforced dual-control substitution."
This is what turns a mitigation from a checkbox into a defensible control. It's also the single fastest way to reduce audit findings on your next cycle.
10. Traditional SoD report vs AI-driven intelligent reporting
Same conflict, two very different starting points for an audit:
Traditional SoD report
- Answers
- Who can do both
- Volume
- Thousands of rows, all "HIGH"
- Time dimension
- A point-in-time snapshot of access
- Evidence
- You pull change documents & SUIM yourself
- Mitigation
- Assumed present if documented
- Fix priority
- Determined manually, case by case
- Nature
- Describes what's possible
- Effort
- Weeks of manual triage
smartGRC · intelligent SoD reporting
- Answers
- Who actually changed data on both sides
- Volume
- A ranked shortlist - start with the few
- Time dimension
- A timeline of what actually happened
- Evidence
- Before → after + source doc, already attached
- Mitigation
- Validated for actual execution, per control
- Fix priority
- AI-ranked; least disruptive first
- Nature
- Documents what happened
- Effort
- A focused review in hours
11. Three things intelligent SoD reporting gives you
1. Reduce the noise. From thousands of theoretical conflicts to the handful that were actually exercised. Nothing is deleted - you're simply told where to start.
2. Understand what actually happened. Beyond "can-do": who, when, which object, which field, from what value to what value. And whether the mitigation control that was supposed to catch it actually ran.
3. Be audit-ready. Every statement traces back to a source record - a change document number, a security audit log entry, a mitigation control execution log. Not a claim; evidence. And the AI drafts the finding text your working paper needs.
12. What comes out of the AI package
The same evidence unlocks more as the review matures - all of it grounded in the data, none of it invented:
Remediate & redesign
- Impact simulation. What a fix clears, and who it affects, before you apply it.
- Least-privilege trim. Authorizations a role holds but has never actually used - flagged for removal.
- Compensating controls. Drafts the control and a review cadence when removal isn't an option.
- Role overlap. Duplicate access across roles, ready to consolidate.
Audit assistance
- Draft conclusions. Finding text, test description and evidence summary - for you to review and sign.
- Audit procedures. What to check and what to ask, for a given case.
- Mitigation validation. Whether an existing control actually covers the risk - and executed on the exercised period.
- Period comparison. What changed since the last review - new and newly-exercised conflicts.
- Ask your data. Plain-language questions across access and activity.
13. From access risk to audit evidence
Traditional SoD analysis tells you what users can do. Adding actual SAP activity tells you which risks deserve a closer look. Adding AI on top of both tells you which fix to apply first, which mitigation control is real, and drafts the audit conclusion for you to sign. That's the difference between a 4,000-row spreadsheet and a shortlist you can defend.
Intelligent SoD reporting is not "AI-powered" as a marketing badge. It is the honest end of the road that started with detection - a report that knows the difference between possibility and fact, and that helps you close the gap between them at scale.
See also
SoD Guide 2026
15 chapters, 41 sections. Chapter 15 covers the detection-to-decision framework in depth.
SAP FUE by Design
S/4HANA license classification managed proactively - the same evidence-based approach applied to FUE.
IAM vs GRC vs IAG
Where smartGRC (smartSoD + smartReport) fits alongside Omada, SailPoint, Saviynt in a modern access governance stack.