← Back to blog
AI · Access Risk · Audit Evidence · August 18, 2026 · 12 min read

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.

TL;DR - AI-driven SoD reporting in four points
  1. Detection is table-stakes. Every modern SoD engine flags conflicts. The value has moved to what happens next.
  2. 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.
  3. 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.
  4. 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.

smartReport · Analyses › R001
R001 Vendor Master Maintenance ⟷ Payment Processing SoD High
SIDE A
Vendor Master Maintenance
138 roles grant access
×
SIDE B
Payment Processing
96 roles grant access

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:

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.

Is there a conflict? Was it used? Was data actually changed? AI: what to fix & how

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.

smartReport smartSoD · Analyses › R001 › Data changes
3 users changed data on BOTH sides of this risk in the analyzed period - the pattern worth investigating.
A+B J. NOVAK Side A: 14 changes · Side B: 4 activities · 11-14 Aug
A+B M. WEBER Side A: 2 changes · Side B: 1 activity · 12 Aug
A+B P. KOWALSKI Side A: 1 change · Side B: 1 activity · 09 Aug

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.

smartReport AI · Remediation priority
💡
Recommendation: removing FK02 from role Z_AP_ACCOUNTANT resolves this conflict for 24 users - the least-disruptive fix. Show conflict · Apply
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:

smartReport · User review: J. Novak › R001 › Evidence
Authorization objects Data changes · 5
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
The sequence: the bank account and payment terms on vendor 100384 were changed at 10:42 - and a payment run touching the same vendor executed a few hours later, the same day.

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:

Change material 8845 Create & post delivery of 8845

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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."
  6. 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.

Clean

No conflict detected.

Flag

Conflict detected - decision pending.

Reject

Access denied - role change required.

Mitigate

Access kept, monitored with control.

Remediate

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:

AI-driven reporting closes all three gaps. Every mitigation control assigned to a conflict gets a live status:

Mitigation validation - what the AI checks
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:

Access snapshot

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
Activity + AI evidence

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.

One principle we won't cross: smartGRC presents facts and evidence - it does not declare fraud. "Both sides were changed, on the same vendor, hours apart" is a finding. Whether it's fraud, a mistake, or a perfectly legitimate business process is the auditor's call. We give them the trail; they draw the conclusion.

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.
One rule holds throughout: the AI interprets, it never invents. Every recommendation is grounded in the data smartReport already extracted - the roles, the authorizations, the change documents, the mitigation control execution logs. It suggests; you decide. No fabricated facts, no black-box score you can't trace. That's the difference between "AI-powered" as a slogan and AI that does the actual work of an access review: prioritizing what to fix, proposing how to fix it, validating whether mitigations are real, and showing why.

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

Find the SAP access risks that actually matter

Run your SAP data through smartGRC and see which access conflicts were actually exercised - with the evidence behind each one, and AI-ranked fixes in priority order.