---
title: "Codeunit 5940 ServContractManagement"
author: "Jonas Paprotka"
url: https://jonas-paprotka.de/ref/codeunit/5940-servcontractmanagement/
type: codeunit
id: 5940
name: "ServContractManagement"
app: "Base Application"
namespace: Microsoft.Service.Contract
versions: "17-28"
build: 28.5.54151.54365
source: "https://jonas-paprotka.de/ref/codeunit/5940-servcontractmanagement/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 5940 ServContractManagement

Jonas Paprotka, https://jonas-paprotka.de/ref/codeunit/5940-servcontractmanagement/

| | |
| --- | --- |
| App | Base Application |
| Namespace | Microsoft.Service.Contract |
| Versions | 17-28 |
| Source file | Service/Contract/ServContractManagement.Codeunit.al |

## Procedures

| Name | Parameters | Returns | Access | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- | --- |
| CreateInvoice | (Record Service Contract Header) | Code[20] | public | 17-28 | - | - |
| CreateServiceLedgerEntry | (Record Service Header, Integer, Code[20], Date, Date, Boolean, Boolean, Integer) | Integer | public | 17-21 | Pending 19.0 | Replaced by CreateServiceLedgEntry() |
| CreateServHeader | (Record Service Contract Header, Date, Boolean) | Code[20] | public | 17-28 | - | - |
| CreateServLine | (Record Service Header, Integer, Code[20], Date, Date, Integer, Boolean) | - | public | 17-21 | Pending 19.0 | Replaced by CreateServiceLine() |
| CreateDetailedServLine | (Record Service Header, Record Service Contract Line, Integer, Code[20]) | - | public | 17-21 | Pending 19.0 | Replaced by CreateDetailedServiceLine() |
| CreateContractLineCreditMemo | (var Record Service Contract Line, Boolean) | Code[20] | public | 17-28 | - | - |
| CheckContractGroupAccounts | (Record Service Contract Header) | - | public | 17-28 | - | - |
| FindFirstPrepaidTransaction | (Code[20]) | Date | public | 17-28 | - | - |
| GetNextInvoicePeriod | (Record Service Contract Header, var Date, var Date) | - | public | 17-28 | - | - |
| NoOfDayInYear | (Date) | Integer | public | 17-28 | - | - |
| NoOfMonthsAndDaysInPeriod | (Date, Date, var Integer, var Integer) | - | public | 17-28 | - | - |
| NoOfMonthsAndMPartsInPeriod | (Date, Date) | Decimal | public | 17-28 | - | - |
| CalcContractAmount | (Record Service Contract Header, Date, Date) | Decimal | public | 17-28 | - | - |
| CalcContractLineAmount | (Decimal, Date, Date) | Decimal | public | 17-28 | - | - |
| CreateRemainingPeriodInvoice | (var Record Service Contract Header) | Code[20] | public | 17-28 | - | - |
| InitCodeUnit | () | - | public | 17-28 | - | - |
| FinishCodeunit | () | - | public | 17-28 | - | - |
| CopyCheckSCDimToTempSCDim | (Record Service Contract Header) | - | public | 17-28 | - | - |
| CreateAllServLines | (Code[20], Record Service Contract Header) | - | public | 17-28 | - | - |
| CheckIfServiceExist | (Record Service Contract Header) | Boolean | public | 17-28 | - | - |
| GetAffectedItemsOnCustChange | (Code[20], var Record Service Contract Header, var Record Service Item, Boolean, Integer) | - | public | 17-21 | Pending 19.0 | Relaced by GetAffectedItemsOnContractChange() |
| ChangeCustNoOnServContract | (Code[20], Code[10], Record Service Contract Header) | - | public | 17-28 | - | - |
| ChangeCustNoOnServItem | (Code[20], Code[10], Record Service Item) | - | public | 17-28 | - | - |
| CreateHeadingServLine | (Record Service Header, Integer, Code[20]) | - | public | 17-21 | Pending 19.0 | Replaced by CreateHeadingServiceLine() |
| LookupServItemNo | (var Record Service Contract Line) | - | public | 17-28 | - | - |
| YearContract | (Integer, Code[20]) | Boolean | public | 17-21 | Pending 19.0 | Replaced by IsYearContract |
| CheckMultipleCurrenciesForCustomers | (var Record Service Contract Header) | - | public | 17-28 | - | - |
| GetInvoicePeriodText | (Enum Service Contract Header Invoice Period) | Text[4] | public | 17-28 | - | - |
| CreateServiceLedgEntry | (Record Service Header, Enum Service Contract Type, Code[20], Date, Date, Boolean, Boolean, Integer) | Integer | public | 19-28 | - | - |
| UpdateServLedgEntryAmounts | (var Record Service Contract Line, var Record Currency, var Decimal, Date, Date) | - | public | 19-28 | - | - |
| CalcServLedgEntryDiscountPct | (var Record Service Ledger Entry) | - | public | 19-28 | - | - |
| CreateServiceLine | (Record Service Header, Enum Service Contract Type, Code[20], Date, Date, Integer, Boolean) | - | public | 19-28 | - | - |
| CreateDetailedServiceLine | (Record Service Header, Record Service Contract Line, Enum Service Contract Type, Code[20]) | - | public | 19-28 | - | - |
| CreateLastServLines | (Record Service Header, Integer, Code[20]) | - | public | 19-21 | Pending 19.0 | CreateLastServiceLines |
| CreateLastServiceLines | (Record Service Header, Enum Service Contract Type, Code[20]) | - | public | 19-28 | - | - |
| GetAffectedItemsOnContractChange | (Code[20], var Record Service Contract Header, var Record Service Item, Boolean, Enum Service Contract Type) | - | public | 19-28 | - | - |
| CreateHeadingServiceLine | (Record Service Header, Enum Service Contract Type, Code[20]) | - | public | 19-28 | - | - |
| AmountToFCY | (Decimal, var Record Service Header) | Decimal | public | 19-28 | - | - |
| IsYearContract | (Enum Service Contract Type, Code[20]) | Boolean | public | 19-28 | - | - |
| CheckServiceContractHeaderAmts | (Record Service Contract Header) | - | public | 19-28 | - | - |
| SetServiceLedgerEntryUnitCost | (var Record Service Ledger Entry) | - | public | 19-28 | - | - |
| InitServLedgEntry | (var Record Service Ledger Entry, Record Service Contract Header, Code[20]) | - | public | 19-28 | - | - |
| FilterServContractLine | (var Record Service Contract Line, Code[20], Option, Integer) | - | public | 19-21 | Pending 19.0 | Replaced by FilterServiceContractLine() |
| FilterServiceContractLine | (var Record Service Contract Line, Code[20], Enum Service Contract Type, Integer) | - | public | 19-28 | - | - |
| UpdateServLedgEntryAmount | (var Record Service Ledger Entry, var Record Service Header) | - | public | 19-28 | - | - |
| CalcInvoicedToDate | (var Record Service Contract Line, Date, Date) | - | public | 19-28 | - | - |
| SetServLedgEntryAmounts | (var Record Service Ledger Entry, var Decimal, Decimal, Decimal, Decimal, Decimal, Decimal) | - | public | 19-28 | - | - |
| CalcInvAmounts | (var Decimal, Record Service Contract Line, Date, Date) | - | public | 19-28 | - | - |
| InsertMultipleServLedgEntries | (var Integer, var Date, var Decimal, var Decimal, var Record Service Header, Date, Date, Boolean, Integer, Record Service Contract Line, Decimal) | - | public | 19-28 | - | - |
| CheckCustomerCurrencyCombination | (var Record Service Contract Header) | - | public | 23-28 | - | - |
| CheckServiceItemBlockedForServiceContract | (var Record Service Contract Line) | - | internal | 24-28 | - | - |
| CheckServiceItemBlockedForAll | (var Record Service Contract Line) | - | internal | 24-28 | - | - |
| CheckItemServiceBlocked | (var Record Service Contract Line) | - | internal | 24-28 | - | - |

