Microsoft Copilot Studio · Power Automate · Azure AI · D365 Finance

Agentic Automation Strategy

Autonomous AI agents that continuously monitor, calculate, and act across NordHav's financial and operational landscape — transforming manual month-end rituals into intelligent, event-driven automation.

7
Autonomous Agents
85%
Manual Effort Reduction
3
Copilot Studio Agents
4
Power Automate Agents
▼ scroll

Agentic Architecture — 3 Layers

Agents operate across three distinct layers: Copilot Studio conversational agents (human-in-the-loop), Power Automate autonomous agents (event-driven), and Azure AI background agents (heavy computation).

flowchart TB subgraph CS["Copilot Studio Agents (Human-in-the-Loop)"] direction LR A1["🏛️ Grunnrenteskatt
Tax Advisor Agent"] A2["💱 FX Hedge
Treasury Agent"] A3["📊 Finance Controller
Close Assistant"] end subgraph PA["Power Automate Autonomous Agents (Event-Driven)"] direction LR A4["🐟 SalmonHedge
MTM Agent"] A5["📈 IAS 41
Fair Value Agent"] A6["📋 NRV Ceiling
Test Agent"] A7["🔄 FX Revaluation
Agent"] end subgraph AZ["Azure AI Services (Background Compute)"] direction LR F1["Microsoft Fabric
Lakehouse"] F2["Azure OpenAI
GPT-4o"] F3["Azure Data Factory
Extract Pipeline"] end subgraph D365["D365 Finance & Operations"] GL["General Ledger"] FA["Fixed Assets"] AR["Accounts Receivable"] end subgraph DV["Dataverse"] PT["Price Tables"] CT["Contract Tables"] TX["Tax Calculation Tables"] end CS --> DV PA --> DV PA -->|"OData Journal Post"| D365 AZ --> DV AZ -->|"Data Extract"| D365 CS -.->|"Conversational
via Teams/App"| PA A1 --> F1 A2 --> F2 style CS fill:#0a1628,stroke:#c084fc,color:#d4eaf5 style PA fill:#0a1628,stroke:#06d6a0,color:#d4eaf5 style AZ fill:#0a1628,stroke:#fca311,color:#d4eaf5 style D365 fill:#071e38,stroke:#00b4d8,color:#d4eaf5 style DV fill:#071e38,stroke:#c084fc,color:#d4eaf5

Quantified Automation Impact

~120h
Annual Hours Saved
3→0.5
Days: Month-End Close
99.8%
Calculation Accuracy
Real-time
FX Exposure Visibility
24/7
Tax Position Monitoring
~NOK 2.4M
Annual Cost Avoidance

3 Conversational AI Agents

Built in Microsoft Copilot Studio with custom topics, knowledge sources, and autonomous action triggers. Accessible via Teams, the NordHav Finance App, and M365 Copilot.

🏛️
Grunnrenteskatt Tax Advisor
AGENT-CS-01 · Copilot Studio · FIN-073

Purpose: An always-available AI tax advisor that understands Norwegian resource rent tax (Havbruksskatteloven) and can instantly answer questions, run scenario analyses, and prepare tax return data — eliminating dependency on external consultants for routine queries.

What it does autonomously:

Tax position Q&A — "What is our current grunnrenteskatt liability?" pulls live D365 GL balances + SSB norm prices from Dataverse and calculates the answer in natural language.
Scenario modelling — "Run a scenario with FishPool at NOK 85/kg" triggers the Fabric Lakehouse model with custom parameters and returns a sensitivity comparison table.
Norm price alert — When SSB publishes new norm prices, the agent proactively notifies the finance team via Teams with impact analysis vs. prior assumptions.
RF-1151 preparation — "Prepare the tax return for FY2026" orchestrates data extraction, runs all 28 license calculations, generates the RF-1151 XML via ER format, and presents it for approval before Altinn submission.
Investment allowance tracking — "Show qualifying CAPEX for investment allowance" queries D365 Fixed Assets (SEA-LICENSE-CAPEX group) and calculates the allowance at the risk-free rate.

Fabric Lakehouse D365 OData Azure OpenAI Altinn API SSB Data Feed
💱
FX Hedge Treasury Agent
AGENT-CS-02 · Copilot Studio · FIN-055

Purpose: A conversational treasury management agent that provides real-time FX exposure analysis, automates hedge effectiveness testing, and recommends hedging actions — replacing the traditional spreadsheet-driven treasury workflow.

What it does autonomously:

Exposure dashboard — "What is our current FX exposure?" reads D365 AR open invoices by currency, compares against active FX forward contracts in Dataverse, and presents a net exposure summary with hedge ratios.
Effectiveness testing — "Run IFRS 9 effectiveness test for Q1" automatically performs dollar-offset and regression testing on all open hedges, determines if they fall within the 80-125% corridor, and flags any that should be de-designated.
Hedge recommendation — "We expect EUR 5M in receivables next quarter" uses Azure OpenAI to analyse current FX rates, forward curves (from Norges Bank/ECB), and existing hedge book to recommend optimal contract sizes and tenors.
MTM alert — When cumulative unrealised loss on any counterparty exceeds NOK 2M, proactively alerts the CFO via Teams with a position summary and suggested action.
Settlement processing — "Settle matured contracts for March" identifies all FX forwards at maturity, calculates P&L, posts the FXHEDGE journal to D365 via OData, and records the settlement in Dataverse.

ECB/Norges Bank D365 AR OData Azure OpenAI IFRS 9 Logic Teams Alerts
📊
Finance Controller Close Assistant
AGENT-CS-03 · Copilot Studio · Multi-module

Purpose: An orchestrating agent that guides the finance team through month-end close, triggers all downstream agents in sequence, validates results, and produces a close package — reducing the close from 3 days to half a day.

What it does autonomously:

Close orchestration — "Start month-end close for February" triggers the SalmonHedge MTM, IAS 41 Fair Value, NRV Ceiling Test, and FX Revaluation agents in dependency order, monitoring each for completion.
Validation checks — After all journals post, runs 12 automated validation checks (trial balance reconciliation, intercompany elimination, dimension completeness, etc.) and reports pass/fail.
Variance analysis — "Why is cost of goods sold up 15% vs. last month?" uses Azure OpenAI to analyse GL movement by dimension and produces a natural-language variance explanation.
Close package generation — Compiles all period journals, reconciliations, and validations into a structured close package in SharePoint, ready for CFO sign-off.
Audit trail — Every agent action is logged to Dataverse with timestamp, user context, journal references, and calculation inputs for full auditability.

Orchestrator D365 GL OData Azure OpenAI SharePoint Teams

4 Autonomous Process Agents

These agents extend the existing 5 Power Automate flows in the NordHav Finance App with autonomous decision-making, exception handling, and self-healing capabilities using Power Automate's process mining and AI features.

🐟
SalmonHedge MTM Agent
AGENT-PA-01 · Extends FIN-FLOW-002

Evolves the existing monthly MTM journal flow into an event-driven agent that reacts to Fish Pool price volatility:

Continuous monitoring — Watches the daily Fish Pool price feed. If spot price moves ±5% from last MTM valuation, triggers an interim revaluation alert.
Auto-hedge adjustment — When a Fish Pool contract approaches settlement, automatically calculates the cash settlement amount and prepares the journal.
Exception handling — If D365 OData journal post fails (e.g., posting period closed), queues the journal, opens the period via API, retries, and notifies finance team.
Effectiveness pre-check — Before posting, runs IFRS 9 prospective effectiveness test. If a hedge would fail the 80-125% corridor, pauses and escalates to the FX Hedge Treasury Agent for de-designation.

Fish Pool API FISHHEDGE Journal Self-Healing IFRS 9
📈
IAS 41 Fair Value Agent
AGENT-PA-02 · Extends FIN-FLOW-004

Transforms the monthly IAS 41 fair value adjustment into an intelligent biological asset valuation engine:

Multi-factor valuation — Pulls biomass data from AquaMonitor (generation weight, mortality %, growth trajectory), Fish Pool forward prices, and discount rates to calculate fair value per generation.
Anomaly detection — Uses process mining patterns to detect unusual fair value swings (e.g., generation FV drops 30% — likely a mortality event). Flags for investigation before posting.
Disclosure generation — After posting the NHA-ADJ parallel layer journal, uses Azure OpenAI to draft the IAS 41 fair value disclosure note for the quarterly report.
Cross-module sync — Triggers the NRV Ceiling Test Agent after fair value is calculated (since NRV depends on FV inputs), ensuring correct ordering.

AquaMonitor Data NHA-ADJ Layer Azure OpenAI Anomaly Detection
📋
NRV Ceiling Test Agent
AGENT-PA-03 · Extends FIN-FLOW-003

Upgrades the NRV write-down flow to an intelligent inventory impairment agent:

Proactive monitoring — Continuously compares accumulated production cost per generation against Fish Pool forward prices minus selling costs. Alerts if NRV headroom drops below 10%.
Auto-reversal intelligence — When Fish Pool prices recover, automatically calculates the write-back amount (capped at original write-down per NRS 8), prepares the reversal journal, and routes for approval.
Generation lifecycle awareness — Understands where each fish generation is in its lifecycle (smolt → grow-out → harvest-ready) and adjusts NRV parameters accordingly (e.g., higher selling costs for early-stage generations).
Audit documentation — Generates a per-generation NRV test workpaper (cost breakdown, NRV calculation, margin analysis) and stores it in SharePoint for auditor access.

Fish Pool Forwards NRVINV Journal Auto-Reversal Audit Trail
🔄
FX Revaluation Agent
AGENT-PA-04 · Extends FIN-FLOW-005

Elevates the monthly FX revaluation to a continuous treasury management agent:

Daily MTM tracking — Revalues all open FX forwards daily (vs. monthly), storing daily MTM snapshots in Dataverse for trend analysis and risk reporting.
Counterparty limit monitoring — Tracks cumulative exposure per bank counterparty (DNB, Nordea, SEB). Alerts if exposure exceeds internal limits or if a counterparty's credit rating changes.
Auto-reversal — Posts FXHEDGE journal with auto-reversal flag. On period open, confirms reversal posted correctly. If not, self-heals by re-posting.
OCI/P&L split intelligence — For designated cash flow hedges, automatically calculates the effective vs. ineffective portion and splits journal entries between OCI (equity) and P&L accounts per IFRS 9.
Maturity calendar — 7 days before any contract maturity, alerts treasury with settlement details and suggests rollover parameters based on open AR positions.

Daily MTM FXHEDGE Journal Limit Monitoring IFRS 9 OCI Split

🏛️ Grunnrenteskatt Agent — End-to-End Flow

From daily data collection to annual Altinn submission — a fully autonomous resource rent tax calculation pipeline with human-in-the-loop approval gates.

sequenceDiagram participant SSB as SSB (Norm Prices) participant Feed as Price Feed Agent participant DV as Dataverse participant D365 as D365 F&O participant Fabric as Microsoft Fabric participant Agent as Grunnrenteskatt Agent participant User as Finance Controller participant Altinn as Altinn API Note over Feed,DV: Daily — Automated Feed->>SSB: Poll norm price updates Feed->>DV: Upsert nha_normprice Note over Agent,D365: Monthly — Autonomous Agent->>D365: Read GL balances (OData) Agent->>D365: Read Fixed Assets (SEA-LICENSE-CAPEX) Agent->>DV: Read production volumes + norm prices Agent->>Fabric: Run grunnrenteskatt calculation model Fabric-->>DV: Store nha_grunnrentecalc (per-period) Agent-->>User: Teams: "Feb tax position: NOK 12.3M (↑4% vs Jan)" Note over Agent,Altinn: Annual — Human Approval Gate User->>Agent: "Prepare RF-1151 for FY2026" Agent->>Fabric: Full-year calculation (28 licenses) Agent->>Fabric: Investment allowance computation Fabric-->>Agent: Complete tax return dataset Agent->>Agent: Generate RF-1151 XML (ER format) Agent-->>User: "RF-1151 ready. Tax: NOK 148.2M. Review?" User->>Agent: "Approved — submit" Agent->>Altinn: POST RF-1151 XML via Maskinporten Altinn-->>Agent: Submission receipt Agent-->>User: "Filed ✓ Receipt: ALT-2027-00456"

💱 FX Hedge Agent — Intelligent Treasury

Continuous exposure monitoring, automated effectiveness testing, and proactive hedging recommendations — powered by Copilot Studio + Azure OpenAI.

flowchart LR subgraph INPUT["Data Sources"] ECB["ECB/Norges Bank
Daily FX Rates"] AR["D365 AR
Open Invoices by CCY"] FWD["Dataverse
nha_fxforward"] BANK["Counterparty
Limits & Ratings"] end subgraph AGENT["FX Hedge Treasury Agent"] direction TB EXP["1. Exposure
Calculator"] EFF["2. IFRS 9
Effectiveness Test"] REC["3. Hedge
Recommender"] MTM["4. MTM
Revaluation"] SET["5. Settlement
Processor"] end subgraph OUTPUT["Actions"] TEAMS["Teams Alert
(CFO / Treasury)"] JOURNAL["D365 FXHEDGE
Journal (OData)"] REPORT["Effectiveness
Test Report"] SP["SharePoint
Audit Trail"] end ECB --> EXP AR --> EXP FWD --> EXP BANK --> EXP EXP --> EFF EFF --> REC EFF --> REPORT REC --> TEAMS EXP --> MTM MTM --> JOURNAL MTM --> SET SET --> JOURNAL SET --> SP style INPUT fill:#0a1628,stroke:#fca311,color:#d4eaf5 style AGENT fill:#0a1628,stroke:#ef476f,color:#d4eaf5 style OUTPUT fill:#0a1628,stroke:#06d6a0,color:#d4eaf5

Conversational Scenarios

User SaysAgent ActionType
"What is our net EUR exposure?" Reads D365 AR open EUR invoices (NOK 28.4M), subtracts EUR forward contracts (NOK 22.0M), returns: "Net unhedged EUR exposure: NOK 6.4M (77% hedged)." Copilot Q&A
"Run effectiveness test for all EUR hedges" Performs dollar-offset test for each EUR forward: change in FV of hedging instrument ÷ change in FV of hedged item. Returns pass/fail per contract with 80-125% corridor. Copilot Action
"We won the Coop Japan contract — JPY 500M over 12 months" Azure OpenAI analyses JPY/NOK curve, NordHav's existing JPY hedge book, and recommends: "Suggest 4 quarterly JPY forwards of ¥125M each at current 12M fwd rate 0.0685. Estimated hedge cost: NOK 180K." AI Recommendation
(Automatic trigger — daily) Revalues all 8 open FX forwards at ECB closing rate. If cumulative unrealised loss exceeds NOK 2M on any counterparty, sends Teams alert to CFO. Autonomous
"Settle the DNB EUR/NOK forward maturing March 31" Calculates settlement P&L (contract rate vs. spot), posts FXHEDGE journal (Dr 8410 / Cr 1860), marks contract as settled in Dataverse, updates counterparty exposure. Hybrid

Complete Agent Trigger Catalogue

Every agent trigger, its frequency, and the action chain it activates.

AgentTriggerFrequencyAction ChainMode
AGENT-CS-01 User question in Teams / Finance App On demand Parse intent → query Dataverse/D365 → Fabric calculation → natural language response Copilot
AGENT-CS-01 SSB publishes new norm prices Annual + quarterly Detect new price → recalculate tax position → alert finance team with impact delta Autonomous
AGENT-CS-02 User question in Teams / Finance App On demand Parse intent → query AR/FX tables → calculate → respond with exposure/recommendation Copilot
AGENT-CS-02 FX forward contract within 7 days of maturity Daily check Alert treasury → suggest settlement/rollover → prepare journal Autonomous
AGENT-CS-03 "Start month-end close" Monthly Trigger PA agents in sequence → validate → compile close package → CFO sign-off Hybrid
AGENT-PA-01 Fish Pool price ±5% swing from last valuation Event-driven Interim MTM recalculation → alert if material → prepare ad-hoc journal Autonomous
AGENT-PA-01 Month-end schedule (or CS-03 orchestration) Monthly Full MTM revaluation → effectiveness pre-check → post FISHHEDGE journal → log to Dataverse Autonomous
AGENT-PA-02 Month-end schedule (or CS-03 orchestration) Monthly Pull biomass + Fish Pool price → calculate FV per generation → post NHA-ADJ journal → draft disclosure Autonomous
AGENT-PA-03 After AGENT-PA-02 completes (dependency) Monthly NRV ceiling test per generation → post/reverse NRVINV journal → generate audit workpaper Autonomous
AGENT-PA-03 Fish Pool forward price drops >15% in 7 days Event-driven Interim NRV assessment → alert if any generation below threshold → prepare impairment analysis Autonomous
AGENT-PA-04 Daily ECB rate publication (16:00 CET) Daily Revalue all open FX forwards → store MTM snapshot → check counterparty limits → alert if breach Autonomous
AGENT-PA-04 Month-end schedule (or CS-03 orchestration) Monthly Full revaluation → OCI/P&L split → post FXHEDGE journal with auto-reversal → update effectiveness tables Autonomous

Implementation Phases

Progressive enablement from go-live autonomous flows through full Copilot Studio agents.

1
Phase 1 — Foundation (Go-Live, Q3 2027)
Deploy the existing 5 Power Automate flows (FIN-FLOW-001 through 005) as-designed. These become the autonomous backbone. Add basic exception handling and Teams notifications. Configure Dataverse agent activity log table for auditability. Effort: Included in current rollout plan.
2
Phase 2 — Intelligent Flows (Q4 2027)
Upgrade Power Automate flows to full agents: add event-driven triggers (price volatility, maturity calendar), self-healing retry logic, cross-agent dependency chains (IAS 41 → NRV sequence), and daily FX MTM snapshots. Build the Finance Controller Close Assistant orchestration flow. Effort: ~4 weeks.
3
Phase 3 — Copilot Studio Agents (Q1 2028)
Build and deploy the 3 Copilot Studio agents: Grunnrenteskatt Tax Advisor, FX Hedge Treasury Agent, and Finance Controller Close Assistant. Integrate with Azure OpenAI for natural language reasoning, Microsoft Fabric for heavy calculation, and Microsoft Teams for conversational access. Effort: ~6 weeks.
4
Phase 4 — Full Autonomy (Q2 2028)
Enable proactive agent behaviours: SSB norm price monitoring, counterparty limit alerts, anomaly detection on fair value swings, and automatic RF-1151 preparation. Integrate Grunnrenteskatt agent with Altinn via Maskinporten for direct annual filing. Train agents on historical data for improved recommendations. Effort: ~3 weeks.

Technology Stack

100% Microsoft-native. Zero ISV dependencies. Every component already licensed or included in the NordHav enterprise agreement.

ComponentRole in Agentic ArchitectureLicensing
Microsoft Copilot StudioHosts 3 conversational agents with custom topics, knowledge sources, actions, and autonomous triggersCopilot Studio Per User (or included in M365 Copilot)
Power Automate (Premium)Hosts 4 autonomous process agents with event-driven triggers, self-healing, and D365 OData connectorsIncluded in D365 Finance/SCM license
Azure OpenAI Service (GPT-4o)Natural language reasoning for tax Q&A, variance analysis, hedge recommendations, disclosure draftingPay-per-token (~NOK 5K/month estimated)
Microsoft Fabric LakehouseGrunnrenteskatt heavy calculation engine, norm price blending, per-license aggregation across 28 MTB licensesFabric F2 capacity (shared with analytics workloads)
Azure Data FactoryAnnual D365 GL extract to Fabric, daily FX rate ingestionAlready deployed in Azure infra (main.bicep)
DataverseAgent state management, activity logging, contract/calculation tables, price feed storageIncluded in Power Apps / D365 license
D365 Finance (OData)Source of truth for GL, AR, Fixed Assets. Target for journal posting via OData entitiesCore D365 Finance license
Microsoft TeamsPrimary conversational channel for Copilot Studio agents. Alert delivery for autonomous agentsM365 E3/E5
SharePointAudit trail storage, close package repository, hedge documentationM365 E3/E5

Explore the Solution Landscape

See how agentic automation connects to the broader NordHav ERP platform — from the NordHav Finance App to AquaMonitor and Power BI analytics.