---
title: "Codeunit 950 Time Sheet Management"
author: "Jonas Paprotka"
url: https://jonas-paprotka.de/ref/codeunit/950-time-sheet-management/
type: codeunit
id: 950
name: "Time Sheet Management"
app: "Base Application"
namespace: Microsoft.Projects.TimeSheet
versions: "17-28"
build: 28.5.54151.54365
source: "https://jonas-paprotka.de/ref/codeunit/950-time-sheet-management/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 950 Time Sheet Management

Jonas Paprotka, https://jonas-paprotka.de/ref/codeunit/950-time-sheet-management/

| | |
| --- | --- |
| App | Base Application |
| Namespace | Microsoft.Projects.TimeSheet |
| Versions | 17-28 |
| Source file | Projects/TimeSheet/TimeSheetManagement.Codeunit.al |

## Procedures

| Name | Parameters | Returns | Access | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- | --- |
| FilterTimeSheets | (var Record Time Sheet Header, Integer) | - | public | 17-28 | - | - |
| CheckTimeSheetNo | (var Record Time Sheet Header, Code[20]) | - | public | 17-28 | - | - |
| SetTimeSheetNo | (Code[20], var Record Time Sheet Line) | - | public | 17-28 | - | - |
| LookupOwnerTimeSheet | (var Code[20], var Record Time Sheet Line, var Record Time Sheet Header) | - | public | 17-28 | - | - |
| LookupApproverTimeSheet | (var Code[20], var Record Time Sheet Line, var Record Time Sheet Header) | - | public | 17-28 | - | - |
| FormatDate | (Date, Option) | Text[30] | public | 17-28 | - | - |
| CheckAccPeriod | (Date) | - | public | 17-28 | - | - |
| CheckResourceTimeSheetOwner | (Code[50], Code[20]) | - | public | 17-28 | - | - |
| CalcStatusFactBoxData | (var Record Time Sheet Header, var Decimal, var Decimal, var Decimal, var Decimal, var Decimal, var Decimal) | - | public | 17-28 | - | - |
| CalcActSchedFactBoxData | (Record Time Sheet Header, var Text[30], var Text[30], var Text[30], var Decimal, var Decimal) | - | public | 17-28 | - | - |
| FormatActualSched | (Decimal, Decimal) | Text[30] | public | 17-28 | - | - |
| FilterTimeSheetsArchive | (var Record Time Sheet Header Archive, Integer) | - | public | 17-28 | - | - |
| CheckTimeSheetArchiveNo | (var Record Time Sheet Header Archive, Code[20]) | - | public | 17-28 | - | - |
| SetTimeSheetArchiveNo | (Code[20], var Record Time Sheet Line Archive) | - | public | 17-28 | - | - |
| LookupOwnerTimeSheetArchive | (var Code[20], var Record Time Sheet Line Archive, var Record Time Sheet Header Archive) | - | public | 17-28 | - | - |
| LookupApproverTimeSheetArchive | (var Code[20], var Record Time Sheet Line Archive, var Record Time Sheet Header Archive) | - | public | 17-28 | - | - |
| CalcSummaryArcFactBoxData | (Record Time Sheet Header Archive, var Text[30], var Decimal, var Decimal, var Decimal) | - | public | 17-28 | - | - |
| MoveTimeSheetToArchive | (Record Time Sheet Header) | - | public | 17-28 | - | - |
| CopyPrevTimeSheetLines | (Record Time Sheet Header) | - | public | 17-28 | - | - |
| CalcPrevTimeSheetLines | (Record Time Sheet Header) | Integer | public | 17-28 | - | - |
| CreateLinesFromJobPlanning | (Record Time Sheet Header) | Integer | public | 17-28 | - | - |
| CalcLinesFromJobPlanning | (Record Time Sheet Header) | Integer | public | 17-28 | - | - |
| FindTimeSheet | (var Record Time Sheet Header, Option) | Code[20] | public | 17-28 | - | - |
| FindTimeSheetArchive | (var Record Time Sheet Header Archive, Option) | Code[20] | public | 17-28 | - | - |
| GetDateFilter | (Date, Date) | Text[30] | public | 17-28 | - | - |
| CreateServDocLinesFromTS | (Record Service Header) | - | public | 17-27 | Pending 25.0 | Moved to codeunit ServTimeSheetMgt |
| CreateServDocLinesFromTSLine | (Record Service Header, var Record Time Sheet Line) | - | public | 17-27 | Pending 25.0 | Moved to codeunit ServTimeSheetMgt |
| CreateTSLineFromServiceLine | (Record Service Line, Code[20], Boolean) | - | public | 17-27 | Pending 25.0 | Moved to codeunit ServTimeSheetMgt |
| CreateTSLineFromServiceShptLine | (Record Service Shipment Line) | - | public | 17-27 | Pending 25.0 | Moved to codeunit ServTimeSheetMgt |
| CreateTSLineFromAssemblyLine | (Record Assembly Header, Record Assembly Line, Decimal) | - | public | 17-28 | - | - |
| CreateTSPostingEntry | (Record Time Sheet Detail, Decimal, Date, Code[20], Text[100]) | - | public | 17-28 | - | - |
| CheckResJnlLine | (Record Res. Journal Line) | - | public | 17-28 | - | - |
| CheckJobJnlLine | (Record Job Journal Line) | - | public | 17-28 | - | - |
| CheckServiceLine | (Record Service Line) | - | public | 17-27 | Pending 25.0 | Moved to codeunit ServTimeSheetMgt |
| CopyFilteredTimeSheetLinesToBuffer | (var Record Time Sheet Line, var Record Time Sheet Line) | - | public | 17-28 | - | - |
| UpdateTimeAllocation | (Record Time Sheet Line, Decimal) | - | public | 17-28 | - | - |
| GetActivityInfo | (Record Time Sheet Line, var Text[30], var Code[20], var Text[30], var Code[20]) | - | public | 17-28 | - | - |
| ShowPostingEntries | (Code[20], Integer) | - | public | 17-28 | - | - |
| FindNearestTimeSheetStartDate | (Date) | Date | public | 17-28 | - | - |
| TimeSheetV2Enabled | () | Boolean | public | 19-24 | Pending 22.0 | Remove old time sheet experience. |
| FilterAllTimeSheetLines | (var Record Time Sheet Line, Option) | - | public | 19-28 | - | - |
| GetTimeSheetDataCaption | (Record Time Sheet Header) | Text | public | 19-28 | - | - |
| CheckCopyPrevTimeSheetLines | (Record Time Sheet Header) | - | public | 19-28 | - | - |
| CheckCreateLinesFromJobPlanning | (Record Time Sheet Header) | Integer | public | 19-28 | - | - |
| GetTimeSheetV2FeatureKey | () | Text[50] | internal | 22-24 | - | - |
| IsUserTimeSheetAdmin | (Text) | Boolean | public | 24-28 | - | - |
| FilterTimeSheets | (var Record Time Sheet Header, Integer, Boolean) | - | public | 24-28 | - | - |
| CheckTimeSheetLineFieldsVisible | (var Boolean, var Boolean, var Boolean, var Boolean, var Boolean, var Boolean) | - | public | 24-28 | - | - |
| SelectAndCopyTimeSheetLines | (Record Time Sheet Header, Boolean) | - | public | 24-28 | - | - |
| CalcActSchedFactBoxData | (Record Time Sheet Header, var Text[30], var Text[30], var Text[30], var Decimal, var Decimal, var Decimal) | - | public | 25-28 | - | - |
| CreateTSLineFromDocLine | (Integer, Code[20], Date, Code[20], Code[20], Integer, Code[10], Boolean, Text[100], Decimal) | - | public | 25-28 | - | - |
| CheckTSLineDetailPosting | (Code[20], Integer, Date, Decimal, Decimal, var Decimal) | Boolean | public | 25-28 | - | - |
| RunOnBeforeCreateTSLineFromServiceLine | (var Record Service Line, var Boolean) | - | internal | 25-27 | - | - |
| RunOnBeforeCreateTSLineFromServiceShptLine | (var Record Service Shipment Line, var Boolean) | - | internal | 25-27 | - | - |
| RunOnBeforeAddServLinesFromTSDetail | (Record Service Header, var Record Time Sheet Detail, Integer, var Boolean) | - | internal | 25-27 | - | - |
| RunOnAddServLinesFromTSDetailOnBeforeInsertServiceLine | (var Record Service Line, var Integer, Record Service Header, Record Time Sheet Detail) | - | internal | 25-27 | - | - |

