---
title: "Codeunit 1535 Approvals Mgmt."
author: "Jonas Paprotka"
url: https://jonas-paprotka.de/ref/codeunit/1535-approvals-mgmt/
type: codeunit
id: 1535
name: "Approvals Mgmt."
app: "Base Application"
namespace: System.Automation
versions: "17-28"
build: 28.5.54151.54365
source: "https://jonas-paprotka.de/ref/codeunit/1535-approvals-mgmt/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 1535 Approvals Mgmt.

Jonas Paprotka, https://jonas-paprotka.de/ref/codeunit/1535-approvals-mgmt/

| | |
| --- | --- |
| App | Base Application |
| Namespace | System.Automation |
| Versions | 17-28 |
| Source file | OtherCapabilities/Approvals/ApprovalsMgmt.Codeunit.al |

## Procedures

| Name | Parameters | Returns | Access | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- | --- |
| ApproveRecordApprovalRequest | (RecordId) | - | public | 17-28 | - | - |
| ApproveGenJournalLineRequest | (Record Gen. Journal Line) | - | public | 17-28 | - | - |
| RejectRecordApprovalRequest | (RecordId) | - | public | 17-28 | - | - |
| RejectGenJournalLineRequest | (Record Gen. Journal Line) | - | public | 17-28 | - | - |
| DelegateRecordApprovalRequest | (RecordId) | - | public | 17-28 | - | - |
| DelegateGenJournalLineRequest | (Record Gen. Journal Line) | - | public | 17-28 | - | - |
| ApproveApprovalRequests | (var Record Approval Entry) | - | public | 17-28 | - | - |
| RejectApprovalRequests | (var Record Approval Entry) | - | public | 17-28 | - | - |
| DelegateApprovalRequests | (var Record Approval Entry) | - | public | 17-28 | - | - |
| DelegateSelectedApprovalRequest | (var Record Approval Entry, Boolean) | - | public | 17-28 | - | - |
| FindOpenApprovalEntryForCurrUser | (var Record Approval Entry, RecordId) | Boolean | public | 17-28 | - | - |
| FindApprovalEntryForCurrUser | (var Record Approval Entry, RecordId) | Boolean | public | 17-28 | - | - |
| ApproveApprovalRequestsForRecord | (RecordRef, Record Workflow Step Instance) | - | public | 17-28 | - | - |
| CancelApprovalRequestsForRecord | (RecordRef, Record Workflow Step Instance) | - | public | 17-28 | - | - |
| RejectApprovalRequestsForRecord | (RecordRef, Record Workflow Step Instance) | - | public | 17-28 | - | - |
| SendApprovalRequestFromRecord | (RecordRef, Record Workflow Step Instance) | - | public | 17-28 | - | - |
| SendApprovalRequestFromApprovalEntry | (Record Approval Entry, Record Workflow Step Instance) | - | public | 17-28 | - | - |
| CreateApprovalRequests | (RecordRef, Record Workflow Step Instance) | - | public | 17-28 | - | - |
| CreateAndAutomaticallyApproveRequest | (RecordRef, Record Workflow Step Instance) | - | public | 17-28 | - | - |
| CreateApprovalRequestForUser | (Record Workflow Step Argument, Record Approval Entry) | - | public | 17-28 | - | - |
| MakeApprovalEntry | (Record Approval Entry, Integer, Code[50], Record Workflow Step Argument) | - | public | 17-28 | - | - |
| CalcPurchaseDocAmount | (Record Purchase Header, var Decimal, var Decimal) | - | public | 17-28 | - | - |
| CalcSalesDocAmount | (Record Sales Header, var Decimal, var Decimal) | - | public | 17-28 | - | - |
| CreateApprovalEntryNotification | (Record Approval Entry, Record Workflow Step Instance) | - | public | 17-28 | - | - |
| IsSufficientApprover | (Record User Setup, Record Approval Entry) | Boolean | public | 17-28 | - | - |
| PrePostApprovalCheckSales | (var Record Sales Header) | Boolean | public | 17-28 | - | - |
| PrePostApprovalCheckPurch | (var Record Purchase Header) | Boolean | public | 17-28 | - | - |
| IsIncomingDocApprovalsWorkflowEnabled | (var Record Incoming Document) | Boolean | public | 17-28 | - | - |
| IsPurchaseApprovalsWorkflowEnabled | (var Record Purchase Header) | Boolean | public | 17-28 | - | - |
| IsPurchaseHeaderPendingApproval | (var Record Purchase Header) | Boolean | public | 17-28 | - | - |
| IsSalesApprovalsWorkflowEnabled | (var Record Sales Header) | Boolean | public | 17-28 | - | - |
| IsSalesHeaderPendingApproval | (var Record Sales Header) | Boolean | public | 17-28 | - | - |
| IsOverdueNotificationsWorkflowEnabled | () | Boolean | public | 17-28 | - | - |
| IsGeneralJournalBatchApprovalsWorkflowEnabled | (var Record Gen. Journal Batch) | Boolean | public | 17-28 | - | - |
| IsGeneralJournalLineApprovalsWorkflowEnabled | (var Record Gen. Journal Line) | Boolean | public | 17-28 | - | - |
| CheckPurchaseApprovalPossible | (var Record Purchase Header) | Boolean | public | 17-28 | - | - |
| CheckIncomingDocApprovalsWorkflowEnabled | (var Record Incoming Document) | Boolean | public | 17-28 | - | - |
| CheckSalesApprovalPossible | (var Record Sales Header) | Boolean | public | 17-28 | - | - |
| CheckCustomerApprovalsWorkflowEnabled | (var Record Customer) | Boolean | public | 17-28 | - | - |
| CheckVendorApprovalsWorkflowEnabled | (var Record Vendor) | Boolean | public | 17-28 | - | - |
| CheckItemApprovalsWorkflowEnabled | (var Record Item) | Boolean | public | 17-28 | - | - |
| CheckGeneralJournalBatchApprovalsWorkflowEnabled | (var Record Gen. Journal Batch) | Boolean | public | 17-28 | - | - |
| CheckGeneralJournalLineApprovalsWorkflowEnabled | (var Record Gen. Journal Line) | Boolean | public | 17-28 | - | - |
| DeleteApprovalEntry | (Variant) | - | public | 17-28 | - | - |
| PostApprovalEntriesMoveGenJournalLine | (var Record Gen. Journal Line, RecordId) | - | public | 17-28 | - | - |
| DeleteApprovalEntriesAfterDeleteGenJournalLine | (var Record Gen. Journal Line, Boolean) | - | public | 17-28 | - | - |
| PostApprovalEntriesMoveGenJournalBatch | (var Record Gen. Journal Batch, RecordId) | - | public | 17-28 | - | - |
| DeleteApprovalEntriesAfterDeleteGenJournalBatch | (var Record Gen. Journal Batch, Boolean) | - | public | 17-28 | - | - |
| DeleteApprovalEntriesAfterDeleteCustomer | (var Record Customer, Boolean) | - | public | 17-28 | - | - |
| DeleteApprovalEntriesAfterDeleteVendor | (var Record Vendor, Boolean) | - | public | 17-28 | - | - |
| DeleteApprovalEntriesAfterDeleteItem | (var Record Item, Boolean) | - | public | 17-28 | - | - |
| PostApprovalEntries | (RecordId, RecordId, Code[20]) | Boolean | public | 17-28 | - | - |
| ShowPostedApprovalEntries | (RecordId) | - | public | 17-28 | - | - |
| DeletePostedApprovalEntries | (RecordId) | - | public | 17-28 | - | - |
| SetStatusToPendingApproval | (var Variant) | - | public | 17-28 | - | - |
| InformUserOnStatusChange | (Variant, Guid) | - | public | 17-28 | - | - |
| GetApprovalComment | (Variant) | - | public | 17-28 | - | - |
| GetApprovalCommentForWorkflowStepInstanceID | (Variant, Guid) | - | public | 17-28 | - | - |
| HasOpenApprovalEntriesForCurrentUser | (RecordId) | Boolean | public | 17-28 | - | - |
| HasOpenApprovalEntries | (RecordId) | Boolean | public | 17-28 | - | - |
| HasOpenOrPendingApprovalEntries | (RecordId) | Boolean | public | 17-28 | - | - |
| HasApprovalEntries | (RecordId) | Boolean | public | 17-28 | - | - |
| HasAnyOpenJournalLineApprovalEntries | (Code[20], Code[20]) | Boolean | public | 17-28 | - | - |
| TrySendJournalBatchApprovalRequest | (var Record Gen. Journal Line) | - | public | 17-28 | - | - |
| TrySendJournalLineApprovalRequests | (var Record Gen. Journal Line) | - | public | 17-28 | - | - |
| TryCancelJournalBatchApprovalRequest | (var Record Gen. Journal Line) | - | public | 17-28 | - | - |
| TryCancelJournalLineApprovalRequests | (var Record Gen. Journal Line) | - | public | 17-28 | - | - |
| ShowJournalApprovalEntries | (var Record Gen. Journal Line) | - | public | 17-28 | - | - |
| RenameApprovalEntries | (RecordId, RecordId) | - | public | 17-28 | - | - |
| DeleteApprovalEntries | (RecordId) | - | public | 17-28 | - | - |
| DeleteApprovalCommentLines | (RecordId) | - | public | 17-28 | - | - |
| CopyApprovalEntryQuoteToOrder | (RecordId, Code[20], RecordId) | - | public | 17-28 | - | - |
| GetLastSequenceNo | (Record Approval Entry) | Integer | public | 17-28 | - | - |
| OpenApprovalEntriesPage | (RecordId) | - | public | 17-28 | - | - |
| CanCancelApprovalForRecord | (RecordId) | Boolean | public | 17-28 | - | - |
| CreateApprovalRequestForChainOfApprovers | (Record Workflow Step Argument, Record Approval Entry) | - | public | 19-28 | - | - |
| CreateApprovalRequestForApproverWithSufficientLimit | (Record Workflow Step Argument, Record Approval Entry) | - | public | 19-28 | - | - |
| OpenApprovalsSales | (Record Sales Header) | - | public | 19-28 | - | - |
| OpenApprovalsPurchase | (Record Purchase Header) | - | public | 19-28 | - | - |
| RunWorkflowEntriesPage | (RecordId, Integer, Enum Approval Document Type, Code[20]) | - | public | 19-28 | - | - |
| PopulateApprovalEntryArgument | (RecordRef, Record Workflow Step Instance, var Record Approval Entry) | - | public | 22-28 | - | - |
| CheckJobQueueEntryApprovalEnabled | () | Boolean | public | 22-28 | - | - |
| FindApprovalEntryByRecordId | (var Record Approval Entry, RecordId) | Boolean | public | 23-28 | - | - |
| CreateApprovalRequestForSpecificUser | (Record Workflow Step Argument, Record Approval Entry) | - | public | 23-28 | - | - |
| HasOpenOrPendingApprovalEntriesForCurrentUser | (RecordId) | Boolean | public | 23-28 | - | - |
| HasApprovedApprovalEntries | (RecordId) | Boolean | public | 23-28 | - | - |
| HasApprovalEntriesSentByCurrentUser | (RecordId) | Boolean | public | 23-28 | - | - |
| PreventDeletingRecordWithOpenApprovalEntry | (Variant) | - | public | 23-28 | - | - |
| PreventInsertRecIfOpenApprovalEntryExist | (Variant) | - | public | 23-28 | - | - |
| PreventModifyRecIfOpenApprovalEntryExistForCurrentUser | (Variant) | - | public | 23-28 | - | - |
| ShowApprovalCommentLinesForJournal | (ErrorInfo) | - | public | 23-28 | - | - |
| RejectApprovalRequest | (ErrorInfo) | - | public | 23-28 | - | - |
| SendJournalLinesApprovalRequests | (var Record Gen. Journal Line) | - | public | 23-28 | - | - |
| GetGenJnlBatchApprovalStatus | (Record Gen. Journal Line, var Text[20], Boolean) | - | public | 23-28 | - | - |
| GetGenJnlLineApprovalStatus | (Record Gen. Journal Line, var Text[20], Boolean) | - | public | 23-28 | - | - |
| CleanGenJournalApprovalStatus | (Record Gen. Journal Line, var Text[20], var Text[20]) | - | public | 23-28 | - | - |
| FindLastApprovalEntryForCurrUser | (var Record Approval Entry, RecordId) | Boolean | public | 24-28 | - | - |
| SendForApproval | (var Record Job Queue Entry) | - | internal | 27-28 | - | - |
| ApproveItemJournalRequest | (Record Item Journal Line) | - | public | 28 | - | - |
| ApproveRequisitionWkshRequest | (Record Requisition Line) | - | public | 28 | - | - |
| RejectItemJournalRequest | (Record Item Journal Line) | - | public | 28 | - | - |
| RejectRequisitionWkshRequest | (Record Requisition Line) | - | public | 28 | - | - |
| DelegateItemJournalRequest | (Record Item Journal Line) | - | public | 28 | - | - |
| DelegateRequisitionWkshRequest | (Record Requisition Line) | - | public | 28 | - | - |
| IsItemJournalBatchApprovalsWorkflowEnabled | (var Record Item Journal Batch) | Boolean | public | 28 | - | - |
| IsRequisitionWkshBatchApprovalsWorkflowEnabled | (var Record Requisition Wksh. Name) | Boolean | public | 28 | - | - |
| CheckItemJournalBatchApprovalsWorkflowEnabled | (var Record Item Journal Batch) | Boolean | public | 28 | - | - |
| CheckRequisitionWkshBatchApprovalsWorkflowEnabled | (var Record Requisition Wksh. Name) | Boolean | public | 28 | - | - |
| DeleteApprovalEntriesAfterDeleteItemJournalBatch | (var Record Item Journal Batch, Boolean) | - | public | 28 | - | - |
| PostApprovalEntriesMoveItemJournalBatch | (var Record Item Journal Batch, RecordId) | - | public | 28 | - | - |
| DeleteApprovalEntriesAfterDeleteRequisitionWkshName | (var Record Requisition Wksh. Name, Boolean) | - | public | 28 | - | - |
| TrySendJournalBatchApprovalRequest | (var Record Item Journal Line) | - | public | 28 | - | - |
| TryCancelJournalBatchApprovalRequest | (var Record Item Journal Line) | - | public | 28 | - | - |
| ShowJournalApprovalEntries | (var Record Item Journal Line) | - | public | 28 | - | - |
| TrySendWorksheetBatchApprovalRequest | (var Record Requisition Line) | - | public | 28 | - | - |
| TryCancelWorksheetBatchApprovalRequest | (var Record Requisition Line) | - | public | 28 | - | - |
| ShowWorksheetApprovalEntries | (var Record Requisition Line) | - | public | 28 | - | - |
| PreventModifyRecIfOpenApprovalEntryExist | (Variant) | - | internal | 28 | - | - |
| GetItemJnlBatchApprovalStatus | (Record Item Journal Line, var Text[20], Boolean) | - | public | 28 | - | - |
| GetRequisitionWkshBatchApprovalStatus | (Record Requisition Line, var Text[20], Boolean) | - | public | 28 | - | - |
| CleanItemJournalApprovalStatus | (Record Item Journal Line, var Text[20]) | - | internal | 28 | - | - |
| CleanRequisitionWkshApprovalStatus | (Record Requisition Line, var Text[20]) | - | internal | 28 | - | - |

