---
title: "Codeunit 1000 Job Calculate WIP"
author: "Jonas Paprotka"
url: https://jonas-paprotka.de/ref/codeunit/1000-job-calculate-wip/
type: codeunit
id: 1000
name: "Job Calculate WIP"
app: "Base Application"
namespace: Microsoft.Projects.Project.WIP
versions: "17-28"
build: 28.5.54151.54365
source: "https://jonas-paprotka.de/ref/codeunit/1000-job-calculate-wip/source/29/"
checked: 2026-09-20
subject: "Microsoft Dynamics 365 Business Central"
license: "Content © 2026 Jonas Paprotka. Quote freely with attribution and a link."
---

# Codeunit 1000 Job Calculate WIP

Jonas Paprotka, https://jonas-paprotka.de/ref/codeunit/1000-job-calculate-wip/

| | |
| --- | --- |
| App | Base Application |
| Namespace | Microsoft.Projects.Project.WIP |
| Versions | 17-28 |
| Source file | Projects/Project/WIP/JobCalculateWIP.Codeunit.al |

## Procedures

| Name | Parameters | Returns | Access | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- | --- |
| JobCalcWIP | (var Record Job, Date, Code[20]) | - | public | 17-28 | - | - |
| DeleteWIP | (Record Job) | - | public | 17-28 | - | - |
| CalcGLWIP | (Code[20], Boolean, Code[20], Date, Boolean) | - | public | 17-28 | - | - |
| ReOpenJob | (Code[20]) | - | public | 17-28 | - | - |
| VerifyJobWIPEntryOnBeforeModify | (var Record Job Task, var Record Job Task, Boolean) | - | public | 17-28 | - | - |
| VerifyJobWIPEntryOnBeforeRename | (var Record Job Task, var Record Job Task, Boolean) | - | public | 17-28 | - | - |
| SetGenJnlBatch | (Record Gen. Journal Batch) | - | public | 20-28 | - | - |
| FindJobLedgerEntriesByJobTask | (var Record Job Task, var Record Job WIP Total, Enum Job WIP Buffer Type) | - | public | 23-28 | - | - |
| CreateWIPBufferEntryFromLedger | (var Record Job Ledger Entry, var Record Job Task, var Record Job WIP Total, Enum Job WIP Buffer Type) | - | public | 23-28 | - | - |
| CreateWIPBufferEntryFromTask | (var Record Job Task, var Record Job WIP Total, Enum Job WIP Buffer Type, Boolean) | - | public | 24-28 | - | - |

## Events

