---
title: "Codeunit 5805 Item Charge Assgnt. (Purch.)"
author: "Jonas Paprotka"
url: https://jonas-paprotka.de/ref/codeunit/5805-item-charge-assgnt-purch/
type: codeunit
id: 5805
name: "Item Charge Assgnt. (Purch.)"
app: "Base Application"
namespace: Microsoft.Purchases.Document
versions: "17-28"
build: 28.5.54151.54365
source: "https://jonas-paprotka.de/ref/codeunit/5805-item-charge-assgnt-purch/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 5805 Item Charge Assgnt. (Purch.)

Jonas Paprotka, https://jonas-paprotka.de/ref/codeunit/5805-item-charge-assgnt-purch/

| | |
| --- | --- |
| App | Base Application |
| Namespace | Microsoft.Purchases.Document |
| Versions | 17-28 |
| Source file | Purchases/Document/ItemChargeAssgntPurch.Codeunit.al |

## Procedures

| Name | Parameters | Returns | Access | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- | --- |
| InsertItemChargeAssignment | (Record Item Charge Assignment (Purch), Enum Purchase Applies-to Document Type, Code[20], Integer, Code[20], Text[100], var Integer) | - | public | 17-28 | - | - |
| InsertItemChargeAssignmentWithValues | (Record Item Charge Assignment (Purch), Enum Purchase Applies-to Document Type, Code[20], Integer, Code[20], Text[100], Decimal, Decimal, var Integer) | - | public | 17-28 | - | - |
| InsertItemChargeAssignmentWithValuesTo | (Record Item Charge Assignment (Purch), Enum Purchase Applies-to Document Type, Code[20], Integer, Code[20], Text[100], Decimal, Decimal, var Integer, var Record Item Charge Assignment (Purch)) | - | public | 17-28 | - | - |
| InsertItemChargeAssgnt | (Record Item Charge Assignment (Purch), Option, Code[20], Integer, Code[20], Text[100], var Integer) | - | public | 17-19 | Pending 17.0 | Replaced by InsertItemChargeAssignment() |
| InsertItemChargeAssgntWithAssignValues | (Record Item Charge Assignment (Purch), Option, Code[20], Integer, Code[20], Text[100], Decimal, Decimal, var Integer) | - | public | 17-19 | Pending 17.0 | Replaced by InsertItemChargeAssignmentWithValues() |
| InsertItemChargeAssgntWithAssignValuesTo | (Record Item Charge Assignment (Purch), Option, Code[20], Integer, Code[20], Text[100], Decimal, Decimal, var Integer, var Record Item Charge Assignment (Purch)) | - | public | 17-19 | Pending 17.0 | Replaced by InsertItemChargeAssignmentWithValuesTo() |
| Summarize | (var Record Item Charge Assignment (Purch), var Record Item Charge Assignment (Purch)) | - | public | 17-28 | - | - |
| CreateDocChargeAssgnt | (Record Item Charge Assignment (Purch), Code[20]) | - | public | 17-28 | - | - |
| CreateRcptChargeAssgnt | (var Record Purch. Rcpt. Line, Record Item Charge Assignment (Purch)) | - | public | 17-28 | - | - |
| CreateTransferRcptChargeAssgnt | (var Record Transfer Receipt Line, Record Item Charge Assignment (Purch)) | - | public | 17-28 | - | - |
| CreateShptChargeAssgnt | (var Record Return Shipment Line, Record Item Charge Assignment (Purch)) | - | public | 17-28 | - | - |
| CreateSalesShptChargeAssgnt | (var Record Sales Shipment Line, Record Item Charge Assignment (Purch)) | - | public | 17-28 | - | - |
| CreateReturnRcptChargeAssgnt | (var Record Return Receipt Line, Record Item Charge Assignment (Purch)) | - | public | 17-28 | - | - |
| SuggestAssgnt | (Record Purchase Line, Decimal, Decimal) | - | public | 17-28 | - | - |
| SuggestAssgnt2 | (Record Purchase Line, Decimal, Decimal, Option) | - | public | 17-23 | Pending 21.0 | Replaced by AssignItemCharges() |
| AssignItemCharges | (Record Purchase Line, Decimal, Decimal, Text) | - | public | 17-28 | - | - |
| AssignEquallyMenuText | () | Text | public | 17-28 | - | - |
| AssignByAmountMenuText | () | Text | public | 17-28 | - | - |
| AssignByWeightMenuText | () | Text | public | 17-28 | - | - |
| AssignByVolumeMenuText | () | Text | public | 17-28 | - | - |
| GetItemValues | (Record Item Charge Assignment (Purch), var Decimal) | - | public | 17-28 | - | - |
| SuggestAssgntFromLine | (var Record Item Charge Assignment (Purch)) | - | public | 17-28 | - | - |
| SuggestAssgnt | (Record Purchase Line, Decimal, Decimal, Decimal, Decimal) | - | public | 21-28 | - | - |
| AssignItemCharges | (Record Purchase Line, Decimal, Decimal, Integer) | - | public | 21-28 | - | - |
| AssignItemCharges | (Record Purchase Line, Decimal, Decimal, Decimal, Decimal, Text) | - | public | 21-28 | - | - |
| AssignPurchItemCharge | (var Record Item Charge Assignment (Purch), Record Item Charge Assignment (Purch), Record Currency, var Decimal, var Decimal) | - | public | 23-28 | - | - |
| ReverseItemChargeAssgnt | (Record Item Charge Assignment (Purch), Decimal) | - | public | 24-28 | - | - |

