Anonymised client
A finance agent harness for a European retail group.
How a large retail group moved from scattered finance AI experiments to one governed, auditable agent platform — starting with supplier invoices and the month-end close.
The situation
Every finance team had its own AI experiment.
The group operates hundreds of stores and e-commerce channels across several European countries. Its finance teams manage monthly closing, supplier invoice processing, inventory reconciliation and financial reporting across multiple legal entities. The group had implemented a modern ERP, Business Central, but several acquired businesses still ran on legacy systems, which left fragmented processes and a lot of manual work.
Over the past year, different finance teams began experimenting with AI independently. One team used a general-purpose chat assistant to draft explanations for budget variances. Another built a script to match supplier invoices against purchase orders and goods receipts. A third tested an assistant that could retrieve transactions from the general ledger.
The pilots showed promise, but each was built differently, depended on individual employees and lacked common security, integration and governance standards. None was ready to scale across the group.
The trigger
An audit asked what the AI had actually done.
The problem became clear during an internal audit. Finance leadership could show what the AI tools produced, but struggled to explain which data they accessed, what actions they performed, who authorised those actions, and whether a person had reviewed the results.
The group did not need another pilot. It needed a controlled, reusable way to deploy AI agents across its finance operations.
The challenge
Useful pilots, no foundation underneath.
- Every pilot was built differently and depended on the person who built it.
- No shared security, integration or governance standards, so none could be extended to other entities.
- Legacy systems in acquired businesses meant the same process worked differently from entity to entity.
- No single record of data accessed, actions taken, approvals given or human review.
- No tests: nobody could say whether a change made an agent better or worse.
What we built
One harness, seven layers.
The aim was not another assistant. It was the shared infrastructure that lets every finance agent start from the same rules, use the same approved tools and answer to the same controls.
- Context
- Group accounting policy, chart of accounts, vendor rules and the close calendar as one versioned set of instructions every agent loads.
- Skills
- Reusable procedures: invoice matching, bank reconciliation, inventory reconciliation, accrual proposal, variance commentary. Written once, owned by finance.
- Orchestration
- A coordinator splits work into tasks, delegates them to agents per process and entity, and keeps task state so a job can resume after a pause.
- Tools
- Read-only Business Central API access, adapters for the legacy systems and document recognition for supplier invoices. Posting only through an approval API.
- Evaluations
- A test set built from past invoices and closes. Every change to instructions or skills re-runs it before release.
- Governance
- Per-entity permissions, value thresholds, approval for postings and an instant stop.
- Observability
- A trace for every task and an audit export that answers the auditor’s four questions without asking IT.
How it runs
A supplier invoice, end to end.
Invoice processing was the first flow. Month-end close, inventory reconciliation and reporting commentary reuse the same harness — only the skill changes, not the controls.
- 01
Invoice arrives
A PDF, EDI file or e-mail enters a monitored channel and opens a task in the harness.
- 02
Document recognition
Header and line data are extracted with a confidence score per field. Low-confidence fields are flagged, not guessed.
- 03
Context and agent
The invoice agent loads accounts-payable policy, vendor rules and the chart of accounts, and plans the match.
- 04
Read-only tools
Purchase orders and goods receipts come from Business Central through its API. Acquired entities are read through adapters to their legacy systems.
- 05
Validate
A three-way match, duplicate check and tolerance rules run, and the result is scored against the evaluation set.
- 06
Route
Invoices within tolerance are prepared for batch approval. Exceptions, such as a mismatch or low confidence, go to an AP clerk with the evidence attached.
- 07
Approve, post, log
A person approves, and a second person above the value threshold. The invoice is posted to Business Central through the approval API, and every step lands in the audit log.
How the work is run
Five phases, each with a decision.
- 01DiscoverAbout 3 weeksDelivered: a map of the existing finance experiments, access and risk findings, and a ranked list of processes to start with.
- 02DesignAbout 3 weeksDelivered: harness reference architecture, permission model, approval thresholds and an evaluation plan agreed with the group controller.
- 03ImplementAbout 6 weeksDelivered: the harness running in the client’s environment with invoice processing live for two entities, read-only first, then approval-gated.
- 04ValidateAbout 2 weeksDelivered: evaluation results against past invoices and closes, and a review with internal audit.
- 05Enable & improveOngoingDelivered: runbooks, trained finance owners for each skill and a roadmap for the remaining entities and processes.
Durations are indicative and depend on the number of entities, systems and the readiness of the data.
Control
Autonomy is earned, not assumed.
Agents started read-only. They gained the right to propose entries only after passing the evaluation set for that task, and the right to post only through a person. Every permission is per entity and per task, and any action can be stopped instantly.
- No agent holds standing write access to the ledger.
- Extracted invoice fields carry a confidence score, and low-confidence values go to a person.
- Figures in commentary are sourced from the ledger, never generated.
- Changing an instruction is a reviewed change with a test run, like code.
What we track
Against the client’s own baseline.
- Calendar days from period end to a closed book, per entity.
- Share of invoices recognised with high confidence and cleared first time.
- Share of proposed entries accepted without rework.
- Time to answer an auditor’s “who did what” question.
- Evaluation pass rate over time, and regressions caught before release.
The baseline was set in the Discover phase. We do not publish or promise numbers we cannot show.
Contact
Ready to make AI operational?
Whether you are building your first organizational agent harness or extending one that already exists, let’s discuss where to start.
- contact@core.ai
- linkedin.com/company/coreai-dk
- Location
- Copenhagen, Denmark