Your imbalance issue stems from three interconnected problems with your data import mapping, AR reconciliation process, and financial report validation. Here’s the comprehensive solution:
Root Cause Analysis:
The $2.3M discrepancy occurs because your DMF import created customer transactions without properly establishing the settlement chain and GL voucher linkages. When D365 imports AR data, it requires specific sequencing and relationship mapping that standard CSV imports often miss.
Data Import Mapping Correction:
First, identify all affected transactions:
- Export current CustTrans records imported from legacy system (filter by creation date)
- Compare against your original import files to identify settlement mismatches
- Create a reconciliation spreadsheet mapping: Invoice Number | Original Amount | Imported Amount | Settlement Status | GL Voucher Reference
For the corrective import, you need THREE synchronized data packages:
Package 1 - Transaction Reversals:
- Entity: Customer transactions V2
- Include reversal flag and original voucher reference
- Must process before new imports to clear incorrect balances
Package 2 - Corrected Open Transactions:
- Entity: Customer transactions V2
- Map fields: Customer account, Invoice date, Due date, Currency, Amount
- Critical: Set TransactionType correctly (Invoice, Payment, Credit note)
- Include posting profile that matches your legacy system’s AR account structure
Package 3 - Settlement Applications:
- Entity: Customer payment journal
- Map: Invoice reference, Payment reference, Settlement amount, Settlement date
- MUST import in chronological order to maintain payment history accuracy
- Include offset account and dimension values
AR Reconciliation Process Implementation:
Set up automated reconciliation checks:
-
Create a recurring batch job using “Customer/vendor settlement” form
- Schedule: Daily at 2 AM
- Parameters: Include all customer accounts, date range = All
- Enable automatic posting of settlement differences under $10
-
Configure AR aging snapshot:
- Navigate to Credit and collections > Setup > Aging period definitions
- Create custom aging periods matching your legacy system’s buckets
- Run aging snapshot before and after correction to validate changes
-
Implement three-way reconciliation validation:
- CustTrans subledger total
- GL account 130100 (or your AR control account) balance
- Customer balance list report total
- All three MUST match within $100 tolerance
Financial Report Validation Process:
Establish systematic validation before month-end close:
-
Pre-close validation checklist:
- Run “Trial balance” report with subledger detail
- Execute “Customer balance list” with aging breakdown
- Generate “Voucher transactions” report filtered to AR posting types
- Compare all three reports - discrepancies indicate settlement issues
-
Create custom financial report in Management Reporter:
- Row definition: AR control account with drill-down to CustTrans
- Column definition: Beginning balance, Debits, Credits, Ending balance
- Reporting tree: By customer group and posting profile
- Add variance column comparing subledger to GL
-
Set up data validation rules in DMF:
- For future imports, create validation rules checking:
- Sum of imported invoice amounts = Sum of imported payment amounts + Open balance
- All transactions have valid GL voucher references
- Settlement dates are >= invoice dates
- Customer accounts exist in customer master
Correction Execution Steps:
- Create backup of CustTrans, CustSettlement, and GeneralJournalAccountEntry tables
- Run correction in test environment first
- Import Package 1 (reversals) - validate GL impact before proceeding
- Import Package 2 (corrected transactions) - verify customer balances
- Import Package 3 (settlements) - confirm aging report accuracy
- Execute AR to GL reconciliation report - must show zero variance
- Run financial reports validation - all three reports must balance
- If test successful, schedule production correction during maintenance window
Post-Correction Validation:
- Run aged AR report - compare totals to pre-migration legacy system reports
- Verify trial balance - AR control account should match customer balance list exactly
- Check customer statements - ensure payment history displays correctly
- Test customer inquiry forms - drill-down to transactions should show proper settlement status
This systematic approach addresses all three focus areas and should resolve your $2.3M variance. The key is maintaining the relationship integrity between customer transactions, settlements, and GL vouchers throughout the correction process. Plan for 2-3 days of validation in test environment before production correction.
This draft is based on general Microsoft Dynamics 365 knowledge. It has not been verified against your specific version and environment. Practitioners: verify the steps and share your experience below.