## Events

| Kind | Name | Parameters | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- |
| Integration event | OnAfterCalcActSchedFactBoxData | (var Record Time Sheet Header, var Text, var Decimal, var Decimal) | 17-28 | - | - |
| Integration event | OnAfterCreateTSPostingEntry | (Record Time Sheet Detail, var Record Time Sheet Posting Entry) | 17-28 | - | - |
| Integration event | OnAfterCopyPrevTimeSheetLines | () | 17-28 | - | - |
| Integration event | OnCheckInsertJobPlanningLine | (Record Job Planning Line, var Record Job Planning Line, var Boolean) | 17-28 | - | - |
| Integration event | OnCopyPrevTimeSheetLinesOnBeforeCopyLine | (var Record Time Sheet Line, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeCreateTSLineFromServiceLine | (var Record Service Line, var Boolean) | 17-27 | Pending 25.0 | Moved to codeunit ServTimesheetMgt |
| Integration event | OnBeforeCreateTSLineFromServiceShptLine | (var Record Service Shipment Line, var Boolean) | 17-27 | Pending 25.0 | Moved to codeunit ServTimesheetMgt |
| Integration event | OnBeforeFillJobPlanningBuffer | (var Record Job Planning Line, var Record Job Planning Line, Record Time Sheet Header, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeFilterTimeSheets | (var Record Time Sheet Header, Integer, var Boolean) | 17-23 | - | - |
| Integration event | OnBeforeToTimeSheetLineInsert | (var Record Time Sheet Line, Record Time Sheet Line) | 17-28 | - | - |
| Integration event | OnCreateLinesFromJobPlanningOnBeforeTimeSheetLineInsert | (var Record Time Sheet Line, var Record Job Planning Line) | 17-28 | - | - |
| Integration event | OnAfterGetActivityInfo | (var Record Time Sheet Line, var Text[30], var Code[20], var Text[30], var Code[20]) | 17-28 | - | - |
| Integration event | OnFillJobPlanningBufferOnBeforeJobPlanningLineBufferInsert | (Record Job Planning Line, var Record Job Planning Line) | 17-28 | - | - |
| Integration event | OnGetActivityInfoCaseTypeElse | (var Record Time Sheet Line, var Text[30], var Code[20], var Text[30], var Code[20]) | 17-28 | - | - |
| Integration event | OnAfterFilterAllLines | (var Record Time Sheet Line, Option) | 19-28 | - | - |
| Integration event | OnAfterTimeSheetV2Enabled | (var Boolean) | 19-24 | Pending 22.0 | Remove old time sheet experience. |
| Integration event | OnCalcStatusFactBoxDataOnAfterTimeSheetHeaderSetFilters | (var Record Time Sheet Header) | 19-28 | - | - |
| Integration event | OnCalcActSchedFactBoxDataOnAfterTimeSheetHeaderSetFilters | (var Record Time Sheet Header, Record Date) | 19-28 | - | - |
| Integration event | OnCalcActSchedFactBoxDataOnBeforeResouceCalcFields | (var Record Resource, Record Date) | 19-28 | - | - |
| Integration event | OnBeforeCheckJobJnlLine | (var Record Job Journal Line, var Boolean) | 20-28 | - | - |
| Integration event | OnFindTimeSheetArchiveOnAfterSetFilters | (var Record Time Sheet Header Archive) | 20-28 | - | - |
| Integration event | OnBeforeCheckResJnlLine | (Record Res. Journal Line, var Boolean) | 21-28 | - | - |
| Integration event | OnBeforeAddServLinesFromTSDetail | (Record Service Header, var Record Time Sheet Detail, Integer, var Boolean) | 22-27 | Pending 25.0 | Moved to codeunit ServTimesheetMgt |
| Integration event | OnCalcActSchedFactBoxDataOnAfterSetDateDescription | (Record Time Sheet Header, Record Date, var Text[30]) | 22-28 | - | - |
| Integration event | OnBeforeTimeSheetHeaderArchiveInsert | (var Record Time Sheet Header Archive, Record Time Sheet Header) | 23-28 | - | - |
| Integration event | OnBeforeTimeSheetLineArchiveInsert | (var Record Time Sheet Line Archive, Record Time Sheet Line) | 23-28 | - | - |
| Integration event | OnBeforeTimeSheetDetailArchiveInsert | (var Record Time Sheet Detail Archive, Record Time Sheet Detail) | 23-28 | - | - |
| Integration event | OnBeforeTimeSheetCmtLineArchiveInsert | (var Record Time Sheet Cmt. Line Archive, Record Time Sheet Comment Line) | 23-28 | - | - |
| Integration event | OnBeforeFilterTimeSheets | (var Record Time Sheet Header, Integer, Boolean, var Boolean) | 24-28 | - | - |
| Integration event | OnBeforeCopyTimeSheetLine | (var Record Time Sheet Header, var Record Time Sheet Line, Boolean, var Integer, var Boolean) | 24-28 | - | - |
| Integration event | OnBeforeCopyTimeSheetLineArchive | (var Record Time Sheet Header, var Record Time Sheet Line Archive, Boolean, var Integer, var Boolean) | 24-28 | - | - |
| Integration event | OnAfterCheckTimeSheetLineFieldsVisible | (var Boolean, var Boolean, var Boolean, var Boolean, var Boolean, var Boolean) | 24-28 | - | - |
| Integration event | OnAddServLinesFromTSDetailOnBeforeInsertServiceLine | (var Record Service Line, var Integer, Record Service Header, Record Time Sheet Detail) | 24-27 | Pending 25.0 | Moved to codeunit ServTimesheetMgt |
| Integration event | OnBeforeTimeSheetDetailInsert | (var Record Time Sheet Detail, Record Time Sheet Detail, var Boolean) | 24-28 | - | - |
| Integration event | OnCopyTimeSheetLineArchiveOnBeforeToTimeSheetLineInsert | (var Record Time Sheet Line, Record Time Sheet Line Archive) | 24-28 | - | - |
| Integration event | OnBeforeCheckTimeSheetLineFieldsVisible | (var Boolean) | 25-28 | - | - |
| Integration event | OnCreateTSLineFromDocLineOnBeforeTimeSheetLineInsert | (var Record Time Sheet Line, Integer, Code[20], Integer) | 25-28 | - | - |
| Integration event | OnBeforeCheckAccPeriod | (Date, var Boolean) | 27-28 | - | - |
| Integration event | OnBeforeCopyTimeSheetLineArchiveDetails | (var Record Time Sheet Line Archive, var Record Time Sheet Line, var Boolean) | 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.