| Kind | Name | Parameters | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- |
| Integration event | OnAfterCalcUsageTotalCostCosts | (var Record Job Task) | 17-28 | - | - |
| Integration event | OnBeforeCalcPercentageOfCompletion | (var Record Job Task, Record Job WIP Total, var Boolean, var Decimal, var Decimal, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeCalcRecognizedCosts | (var Record Job Task, var Record Job WIP Total, var Record Job WIP Method, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeCalcRecognizedSales | (var Record Job Task, var Record Job WIP Total, var Record Job WIP Method, var Boolean) | 17-28 | - | - |
| Integration event | OnCreateJobWIPTotalOnAfterUpdateJobWIPTotal | (var Record Job Task, var Record Job WIP Total) | 17-28 | - | - |
| Integration event | OnInsertWIPGLOnBeforeGenJnPostLine | (var Record Gen. Journal Line) | 17-21 | - | - |
| Integration event | OnBeforeActivateErrorMessageHandling | (var Record Job, var Codeunit Error Message Management, var Codeunit Error Message Handler, var Codeunit Error Context Element, var Boolean) | 19-28 | - | - |
| Integration event | OnCreateWIPEntriesOnBeforeJobWIPEntryInsert | (var Record Job WIP Entry) | 20-28 | - | - |
| Integration event | OnInitWIPBufferEntryFromTaskOnBeforeSetDimCombinationID | (var Record Dimension Buffer, Record Job Task) | 20-28 | - | - |
| Integration event | OnJobTaskCalcWIPOnBeforeJobWIPTotalModify | (var Record Job, var Record Job WIP Total) | 20-28 | - | - |
| Integration event | OnAfterJobTaskCalcWIP | (var Record Job, Code[20], Code[20], var Record Job WIP Total) | 20-28 | - | - |
| Integration event | OnAfterCalcWIP | (var Record Job Task, Record Job WIP Total, Boolean, var Decimal, var Boolean) | 21-28 | - | - |
| Integration event | OnBeforeCalcCostValue | (var Record Job Task, Record Job WIP Total, var Decimal, var Decimal, var Boolean, var Boolean) | 21-28 | - | - |
| Integration event | OnBeforeJobTaskWIPRelatedFieldsAreModified | (Record Job Task, var Boolean, var Boolean) | 21-28 | - | - |
| Integration event | OnBeforeVerifyJobWIPEntryIsEmpty | (var Record Job WIP Entry) | 21-28 | - | - |
| Integration event | OnBeforeCreateJobWIPTotal | (var Record Job Task) | 21-28 | - | - |
| Integration event | OnJobTaskCalcWIPOnAfterJobWIPTotalModify | (var Record Job, var Record Job WIP Total) | 21-28 | - | - |
| Integration event | OnJobCalcWIPOnBeforeJobModify | (var Record Job, var Boolean) | 21-28 | - | - |
| Integration event | OnBeforeCalcWIP | (var Record Job Task, Record Job WIP Total, Boolean, var Decimal, var Boolean) | 21-28 | - | - |
| Integration event | OnInsertWIPGLOnBeforeGenJnPostLine | (var Record Gen. Journal Line, Boolean) | 22-28 | - | - |
| Integration event | OnJobTaskCalcWIPOnBeforeCreateTempJobWIPBuffer | (var Record Job Task, var Record Job WIP Total, var Boolean) | 22-28 | - | - |
| Integration event | OnJobTaskCalcWIPOnBeforeCalcWIP | (var Record Job Task) | 22-28 | - | - |
| Integration event | OnCaclWIPOnAfterRecognizedAmounts | (var Record Job Task) | 22-28 | - | - |
| Integration event | OnCreateWIPBufferEntryFromLedgerOnBeforeModifyJobLedgerEntry | (var Record Job Ledger Entry, var Record Job WIP Buffer, Enum Job WIP Buffer Type) | 22-28 | - | - |
| Integration event | OnBeforeGetAppliedCostsWIPEntryAmount | (Record Job Task, Record Job WIP Method, Boolean, var Decimal, var Boolean) | 22-28 | - | - |
| Integration event | OnBeforeCreateWIPBufferEntryFromLedgerOnBeforeAssignPostingGroup | (var Record Job WIP Buffer, var Record Job Ledger Entry, Boolean) | 22-28 | - | - |
| Integration event | OnBeforeInsertWIPGL | (Date, Code[20], Code[10], Decimal, Record Job WIP G/L Entry, Boolean, var Boolean) | 22-28 | - | - |
| Integration event | OnJobTaskCalcWIPOnBeforeSumJobTaskCosts | (var Record Job Task, var Decimal, var Decimal, var Boolean) | 22-28 | - | - |
| Integration event | OnCreateJobWIPTotalOnBeforeLoopJobTask | (var Record Job Task, var Record Job WIP Total, var Boolean) | 22-28 | - | - |
| Integration event | OnBeforeGetWIPEntryAmount | (Enum Job WIP Buffer Type, Record Job Task, Record Job WIP Method, Boolean, var Decimal, var Boolean) | 22-28 | - | - |
| Integration event | OnBeforeCheckJobGLAcc | (Code[20], var Boolean) | 22-28 | - | - |
| Integration event | OnFindJobLedgerEntriesByJobTaskOnAfterFilterJobLedgerEntry | (var Record Job Task, var Record Job WIP Total, Enum Job WIP Buffer Type, Record Job WIP Method, var Record Job Ledger Entry) | 27-28 | - | - |

## Source

Symbols: Microsoft.BaseApplication.symbols.437dbf0e-84ff-417a-965d-ed2bb9650972, https://dynamicssmb2.pkgs.visualstudio.com/DynamicsBCPublicFeeds/_packaging/MSSymbols/nuget/v3/index.json, highest build per major on 2026-09-20.
AL source 29: https://github.com/microsoft/BCApps, MIT, releases/29.x at a66254c3b8b5bb1cea290dc8f9d097aec4381153.

Jonas Paprotka, 2026-09-20.
