NordHav Finance App · Power Platform · Dataverse · Copilot Studio

NordHav Finance App

Unified Model-Driven App for aquaculture financial management. Five specialised modules covering Fish Pool hedging, NRV valuation, resource rent tax, IAS 41 fair value, and FX forward management — all posting journals to D365 F&O via OData. Now enhanced with 7 autonomous AI agents for intelligent close orchestration.

5
Modules
14
Dataverse Tables
5
Automate Flows
7
AI Agents
5
FIN Req. Covered
🖥 Open Application Mockup
▼ scroll

Unified Finance for Fishfarming

All five modules share a single Dataverse environment, common Fish Pool price feed, and standardised D365 OData journal integration — eliminating silos and reducing maintenance.

flowchart LR subgraph EXT["External Data Sources"] FP["Fish Pool API\n(Daily Prices)"] ECB["ECB/Norges Bank\n(FX Rates)"] SSB["SSB\n(Norm Prices)"] end subgraph AZURE["Azure Integration"] LA["Logic App\nConnector Hub"] end subgraph NFA["NordHav Finance App (Dataverse)"] SH["🐟 SalmonHedge\nFish Pool Contracts"] NRV["📊 NRV Valuation\nNRS 8 Ceiling Test"] GRT["🏛️ Grunnrenteskatt\nResource Rent Tax"] IAS["📈 IAS 41\nFair Value Layer"] FXH["💱 FX Hedge\nEUR/NOK Forwards"] PT["📋 Shared Price Table\nnha_fishpoolprice"] end subgraph D365["D365 Finance & Operations"] GL["General Ledger\n(5 Journal Names)"] FA["Financial Dimensions\n(Generation · Cost Centre)"] PP["Posting Profiles\n(NHA-ADJ Layer)"] end FP-->LA ECB-->LA SSB-->LA LA-->PT PT-->SH PT-->NRV PT-->IAS SH-->|"FISHHEDGE\njournal"| GL NRV-->|"NRVINV\njournal"| GL GRT-->|"Read-only\ncalculation"| D365 IAS-->|"NHA-ADJ\nparallel layer"| GL FXH-->|"FXHEDGE\njournal"| GL style EXT fill:#0a1628,stroke:#3a5a72 style AZURE fill:#071e38,stroke:#fca311,color:#d4eaf5 style NFA fill:#071e38,stroke:#c084fc,color:#d4eaf5 style D365 fill:#071e38,stroke:#06d6a0,color:#d4eaf5

Screen Structure — 5 Modules

Click a module to expand its screens and capabilities.

🐟
SalmonHedge — Fish Pool Contracts
Hedge management, mark-to-market, settlement tracking  FIN-056
Dashboard (portfolio value, P&L, alert strip) Contract Register (buy/sell, expiry, lots, price) Price Monitor (Fish Pool forward curve, 12-month chart) Exposure Analysis (net position, VaR, hedge ratio) Settlement History (cash settlement log, counterparties) GL Journals (FISHHEDGE journal, D365 OData posting) Hedge Effectiveness (IFRS 9, retrospective/prospective) Configuration (API settings, accounts, cost centre mapping)
📊
NRV Valuation — NRS 8 Ceiling Test
Net Realisable Value assessment per generation  FIN-059
NRV Ceiling Test (generation grid — cost vs NRV vs margin) Write-Down Journal (Dr 7490 / Cr 1460, auto-calculated) NRV Parameters (selling costs %, logistics %, slaughter cost/kg) Generation Drill-down (biomass, est. harvest, forward price lookup) Historical NRV Trend (period-over-period comparison)
🏛️
Grunnrenteskatt — Resource Rent Tax
Norwegian resource rent tax calculation & RF-1151 filing  FIN-073
Tax Dashboard (5 KPIs: norm revenue, deductible, allowance, taxable, tax) Production Volumes & Norm Prices (tonnes × SSB norm price/kg) Deductible Cost Breakdown (7 categories sourced from D365 GL) Investment Allowance Calculator (qualifying capex × risk-free rate) Scenario Analysis (low / base / high norm price sensitivity) RF-1151 Tax Return Output (ER-format, Altinn-ready, generate button)
📈
IAS 41 Fair Value — Biological Assets
Fair value adjustment via D365 parallel posting layer  FIN-060
Fair Value Assessment (generation grid — biomass, FV, cost, unrealised gain) FV Adjustment Journal (Dr 1440 / Cr 8090, NHA-ADJ posting layer) Calculation Inputs (Fish Pool price, mortality %, growth model, discount rate) FV per kg Trend (period chart, FV/kg vs cost/kg) IFRS Disclosure Helper (note text generation for annual report)
💱
FX Hedge Tracker — Currency Forwards
EUR/NOK forward register, MTM revaluation, IFRS 9  FIN-055
FX Forward Register (8 contracts, counterparty, maturity, notional) MTM Revaluation (Dr 8410 / Cr 1860, auto-calculated at spot rate) FX Effectiveness Testing (IFRS 9, dollar-offset, 80-125% corridor) Counterparty Summary (DNB, Nordea, SEB — exposure by bank) Settlement & Rollover (matured contracts, roll-to-next-period) FXHEDGE Journal (D365 OData posting, auto-reversal next period)

