---
title: "Codeunit 6087 Serv. Price Calc. Mgt."
author: "Jonas Paprotka"
url: https://jonas-paprotka.de/ref/codeunit/6087-serv-price-calc-mgt/
type: codeunit
id: 6087
name: "Serv. Price Calc. Mgt."
app: "Base Application"
namespace: Microsoft.Sales.Pricing
versions: "28"
build: 28.5.54151.54365
source: "https://jonas-paprotka.de/ref/codeunit/6087-serv-price-calc-mgt/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 6087 Serv. Price Calc. Mgt.

Jonas Paprotka, https://jonas-paprotka.de/ref/codeunit/6087-serv-price-calc-mgt/

| | |
| --- | --- |
| App | Base Application |
| Namespace | Microsoft.Sales.Pricing |
| Versions | 28 |
| Source file | Service/Pricing/ServPriceCalcMgt.Codeunit.al |

## Procedures

| Name | Parameters | Returns | Access | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- | --- |
| FindServLinePrice | (Record Service Header, var Record Service Line, Integer) | - | public | 28 | - | - |
| FindServLineDisc | (Record Service Header, var Record Service Line) | - | public | 28 | - | - |
| CalcBestUnitPrice | (var Record Sales Price) | - | public | 28 | - | - |
| CalcBestLineDisc | (var Record Sales Line Discount) | - | public | 28 | - | - |
| FindSalesPrice | (var Record Sales Price, Code[20], Code[20], Code[10], Code[20], Code[20], Code[10], Code[10], Code[10], Date, Boolean) | - | public | 28 | - | - |
| FindSalesLineDisc | (var Record Sales Line Discount, Code[20], Code[20], Code[20], Code[20], Code[20], Code[20], Code[10], Code[10], Code[10], Date, Boolean) | - | public | 28 | - | - |
| FindResUnitCost | (var Record Service Line) | - | public | 28 | - | - |
| CopySalesPrice | (var Record Sales Price) | - | public | 28 | - | - |
| SetItem | (Code[20]) | - | public | 28 | - | - |
| SetResPrice | (Code[20], Code[10], Code[10]) | - | public | 28 | - | - |
| SetCurrency | (Code[10], Decimal, Date) | - | public | 28 | - | - |
| SetVAT | (Boolean, Decimal, Enum Tax Calculation Type, Code[20]) | - | public | 28 | - | - |
| SetUoM | (Decimal, Decimal) | - | public | 28 | - | - |
| SetLineDisc | (Decimal, Boolean, Boolean) | - | public | 28 | - | - |
| ConvertPriceToVAT | (Boolean, Code[20], Code[20], var Decimal) | - | public | 28 | - | - |
| ConvertPriceLCYToFCY | (Code[10], var Decimal) | - | public | 28 | - | - |
| GetServLinePrice | (Record Service Header, var Record Service Line) | - | public | 28 | - | - |
| GetServLineLineDisc | (Record Service Header, var Record Service Line) | - | public | 28 | - | - |
| ServLinePriceExists | (Record Service Header, var Record Service Line, Boolean) | Boolean | public | 28 | - | - |
| ServLineLineDiscExists | (Record Service Header, var Record Service Line, Boolean) | Boolean | public | 28 | - | - |
| ServHeaderExchDate | (Record Service Header) | Date | public | 28 | - | - |
| ServHeaderStartDate | (Record Service Header, var Text) | Date | public | 28 | - | - |
| NoOfServLinePrice | (Record Service Header, var Record Service Line, Boolean) | Integer | public | 28 | - | - |
| NoOfServLineLineDisc | (Record Service Header, var Record Service Line, Boolean) | Integer | public | 28 | - | - |
| FindResPrice | (var Record Res. Journal Line) | - | public | 28 | - | - |

## Events

