---
id: object/codeunit/20551
type: object
title: Codeunit 20551 "Subc. WhsePostReceipt Ext"
summary: Codeunit 20551 "Subc. WhsePostReceipt Ext" in Subcontracting (Microsoft.Manufacturing.Subcontracting). 4 public procedures, 13 event subscribers. Introduced in BC29, still in BC30.
tier: official
language: en
tags:
  - codeunit
  - subcontracting
versions:
  introduced: "29"
  last_changed: null
  deprecated: null
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-11T00:31:51.816Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: 0c0a9af9094e56c78a4d99553c11681a2898bf06e904198e5133e376703974ba
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Apps/W1/Subcontracting/app/src/Warehouse/SubcWhsePostReceiptExt.Codeunit.al
    title: src/Apps/W1/Subcontracting/app/src/Warehouse/SubcWhsePostReceiptExt.Codeunit.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/10277
    - change/bcapps/9892
object_type: codeunit
object_id: 20551
name: Subc. WhsePostReceipt Ext
namespace: Microsoft.Manufacturing.Subcontracting
app: Subcontracting
extends: null
first_version: "29"
last_version: "30"
present_in:
  - "29"
  - "30"
changed_in: []
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 0
  procedures: 19
  events: 0
  subscribers: 13
relations:
  out: 0
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 0
  calls: 0
  called_by: 0
  implements: 0
---

# Codeunit 20551 "Subc. WhsePostReceipt Ext"

> Codeunit 20551 "Subc. WhsePostReceipt Ext" in Subcontracting (Microsoft.Manufacturing.Subcontracting). 4 public procedures, 13 event subscribers. Introduced in BC29, still in BC30.

Subcontracting · Microsoft.Manufacturing.Subcontracting · BC29-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Apps/W1/Subcontracting/app/src/Warehouse/SubcWhsePostReceiptExt.Codeunit.al) · facts from BC29

## Event subscriptions

- CheckOverDeliveryOnBeforeOpenItemTrackingLines subscribes to Table "Warehouse Receipt Line" OnBeforeOpenItemTrackingLines
- OnAfterTransRcptLineModify subscribes to Codeunit "TransferOrder-Post Receipt" OnAfterTransRcptLineModify
- CalculateSubcontractingLastOperationQuantity_OnAfterGetQuantityRelatedParameter subscribes to Codeunit "Purchases Warehouse Mgt." OnAfterGetQuantityRelatedParameter
- SetSubcPurchaseLineTypeOnReceiptLine_OnPurchLine2ReceiptLineOnAfterInitNewLine subscribes to Codeunit "Purchases Warehouse Mgt." OnPurchLine2ReceiptLineOnAfterInitNewLine
- CheckOutstandingBaseQtyForSubcontracting_OnBeforeCheckIfPurchLine2ReceiptLine subscribes to Codeunit "Purchases Warehouse Mgt." OnBeforeCheckIfPurchLine2ReceiptLine
- CreateWhseRequestForInventoriableItem_OnReleaseOnBeforeCreateWhseRequest subscribes to Codeunit "Whse.-Purch. Release" OnReleaseOnBeforeCreateWhseRequest
- SuppressQtyPerUoMTestfieldForSubcontracting_OnBeforeCalcBaseQty subscribes to Table "Warehouse Receipt Line" OnBeforeCalcBaseQty
- SkipValidateQtyBalancedForSubcontracting_OnValidateQtyToReceiveOnBeforeUOMMgtValidateQtyIsBalanced subscribes to Table "Warehouse Receipt Line" OnValidateQtyToReceiveOnBeforeUOMMgtValidateQtyIsBalanced
- SkipPostWhseJnlLineForSubcontracting_OnBeforePostWhseJnlLine subscribes to Codeunit "Whse.-Post Receipt" OnBeforePostWhseJnlLine
- SkipReceiptWarehouseJournalForSubcontracting_OnPostWhseJnlLineOnAfterInsertWhseItemEntryRelation subscribes to Codeunit "Whse.-Post Receipt" OnPostWhseJnlLineOnAfterInsertWhseItemEntryRelation
- OpenItemTrackingForSubcontracting_OnBeforeOpenItemTrackingLineForPurchLine subscribes to Table "Warehouse Receipt Line" OnBeforeOpenItemTrackingLineForPurchLine
- SkipPutAwayForSubcontracting_OnCreatePostedRcptLineOnBeforePutAwayProcessing subscribes to Codeunit "Whse.-Post Receipt" OnCreatePostedRcptLineOnBeforePutAwayProcessing
- SkipPutAwayCreationForSubcontracting_OnBeforeCreatePutAwayLine subscribes to Codeunit "Whse.-Post Receipt" OnBeforeCreatePutAwayLine

## Procedures

- `ShowProductionOrder(OverDeliveryErrorInfo: ErrorInfo)` (internal): Opens the Production Order linked to the subcontracting purchase line in order for the user to review the details of the Production Order, such as the remaining quantity on the Production Order Line, before deciding whether to adjust the quantity on the Production Order Line or open the item trackin...
- `AdjustProdOrderLineQuantity(OverDeliveryErrorInfo: ErrorInfo)` (internal): Adjusts the Quantity of of the Production Order Line to at least match the quantity on the Warehouse Receipt Line, so that the user can then open the item tracking lines for the Production Order Line from the Warehouse Receipt Line. This action is added to an error message that is thrown when the us...
- `OpenItemTrackingWithoutAdjustment(OverDeliveryErrorInfo: ErrorInfo)` (internal): Opens the item tracking lines for the Production Order Line without adjusting the quantity, even if the quantity on the Warehouse Receipt Line is greater than the remaining quantity on the linked Production Order Line.
- `GetWarehouseReceiptLineSystemIdCustomDimensionLbl(): Text`: Retrieves the value of WarehouseReceiptLineSystemIdCustomDimensionTok, which is the name of the custom dimension used to store the SystemId of the Warehouse Receipt Line in the error info when there is a quantity mismatch.

Plus 2 local procedures.

## Recent changes

- 2026-08-20 [#10277 Slice 554749: Inventory put-away/pick support for subcontracting purchase lines and WIP item transfers](../../changes/bcapps/10277.md) (main, BC30, feature)
- 2026-08-18 [#9892 [main] Bug 644283: Renumber Subcontracting app object ids as it clashes with partner range](../../changes/bcapps/9892.md) (main, BC30, refactor)

## Across versions

- Present in: BC29-30
- Changed (declaration) in: none

Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).

## Ask your agent

Procedure bodies are not stored here (D10). For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: `bcatlas_resolve_node(object_type: "codeunit", object_name: "Subc. WhsePostReceipt Ext")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