Dataverse14 Dataverse Tables · 5 Domains

All financial data is owned by Dataverse. D365 GL data is accessed via OData for read and journal posting. Shared price table eliminates duplicate Fish Pool API calls.

Shared / Master Data
nha_fishpoolpriceDaily Fish Pool spot & forward prices (shared across all modules)
nha_normpriceSSB norm prices for grunnrenteskatt calculation
nha_fxrateECB/Norges Bank daily FX rates (EUR, USD, GBP)
SalmonHedge
nha_hedgecontractFish Pool buy/sell contracts (lots, price, expiry)
nha_hedgesettlementCash settlement records per contract
nha_hedgeeffectivenessIFRS 9 effectiveness test results (retrospective/prospective)
NRV Valuation
nha_nrvtestNRS 8 ceiling test per generation (cost, NRV, margin)
nha_nrvparameterNRV calculation parameters (selling costs %, logistics %)
Grunnrenteskatt
nha_grunnrentecalcResource rent tax calculation per period
nha_grunnrentescenarioScenario analysis variants (low/base/high)
IAS 41 & FX Hedge
nha_fvassessmentIAS 41 fair value assessment per generation
nha_fxforwardFX forward contracts (EUR/NOK, counterparty, notional)
nha_fxeffectivenessFX hedge IFRS 9 effectiveness test results

5 D365 Journal Names — OData Posting

Each module posts to a dedicated D365 General Ledger journal via OData. All journals use the NHA cost-centre prefix and Generation financial dimension for full traceability.

JournalModuleDebit → CreditPosting LayerDescription
FISHHEDGE SalmonHedge 3920 → 8090 Current Fish Pool hedge MTM unrealised gains/losses + settlement posting
NRVINV NRV 7490 → 1460 Current NRS 8 inventory write-down when carrying cost exceeds NRV
NHA-ADJ IAS 41 1440 → 8090 NHA-ADJ (parallel) IAS 41 fair value adjustment — parallel posting layer, does not affect management accounts
FXHEDGE FX Hedge 8410 → 1860 Current EUR/NOK forward mark-to-market revaluation + settlement
Grunnrente Read-only calculation module. Reads D365 GL balances via OData; posts no journals. Output is RF-1151 tax return file.

Power Automate5 Power Automate Flows

Flow IDFlow NameTriggerAction
FIN-FLOW-001Fish Pool Price FeedDaily schedule (06:00 CET) via Azure Logic AppFetch Fish Pool spot + forward prices → upsert nha_fishpoolprice + nha_normprice. Shared by SalmonHedge, NRV, IAS 41.
FIN-FLOW-002SalmonHedge MTM JournalMonthly close trigger (or on-demand)Calculate MTM for all open Fish Pool contracts → POST D365 OData GeneralJournalEntity (FISHHEDGE journal, FIN-TREASURY cost centre).
FIN-FLOW-003NRV Write-Down JournalMonthly close triggerCalculate NRV ceiling for each generation → POST D365 OData GeneralJournalEntity (NRVINV journal, Dr 7490 / Cr 1460) for any write-down.
FIN-FLOW-004IAS 41 Fair Value AdjustmentMonthly close triggerCalculate fair value per generation (biomass × Fish Pool price) → POST D365 OData GeneralJournalEntity (NHA-ADJ parallel layer, Dr 1440 / Cr 8090).
FIN-FLOW-005FX MTM RevaluationMonthly close trigger (or on-demand)Revalue all open FX forwards at ECB spot rate → POST D365 OData GeneralJournalEntity (FXHEDGE journal, Dr 8410 / Cr 1860) with auto-reversal.

7 Autonomous AI Agents

