Microsoft is addressing this gap with an update tracked under AI at Work roadmap ID 576734 (and previously detailed in Microsoft 365 Message Center notice MC1472252): Dynamics 365 Project Operations: Optimize Project Operations - Enable on-account category in Dataverse. Specifically tailored for Project Operations integrated with ERP environments, this capability exposes a Transaction Category field on the Retainer and Milestone entities in Microsoft Dataverse and synchronizes those selections directly into finance and operations apps via Data Integrator (dual-write maps).
For enterprise IT administrators, Dynamics 365 solution architects, and project accountants, this update removes a repetitive manual step during invoice proposal review while enabling granular revenue recognition across different types of on-account billing. Here is a complete technical breakdown of how the feature works, the required feature flags, the dual-write map dependencies, and how Dataverse transaction categories translate into Finance ledger postings.
Rollout Timeline and Deployment Scope
Before diving into dual-write table maps and ledger rules, it is vital to establish which environments actually qualify for this update and when it arrives. Dynamics 365 Project Operations can be deployed in three distinct topologies (Lite deployment, Project Operations for manufacturing/stocked scenarios, and Project Operations integrated with ERP for resource/non-stocked scenarios).
Per Microsoft’s roadmap entry 576734, this feature applies strictly to Project Operations integrated with ERP environments running on the Web platform in Worldwide (Standard Multi-Tenant) cloud instances. (A separate earlier notice, MC1190099, addressed on-account project category support for the manufacturing deployment type in late 2025.)
- Roadmap ID: 576734 (associated with Message Center post MC1472252)
- Current Status: In development
- Preview Availability: September 2026 (with Message Center documentation noting public preview rollout starting September 30, 2026)
- General Availability Target: March 2027
- Release context in Microsoft Learn: Microsoft’s September 2026 release notes for Project Operations Integrated with ERP document the capability alongside Project Operations on Dataverse version 4.171.3551.6 and Dynamics 365 Finance version 10.0.49.
- Activation Model: Enabled by admins, makers, or marketers for end users via feature flags.
As with all entries on the Microsoft 365 and AI at Work roadmaps, delivery timelines are estimates subject to change, and administrators should verify that their specific tenant and regional ring have received the underlying solution updates before attempting configuration.
Section Summary: Roadmap item 576734 targets ERP-integrated Project Operations environments, moving from a September 2026 preview toward a planned March 2027 general availability window, and requires explicit administrator activation.
The Core Problem: Why On-Account Categories Matter
Why make such a fuss over a single lookup field on a milestone or retainer record? To appreciate the fix, you have to look at how Dynamics 365 separates operational project management from financial accounting.
In an ERP-integrated deployment, project managers and sales operations teams live in the Dataverse-based Project Operations interface. That is where project contracts, contract lines, billing milestones, and retainers are born. Meanwhile, project accountants live in Dynamics 365 Finance, where those transactions actually post to the general ledger.
Historically, time, expense, and material transactions carried clear transaction categories from Dataverse into Finance. On-account transactions—which include fixed-price billing milestones, progress-based billing, client retainers, and advances—were treated far more generically. While Microsoft introduced foundational support in Finance release 10.0.41 to allow project categories on on-account transactions on the ERP side, front-end users creating retainers and contract line milestones in Dataverse still needed a seamless way to tag those records at the source and have the choice flow across the integration boundary.
Without Dataverse-to-Finance synchronization for on-account categories:
- A project manager creates three different milestones on a fixed-price contract line in Dataverse—say, one for Software Design, one for Hardware Installation, and one for Training.
- Those milestones sync over to Dynamics 365 Finance as generic on-account transactions or fall back to a single company-wide default on-account category.
- If the finance department wants revenue from Design milestones to post to Main Account 401100 and Training milestones to post to Main Account 401200, a project accountant has to manually intervene in Finance on the on-account form or during the project invoice proposal stage to assign the proper project category before posting.
By exposing the Transaction Category field directly on the Retainer and Milestone entities in Dataverse and syncing it via dual-write, the classification happens once at the point of origin.
Section Summary: Exposing and syncing the Transaction Category field eliminates the blind spot between Dataverse contract setup and Finance revenue posting, allowing different types of retainers and milestones to route automatically to distinct general ledger revenue accounts.
Under the Hood: The Three-Tier Category Architecture
To configure this feature without triggering dual-write sync errors, administrators need a firm grasp of how Project Operations translates categories between Dataverse and Dynamics 365 Finance. According to Microsoft Learn’s project accounting documentation, the system relies on a three-tier hierarchy:
| Category Tier | Where It Lives | Scope & Granularity | Role in On-Account Billing |
|---|---|---|---|
| 1. Transaction Category | Microsoft Dataverse (Settings > Transaction Categories) | Broadest grouping; not specific to any legal entity or transaction type. | Users select this friendly name (e.g., Training or Installation) on the Retainer or Milestone record in Dataverse. |
| 2. Shared Category | Synced across Dataverse and Finance (Project management and accounting > Setup > Categories > Shared Categories) | Cross-application bridge; automatically generates five enumeration mappings per Transaction Category. | Maps the Dataverse category ID (e.g., TCN-0000001000-D3B43) to five specific transaction types: Hour, Fee, Item, Expense, and On-account (...-5). |
| 3. Project Category | Dynamics 365 Finance (Project management and accounting > Setup > Categories > Project categories) | Most granular level; configured separately for each legal entity (company) by a project accountant. | Links the On-account shared category to a specific Category Group and drives the Ledger posting setup for the Invoiced revenue - on-account posting type. |
When an administrator creates a single Transaction Category in Dataverse—for example, Training—the system assigns it a unique identifier (such as TCN-0000001000-D3B43) and automatically spawns five corresponding Shared Categories in the finance and operations architecture. Since Finance release 10.0.41, the fifth shared category type is On-account.
Because of this strict type validation, you cannot simply pick an Expense or Hour category on a milestone. As Microsoft Learn’s contract line sales documentation specifies, only on-account categories are valid for retainers and milestones, and the system actively validates the category type and blocks non-on-account categories.
Section Summary: Dataverse users pick a broad Transaction Category, which maps through an automatically generated On-account Shared Category into a company-specific Finance Project Category that controls general ledger revenue accounts.
Step-by-Step Admin Guide: Enabling and Configuring On-Account Categories
Based on general industry knowledge of dual-write administration combined with Microsoft Learn’s official documentation for Project Operations, rolling this feature out in a production or sandbox environment requires coordinated steps across both Dynamics 365 Finance and the Dataverse environment.
Step 1: Enable the Prerequisite Feature Flags
This capability is gated behind two separate feature flags—one in each system. Both must be turned on for end-to-end functionality:
- In Dynamics 365 Finance: Open the Feature management workspace, locate Enable project categories for on-account transactions, and enable it.
- In Project Operations (Dataverse): Enable the Enable On Account Category feature flag.
Step 2: Verify and Update Dual-Write Maps
Data synchronization between Dataverse and Finance relies on Data Integrator / dual-write table maps. Microsoft Learn specifically identifies the following map requirement for milestone category syncing:
- Dual-write map:
Project Operations integration contract line milestones - Required version: Version 1.0.0.8 (or later)
In addition, if you are applying the broader September 2026 update package (Dataverse version 4.171.3551.6 / Finance 10.0.49), Microsoft notes that Project contract lines (salesorderdetails) was updated to 1.0.0.3 and Project invoice proposals V2 (invoices) was updated to 1.0.0.5.
- Navigate to the Dual-write administration page in Finance.
- Check the Version column for
Project Operations integration contract line milestones. - If an older version is active, select Table map versions, choose version 1.0.0.8, save, and restart the map. If your organization has applied custom field mappings to out-of-the-box table maps, be sure to reapply those customizations before activating the new map version.
Step 3: Configure Categories and Ledger Posting in Finance
Exposing the field in Dataverse will not route revenue to distinct general ledger accounts unless a project accountant completes the legal-entity setup in Dynamics 365 Finance:
- Verify Shared Categories: Go to
Project management and accounting > Setup > Categories > Shared Categoriesand confirm that your Dataverse transaction categories have generated their corresponding On-account shared category records. - Create On-Account Category Groups: Navigate to
Project management and accounting > Setup > Categories > Category groupsand configure category groups of type On-account. - Configure Company Project Categories: Go to
Project management and accounting > Setup > Categories > Project categories, select New, choose the Shared Category ID associated with your Dataverse transaction category, and assign it to your on-account Category Group. - Set Optional Defaults: In
Project management and accounting parameters, you can configure a default category setting for on-account transactions, which applies to both retainers and milestone transactions when a specific category is not manually chosen. - Map Main Accounts in Ledger Posting Setup: Open
Ledger posting setupfor the Invoiced revenue - on-account posting type. Here, accountants can configure a specific main account for a specific category relation, ensuring that different on-account categories post to their designated revenue accounts.
Section Summary: Administrators must enable feature flags in both Finance and Project Operations, update the Project Operations integration contract line milestones dual-write map to at least version 1.0.0.8, and configure on-account Category Groups, Project Categories, and Ledger Posting rules per legal entity.
Day-to-Day Workflow and Operational Boundaries
Once configured, how does this behave for end users? Microsoft’s documentation highlights several practical guardrails that make the transition safe for existing environments:
- Non-Disruptive Backward Compatibility: The Transaction Category field is an optional, editable lookup on the milestone creation form. Existing on-account transactions without a category continue to work normally, and new on-account transactions can still be created with or without a category defined.
- When Categories Can Be Edited: In Dataverse, users can edit the transaction category on milestone and retainer records as long as they have not yet been invoiced.
- Finance Override Before Posting: Once a transaction flows into Dynamics 365 Finance, project accountants still retain final control—they can edit the project category on the On-account form or directly on the Project invoice proposal form prior to posting.
- Scope Nuances to Keep in Mind: While the September 2026 release notes and business value descriptions mention retainers, milestones, advances, and progress-based billing, the roadmap item specifically highlights exposing the Transaction Category field on the Retainer and Milestone entities in Dataverse, and the contract line documentation specifically references the milestone creation form and the
Project Operations integration contract line milestones(v1.0.0.8) map. Implementation teams should test their exact billing workflows—whether periodic progress-based schedules, completed milestones, or customer retainers—in a non-production sandbox to verify how each entity syncs and defaults in their deployed build.
For organizations running complex fixed-price or retainer-heavy project portfolios on Dynamics 365, roadmap item 576734 is a welcome quality-of-life upgrade. It bridges a subtle but costly divide between Dataverse contract management and ERP project accounting—letting project managers classify billing items up front so accountants don't have to clean them up at month-end.
References
- Dynamics 365 Project Operations: Optimize Project Operations - Enable on-account category in Dataverse Microsoft 365 Roadmap · 2026-10-16T19:08:19.210802Z
- Support for on-account category in Dataverse | Microsoft Learn learn.microsoft.com
- dynamics-365-project-operations/articles/project-accounting/configure-project-categories.md at main · MicrosoftDocs/dynamics-365-project-operations github.com