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

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

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

## Procedures

| Name | Parameters | Returns | Access | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- | --- |
| Submit | (var Record Time Sheet Line) | - | public | 17-28 | - | - |
| ReopenSubmitted | (var Record Time Sheet Line) | - | public | 17-28 | - | - |
| ReopenApproved | (var Record Time Sheet Line) | - | public | 17-28 | - | - |
| Reject | (var Record Time Sheet Line) | - | public | 17-28 | - | - |
| Approve | (var Record Time Sheet Line) | - | public | 17-28 | - | - |
| GetTimeSheetDialogText | (Option, Integer) | Text[100] | public | 17-27 | Pending 25.0 | Replaced with GetTimeSheetActionDialogText to remove 100 characters limitation. |
| GetManagerTimeSheetDialogText | (Option, Integer) | Text[100] | public | 17-27 | Pending 25.0 | Replaced with GetManagerTimeSheetActionDialogText to remove 100 characters limitation. |
| GetTimeSheetDialogInstruction | (Option) | Text[100] | public | 17-27 | Pending 25.0 | Replaced with GetTimeSheetActionDialogInstruction to remove 100 characters limitation. |
| GetManagerTimeSheetDialogInstruction | (Option) | Text[100] | public | 17-27 | Pending 25.0 | Replaced with GetManagerTimeSheetActionDialogInstruction to remove 100 characters limitation. |
| ProcessAction | (var Record Time Sheet Line, Option) | - | public | 19-28 | - | - |
| SubmitIfConfirmed | (var Record Time Sheet Line) | - | public | 19-28 | - | - |
| ReopenSubmittedIfConfirmed | (var Record Time Sheet Line) | - | public | 19-28 | - | - |
| ReopenApprovedIfConfirmed | (var Record Time Sheet Line) | - | public | 19-28 | - | - |
| RejectIfConfirmed | (var Record Time Sheet Line) | - | public | 19-28 | - | - |
| ApproveIfConfirmed | (var Record Time Sheet Line) | - | public | 19-28 | - | - |
| GetCommonTimeSheetDialogText | (Option, Integer) | Text[100] | public | 19-27 | Pending 25.0 | Replaced with GetCommonTimeSheetActionDialogText to remove 100 characters limitation. |
| ConfirmAction | (Option) | Boolean | public | 19-28 | - | - |
| GetCommonTimeSheetDialogInstruction | (Option) | Text | public | 19-28 | - | - |
| PostAbsence | (var Record Time Sheet Line) | - | public | 22-28 | - | - |
| NoTimeSheetLinesToProcess | (Enum Time Sheet Action) | - | internal | 24-28 | - | - |
| GetTimeSheetActionDialogText | (Option, Integer) | Text | public | 24-28 | - | - |
| GetManagerTimeSheetActionDialogText | (Option, Integer) | Text | public | 24-28 | - | - |
| GetCommonTimeSheetActionDialogText | (Option, Integer) | Text | public | 24-28 | - | - |
| GetTimeSheetActionDialogInstruction | (Option) | Text | public | 24-28 | - | - |
| GetManagerTimeSheetActionDialogInstruction | (Option) | Text | public | 24-28 | - | - |

## Events

| Kind | Name | Parameters | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- |
| Integration event | OnBeforeInsertEmployeeAbsence | (var Record Employee Absence, Record Time Sheet Line, var Record Time Sheet Detail) | 17-28 | - | - |
| Integration event | OnAfterSubmit | (var Record Time Sheet Line) | 17-28 | - | - |
| Integration event | OnAfterReopenSubmitted | (var Record Time Sheet Line) | 17-28 | - | - |
| Integration event | OnAfterReopenApproved | (var Record Time Sheet Line) | 17-28 | - | - |
| Integration event | OnAfterReject | (var Record Time Sheet Line) | 17-28 | - | - |
| Integration event | OnAfterApprove | (var Record Time Sheet Line) | 17-28 | - | - |
| Integration event | OnApproveOnBeforeTimeSheetLineModify | (var Record Time Sheet Line) | 17-28 | - | - |
| Integration event | OnRejectOnBeforeTimeSheetLineModify | (var Record Time Sheet Line) | 17-28 | - | - |
| Integration event | OnReopenApprovedOnBeforeTimeSheetLineModify | (var Record Time Sheet Line) | 17-28 | - | - |
| Integration event | OnReopenSubmittedOnAfterModify | (var Record Time Sheet Line) | 17-28 | - | - |
| Integration event | OnReopenSubmittedOnBeforeModify | (var Record Time Sheet Line) | 17-28 | - | - |
| Integration event | OnSubmitOnBeforeTimeSheetLineModify | (var Record Time Sheet Line) | 17-28 | - | - |
| Integration event | OnBeforeApprove | (var Record Time Sheet Line, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeSubmit | (var Record Time Sheet Line, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeGetTimeSheetDialogText | (Option, Decimal, var Text[100], var Boolean) | 17-27 | Pending 25.0 | Replaced with OnBeforeGetTimeSheetActionDialogText and OnBeforeGetCommonTimeSheetActionDialogText to remove 100 characters limitation. |
| Integration event | OnBeforeGetManagerTimeSheetDialogText | (Option, Decimal, var Text[100], var Boolean) | 17-27 | Pending 25.0 | Replaced with OnBeforeGetManagerTimeSheetActionDialogText to remove 100 characters limitation. |
| Integration event | OnBeforeCheckApproverPermissions | (var Record Time Sheet Line, var Boolean) | 18-28 | - | - |
| Integration event | OnBeforePostAbsence | (var Record Time Sheet Line, var Boolean) | 21-28 | - | - |
| Integration event | OnBeforeReject | (var Record Time Sheet Line, var Boolean) | 23-28 | - | - |
| Integration event | OnBeforeGetTimeSheetActionDialogText | (Option, Decimal, var Text, var Boolean) | 24-28 | - | - |
| Integration event | OnBeforeGetCommonTimeSheetActionDialogText | (Option, Decimal, var Text, var Boolean) | 24-28 | - | - |
| Integration event | OnBeforeGetManagerTimeSheetActionDialogText | (Option, Decimal, var Text, var Boolean) | 24-28 | - | - |
| Integration event | OnReopenApprovedOnBeforeCheckLinkedDoc | (var Record Time Sheet Line) | 25-28 | - | - |
| Integration event | OnSubmitOnAfterCheck | (var Record Time Sheet Line) | 25-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.