The Finance App's 5 modules are supercharged with 3 Copilot Studio conversational agents and 4 Power Automate autonomous agents — transforming month-end close from a 3-day manual process to a half-day AI-orchestrated workflow.

flowchart LR subgraph COPILOT["Copilot Studio Agents"] CS1["🏛️ Grunnrenteskatt\nTax Advisor"] CS2["💱 FX Hedge\nTreasury Agent"] CS3["📊 Close\nAssistant"] end subgraph AUTO["Power Automate Agents"] PA1["🐟 SalmonHedge\nMTM Agent"] PA2["📈 IAS 41\nFair Value"] PA3["📋 NRV Ceiling\nTest"] PA4["🔄 FX Reval\nAgent"] end subgraph D365["D365 F&O"] GL["General Ledger"] end CS3 -->|orchestrates| PA1 CS3 -->|orchestrates| PA2 CS3 -->|orchestrates| PA4 PA2 -->|triggers| PA3 PA1 -->|FISHHEDGE| GL PA2 -->|NHA-ADJ| GL PA3 -->|NRVINV| GL PA4 -->|FXHEDGE| GL CS1 -.->|reads| GL CS2 -.->|reads| GL style COPILOT fill:#0a1628,stroke:#c084fc,color:#d4eaf5 style AUTO fill:#0a1628,stroke:#06d6a0,color:#d4eaf5 style D365 fill:#071e38,stroke:#00b4d8,color:#d4eaf5
🏛️
Grunnrenteskatt Tax Advisor
Copilot Studio · AGENT-CS-01

Conversational AI that answers resource rent tax questions in natural language: "What's our current tax position?" → queries D365 GL + SSB norm prices + Fabric Lakehouse → returns calculated liability with scenario analysis. Autonomously alerts when SSB publishes new norm prices. Prepares and submits RF-1151 to Altinn on approval.

💱
FX Hedge Treasury Agent
Copilot Studio · AGENT-CS-02

Real-time FX exposure analysis via conversation: "What's our net EUR exposure?" → reads D365 AR open invoices + Dataverse forward contracts → returns hedge ratio and net unhedged position. Runs IFRS 9 effectiveness tests on demand. Uses Azure OpenAI to recommend optimal hedge sizes for new contracts.

📊
Finance Controller Close Assistant
Copilot Studio · AGENT-CS-03

Orchestrates the entire month-end close: "Start month-end close for February" → triggers SalmonHedge MTM → IAS 41 FV → NRV Ceiling → FX Reval agents in sequence. Runs 12 validation checks, produces variance analysis via Azure OpenAI, and compiles a close package for CFO sign-off.

🐟
SalmonHedge MTM + IAS 41 + NRV + FX Reval
Power Automate · AGENT-PA-01–04

4 autonomous agents that extend the existing Power Automate flows with event-driven triggers (Fish Pool ±5% swing, FX maturity alerts), self-healing retry logic, cross-agent dependencies, daily MTM snapshots, anomaly detection, and automated audit workpaper generation.

5 Finance Requirements → Unified App

Each module directly addresses a specific RFP requirement. All are coded C (Configuration) — Power Platform configuration, no custom code development.

FIN-055
FX Hedge Tracker
Phase 1: D365 NHA-FX journal for manual EUR/NOK entries.
Phase 2: Finance App FX Hedge module — full forward register, MTM revaluation, IFRS 9 effectiveness, OData journal posting.
FIN-056
SalmonHedge — Fish Pool Contracts
8 screens for Fish Pool hedge management. Shared Dataverse price table, Azure Logic App API connector, FISHHEDGE journal, FIN-TREASURY cost centre.
FIN-059
NRV Valuation — NRS 8
NRV Ceiling Test module. Compares carrying cost against net realisable value per fish generation using Fish Pool forward prices. Auto-posts write-down journal via NRVINV.
FIN-060
IAS 41 — Fair Value Layer
Fair value assessment per generation (biomass × Fish Pool price). Posts to NHA-ADJ parallel posting layer (accounts 8090/8091). Shared price feed with SalmonHedge.
FIN-073
Grunnrenteskatt — Resource Rent Tax
Read-only calculation of Norwegian resource rent tax. Sources D365 GL balances, SSB norm prices, and production volumes. Outputs RF-1151 tax return via ER format.

Explore the full solution landscape

See how NordHav Finance App sits alongside AquaMonitor, D365 F&O, and Power BI to form the complete NordHav ERP platform.