## Events

| Kind | Name | Parameters | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- |
| Integration event | OnSendPurchaseDocForApproval | (var Record Purchase Header) | 17-28 | - | - |
| Integration event | OnSendSalesDocForApproval | (var Record Sales Header) | 17-28 | - | - |
| Integration event | OnSendIncomingDocForApproval | (var Record Incoming Document) | 17-28 | - | - |
| Integration event | OnCancelPurchaseApprovalRequest | (var Record Purchase Header) | 17-28 | - | - |
| Integration event | OnCancelSalesApprovalRequest | (var Record Sales Header) | 17-28 | - | - |
| Integration event | OnCancelIncomingDocApprovalRequest | (var Record Incoming Document) | 17-28 | - | - |
| Integration event | OnSendCustomerForApproval | (var Record Customer) | 17-28 | - | - |
| Integration event | OnSendVendorForApproval | (var Record Vendor) | 17-28 | - | - |
| Integration event | OnSendItemForApproval | (var Record Item) | 17-28 | - | - |
| Integration event | OnCancelCustomerApprovalRequest | (var Record Customer) | 17-28 | - | - |
| Integration event | OnCancelVendorApprovalRequest | (var Record Vendor) | 17-28 | - | - |
| Integration event | OnCancelItemApprovalRequest | (var Record Item) | 17-28 | - | - |
| Integration event | OnSendGeneralJournalBatchForApproval | (var Record Gen. Journal Batch) | 17-28 | - | - |
| Integration event | OnCancelGeneralJournalBatchApprovalRequest | (var Record Gen. Journal Batch) | 17-28 | - | - |
| Integration event | OnSendGeneralJournalLineForApproval | (var Record Gen. Journal Line) | 17-28 | - | - |
| Integration event | OnCancelGeneralJournalLineApprovalRequest | (var Record Gen. Journal Line) | 17-28 | - | - |
| Integration event | OnApproveApprovalRequest | (var Record Approval Entry) | 17-28 | - | - |
| Integration event | OnRejectApprovalRequest | (var Record Approval Entry) | 17-28 | - | - |
| Integration event | OnDelegateApprovalRequest | (var Record Approval Entry) | 17-28 | - | - |
| Integration event | OnRenameRecordInApprovalRequest | (RecordId, RecordId) | 17-28 | - | - |
| Integration event | OnDeleteRecordInApprovalRequest | (RecordId) | 17-28 | - | - |
| Integration event | OnPopulateApprovalEntryArgument | (var RecordRef, var Record Approval Entry, Record Workflow Step Instance) | 17-28 | - | - |
| Integration event | OnAfterCanCancelApprovalForRecord | (RecordId, var Boolean) | 17 | - | - |
| Integration event | OnAfterCheckSalesApprovalPossible | (var Record Sales Header) | 17-28 | - | - |
| Integration event | OnAfterCheckPurchaseApprovalPossible | (var Record Purchase Header) | 17-28 | - | - |
| Integration event | OnAfterCreateApprReqForApprTypeWorkflowUserGroup | (Record Workflow Step Argument, Record Approval Entry) | 17-28 | - | - |
| Integration event | OnAfterCreateApprReqForApprTypeSalespersPurchaser | (Record Workflow Step Argument, Record Approval Entry) | 17-28 | - | - |
| Integration event | OnAfterCreateApprReqForApprTypeApprover | (Record Workflow Step Argument, Record Approval Entry) | 17-28 | - | - |
| Integration event | OnAfterIsSufficientApprover | (Record User Setup, Record Approval Entry, var Boolean, var Boolean) | 17-28 | - | - |
| Integration event | OnAfterDelegateApprovalRequest | (var Record Approval Entry) | 17-28 | - | - |
| Integration event | OnAfterPopulateApprovalEntryArgument | (Record Workflow Step Instance, var Record Approval Entry, var Boolean) | 17 | - | - |
| Integration event | OnBeforeApprovalEntryInsert | (var Record Approval Entry, Record Approval Entry) | 17 | - | - |
| Integration event | OnBeforeCreateApprovalRequestForApproverChain | (Record Workflow Step Argument, Record Approval Entry, Boolean, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeDelegateApprovalRequests | (var Record Approval Entry, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeCheckUserAsApprovalAdministrator | (Record Approval Entry, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforePopulateApprovalEntryArgument | (Record Workflow Step Instance, var Record Approval Entry, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforePrePostApprovalCheckPurch | (var Record Purchase Header) | 17 | - | - |
| Integration event | OnBeforePrePostApprovalCheckSales | (var Record Sales Header) | 17 | - | - |
| Integration event | OnBeforeIsSufficientSalesApprover | (Record User Setup, Enum Sales Document Type, Decimal, var Boolean, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeIsSufficientPurchApprover | (Record User Setup, Enum Purchase Document Type, Decimal, var Boolean, var Boolean) | 17-18 | - | - |
| Integration event | OnBeforeSetCommonApprovalCommentLineFilters | (var RecordRef, var Record Approval Comment Line, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeShowCommonApprovalStatus | (var RecordRef, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeSubstituteUserIdForApprovalEntry | (var Record Approval Entry, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeRunApprovalCommentsPage | (var Record Approval Comment Line, Guid, var Boolean) | 17-28 | - | - |
| Integration event | OnCreateApprovalRequestForApproverOnAfterCheckUserSetupUserID | (var Record User Setup, Record Workflow Step Argument, Record Approval Entry) | 17-25 | - | - |
| Integration event | OnCreateApprovalRequestForApproverChainOnAfterCheckApprovalEntrySenderID | (var Record User Setup, Record Workflow Step Argument, Record Approval Entry) | 17 | - | - |
| Integration event | OnCreateApprovalRequestForApproverChainOnAfterCheckUserSetupSenderID | (var Record User Setup, Record Workflow Step Argument, Record Approval Entry) | 17-28 | - | - |
| Integration event | OnDelegateSelectedApprovalRequestOnBeforeSubstituteUserIdForApprovalEntry | (var Record Approval Entry, var Boolean) | 17-28 | - | - |
| Integration event | OnIsSufficientGenJournalLineApproverOnAfterRecRefSetTable | (Record User Setup, Record Approval Entry, Record Gen. Journal Line, var Boolean, var Boolean) | 17-28 | - | - |
| Integration event | OnPostApprovalEntriesOnBeforePostedApprovalEntryInsert | (var Record Posted Approval Entry, Record Approval Entry) | 17-28 | - | - |
| Integration event | OnPostApprovalCommentLinesOnBeforePostedApprovalCommentLineInsert | (var Record Posted Approval Comment Line, Record Approval Comment Line) | 17-28 | - | - |
| Integration event | OnSetStatusToPendingApproval | (RecordRef, var Variant, var Boolean) | 17-28 | - | - |
| Integration event | OnSubstituteUserIdForApprovalEntryOnAfterCheckUserSetupApprovalEntryApproverID | (var Record User Setup, Record Approval Entry) | 17-28 | - | - |
| Integration event | OnApproveApprovalRequestsForRecordOnAfterApprovalEntrySetFilters | (var Record Approval Entry) | 18-26 | - | - |
| Integration event | OnAfterCanCancelApprovalForRecord | (RecordId, var Boolean, var Record Approval Entry, Record User Setup) | 18-28 | - | - |
| Integration event | OnAfterCalcPurchaseDocAmount | (Record Purchase Header, Record Purchase Line, Record Purchase Line, var Decimal, var Decimal) | 18-28 | - | - |
| Integration event | OnAfterPopulateApprovalEntryArgument | (Record Workflow Step Instance, var Record Approval Entry, var Boolean, var RecordRef) | 18-28 | - | - |
| Integration event | OnAfterRejectSelectedApprovalRequest | (var Record Approval Entry) | 18-28 | - | - |
| Integration event | OnBeforeApprovalEntryInsert | (var Record Approval Entry, Record Approval Entry, Record Workflow Step Argument, Code[50], var Boolean) | 18-28 | - | - |
| Integration event | OnBeforeCheckPurchaseApprovalPossible | (Record Purchase Header, var Boolean, var Boolean) | 18-19 | - | - |
| Integration event | OnBeforeCreateApprovalRequests | (RecordRef, Record Workflow Step Instance, var Boolean) | 18-28 | - | - |
| Integration event | OnBeforeCreateApprovalEntryNotification | (Record Approval Entry, var Boolean) | 18-22 | - | - |
| Integration event | OnBeforePrePostApprovalCheckPurch | (var Record Purchase Header, var Boolean, var Boolean) | 18-28 | - | - |
| Integration event | OnBeforePrePostApprovalCheckSales | (var Record Sales Header, var Boolean) | 18-19 | - | - |
| Integration event | OnBeforeSetStatusToPendingApproval | (var Variant) | 18-28 | - | - |
| Integration event | OnBeforeSetApproverType | (Record Workflow Step Argument, var Record Approval Entry, var Boolean) | 18-28 | - | - |
| Integration event | OnBeforeShowPurchApprovalStatus | (var Record Purchase Header, var Boolean) | 18-28 | - | - |
| Integration event | OnBeforeShowSalesApprovalStatus | (var Record Sales Header, var Boolean) | 18-28 | - | - |
| Integration event | OnBeforeIsPurchaseApprovalsWorkflowEnabled | (var Record Purchase Header) | 18-21 | - | - |
| Integration event | OnBeforeRejectApprovalRequestsForRecord | (RecordRef, Record Workflow Step Instance, var Boolean) | 18-28 | - | - |
| Integration event | OnBeforeSendApprovalRequestFromApprovalEntry | (Record Approval Entry, Record Workflow Step Instance, var Boolean) | 18-28 | - | - |
| Integration event | OnCancelApprovalRequestsForRecordOnAfterCreateApprovalEntryNotification | (var Record Approval Entry, Record Workflow Step Instance, Enum Approval Status) | 18-28 | - | - |
| Integration event | OnCreateApprReqForApprTypeWorkflowUserGroupOnBeforeMakeApprovalEntry | (var Record Workflow User Group Member, Record Approval Entry, Record Workflow Step Argument, Code[50], var Boolean) | 18 | - | - |
| Integration event | OnCreateApprovalRequestForApproverChainOnAfterCheckApprovalEntrySenderID | (var Record User Setup, Record Workflow Step Argument, Record Approval Entry, var Boolean) | 18-28 | - | - |
| Integration event | OnBeforeDelegateSelectedApprovalRequest | (var Record Approval Entry, Boolean, var Boolean) | 18-19 | - | - |
| Integration event | OnFindOpenApprovalEntryForCurrUserOnAfterApprovalEntrySetFilters | (var Record Approval Entry) | 18-28 | - | - |
| Integration event | OnHasAnyOpenJournalLineApprovalEntriesOnAfterApprovalEntrySetFilters | (var Record Approval Entry) | 18-28 | - | - |
| Integration event | OnHasPendingApprovalEntriesForWorkflowOnAfterApprovalEntrySetFilters | (var Record Approval Entry) | 18-28 | - | - |
| Integration event | OnHasOpenApprovalEntriesOnAfterApprovalEntrySetFilters | (var Record Approval Entry) | 18-28 | - | - |
| Integration event | OnRejectApprovalRequestsForRecordOnAfterCreateApprovalEntryNotification | (var Record Approval Entry, Record Workflow Step Instance, Enum Approval Status) | 18-28 | - | - |
| Integration event | OnSubstituteUserIdForApprovalEntryOnBeforeAssignApproverID | (Record Approval Entry, var Record User Setup) | 18-28 | - | - |
| Integration event | OnAfterSetLimitType | (Record Workflow Step Argument, var Record Approval Entry) | 18-28 | - | - |
| Integration event | OnAfterSetApproverType | (Record Workflow Step Argument, var Record Approval Entry) | 18-28 | - | - |
| Integration event | OnBeforeCheckStatus | (var Record Approval Entry, Enum Approval Action, var Boolean) | 18-28 | - | - |
| Integration event | OnCreateApprovalRequestsOnElseCase | (Record Workflow Step Argument, var Record Approval Entry) | 18-28 | - | - |
| Integration event | OnCreateApprovalRequestsOnAfterCreateRequests | (RecordRef, Record Workflow Step Argument, var Record Approval Entry) | 18-28 | - | - |
| Integration event | OnApproveApprovalRequestsForRecordOnBeforeApprovalEntryToUpdateModify | (var Record Approval Entry) | 18-28 | - | - |
| Integration event | OnBeforeApproveSelectedApprovalRequest | (var Record Approval Entry, var Boolean) | 18-28 | - | - |
| Integration event | OnBeforeRejectApprovalRequests | (var Record Approval Entry, var Boolean) | 18-28 | - | - |
| Integration event | OnBeforeApproveApprovalRequests | (var Record Approval Entry, var Boolean) | 18-28 | - | - |
| Integration event | OnBeforeCreateApprovalRequestForUser | (Record Workflow Step Argument, Record Approval Entry, var Boolean) | 19-28 | - | - |
| Integration event | OnBeforeMakeApprovalEntry | (var Record Approval Entry, Record Approval Entry, Record Workflow Step Argument, Code[50], var Boolean) | 19-28 | - | - |
| Integration event | OnBeforeIsSufficientPurchApprover | (Record User Setup, Enum Purchase Document Type, var Decimal, var Boolean, var Boolean) | 19-28 | - | - |
| Integration event | OnCancelApprovalRequestsForRecordOnAfterSetApprovalEntryFilters | (var Record Approval Entry, RecordRef) | 19-28 | - | - |
| Integration event | OnCreateApprReqForApprTypeWorkflowUserGroupOnBeforeMakeApprovalEntry | (var Record Workflow User Group Member, Record Approval Entry, Record Workflow Step Argument, var Code[50], var Boolean) | 19-20 | - | - |
| Integration event | OnCreateApprovalRequestForApproverChainOnBeforeCheckApproverId | (var Record User Setup, Record Workflow Step Argument, Record Approval Entry, var Boolean) | 19-28 | - | - |
| Integration event | OnCreateApprovalRequestForApproverChainOnAfterSetApprovalEntryFilters | (var Record Approval Entry, Record Approval Entry) | 19-28 | - | - |
| Integration event | OnCheckPurchaseApprovalPossibleOnAfterCalcShowNothingToApproveError | (var Record Purchase Header, var Boolean) | 19-28 | - | - |
| Integration event | OnDeleteApprovalEntriesOnAfterApprovalEntrySetFilters | (var Record Approval Entry) | 19-28 | - | - |
| Integration event | OnGetLastSequenceNoOnAfterSetApprovalEntryFilters | (var Record Approval Entry, Record Approval Entry) | 19-28 | - | - |
| Integration event | OnRejectApprovalRequestsForRecordOnAfterSetApprovalEntryFilters | (var Record Approval Entry, RecordRef) | 19-26 | - | - |
| Integration event | OnSendApprovalRequestFromRecordOnAfterSetApprovalEntryFilters | (var Record Approval Entry, RecordRef, var Boolean) | 19-20 | - | - |
| Integration event | OnSendApprovalRequestFromApprovalEntryOnAfterSetApprovalEntry2Filters | (var Record Approval Entry, Record Approval Entry) | 19-28 | - | - |
| Integration event | OnShowApprovalCommentsOnAfterSetApprovalCommentLineFilters | (var Record Approval Comment Line, Record Approval Entry, RecordRef) | 19-28 | - | - |
| Integration event | OnAfterCheckCustomerApprovalsWorkflowEnabled | (var Record Customer, var Boolean) | 20-28 | - | - |
| Integration event | OnAfterFindUserSetupBySalesPurchCode | (var Record User Setup, Record Approval Entry) | 20-28 | - | - |
| Integration event | OnBeforeCheckPurchaseApprovalPossible | (var Record Purchase Header, var Boolean, var Boolean) | 20-28 | - | - |
| Integration event | OnBeforeCreateApprReqForApprTypeWorkflowUserGroup | (var Record Workflow User Group Member, Record Workflow Step Argument, Record Approval Entry, Integer, var Boolean) | 20-28 | - | - |
| Integration event | OnBeforeHasOpenApprovalEntries | (RecordId, var Boolean, var Boolean) | 20-28 | - | - |
| Integration event | OnBeforePrePostApprovalCheckSales | (var Record Sales Header, var Boolean, var Boolean) | 20-28 | - | - |
| Integration event | OnBeforeIsSufficientApprover | (var Record User Setup, Record Approval Entry) | 20-28 | - | - |
| Integration event | OnBeforeDelegateSelectedApprovalRequest | (var Record Approval Entry, var Boolean, var Boolean) | 20-28 | - | - |
| Integration event | OnRejectApprovalRequestsForRecordOnBeforeApprovalEntryToUpdateModify | (var Record Approval Entry) | 20-28 | - | - |
| Integration event | OnBeforeCheckSalesApprovalPossible | (var Record Sales Header, var Boolean, var Boolean) | 20-28 | - | - |
| Integration event | OnBeforeRunWorkflowEntriesPage | (RecordId, Integer, Enum Approval Document Type, Code[20], var Boolean) | 21-28 | - | - |
| Integration event | OnBeforeIsGeneralJournalBatchApprovalsWorkflowEnabled | (var Record Gen. Journal Batch, var Boolean, var Boolean) | 21-28 | - | - |
| Integration event | OnBeforeIsGeneralJournalLineApprovalsWorkflowEnabled | (var Record Gen. Journal Line, var Boolean, var Boolean) | 21-28 | - | - |
| Integration event | OnBeforeTrySendJournalLineApprovalRequests | (var Record Gen. Journal Line) | 21-28 | - | - |
| Integration event | OnCreateApprReqForApprTypeWorkflowUserGroupOnBeforeMakeApprovalEntry | (var Record Workflow User Group Member, var Record Approval Entry, Record Workflow Step Argument, var Code[50], var Boolean) | 21-28 | - | - |
| Integration event | OnSendApprovalRequestFromRecordOnAfterSetApprovalEntryFilters | (var Record Approval Entry, RecordRef, var Boolean, Record Workflow Step Instance) | 21-28 | - | - |
| Integration event | OnTrySendJournalLineApprovalRequestsOnBeforeLoopIteration | (var Record Gen. Journal Line) | 21-28 | - | - |
| Integration event | OnSendJobQueueEntryForApproval | (var Record Job Queue Entry) | 22-28 | - | - |
| Integration event | OnCancelJobQueueEntryApprovalRequest | (var Record Job Queue Entry) | 22-28 | - | - |
| Integration event | OnBeforeIsPurchaseApprovalsWorkflowEnabled | (var Record Purchase Header, var Boolean, var Boolean) | 22-28 | - | - |
| Integration event | OnBeforeFindUserSetupBySalesPurchCode | (var Record User Setup, Record Approval Entry, var Boolean) | 22-28 | - | - |
| Integration event | OnBeforeCreateApprovalRequestForSalespersPurchaser | (Record Workflow Step Argument, Record Approval Entry, var Boolean) | 22-28 | - | - |
| Integration event | OnBeforeCreateApprovalEntryNotification | (Record Approval Entry, var Boolean, Record Workflow Step Instance) | 23-28 | - | - |
| Integration event | OnHasOpenApprovalEntriesForCurrentUserOnAfterSetApprovalEntryFilters | (var Record Approval Entry) | 23-28 | - | - |
| Integration event | OnBeforeRejectSelectedApprovalRequest | (var Record Approval Entry, var Boolean) | 23-28 | - | - |
| Integration event | OnAfterDelegateSelectedApprovalRequest | (var Record Approval Entry) | 23-28 | - | - |
| Integration event | OnPostApprovalEntriesOnAfterApprovalEntrySetFilters | (var Record Approval Entry, Integer) | 23-28 | - | - |
| Integration event | OnPostApprovalCommentLinesOnAfterApprovalCommentLineSetFilters | (var Record Approval Comment Line, Integer) | 23-28 | - | - |
| Integration event | OnDeleteApprovalCommentLinesOnAfterApprovalCommentLineSetFilters | (var Record Approval Comment Line) | 23-28 | - | - |
| Integration event | OnHasOpenApprovalEntriesForCurrentUserOnAfterSetApprovalEntrySetFilters | (var Record Approval Entry) | 23-28 | - | - |
| Integration event | OnAfterCreateApprovalRequestForApproverChain | (var Record Approval Entry, var Code[50], var Record Workflow Step Argument, var Record User Setup, var Boolean) | 23-28 | - | - |
| Integration event | OnSendApprovalRequestFromRecordOnBeforeFindApprovedApprovalEntryForWorkflowUserGroup | (Record Approval Entry, var Boolean) | 23-28 | - | - |
| Integration event | OnAfterCreateApprovalEntryNotification | (var Record Approval Entry, var Record Workflow Step Argument) | 23-28 | - | - |
| Integration event | OnFindApprovalEntryForCurrUserOnAfterApprovalEntrySetFilters | (var Record Approval Entry) | 23-28 | - | - |
| Integration event | OnBeforeSendJournalLinesApprovalRequests | (var Record Gen. Journal Line) | 23-28 | - | - |
| Integration event | OnCalcPurchaseDocAmountOnAfterPurchPostGetPurchLines | (var Record Purchase Line) | 24-28 | - | - |
| Integration event | OnAfterCalcSalesDocAmount | (Record Sales Header, Record Sales Line, Record Sales Line, var Decimal, var Decimal) | 24-28 | - | - |
| Integration event | OnCreateApprovalRequestForApproverOnAfterCheckUserSetupUserID | (var Record User Setup, Record Workflow Step Argument, Record Approval Entry, var Boolean) | 26-28 | - | - |
| Integration event | OnApproveApprovalRequestsForRecordOnAfterApprovalEntrySetFilters | (var Record Approval Entry, Record Workflow Step Instance, RecordRef) | 27-28 | - | - |
| Integration event | OnRejectApprovalRequestsForRecordOnAfterSetApprovalEntryFilters | (var Record Approval Entry, Record Workflow Step Instance, RecordRef) | 27-28 | - | - |
| Integration event | OnPreventDeletingRecordWithOpenApprovalEntryElseCase | (RecordRef, Variant) | 27-28 | - | - |
| Integration event | OnPreventInsertRecIfOpenApprovalEntryExistElseCase | (RecordRef, Variant) | 27-28 | - | - |
| Integration event | OnFindOpenApprovalEntriesForWorkflowStepInstanceOnAfterSetApprovalEntry2Filters | (var Record Approval Entry, Record Approval Entry, RecordId) | 27-28 | - | - |
| Integration event | OnSendItemJournalBatchForApproval | (var Record Item Journal Batch) | 28 | - | - |
| Integration event | OnCancelItemJournalBatchApprovalRequest | (var Record Item Journal Batch) | 28 | - | - |
| Integration event | OnSendRequisitionWkshBatchForApproval | (var Record Requisition Wksh. Name) | 28 | - | - |
| Integration event | OnCancelRequisitionWkshBatchApprovalRequest | (var Record Requisition Wksh. Name) | 28 | - | - |
| Integration event | OnAfterCheckItemApprovalsWorkflowEnabled | (var Record Item, var Boolean) | 28 | - | - |
| Integration event | OnBeforeIsItemJournalBatchApprovalsWorkflowEnabled | (var Record Item Journal Batch, var Boolean, var Boolean) | 28 | - | - |
| Integration event | OnBeforeIsRequisitionWkshBatchApprovalsWorkflowEnabled | (var Record Requisition Wksh. Name, var Boolean, var Boolean) | 28 | - | - |
| Integration event | OnSufficientApproverElseCase | (Record User Setup, Record Approval Entry, var Boolean) | 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.
