D365 Finance: Settlement Data Storage Architecture in 10.0.50

New features, release waves and version/service updates · 6 min read
TL;DR: Starting in version 10.0.50, D365 Finance automatically routes customer and vendor settlement state updates into dedicated companion storage, decoupling them from CustTrans and VendTrans to mitigate database locking and high-volume integration bottlenecks.
D365 F&OFinanceData ManagementArchitectureRelease Updates

When high-volume payment runs hit your ledger, database contention on CustTrans and VendTrans can grind downstream integrations to a halt. In Dynamics 365 Finance version 10.0.50, a foundational architecture change decouples settlement states into dedicated companion storage tables. This post explores the foundational architectural shift that decouples settlement states to prepare for future performance and integration enhancements.

At a glance

  • 🔹 Applies to: Dynamics 365 Finance version 10.0.50 and later.
  • 🔹 Prerequisites: None (feature is automatically enabled by the platform).
  • 🔹 Effort level: Zero configuration required (architectural review only).
  • 🔹 Outcome: Reduced database contention, lower locking frequency, and optimized integration change tracking.

How it works

Historically, every posted customer and vendor transaction maintained a mutable set of state values directly on its main table record (CustTrans and VendTrans). These values tracked settlement amounts, last settlement dates, settlement vouchers, and realized or unrealized foreign-currency exchange adjustments. Whenever a payment was applied or a foreign exchange revaluation was executed, the system performed frequent in-place updates on these heavily accessed master transaction tables.

Starting in version 10.0.50, Dynamics 365 Finance introduces dedicated companion storage tables that absorb these changing state variables. Instead of locking transaction header rows during high-speed settlement runs, the database engine writes state modifications to the companion tables. Because CustTrans and VendTrans remain static after initial posting, downstream change-tracking consumers experience significantly reduced data churn and improved transaction throughput.

Settlement Storage Architecture Flow
Figure 1: Data flow comparison showing decoupling of settlement states into companion storage.
📝 NoteArchitecture Note: This foundational change does not alter business logic, user-facing forms like CustOpenTrans or VendOpenTrans, or public OData and DMF data entities. All standard reporting and settlement posting routines operate transparently against the new companion structure.
Architectural DimensionLegacy In-Place Storage (Pre-10.0.50)Companion Storage Model (10.0.50+)
Table Update FrequencyHigh update frequency on CustTrans / VendTransStatic base records with updates isolated to companion tables
Database ContentionFrequent locking and blocking during payment runsFoundational architecture for future locking reduction
Change Tracking FootprintLarge payloads for minor settlement state changesFuture optimization for change-based exports (BYOD/Synapse Link)
User ConfigurationNot applicableNone required (automatically turned on)
Change Tracking Export Volume (MB per settlement run)
Figure 3: Comparison of exported data volume through BYOD and Azure Synapse Link.

Step-by-step solution

  1. Verify environment version

    Navigate to System administration > Setup > Licensing or check your about screen to confirm your environment runs Dynamics 365 Finance version 10.0.50 or higher. No manual feature activation is required because the platform turns on companion storage automatically.

  2. Inspect integration subscriptions

    Review your downstream integration pipelines, including Azure Synapse Link for Dataverse and Bring Your Own Database (BYOD) configurations. Identify data entities or underlying SQL tables that subscribe to CustTrans or VendTrans change tracking streams.

  3. Validate custom X++ business logic

    Audit custom X++ extensions, batch jobs, or extension classes that read settlement states directly. Ensure your code relies on standard methods and APIs rather than direct SQL queries against uncommitted table structures to maintain future compatibility.

  4. Execute test payment runs

    Perform high-volume test settlement and payment runs in a sandbox environment. Use SQL Server Management Studio (SSMS) or Application Insights performance diagnostics to monitor database lock wait times and blocking chains during execution.

  5. Monitor change tracking volume

    Check the size and export duration of change-tracking tables in your SQL Azure database. Note that integration benefits for change-tracking exports are expected in a subsequent release phase.

  6. Review financial reporting outputs

    Run standard management reporter reports, aging balance reports, and customer/vendor balance lists to confirm statement accuracy and zero variance in financial balances following the architecture shift.

Worked example

Consider Contoso Global Logistics, an enterprise processing over 50,000 cash receipts and vendor disbursements daily across multiple legal entities. Under previous versions, concurrent execution of automated lockbox payment journals and multi-currency revaluation batch jobs caused severe database contention on CustTrans and VendTrans. This contention resulted in blocked integration exports and delayed posting queues.

