CASE STUDY / AGENTIC AI / INTELLIGENT AUTOMATIONProduction (one implementation in active use)
Enterprise Expense Automation Agent — One Architecture, Two ERP Systems
An IFS-first expense-agent architecture with a reusable integration pattern across enterprise ERP systems.
Energy & UtilitiesEnterprise Operations
Azure AI FoundryDocument intelligenceERP integration (IFS, SAP)MCPHuman-in-the-loopOAuth2
I developed the expense-agent pattern in IFS first, then designed the integration layer to remain portable across ERP backends. The differentiator is an architecture that survives a change of underlying system.
Agentic AI / Intelligent Automation · Enterprise AI
01 / BUSINESS CHALLENGE
Start with the problem.
Expense submission combines unstructured receipts, employee identity, changing business rules, and a write to a financial system of record. A useful agent must resolve those dependencies without guessing or bypassing enterprise controls.
02 / SOLUTION APPROACH
A practical path forward.
A shared agentic pattern accepts a receipt photo or manual entry, resolves employee identity and live expense rules, validates the proposed transaction, asks for human confirmation, and writes through the ERP’s native API or service layer. This work operated inside existing enterprise cloud, identity-provider, security, and compliance frameworks, rather than a greenfield environment.
One reusable integration layer wraps an ERP’s APIs as standard tools. Every agent uses the same governed path to the system of record, rather than building a separate integration. IFS is the lead implementation example; the shared pattern is designed to remain portable across ERP backends.
Agent Reliability · explicit failure paths
Trust is part of the architecture.
4 / 04
Explicit failure paths
Animate the main flow, or select a branch to inspect how the operation refuses, pauses, or escalates.
IFS-first expense automation · shared connector patternClick a component
Failure branches refuse, pause, or escalate before an unsafe write. Human selection resolves ambiguity using real candidates. Audit logging is fail-open only for the logging path; write validation and verification remain enforced.View case study: Enterprise Expense Automation Agent
Developed the expense-agent pattern in IFS first, within an enterprise environment that includes IFS and SAP. The energy-utility implementation is in active use, serving finance leadership roles and field technicians across two states. A companion approval-workflow agent is in progress and is not yet complete.
IFS Cloud · Completed engagement
Implementation B — Energy services sector
Built and extensively tested against live enterprise data, and delivered within a broader enterprise agent-platform initiative: a unified conversational front door routing to specialist agents. This is a completed engagement; no ongoing production status is claimed.
01
Conversational intake
Accept a receipt photo or manual entry without a photo, and capture the context needed for the proposed expense.
02
Employee identity resolution
Map the person to their enterprise employee record. Refuse unresolved identity and present real candidates when a lookup is ambiguous.
03
Dynamic business-rule resolution
Look up the correct expense category or code live, using the employee’s role and organization. Do not rely on hardcoded mappings.
04
Validation
Run structured checks for missing values, policy conflicts, invalid data, and duplicate submissions before a write is allowed.
05
Human confirmation
Show the extracted details and proposed action. Nothing is written to the system of record until the person confirms.
06
Native ERP write
Use the system’s native API or service layer through the shared connector, protect concurrent updates, and verify persistence after the write.
07
Transaction audit trail
Log each transaction for audit through a path that cannot block or break the user-facing operation.
Design decisions & tradeoffs
Identity resolution before action+
Designed the identity-resolution approach as the first of its kind on that platform. Employee identity is resolved before business rules and write requests, with refusal or human selection when resolution is uncertain.
Verify dynamic lookups against real data+
Caught and fixed a silently failing dynamic lookup and a hardcoded placeholder that would have reached real records. Validating against live system data exposed defects that documentation or summaries alone did not reveal.
Treat writes as a guarded boundary+
Handled concurrency safely when writing to records that may have changed since the agent read them. Full end-to-end stakeholder demonstrations exercised the complete workflow.
07.5 / TRUST & GUARDRAILS
How the system fails safely.
Human-in-the-loop gate
Nothing is written to the system of record until the person reviews the extracted data and confirms. The agent proposes; the human commits.
Deterministic validation before any write
Code checks required fields, value sanity, and policy rules. Invalid submissions are blocked by structured checks, not model judgment.
Duplicate detection
Check submissions against existing records before creating anything, preventing double-entry.
Fail-safe identity resolution
If the submitter cannot be confidently resolved, refuse the action and route the person to a human rather than guessing.
Concurrency protection
Before modifying an existing record, verify that it has not changed since it was read. Refuse the write if it has.
Post-write verification
Re-query after a write reports success. Report success to the user only after confirming the record persisted.
Fail-open audit logging
Every transaction is logged for audit, but the logging path cannot block or break the user-facing operation. This applies to logging; validation and write gates still block unsafe actions.
Ambiguity handling
When a lookup returns multiple plausible matches, show the real candidates for the person to choose rather than silently selecting one.
08 / OUTCOMES
What the work demonstrates.
Implemented one portable expense-agent pattern against two ERP backends for two enterprises.
The energy-utility implementation is in active use across finance leadership roles and field technicians in two states.
Completed the IFS Cloud engagement after extensive testing against live enterprise data and end-to-end stakeholder demonstrations.
Production status applies to the energy-utility implementation in active use. The IFS Cloud energy-services engagement is complete, with no ongoing production claim. The companion approval-workflow agent remains in progress. The public demonstration uses fictional data and preset responses.