---
id: object/table/20500
type: object
title: Table 20500 "Subcontractor Price"
summary: Table 20500 "Subcontractor Price" in Subcontracting (Microsoft.Manufacturing.Subcontracting). 12 fields, 4 public procedures. Introduced in BC29, still in BC30.
tier: official
language: en
tags:
  - table
  - 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: d1a9be9c9ddc1f65b0aef09474556fbfce795fe210d674611e4cab1070d34f39
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Apps/W1/Subcontracting/app/src/Purchase/SubcontractorPrice.Table.al
    title: src/Apps/W1/Subcontracting/app/src/Purchase/SubcontractorPrice.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/10635
    - change/bcapps/9892
object_type: table
object_id: 20500
name: Subcontractor Price
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: 12
  procedures: 4
  events: 0
  subscribers: 0
relations:
  out: 9
  referenced_by: 0
  pages: 1
  extended_by: 0
  event_subscribers: 0
  calls: 0
  called_by: 0
  implements: 0
---

# Table 20500 "Subcontractor Price"

> Table 20500 "Subcontractor Price" in Subcontracting (Microsoft.Manufacturing.Subcontracting). 12 fields, 4 public procedures. 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/Purchase/SubcontractorPrice.Table.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| Caption | Subcontractor Price |
| DataClassification | CustomerContent |
| LookupPageId | Subcontractor Prices |
| DrillDownPageId | Subcontractor Prices |

## Fields

Explanation: the field's ToolTip in the code; without one, the ToolTip of a page control bound to the field (marked via the page); without that, its Caption (marked caption) when that differs from the name.

| No. | Name | Type | Explanation | Notes |
|---|---|---|---|---|
| 1 | Vendor No. | Code[20] | Specifies the number of the vendor who offers the line subcontractor price on the item. <small>via [Page 20500 "Subcontractor Prices"](../page/20500.md)</small> | TableRelation [Table 23 "Vendor"](../table/23.md); NotBlank |
| 2 | Item No. | Code[20] | Specifies the number of the Item that the subcontractor price applies to. <small>via [Page 20500 "Subcontractor Prices"](../page/20500.md)</small> | TableRelation [Table 27 "Item"](../table/27.md); NotBlank |
| 3 | Work Center No. | Code[20] | Specifies the number of the work center that the subcontractor price applies to. <small>via [Page 20500 "Subcontractor Prices"](../page/20500.md)</small> | TableRelation [Table 99000754 "Work Center"](../table/99000754.md) ("Work Center"."No." where("Subcontractor No." = filter(<> ''))); NotBlank |
| 4 | Variant Code | Code[10] | Specifies the variant of the item on the line. <small>via [Page 20500 "Subcontractor Prices"](../page/20500.md)</small> | TableRelation [Table 5401 "Item Variant"](../table/5401.md) ("Item Variant".Code where("Item No." = field("Item No."))) |
| 5 | Standard Task Code | Code[10] | Specifies the code of the standard task that the subcontractor price applies to. <small>via [Page 20500 "Subcontractor Prices"](../page/20500.md)</small> | TableRelation [Table 99000778 "Standard Task"](../table/99000778.md) (Standard Task) |
| 6 | Starting Date | Date | Specifies the date from which the subcontractor price is valid. <small>via [Page 20500 "Subcontractor Prices"](../page/20500.md)</small> |  |
| 7 | Unit of Measure Code | Code[10] | Specifies how each unit of the item is measured, such as in pieces or hours. By default, the value in the Base Unit of Measure field on the item card is inserted. <small>via [Page 20500 "Subcontractor Prices"](../page/20500.md)</small> | TableRelation [Table 5404 "Item Unit of Measure"](../table/5404.md) ("Item Unit of Measure".Code where("Item No." = field("Item No."))) |
| 8 | Minimum Quantity | Decimal | Specifies the minimum quantity of the item that you must buy from the vendor in order to get the subcontractor price. <small>via [Page 20500 "Subcontractor Prices"](../page/20500.md)</small> |  |
| 9 | Currency Code | Code[10] | Specifies the currency code of the subcontractor price. <small>via [Page 20500 "Subcontractor Prices"](../page/20500.md)</small> | TableRelation [Table 4 "Currency"](../table/4.md) |
| 10 | Direct Unit Cost | Decimal | Specifies the cost of one unit of the selected item. <small>via [Page 20500 "Subcontractor Prices"](../page/20500.md)</small> |  |
| 20 | Minimum Amount | Decimal | Specifies the minimum amount, in money, of the item that you must buy from the vendor in order to get the subcontractor price. <small>via [Page 20500 "Subcontractor Prices"](../page/20500.md)</small> |  |
| 30 | Ending Date | Date | Specifies the date to which the subcontractor price is valid. <small>via [Page 20500 "Subcontractor Prices"](../page/20500.md)</small> |  |

## Keys

- PK: Vendor No., Item No., Work Center No., Variant Code, Standard Task Code, Starting Date, Unit of Measure Code, Minimum Quantity, Currency Code (clustered)
- Key01: Vendor No., Item No., Starting Date, Currency Code, Unit of Measure Code, Minimum Quantity
- Key02: Vendor No., Item No., Work Center No., Variant Code, Unit of Measure Code, Currency Code
- Key03: Work Center No.
- Key04: Item No.

## Procedures

- `CopySubcontractorPriceToVendorsSubcontractorPrice(var SubcontractorPrice: Record "Subcontractor Price"; VendNo: Code[20]; WorkCenterNo: Code[20])`
- `DeletePricesForVendor(VendorNo: Code[20])` (internal)
- `DeletePricesForWorkCenter(WorkCenterNo: Code[20])` (internal)
- `DeletePricesForItem(ItemNo: Code[20])` (internal)

## Triggers

OnInsert, OnRename

## Relations

- drill-down page [Page 20500 "Subcontractor Prices"](../page/20500.md)
- lookup page [Page 20500 "Subcontractor Prices"](../page/20500.md)
- Vendor No.: TableRelation [Table 23 "Vendor"](../table/23.md)
- Item No.: TableRelation [Table 27 "Item"](../table/27.md)
- Currency Code: TableRelation [Table 4 "Currency"](../table/4.md)
- Variant Code: TableRelation [Table 5401 "Item Variant"](../table/5401.md)
- Unit of Measure Code: TableRelation [Table 5404 "Item Unit of Measure"](../table/5404.md)
- Work Center No.: TableRelation [Table 99000754 "Work Center"](../table/99000754.md)
- Standard Task Code: TableRelation [Table 99000778 "Standard Task"](../table/99000778.md)

## Pages and codeunits on this table

- [Page 20500 "Subcontractor Prices"](../page/20500.md) (source table)

## Recent changes

- 2026-09-01 [#10635 [Subcontracting] (Bug: 638998) Add extensibility to Subcontracting app for IT partner migration](../../changes/bcapps/10635.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: "table", object_name: "Subcontractor Price")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
