Microsoft has addressed this specific accounting blind spot in Dynamics 365 Project Operations under AI at Work roadmap ID 576882 ("Optimize Project Operations - Enable project resources on general journal entries"). Now listed as Launched in General Availability for Worldwide (Standard Multi-Tenant) web environments—following its June 15, 2026 general availability milestone on Microsoft Learn's 2026 release wave 1 plan —this update lets accounting teams associate a specific bookable project resource directly with a general journal line in Dynamics 365 Finance.
Instead of burying unapproved expenses in a single project-wide summary entry, finance teams using the Project Operations Integrated with ERP deployment type can now record, track, and subsequently reverse expense accruals on a granular, per-resource basis. Here is a complete look at how this capability works under the hood, the version milestones from 10.0.45 through 10.0.48, and the hidden prerequisite that will trip up administrators who try to select a resource on day one.
Why Per-Resource General Journals Matter for Project Accounting
In the Integrated with ERP deployment architecture of Dynamics 365 Project Operations (often referred to as the resource/non-stocked scenario), operational project management lives in Microsoft Dataverse, while heavy-duty financial accounting, general ledger (GL) posting, and subledger management happen in Dynamics 365 Finance.
General journals in Dynamics 365 Finance serve as the all-purpose accounting tool for recording financial transactions directly into the general ledger, making them the go-to workspace for daily low-volume entries and month-end adjustments. Because Finance general journals support enterprise accounting controls—including approval workflows and automated journal reversals—organizations rely on them heavily to post expenses against Dataverse-based modern projects.
Before the 10.0.48 enhancement, however, general journal entries against modern projects lacked resource-level specificity. If an organization needed to accrue expenses at the end of the month because several team members hadn't had their expenses approved and posted from the prior period, the accounting team had to post those accruals as an aggregate summary against the project.
By adding the bookable resource field to general journal lines, Microsoft gives finance teams two distinct operational advantages:
- Granular Accrual and Reversal Tracking: When prior-period expenses remain unapproved at period close, accountants can book expense accruals tied to the exact project resource who incurred them, and then cleanly reverse those specific per-resource accruals in the following month.
- Auditability Without Sacrificing Aggregate Flexibility: Organizations are not forced to pick a resource on every entry. According to Microsoft Learn's project accounting documentation, Finance users can still post general journals at the aggregate project level without a resource, or specify a bookable resource when detailed attribution is required.
It is worth noting what this feature does not do. Based on Microsoft's documentation, associating a project resource on a general journal line improves tracking and auditability, but it does not replace standard expense report approval workflows, nor does it automatically approve underlying unposted expense reports. It is strictly an accounting and project-subledger attribution enhancement.
The Evolution of Modern Project General Journals: 10.0.45 to 10.0.48
To understand where this update fits in your environment, it helps to separate the broader modern-project general journal framework from the specific bookable-resource enhancement. Microsoft Learn documents three distinct version milestones in Dynamics 365 Finance:
| Finance Version | Release Milestone | Key Capabilities Introduced |
|---|---|---|
| 10.0.45 | Preview | Introduced the Enable general journal entries for modern projects feature in the Feature management workspace, allowing general journals in Finance to post against projects originating in Dataverse with manual control over the ledger offset account (capped at 50 project lines). |
| 10.0.46 | General Availability (Base Feature) | Brought modern-project general journals to GA. Raised the maximum project-based journal line limit from 50 to 200 lines, introduced asynchronous Dataverse transfer via a 5-minute process automation, and added a General journal Dataverse sync error-tracking tab in the Project Operations Integration workspace. |
| 10.0.48 | Feature Enhancement (Resource Attribution) | Added the ability to specify a bookable resource on a general journal line, allowing entries to be posted either in the context of a specific resource or at the aggregate level without one. |
While Microsoft's roadmap and release plan mark the resource capability as generally available starting in June 2026 (with admins, makers, or analysts enabling it for end users), enterprise administrators must ensure their Dynamics 365 Finance environment has reached at least the 10.0.48 release level to see the bookable resource enhancement in the general journal workspace.
The Catch: Why a Bookable Resource Might Not Appear in Your Lookup
Here is a scenario that is practically guaranteed to generate a few urgent helpdesk tickets during month-end close: an admin updates to 10.0.48, an accountant opens a general journal to accrue travel costs for a newly onboarded consultant, and the consultant's name is completely missing from the bookable resource lookup.
Why? Because Dynamics 365 Finance does not automatically pull every bookable resource record straight from Dataverse on the fly when you open a general journal.
According to Microsoft Learn's Use general journals for advanced accounting documentation, there is a strict prerequisite: you must previously post at least one transaction through the Project Operations integration journal for that bookable resource.
In the Integrated with ERP architecture, operational time, expense, fee, and material entries originate as project actuals in Dataverse. A periodic process (Import from staging table) brings those actuals into the Project Operations Integration journal in Dynamics 365 Finance. Only when you post a transaction for a bookable resource through that integration journal does Finance generate the local resource records required to select that person in a general journal. If a resource has never had a single time or expense actual flow through and post via the integration journal, you will not be able to tag them on a general journal line.
Step-by-Step: How Modern Project General Journals Work in Practice
For finance teams and ERP administrators configuring or validating this workflow in Dynamics 365 Finance, Microsoft's documentation outlines specific rules for how transactions must be structured and how they synchronize back to Dataverse:
1. Structuring the Account and Offset Lines
When creating a general journal entry for a modern project, you can enter a single-line transaction by placing the Project on the left side (Account type) and the Ledger on the right side (Offset account type).
- To record a new project expense: Enter the project details before the offset account.
- To record a project credit: Reverse the order.
- Alternative two-line voucher method: Create a project line with a debit and no offset, followed by a second line under the same voucher with a ledger credit. (Microsoft also notes that One voucher functionality can be enabled to allocate a single expense across multiple projects on one voucher, though admins are warned to test it thoroughly first because it can negatively affect reporting.)
2. Configuring the Project Tab and Manual Pricing
Selecting a project on the journal line unlocks the Project tab. After entering your debit or credit amount (which sets the default cost price) and optional description on the general tab, you must populate the project attributes:
- Contract line ID: Maps to the Dataverse contract line that permits expense entries (or task-based billing for the activity number). If the project, category, and task combination isn't valid for any contract line, Finance throws the error: "There's no contract that exists for this project."
- Activity number: Optional; maps to the project task name.
- Category: Determines the expense posting account and defaults the line property value based on your Project management and accounting parameters.
- Bookable Resource (10.0.48+): Specify the individual project resource for per-resource tracking, or leave it blank for an aggregate project entry.
- Cost and Sales Price: Crucial caveat—general journals are not aware of Dataverse pricing. Costs and sales prices must be entered manually. The sales price always defaults to zero (locked to the contract currency), and you may see a warning stating "Sales price not specified for time and material projects" if you leave it at zero.
3. Understanding Immediate GL Posting vs. Asynchronous Dataverse Sync
Unlike standard expense reports—which route through an expense integration account—posting a general journal commits the cost immediately to both the Dynamics 365 Finance general ledger and the project subledger.
Behind the scenes, Finance connects to Dataverse via the IOrganization service to create a corresponding journal header and journal lines:
- How lines split in Dataverse: A single Finance general journal line with both a cost amount (e.g., 100) and a sales amount (e.g., 200) is split in Dataverse into two separate journal lines—one for 100 cost and one for 200 sales. For time-and-material contract lines, Dataverse always generates both a cost line and a sales line, even if the sales price is left at zero. For projects without contracts, only a cost line is created.
- How unbilled sales return to Finance: Once the journal automatically posts in Dataverse and creates Project Actuals, the cost lines stay put—they were already posted in Finance. However, any unbilled sales lines generated in Dataverse flow back into Finance through the Project Operations Integration journal via the staging table import, where they are posted to complete the billing cycle.
Operational Limits and Troubleshooting Sync Bottlenecks
If your accounting team plans to use per-resource general journals for heavy month-end accrual runs—where splitting summary entries into individual resource lines will naturally multiply your line count—you need to keep four architectural guardrails in mind:
- The 200-Line Hard Cap: Dynamics 365 Finance limits a general journal to 200 project-based lines. Attempting to post 201 lines triggers a hard stop: "A maximum of 200 project-based lines are supported." Even below 200 lines, Microsoft advises posting smaller journal batches during period-end close to optimize Dataverse synchronization performance.
- The 5-Minute Asynchronous Cadence and 5-Retry Limit: Since version 10.0.46, transferring general journal lines to Dataverse is handled asynchronously by a process automation named Project Operations create and confirm Dataverse journals, which runs every five minutes. During processing, the Dataverse journal is locked in read-only mode. If transient communication errors block confirmation in Dataverse, the system retries up to five times. After five failed attempts, automated retries stop; an administrator or accountant must open the Project Operations Integration workspace, navigate to the General journal Dataverse sync tab, and manually select Sync to resume.
- Avoid Concurrent Journals for the Same Project: If you post multiple general journals at the same time that reference the exact same project, simultaneous updates to aggregate project totals in Dataverse can cause entity table locks. While retry logic eventually resolves the lock, it delays journal confirmation and actuals generation.
- Cross-Currency and Architecture Boundaries: Using a cost currency that differs from the project currency requires at least the UR60 release of Project Operations to prevent currency mismatches between the PMA journal and Dataverse. Additionally, you cannot mix legacy Project Management and Accounting (PMA) projects and modern Dataverse projects inside the same general journal.
Summary Takeaways for ERP Admins and Finance Leads
- What Launched: Roadmap item 576882 brings bookable project resource selection to Dynamics 365 Finance general journal lines for modern projects in the Project Operations Integrated with ERP deployment.
- Why It Matters: Enables per-resource expense accrual and reversal tracking at period close without losing the workflows and direct GL posting of Finance general journals.
- What to Check First: Verify your Finance environment is on 10.0.48 or later, keep accrual batches well under the 200-line limit, and remember that a bookable resource must have at least one previously posted transaction in the Project Operations Integration journal before they can be selected on a general journal line.
References
- Dynamics 365 Project Operations: Optimize Project Operations - Enable project resources on general journal entries Microsoft 365 Roadmap · 2026-10-16T19:10:09.846508Z
- Enable project resources on general journal entries for modern projects | Microsoft Learn learn.microsoft.com
- Use general journals for advanced accounting | Microsoft Learn learn.microsoft.com