I’m facing an issue when importing MT940 bank statements into D365 Finance & Operations.
My bank’s MT940 files do not include entries for non-working days (weekends and holidays). However, D365 enforces a strict date sequence and rejects any gaps in the timeline.
Example:
My MT940 file contains:
Friday, April 5, 2024: Balance = €10,000
Monday, April 8, 2024: Balance = €10,250
D365 rejects this file because the following dates are missing:
Saturday, April 6, 2024
Sunday, April 7, 2024
What is the best approach to resolve this without manually editing each file?
You’re dealing with a standard issue when importing MT940 files into Dynamics 365 Finance and Operations (D365 F&O): The system expects continuous balance reporting, but MT940 files often skip non-working days (weekends/holidays), causing D365 to throw validation errors about missing dates. Here’s a complete solution approach for you:
🎯 Root Cause In D365 F&O, the Advanced bank reconciliation functionality requires daily balances without gaps to ensure that the calculated balance matches imported transactions and statements for each calendar day. When a bank doesn't send weekend or holiday statements, D365's default logic misinterprets it as a missing file or a system error.
✅ Solution Options You have two primary options to fix this without manually editing each MT940 file:
Option 1: Enable the "Allow gaps in statements" Parameter (Recommended) Steps:
Go to Cash and Bank Management > Bank accounts.
Open the specific Bank account used for MT940 import.
Navigate to the Reconciliation FastTab.
Find and enable the checkbox: 🔲Allow gaps in statements
(It might also be phrased as Allow missing dates in some D365 versions.)
Save changes.
Effect: This setting tells D365 to accept imported statements even if there are date gaps (weekends/holidays) without throwing errors. Important: This setting assumes that you trust your bank’s balances and that gaps are expected due to non-working days. It’s safe for standard banking practices.
Option 2: Use a Pre-Processing (Transformation) Script on MT940 Files (Alternative) If for some reason "Allow gaps in statements" isn't acceptable (e.g., strict internal controls), you can automate file adjustment:
Create a small Data Transformation Script (in Power Automate, SSIS, C# app, or Logic App) that:
Scans the MT940 file.
Detects missing dates (weekends/holidays).
Inserts dummy balance entries for those missing dates using the last known balance.
Example Logic:
April 5 balance = €10,000
April 6 = €10,000 (no movement)
April 7 = €10,000 (no movement)
April 8 = €10,250 (movement occurs)
✅ Now D365 will accept it. Note: You must be careful not to mistakenly introduce wrong balances. Only "copy forward" balances if no transactions occurred.
⚡ Recommended Action Plan Since your issue is only about weekends/holidays (which is standard banking behavior), I strongly recommend you first try Option 1 — enabling Allow gaps in statements. Only build a pre-processor if your organization insists on daily balance reporting for audit.
📋 Quick Checklist
Step
Action
Status
1
Open Bank account settings
2
Locate Reconciliation settings
3
Enable "Allow gaps in statements"
4
Test an MT940 import again
⚠️ Additional Tip If you don't see the "Allow gaps in statements" setting, it might mean:
You are on an older D365 version (before PU35/PU38 updates), or
Your system’s Advanced bank reconciliation feature is not fully configured.
In that case, a hotfix/update or slight system configuration may be needed.
Would you like me to also provide a quick example of a basic C# or Power Automate script if you decide to go with Option 2? 🚀
1 people found this reply helpful.
Was this reply helpful?YesNo
Under review
Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.