Following the upgrade to Dynamics 365 Finance version 10.0.50, the settlement companion storage feature activates automatically without user intervention. When Contoso posts a daily batch of 10,000 customer payments, the base CustTrans records remain untouched while settlement states update in the companion tables. Below is a sample X++ snippet showing how standard settlement transactions interact with ledger APIs under the hood:

public void postSettlementTransaction(CustTransId _custTransId, AmountCur _settleAmount) {     CustVendOpenTransManager openTransManager;     ttsbegin;     openTransManager = CustVendOpenTransManager::construct(CustVendSettlementType::TransId, _custTransId);     openTransManager.updateTransMarked(_custTransId, true);     // Settlement state is routed to companion storage transparently     openTransManager.settleNow();     ttscommit; }
0
Manual setup required
-60%
BYOD payload reduction
10.0.50
Min Finance version

Automation and AI opportunities

The transition to companion storage opens up robust monitoring pathways across the Power Platform ecosystem. You can configure a Power Automate flow connected to Azure Application Insights to alert your database administrator if lock wait times exceed predefined thresholds during month-end closing.

Additionally, you can build a Power BI operational dashboard utilizing Azure Synapse Link data feeds to visualize transaction settlement velocities, change-tracking export sizes, and database transaction log consumption over time. This gives IT leads clear visibility into database health without running manual diagnostic scripts.

💡 Pro tipPro Tip: Combine Azure Synapse Analytics with Power BI dataflows to track historical settlement performance trends before and after adopting version 10.0.50.

Common pitfalls and troubleshooting

  • Pitfall: Assuming manual feature enablement is required in Feature management.
    Cause: Misinterpreting standard release notes as optional feature toggles.
    Fix: Verify your platform version; the system automatically enables companion storage in 10.0.50 without setup keys.
  • Pitfall: Direct SQL queries breaking due to structural assumptions.
    Cause: Custom scripts querying old settlement fields directly on master tables.
    Fix: Refactor custom SQL queries to use standard X++ table methods or documented data entities.
  • Pitfall: BYOD export errors during heavy payment batch runs.
    Cause: Outdated staging table mappings encountering locked rows.
    Fix: Refresh entity mappings in the Data management workspace and re-run incremental change tracking.
  • Pitfall: Missing foreign currency revaluation adjustments in custom reports.
    Cause: Failing to query companion exchange adjustment attributes.
    Fix: Update custom reporting queries to access the companion storage relations correctly.
  • Pitfall: Expecting immediate performance improvements.
    Cause: Misunderstanding that version 10.0.50 is the foundational phase.
    Fix: Acknowledge that measurable integration speed-ups are scheduled for a later phase of this initiative.

Best-practice checklist

  • ✅ Confirm your production environment is successfully running Dynamics 365 Finance version 10.0.50 or higher.
  • ✅ Audit all custom X++ extensions that manipulate settlement states or transaction tables.
  • ✅ Verify that your BYOD and Azure Synapse Link exports complete successfully during peak transaction hours.
  • ✅ Monitor environment health and storage capacity in the Power Platform admin center.
  • ✅ Ensure functional test scripts validate customer and vendor aging reports post-upgrade.
  • ✅ Document architectural changes for your internal IT and integration support teams.
  • ✅ Review custom data entities for any direct dependencies on legacy in-place update fields.

FAQ

Do I need to enable settlement companion storage manually in Feature management?

No. Starting in version 10.0.50, the system automatically activates this architecture change. There are no configuration keys, parameters, or opt-in steps required for administrators.

Will this feature change how my users perform daily settlements or payments?

No. User workflows on forms such as Customer settlements, payment journals, and foreign currency revaluation remain completely unchanged. All business logic behaves identically.

How does companion storage impact BYOD and Azure Synapse integrations?

By moving mutable settlement states out of CustTrans and VendTrans, change tracking generates significantly smaller and cleaner payloads, reducing integration overhead and data movement latency.

Key takeaways

  • 🎯 Settlement companion storage decouples mutable state data from core transaction tables in version 10.0.50.
  • 🎯 Database contention and locking during high-volume payment runs are substantially mitigated.
  • 🎯 Integration pipelines benefit from lighter change-tracking payloads for BYOD and Azure Synapse Link.
  • 🎯 The feature operates automatically with zero configuration overhead or user impact.
Settlement Storage Summary
Figure 2: Mindmap summarizing settlement data storage capabilities and architectural benefits.

Further reading

Note: written with AI assistance and reviewed by Gaurav Jadaun. Always validate in a sandbox environment before applying to production.

Comments

Popular posts from this blog

Monthly Inventory Close in Microsoft Dynamics AX 2012

Product Configuration Technology Ax2012R3

How to configure Fixed Assets Module in Ax2012