| Kind | Name | Parameters | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- |
| Integration event | OnAfterCalcBestUnitPrice | (var Record Sales Price, var Record Sales Price) | 28 | - | - |
| Integration event | OnAfterCalcBestUnitPriceAsItemUnitPrice | (var Record Sales Price, var Record Item) | 28 | - | - |
| Integration event | OnAfterCalcLineAmount | (Record Sales Price, var Decimal, var Decimal) | 28 | - | - |
| Integration event | OnAfterFindSalesPrice | (var Record Sales Price, var Record Sales Price, Decimal, Decimal, Code[20], Code[20], Code[10], Code[20], Code[20], Code[10], Code[10], Code[10], Date, Boolean) | 28 | - | - |
| Integration event | OnAfterFindSalesLineDisc | (var Record Sales Line Discount, Code[20], Code[20], Code[20], Code[20], Code[20], Code[20], Code[10], Code[10], Code[10], Date, Boolean) | 28 | - | - |
| Integration event | OnFindSalesLineDiscOnAfterCopyItemDiscGroup | (var Record Sales Line Discount, var Record Sales Line Discount) | 28 | - | - |
| Integration event | OnBeforeCopySalesDiscToSalesDisc | (var Record Sales Line Discount, var Record Sales Line Discount, var Boolean) | 28 | - | - |
| Integration event | OnAfterFindServLinePrice | (var Record Service Line, var Record Service Header, var Record Sales Price, var Record Resource Price, var Record Service Cost, Integer) | 28 | - | - |
| Integration event | OnAfterFindServLineResPrice | (var Record Service Line, var Record Resource Price, var Boolean, Integer, var Boolean) | 28 | - | - |
| Integration event | OnAfterFindServLineDisc | (var Record Service Line, var Record Service Header, var Record Sales Line Discount) | 28 | - | - |
| Integration event | OnAfterServLinePriceExists | (var Record Service Line) | 28 | - | - |
| Integration event | OnAfterServLineLineDiscExists | (var Record Service Line) | 28 | - | - |
| Integration event | OnBeforeCalcBestLineDisc | (var Record Sales Line Discount, Record Item, var Boolean, Decimal, Decimal) | 28 | - | - |
| Integration event | OnBeforeCalcBestUnitPrice | (var Record Sales Price, var Boolean) | 28 | - | - |
| Integration event | OnBeforeConvertPriceToVAT | (var Record VAT Posting Setup, var Decimal, var Boolean) | 28 | - | - |
| Integration event | OnBeforeCopySalesPriceToSalesPrice | (var Record Sales Price, var Record Sales Price, var Boolean) | 28 | - | - |
| Integration event | OnBeforeFindSalesPrice | (var Record Sales Price, var Record Sales Price, var Decimal, var Decimal, var Code[20], var Code[20], var Code[10], var Code[20], var Code[20], var Code[10], var Code[10], var Code[10], var Date, var Boolean) | 28 | - | - |
| Integration event | OnBeforeFindSalesLineDisc | (var Record Sales Line Discount, var Code[20], Code[20], var Code[20], var Code[20], var Code[20], var Code[20], var Code[10], var Code[10], var Code[10], var Date, var Boolean) | 28 | - | - |
| Integration event | OnBeforeFindServLinePrice | (var Record Service Line, Record Service Header, Integer, var Boolean) | 28 | - | - |
| Integration event | OnBeforeFindServLineDisc | (var Record Service Header, var Record Service Line, var Boolean) | 28 | - | - |
| Integration event | OnBeforeGetServLinePrice | (Record Service Header, var Record Service Line, var Boolean) | 28 | - | - |
| Integration event | OnBeforeGetServLineDisc | (var Record Service Header, var Record Service Line, var Boolean) | 28 | - | - |
| Integration event | OnBeforeNoOfServLineLineDisc | (var Record Service Header, var Record Service Line, Boolean, var Integer, var Boolean) | 28 | - | - |
| Integration event | OnBeforeNoOfServLinePrice | (var Record Service Header, var Record Service Line, Boolean, var Integer, var Boolean) | 28 | - | - |
| Integration event | OnBeforeServLinePriceExists | (var Record Service Line, var Record Service Header, var Record Sales Price, Boolean, var Boolean) | 28 | - | - |
| Integration event | OnBeforeServLineLineDiscExists | (var Record Service Line, var Record Service Header, var Record Sales Line Discount, Boolean, var Boolean) | 28 | - | - |
| Integration event | OnFindSalesLineDiscOnAfterSetFilters | (var Record Sales Line Discount) | 28 | - | - |
| Integration event | OnBeforeCalcBestUnitPriceConvertPrice | (var Record Sales Price, var Boolean, Record Item) | 28 | - | - |
| Integration event | OnCalcBestUnitPriceOnBeforeCalcBestUnitPriceConvertPrice | (var Record Sales Price, Decimal, var Boolean, var Record Item) | 28 | - | - |
| Integration event | OnSetResPriceOnAfterInit | (var Record Resource Price) | 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.
