Product: Dynamics 365 Business Central 28.3 (SaaS) Functional area: Projects — Project Journal posting Type: Data integrity — partial posting without error Environment used for reproduction: Sandbox, fresh copy of the customer production environment
When posting a Project Journal batch containing item lines, a subset of the lines is posted to inventory but not to the project. Item Ledger Entries are created, the corresponding Project Ledger Entries are not.
The posting completes normally: no error, no warning, no message of any kind.
Because the affected planning lines still show quantity left to post, users repeat the transfer-and-post cycle. Each repetition posts a further random subset to the project — and re-consumes inventory for the lines that keep failing. In our reproduction, clearing a single project task required five consecutive cycles, during which 128 units passed through posting against a planned quantity of 111.
The failing subset is not deterministic and is not a property of the item: an item that fails in one cycle posts successfully in the next.
Steps to reproduce
Open a project task whose planning lines have never been posted and which shows a non-zero
Remaining (Total Cost).Open Project Planning Lines, filter on
Qty. to Transfer to Journal > 0, select all lines, run Create Project Journal Lines into a dedicated empty batch.Verify the generated journal total equals the task residual. It always does.
Post the journal batch. No error is raised.
Compare Item Ledger Entries and Project Ledger Entries created by the posting.
Return to the project task and check
Remaining (Total Cost).
Expected: every journal line produces both an Item Ledger Entry and a Project Ledger Entry; residual becomes 0 after one cycle.
Actual: Item Ledger Entries are created for all lines; Project Ledger Entries are missing for a subset. Residual remains non-zero. Repeating steps 2–6 clears a further random subset each time.

Report
All responses (
Answers (