## Events

| Kind | Name | Parameters | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- |
| Integration event | OnAfterCreateDocChargeAssgnt | (var Record Item Charge Assignment (Purch), var Code[20]) | 17-28 | - | - |
| Integration event | OnAssignByWeightOnAfterCalcTotalGrossWeight | (var Record Item Charge Assignment (Purch), Decimal) | 17-18 | - | - |
| Integration event | OnAssignByWeightOnBeforeTempItemChargeAssgntPurchDelete | (var Record Item Charge Assignment (Purch), Decimal, Decimal) | 17 | - | - |
| Integration event | OnCreateDocChargeAssgntOnAfterFromPurchLineSetFilters | (var Record Item Charge Assignment (Purch), var Record Purchase Line) | 17-28 | - | - |
| Integration event | OnBeforeAssignItemCharges | (var Record Purchase Line, Decimal, Decimal, var Boolean) | 17-24 | - | - |
| Integration event | OnBeforeCreateDocChargeAssgn | (var Record Item Charge Assignment (Purch), var Record Purchase Line) | 17-23 | - | - |
| Integration event | OnBeforeCreateShptChargeAssgnt | (var Record Return Shipment Line, Record Item Charge Assignment (Purch), var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeCreateSalesShptChargeAssgnt | (var Record Sales Shipment Line, Record Item Charge Assignment (Purch), var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeCreateReturnRcptChargeAssgnt | (var Record Return Receipt Line, Record Item Charge Assignment (Purch), var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeInsertItemChargeAssgntWithAssignValues | (var Record Item Charge Assignment (Purch), Record Item Charge Assignment (Purch)) | 17-28 | - | - |
| Integration event | OnBeforeShowSuggestItemChargeAssignStrMenu | (Record Purchase Line, var Text, var Text, var Integer) | 17-28 | - | - |
| Integration event | OnAssignItemCharges | (Text, var Record Item Charge Assignment (Purch), Record Currency, Record Purchase Header, Decimal, Decimal, var Boolean) | 17-28 | - | - |
| Integration event | OnAssignEquallyOnAfterAmountToAssignCalculated | (var Record Item Charge Assignment (Purch)) | 17-28 | - | - |
| Integration event | OnAssignEquallyOnAfterItemChargeAssignmentPurchModify | (var Record Item Charge Assignment (Purch)) | 17-28 | - | - |
| Integration event | OnAssignEquallyOnBeforeItemChargeAssignmentPurchModify | (var Record Item Charge Assignment (Purch)) | 17-28 | - | - |
| Integration event | OnAssignByAmountOnAfterAmountToAssignCalculated | (var Record Item Charge Assignment (Purch), Record Item Charge Assignment (Purch)) | 17-28 | - | - |
| Integration event | OnAssignByAmountOnAfterItemChargeAssignmentPurchModify | (var Record Item Charge Assignment (Purch)) | 17-28 | - | - |
| Integration event | OnAssignByAmountOnBeforeItemChargeAssignmentPurchModify | (var Record Item Charge Assignment (Purch)) | 17-28 | - | - |
| Integration event | OnSuggestAssgntOnAfterItemChargeAssgntPurchSetFilters | (var Record Item Charge Assignment (Purch), Record Purchase Line, Decimal, Decimal, var Boolean) | 17-28 | - | - |
| Integration event | OnSuggestAssgntOnBeforeAssignItemCharges | (var Record Purchase Line, Record Item Charge Assignment (Purch)) | 17-28 | - | - |
| Integration event | OnAssignByAmountOnAfterAssignAppliesToDocLineAmount | (Record Item Charge Assignment (Purch), var Record Item Charge Assignment (Purch)) | 17-18 | - | - |
| Integration event | OnAssignByWeightOnBeforeTempItemChargeAssgntPurchDelete | (var Record Item Charge Assignment (Purch), Decimal, Decimal, Record Currency) | 18-28 | - | - |
| Integration event | OnBeforeGetPurchLineForItemChargeAssgntPurch | (var Record Purchase Line, var Record Item Charge Assignment (Purch), var Boolean) | 18-28 | - | - |
| Integration event | OnAfterGetItemValues | (var Record Item Charge Assignment (Purch), var Decimal) | 19-28 | - | - |
| Integration event | OnAssignByWeightOnAfterCalcTotalGrossWeight | (var Record Item Charge Assignment (Purch), Decimal, var Record Item Charge Assignment (Purch)) | 19-28 | - | - |
| Integration event | OnAssignByVolumeOnAfterCalcTotalUnitVolume | (var Record Item Charge Assignment (Purch), Decimal, var Record Item Charge Assignment (Purch)) | 19-28 | - | - |
| Integration event | OnBeforeGetItemValues | (var Record Item Charge Assignment (Purch), var Decimal, var Boolean) | 19-28 | - | - |
| Integration event | OnAssignByAmountOnAfterAssignAppliesToDocLineAmount | (Record Item Charge Assignment (Purch), var Record Item Charge Assignment (Purch), Record Purchase Header, Decimal, Decimal) | 19-28 | - | - |
| Integration event | OnBeforeAssignEqually | (var Record Item Charge Assignment (Purch), Record Currency, Decimal, Decimal, var Boolean) | 20-28 | - | - |
| Integration event | OnBeforeCreateRcptChargeAssgnt | (var Record Purch. Rcpt. Line, Record Item Charge Assignment (Purch), var Boolean) | 21-28 | - | - |
| Integration event | OnCreateSalesShptChargeAssgntOnBeforeInsertItemChargeAssignment | (var Record Sales Shipment Line, Record Item Charge Assignment (Purch), Integer, var Boolean) | 23-28 | - | - |
| Integration event | OnBeforeCreateDocChargeAssgn | (var Record Item Charge Assignment (Purch), var Record Purchase Line, Code[20], var Boolean) | 24-28 | - | - |
| Integration event | OnGetItemValuesOnAfterGetPurchLine | (Record Purchase Line, Record Item Charge Assignment (Purch), var Decimal) | 24-28 | - | - |
| Integration event | OnGetItemValuesOnAfterGetPurchRcptLine | (Record Purch. Rcpt. Line, Record Item Charge Assignment (Purch), var Decimal) | 24-28 | - | - |
| Integration event | OnGetItemValuesOnAfterGetReturnRcptLine | (Record Return Receipt Line, Record Item Charge Assignment (Purch), var Decimal) | 24-28 | - | - |
| Integration event | OnGetItemValuesOnAfterGetReturnShptLine | (Record Return Shipment Line, Record Item Charge Assignment (Purch), var Decimal) | 24-28 | - | - |
| Integration event | OnGetItemValuesOnAfterGetTransferRcptLine | (Record Transfer Receipt Line, Record Item Charge Assignment (Purch), var Decimal) | 24-28 | - | - |
| Integration event | OnGetItemValuesOnAfterGetSalesShptLine | (Record Sales Shipment Line, Record Item Charge Assignment (Purch), var Decimal) | 24-28 | - | - |
| Integration event | OnBeforeCheckFromPurchRcptLineWorkCenter | (Record Purch. Rcpt. Line, var Boolean) | 24-28 | - | - |
| Integration event | OnBeforeAssignItemCharges | (var Record Purchase Line, Decimal, Decimal, var Boolean, Decimal, Decimal, Text) | 25-28 | - | - |
| Integration event | OnBeforeSuggestAssgnt | (var Record Purchase Line, var Record Item Charge Assignment (Purch), Decimal, Decimal, Decimal, Decimal, var Integer, var Text, var Text, var Text, var Boolean) | 25-28 | - | - |
| Integration event | OnBeforeInsertItemChargeAssignmentWithValuesTo | (var Record Item Charge Assignment (Purch), var Record Item Charge Assignment (Purch), var Enum Purchase Applies-to Document Type, var Code[20], var Integer, var Code[20], var Text[100], var Integer, var Decimal, var Decimal, var Boolean) | 27-28 | - | - |
| Integration event | OnAssignPurchItemChargeOnBeforeItemChargeAssignmentPurchModify | (var Record Item Charge Assignment (Purch)) | 27-28 | - | - |
| Integration event | OnSuggestAssgntFromLineOnBeforeItemChargeAssignmentPurchModify | (var Record Item Charge Assignment (Purch)) | 27-28 | - | - |
| Integration event | OnAssignItemChargesFromLineOnAfterItemChargeAssignmentModifyAll | (Record Purchase Line, var Record Item Charge Assignment (Purch)) | 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.