## Events

| Kind | Name | Parameters | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- |
| Integration event | OnAfterCalcContractLineAmount | (Decimal, Date, Date, var Decimal) | 17-28 | - | - |
| Integration event | OnAfterCreateInvoice | (var Record Service Contract Header, Date) | 17-28 | - | - |
| Integration event | OnAfterCreateInvoiceSetPostingDate | (Record Service Contract Header, Date, Date, var Date) | 17-28 | - | - |
| Integration event | OnAfterCreateServHeader | (var Record Service Header, Record Service Contract Header) | 17-28 | - | - |
| Integration event | OnAfterInsertServiceHeader | (var Record Service Header, var Record Service Contract Header) | 17-28 | - | - |
| Integration event | OnBeforeCreateServLineForNewContract | (var Record Service Header, Record Service Contract Header, var Integer) | 17-28 | - | - |
| Integration event | OnBeforeInsertDescriptionServiceLine | (var Record Service Line, Text[100], var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeInsertMultipleServLedgEntries | (var Record Service Ledger Entry, Record Service Contract Line) | 17-28 | - | - |
| Integration event | OnBeforeServContractHeaderModify | (var Record Service Contract Header) | 17-28 | - | - |
| Integration event | OnBeforeLastServLineModify | (var Record Service Line) | 17-28 | - | - |
| Integration event | OnBeforeServHeaderModify | (var Record Service Header, Record Service Contract Header) | 17-28 | - | - |
| Integration event | OnBeforeServLineInsert | (var Record Service Line, Record Service Header, Record Service Contract Header) | 17-28 | - | - |
| Integration event | OnCreateDetailedServLineOnBeforeServLineInsertFirstLine | (var Record Service Line, var Record Service Contract Header) | 17-28 | - | - |
| Integration event | OnCreateDetailedServLineOnBeforeServLineInsertNewContract | (var Record Service Line, var Record Service Contract Header) | 17-28 | - | - |
| Integration event | OnCreateDetailedServLineOnBeforeCreateDescriptionServiceLines | (Record Service Contract Header, var Record Service Contract Line, Record Service Header) | 17-28 | - | - |
| Integration event | OnCreateHeadingServLineOnBeforeServLineInsert | (var Record Service Line, Record Service Contract Header, Record Service Header) | 17-28 | - | - |
| Integration event | OnCreateOrGetCreditHeaderOnBeforeInitSeries | (var Record Service Header, Record Service Mgt. Setup) | 17-19 | - | - |
| Integration event | OnCreateServHeaderOnBeforeInitSeries | (var Record Service Header, var Record Service Mgt. Setup, Record Service Contract Header) | 17-19 | - | - |
| Integration event | OnBeforeCreateContractLineCreditMemo | (var Record Service Contract Line, Boolean) | 17-28 | - | - |
| Integration event | OnBeforeCreateInvoice | (var Record Service Contract Header) | 17-28 | - | - |
| Integration event | OnBeforeCreateRemainingPeriodInvoice | (var Record Service Contract Header) | 17-28 | - | - |
| Integration event | OnBeforeCreateLastServLines | (Record Service Header, Integer, Code[20], var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeCalcContractAmount | (var Record Service Contract Header, Date, Date) | 17-18 | - | - |
| Integration event | OnBeforeInsertServiceHeader | (var Record Service Header, var Record Service Contract Header) | 17-28 | - | - |
| Integration event | OnCreateServiceLedgerEntryOnBeforeServLedgEntryInsert | (var Record Service Ledger Entry, Record Service Contract Header, Record Service Contract Line) | 17-28 | - | - |
| Integration event | OnCreateServiceLedgerEntryBeforeCountLineInvFrom | (var Record Service Ledger Entry, Record Service Contract Line) | 17-28 | - | - |
| Integration event | OnInsertMultipleServLedgEntriesOnBeforeServLedgEntryInsert | (var Record Service Ledger Entry, Record Service Contract Header, Record Service Contract Line, var Decimal, var Boolean) | 17-22 | - | - |
| Integration event | OnCreateContractLineCreditMemoOnBeforeCalcCreditAmount | (var Date, Record Service Contract Header, Record Service Contract Line) | 17-28 | - | - |
| Integration event | OnAfterCreateContractLineCreditMemo | (var Record Service Contract Line, Code[20]) | 17-28 | - | - |
| Integration event | OnAfterFilterServContractLine | (var Record Service Contract Line, Code[20], Option) | 17-28 | - | - |
| Integration event | OnAfterFinishCodeunit | (Record Service Register) | 17-28 | - | - |
| Integration event | OnBeforeNoOfMonthsAndMPartsInPeriod | (Date, Date, var Boolean, var Decimal, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeCopyCheckSCDimToTempSCDim | (var Record Service Contract Header) | 17-28 | - | - |
| Integration event | OnBeforePostPartialServLedgEntry | (var Record Service Ledger Entry, Record Service Contract Line) | 17-28 | - | - |
| Integration event | OnBeforeServLedgEntryToServiceLine | (var Record Service Line, var Record Service Line, Record Service Header, Record Service Ledger Entry, var Boolean, Record Service Ledger Entry) | 17 | - | - |
| Integration event | OnServLedgEntryToServiceLineOnBeforeServLineInsert | (var Record Service Line, Record Service Line, Record Service Line, Record Service Header, Record Service Ledger Entry, Record Service Ledger Entry, var Boolean, Date, Date) | 17-28 | - | - |
| Integration event | OnCreateContractLineCreditMemoOnAfterCreateAllCreditLines | (Record Service Contract Header, Record Service Contract Line, Code[20]) | 17-28 | - | - |
| Integration event | OnAfterCreateOrGetCreditHeader | (var Record Service Header, Record Service Contract Header) | 17-28 | - | - |
| Integration event | OnCreateRemainingPeriodInvoiceOnAfterServContractLineSetFilters | (var Record Service Contract Line, Record Service Contract Header) | 17-28 | - | - |
| Integration event | OnCreateAllServLinesOnAfterServContractLineSetFilters | (var Record Service Contract Line, Record Service Contract Header) | 17-28 | - | - |
| Integration event | OnCreateAllCreditLinesCaseElse | (Record Service Contract Header, var Integer) | 17-28 | - | - |
| Integration event | OnCreateAllCreditLinesOnAfterDetermineOldWDate | (Record Service Contract Header, Integer, Integer, Date, var Date) | 17-28 | - | - |
| Integration event | OnCreateDetailedServLineOnAfterSetFirstLineAndNewContract | (var Boolean, var Boolean, Record Service Contract Header) | 17-28 | - | - |
| Integration event | OnCreateInvoiceOnBeforeCreateAllServLines | (var Record Service Contract Header, Date, Date, var Decimal, var Date, Boolean, Code[20]) | 17-28 | - | - |
| Integration event | OnLookupServItemNoOnBeforeFilterByCustomerNo | (var Record Service Item, var Record Service Contract Line, var Boolean) | 17-28 | - | - |
| Integration event | OnPostPartialServLedgEntryOnBeforeServLedgEntryInsert | (var Record Service Ledger Entry, Record Service Contract Line) | 17-22 | - | - |
| Integration event | OnAfterCreateRemainingPeriodInvoice | (var Record Service Contract Header) | 17-28 | - | - |
| Integration event | OnBeforeSetSalespersonCode | (Code[20], var Code[20], var Boolean) | 17-28 | - | - |
| Integration event | OnCreateServiceLedgerEntryOnBeforeLoopPeriods | (Record Service Contract Header, Record Service Contract Line, Date, var Date, var Text) | 17 | - | - |
| Integration event | OnAfterCreateAllServLines | (Record Service Contract Header, var Record Service Contract Line) | 18 | - | - |
| Integration event | OnBeforeCalcInvAmounts | (var Decimal, var Record Service Contract Line, Date, Date, var Boolean) | 18-28 | - | - |
| Integration event | OnBeforeChangeCustNoOnServItem | (var Record Service Item, Code[20]) | 18-20 | - | - |
| Integration event | OnBeforeInitServiceLineAppliedGLAccount | (var Record Service Line, Code[20], var Boolean) | 18-28 | - | - |
| Integration event | OnBeforeUpdateServLedgEntryAmounts | (var Record Service Contract Line, var Record Service Ledger Entry, Decimal, Date, Date, var Boolean) | 18 | - | - |
| Integration event | OnCreateOrGetCreditHeaderOnBeforeCalcCurrencyFactor | (Record Service Header, var Record Currency Exchange Rate) | 18-28 | - | - |
| Integration event | OnCreateServHeaderOnBeforeCalcCurrencyFactor | (Record Service Header, var Record Currency Exchange Rate) | 18-28 | - | - |
| Integration event | OnBeforeConfirmCreateServiceInvoiceForPeriod | (var Record Service Contract Header, Date, Date, var Boolean, var Boolean) | 18-28 | - | - |
| Integration event | OnBeforeServLedgEntryToServiceLine | (var Record Service Line, var Record Service Line, Record Service Header, Record Service Ledger Entry, var Boolean, Record Service Ledger Entry, Date, Date) | 18-28 | - | - |
| Integration event | OnInsertDescriptionServiceLineOnBeforeServiceLineInsert | (var Record Service Line) | 18-28 | - | - |
| Integration event | OnCreateAllServLinesOnAfterCreateDetailedServLine | (Record Service Contract Header, Record Service Header, Record Service Contract Line) | 18-28 | - | - |
| Integration event | OnCreateAllServLinesOnAfterCreateServiceLedgerEntry | (var Record Service Contract Line, var Integer) | 18-24 | Pending 22.0 | Removed code that caused issues with Service Invoice calculation. |
| Integration event | OnCreateAllServLinesOnBeforeServContractLineLoop | (var Date, Record Service Contract Line, Record Service Contract Header) | 18-28 | - | - |
| Integration event | OnCreateServiceLedgerEntryOnAfterInitServLedgEntry | (var Record Service Ledger Entry, var Record Service Contract Header, Integer, Code[20], Integer) | 18-28 | - | - |
| Integration event | OnCreateServiceLedgerEntryOnBeforeCheckServContractLineStartingDate | (Record Service Contract Header, var Integer) | 18-28 | - | - |
| Integration event | OnCreateServiceLedgerEntryOnBeforeLoopPeriods | (Record Service Contract Header, Record Service Contract Line, var Date, var Date, var Text) | 18-28 | - | - |
| Integration event | OnCreateServiceLedgerEntryOnBeforeInsertMultipleServLedgEntries | (var Date, Record Service Contract Header, Record Service Contract Line) | 18 | - | - |
| Integration event | OnAfterCreateAllServLines | (Record Service Contract Header, var Record Service Contract Line, var Record Service Header) | 19-28 | - | - |
| Integration event | OnBeforeCheckContractGroupAccounts | (Record Service Contract Header, var Boolean) | 19-28 | - | - |
| Integration event | OnBeforeUpdateServLedgEntryAmounts | (var Record Service Contract Line, var Record Service Ledger Entry, var Decimal, Date, Date, var Boolean) | 19-28 | - | - |
| Integration event | OnCalcContractAmountOnAfterServContractLineSetFilters | (var Record Service Contract Line, var Record Service Contract Header, Date, Date) | 19-28 | - | - |
| Integration event | OnBeforeCalcContractAmount | (var Record Service Contract Header, Date, Date, var Decimal, var Boolean) | 19-28 | - | - |
| Integration event | OnCreateServiceLedgerEntryOnBeforeInsertMultipleServLedgEntries | (var Date, Record Service Contract Header, Record Service Contract Line, var Integer, var Date, var Date, var Boolean, var Integer) | 19-28 | - | - |
| Integration event | OnGetInvoicePeriodTextOnCaseElse | (Enum Service Contract Header Invoice Period, var Text[4]) | 19-28 | - | - |
| Integration event | OnAfterProcessShiptoCodeChange | (var Record Service Contract Header) | 20 | - | - |
| Integration event | OnBeforeCreateDetailedServiceLine | (Record Service Header, var Boolean, Enum Service Contract Type, Code[20]) | 20-28 | - | - |
| Integration event | OnBeforeCreateHeadingServiceLine | (Record Service Header, var Boolean, Enum Service Contract Type, Code[20]) | 20-28 | - | - |
| Integration event | OnCreateOrGetCreditHeaderOnBeforeInitSeries | (var Record Service Header, Record Service Mgt. Setup, var Boolean) | 20 | - | - |
| Integration event | OnCreateServHeaderOnBeforeInitSeries | (var Record Service Header, var Record Service Mgt. Setup, Record Service Contract Header, var Boolean) | 20-28 | - | - |
| Integration event | OnBeforeCalcServLedgEntryDiscountPct | (var Record Service Ledger Entry, var Boolean) | 20-28 | - | - |
| Integration event | OnBeforeCreateRemainingPeriodInvoiceServiceLines | (var Record Service Contract Header, var Record Service Header, Date, Date, var Integer, var Boolean) | 20-28 | - | - |
| Integration event | OnBeforeFindLinePeriodStartsByInvoicedToDate | (Record Service Contract Line, Date, var Date, var Boolean) | 20-28 | - | - |
| Integration event | OnCreateAllServLinesOnAfterCalcShouldCraeteServiceApplyEntry | (var Record Service Header, Record Service Contract Header, var Record Service Contract Line, var Date, var Date, var Integer, var Boolean) | 20-28 | - | - |
| Integration event | OnCreateAllServLinesOnBeforeCreateLastServiceLines | (var Record Service Contract Header, var Record Service Line) | 20-28 | - | - |
| Integration event | OnLookupServItemNoOnAfterServItemSetFilters | (var Record Service Item, Record Service Contract Line) | 20-28 | - | - |
| Integration event | OnBeforeUpdateApplyUntilEntryNoInServLedgEntry | (Record Service Contract Header, Boolean, Integer, Integer, Integer, var Boolean) | 20-28 | - | - |
| Integration event | OnCreateServiceLedgEntryOnPrepaidOnAfterServContractLineSetFilters | (var Record Service Contract Line, Boolean) | 20-28 | - | - |
| Integration event | OnCreateServiceLedgEntryOnNotPrepaidOnAfterServContractLineSetFilters | (var Record Service Contract Line, Record Service Contract Header, Boolean) | 20-28 | - | - |
| Integration event | OnCreateServiceLedgEntryOnPrepaidOnBeforeCalcInvAmounts | (var Record Service Contract Line, var Record Service Ledger Entry) | 20-28 | - | - |
| Integration event | OnCreateServiceLedgEntryOnAfterWDateLoop | (var Record Service Contract Header, var Date) | 20-28 | - | - |
| Integration event | OnCreateDescriptionServiceLinesOnAfterCalcServLineDescription | (var Text, var Code[20], var Text[100], var Code[50]) | 20-28 | - | - |
| Integration event | OnAfterCreateDetailedServiceLine | (Record Service Header, Record Service Contract Line, Boolean, Record Service Contract Header, var Integer) | 21-28 | - | - |
| Integration event | OnAfterProcessShiptoCodeChange | (var Record Service Contract Header, Code[10]) | 21-28 | - | - |
| Integration event | OnBeforeCreateDescriptionServiceLines | (Code[20], Text[100], Code[50], var Boolean) | 21-28 | - | - |
| Integration event | OnBeforeCreateServiceLine | (Record Service Header, Enum Service Contract Type, Code[20], Date, Date, Integer, Boolean, var Boolean) | 21-28 | - | - |
| Integration event | OnBeforeChangeCustNoOnServItem | (var Record Service Item, Code[20], var Boolean) | 21-28 | - | - |
| Integration event | OnCreateOrGetCreditHeaderOnBeforeInitSeries | (var Record Service Header, Record Service Mgt. Setup, var Boolean, Record Service Contract Header) | 21-28 | - | - |
| Integration event | OnCreateServHeaderOnAfterCopyFromCustomer | (var Record Service Header, Record Service Contract Header, Record Customer) | 21-28 | - | - |
| Integration event | OnGetAffectedItemsOnContractChangeOnAfterServContractLineSetFilters | (var Record Service Contract Line) | 22-28 | - | - |
| Integration event | OnGetAffectedItemsOnContractChangeOnAfterTempServItemGetOrInsert | (var Boolean, var Record Service Contract Line, var Record Service Contract Header, var Record Service Item) | 22-28 | - | - |
| Integration event | OnChangeCustNoOnServContractOnAfterGetCust | (Record Customer, var Record Service Contract Header) | 22 | - | - |
| Integration event | OnAfterChangeCustNoOnServItem | (var Record Service Item) | 22-28 | - | - |
| Integration event | OnCreateServHeaderOnBeforeCheckBlockedCustOnDocs | (var Record Service Header, Record Service Contract Header, var Boolean) | 22-28 | - | - |
| Integration event | OnBeforeCheckDimValuePosting | (Record Service Contract Header, Integer, var Boolean) | 22-28 | - | - |
| Integration event | OnBeforeCheckMultipleCurrenciesForCustomers | (var Record Service Contract Header, var Boolean) | 22-28 | - | - |
| Integration event | OnCreateCreditLineOnBeforeServLineHeadingInsert | (var Record Service Line, Record Service Header, Record Service Contract Header) | 22-28 | - | - |
| Integration event | OnCreateOrGetCreditHeaderOnBeforeCheckBlockedCustOnDocs | (var Record Service Header, Record Service Contract Header, var Boolean) | 22-28 | - | - |
| Integration event | OnAfterInitServLedgEntry | (var Record Service Ledger Entry, Record Service Contract Header) | 22-28 | - | - |
| Integration event | OnInsertMultipleServLedgEntriesOnBeforeServLedgEntryInsert | (var Record Service Ledger Entry, Record Service Contract Header, Record Service Contract Line, var Decimal, var Boolean, Record Service Header) | 23-28 | - | - |
| Integration event | OnPostPartialServLedgEntryOnBeforeServLedgEntryInsert | (var Record Service Ledger Entry, Record Service Contract Line, Record Service Header) | 23-28 | - | - |
| Integration event | OnChangeCustNoOnServContractOnAfterGetCust | (Record Customer, var Record Service Contract Header, var Codeunit Cust-Check Cr. Limit, var Boolean) | 23-27 | Pending 25.0 | Replaced by event OnChangeCustNoOnServContractOnAfterGetCustomer |
| Integration event | OnCreateServiceLedgEntryOnBeforeCalcCurrencyAmountRoundingPrecision | (Record Service Contract Header, var Record Service Ledger Entry, var Decimal, var Decimal, Option, Record Currency, Record Service Header, var Boolean) | 23-28 | - | - |
| Integration event | OnCreateServiceLedgEntryOnAfterSetDiscountAmount | (Record Service Contract Header, var Record Service Ledger Entry, var Decimal, var Decimal, Option, Record Currency, Record Service Header) | 23-28 | - | - |
| Integration event | OnCreateCreditLineOnBeforeCreateDim | (var Record Service Line, var Boolean) | 23-28 | - | - |
| Integration event | OnCreateAllServLinesOnAfterCreateServiceLine | (var Record Service Contract Line, Record Service Header, Date, Date) | 23-28 | - | - |
| Integration event | OnGetAffectedItemsOnContractChangeOnBeforeOnFindServContractLine2 | (var Record Service Contract Line) | 23-28 | - | - |
| Integration event | OnServLedgEntryToServiceLineOnBeforeDimSet | (var Record Service Line, Record Service Ledger Entry, Record Service Header, var Boolean) | 23-28 | - | - |
| Integration event | OnCreateOrGetCreditHeaderOnAfterCopyFromCustomer | (var Record Service Header, Record Service Contract Header, Record Customer) | 24-28 | - | - |
| Integration event | OnChangeCustNoOnServContractOnAfterGetCustomer | (Record Customer, var Record Service Contract Header, var Codeunit Serv. Check Credit Limit, var Boolean) | 25-28 | - | - |
| Integration event | OnAfterInitCodeUnit | (var Record Service Register) | 25-28 | - | - |
| Integration event | OnFillTempServiceLedgerEntriesOAfterCalcDoInsertTempServiceLedgerEntry | (Record Service Ledger Entry, var Boolean) | 25-28 | - | - |
| Integration event | OnInsertMultipleServLedgEntriesOnUpdateDateFieldsBeforeCalcNonDistrAmount | (var Date, var Date, Integer) | 25-28 | - | - |
| Integration event | OnInsertMultipleServLedgEntriesOnBeforeUpdatePaymentsCount | (Boolean, var Integer, var Integer, var Boolean) | 25-28 | - | - |
| Integration event | OnInsertMultipleServLedgEntriesOnBeforeSetServLedgEntryAmounts | (var Record Service Ledger Entry, var Decimal, Decimal, Integer, Integer, Integer, Decimal, Date, var Boolean) | 25-28 | - | - |
| Integration event | OnInsertMultipleServLedgEntriesOnAfterSetDueDate | (Integer, var Date, Record Service Ledger Entry, Integer, Decimal, var Decimal, var Record Service Header, Decimal) | 25-28 | - | - |
| Integration event | OnBeforeCheckCustomer | (var Boolean, var Boolean) | 26-28 | - | - |
| Integration event | OnCreateServiceLineOnBeforeServLedgEntryToServiceLine | (var Record Service Header, var Record Service Contract Header, var Record Service Ledger Entry, var Date, var Date) | 26-28 | - | - |
| Integration event | OnCreateServiceLineOnAfterServLedgEntryToServiceLine | (Record Service Header, Date, Date) | 26-28 | - | - |
| Integration event | OnBeforeCheckServiceItemBlockedForAll | (var Record Service Contract Line, var Boolean) | 28 | - | - |
| Integration event | OnBeforeCheckItemServiceBlocked | (var Record Service Contract Line, 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.
