---
id: object/table/113
type: object
title: Table 113 "Sales Invoice Line"
summary: Table 113 "Sales Invoice Line" in Base Application (Microsoft.Sales.History). 100 fields, 26 public procedures, 9 events. Present since at least BC23, still in BC30, changed in BC24, BC26-28.
tier: official
language: en
tags:
  - table
  - base application
versions:
  introduced: null
  last_changed: "28"
  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: 5232ae1e20053facfe4c57b4e4b61106c99aac3c565bf987fadeb4bd5292d652
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Sales/History/SalesInvoiceLine.Table.al
    title: src/Layers/W1/BaseApp/Sales/History/SalesInvoiceLine.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations:
    - localization/au
    - localization/ca
    - localization/ch
    - localization/es
    - localization/fi
    - localization/gb
    - localization/it
    - localization/mx
    - localization/no
    - localization/nz
    - localization/ru
    - localization/se
    - localization/us
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/9947
object_type: table
object_id: 113
name: Sales Invoice Line
namespace: Microsoft.Sales.History
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "24"
  - "26"
  - "27"
  - "28"
source_major: "29"
obsolete: null
countries:
  - au
  - ca
  - ch
  - es
  - fi
  - gb
  - it
  - mx
  - "no"
  - nz
  - ru
  - se
  - us
ms_search_form_ids: []
counts:
  fields: 100
  procedures: 38
  events: 9
  subscribers: 0
relations:
  out: 50
  referenced_by: 5
  pages: 3
  extended_by: 6
  event_subscribers: 3
  calls: 6
  called_by: 0
  implements: 0
---

# Table 113 "Sales Invoice Line"

> Table 113 "Sales Invoice Line" in Base Application (Microsoft.Sales.History). 100 fields, 26 public procedures, 9 events. Present since at least BC23, still in BC30, changed in BC24, BC26-28.

Base Application · Microsoft.Sales.History · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Sales/History/SalesInvoiceLine.Table.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| Caption | Sales Invoice Line |
| DataClassification | CustomerContent |
| Permissions | TableData "Item Ledger Entry" = r, TableData "Value Entry" = r |

## 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 |
|---|---|---|---|---|
| 2 | Sell-to Customer No. | Code[20] | Specifies the number of the customer. | TableRelation [Table 18 "Customer"](../table/18.md); not editable |
| 3 | Document No. | Code[20] | Specifies the document number. | TableRelation [Table 112 "Sales Invoice Header"](../table/112.md) (Sales Invoice Header) |
| 4 | Line No. | Integer | — |  |
| 5 | Type | Enum "Sales Line Type" | Specifies the line type. | enum [Enum 37 "Sales Line Type"](../enum/37.md) |
| 6 | No. | Code[20] | Specifies the number of the involved entry or record, according to the specified number series. | TableRelation [Table 15 "G/L Account"](../table/15.md), [Table 156 "Resource"](../table/156.md), [Table 27 "Item"](../table/27.md) (if (Type = const("G/L Account")) "G/L Account" else if (Type = const(Item)) Item else if (Type = const(Resource)) Resource else if (Type = const("Fixed Asset")) "Fixed Asset" else if (Type = const("Charge (Item)")) "Item Charge") |
| 7 | Location Code | Code[10] | Specifies the location in which the invoice line was registered. | TableRelation [Table 14 "Location"](../table/14.md) (Location where("Use As In-Transit" = const(false))) |
| 8 | Posting Group | Code[20] | — | TableRelation [Table 5606 "FA Posting Group"](../table/5606.md), [Table 94 "Inventory Posting Group"](../table/94.md) (if (Type = const(Item)) "Inventory Posting Group" else if (Type = const("Fixed Asset")) "FA Posting Group"); not editable |
| 10 | Shipment Date | Date | Specifies when items on the document are shipped or were shipped. A shipment date is usually calculated from a requested delivery date plus lead time. |  |
| 11 | Description | Text[100] | Specifies the name of the item or general ledger account, or some descriptive text. |  |
| 12 | Description 2 | Text[50] | Specifies information in addition to the description. |  |
| 13 | Unit of Measure | Text[50] | Specifies the name of the item or resource's unit of measure, such as piece or hour. |  |
| 15 | Quantity | Decimal | Specifies the number of units of the item specified on the line. |  |
| 22 | Unit Price | Decimal | Specifies the price of one unit of the item or resource. You can enter a price manually or have it entered according to the Price/Profit Calculation field on the related card. |  |
| 23 | Unit Cost (LCY) | Decimal | Specifies the cost, in LCY, of one unit of the item or resource on the line. <small>via [Page 526 "Posted Sales Invoice Lines"](../page/526.md)</small> |  |
| 25 | VAT % | Decimal | Specifies the VAT %. | not editable |
| 27 | Line Discount % | Decimal | Specifies the discount percentage that is granted for the item on the line. |  |
| 28 | Line Discount Amount | Decimal | Specifies the discount amount that is granted for the item on the line. |  |
| 29 | Amount | Decimal | Specifies the line's net amount. |  |
| 30 | Amount Including VAT | Decimal | Specifies the net amount, including VAT, for this line. |  |
| 32 | Allow Invoice Disc. | Boolean | Specifies if the invoice line is included when the invoice discount is calculated. |  |
| 34 | Gross Weight | Decimal | Specifies the gross weight of one unit of the item. In the sales statistics window, the gross weight on the line is included in the total gross weight of all the lines for the particular sales document. |  |
| 35 | Net Weight | Decimal | Specifies the net weight of one unit of the item. In the sales statistics window, the net weight on the line is included in the total net weight of all the lines for the particular sales document. |  |
| 36 | Units per Parcel | Decimal | Specifies the number of units per parcel of the item. In the sales statistics window, the number of units per parcel on the line helps to determine the total number of units for all the lines for the particular sales document. |  |
| 37 | Unit Volume | Decimal | Specifies the volume of one unit of the item. In the sales statistics window, the volume of one unit of the item on the line is included in the total volume of all the lines for the particular sales document. |  |
| 38 | Appl.-to Item Entry | Integer | Specifies the number of the item ledger entry that the document or journal line is applied to. |  |
| 40 | Shortcut Dimension 1 Code | Code[20] | Specifies the code for Shortcut Dimension 1, which is one of two global dimension codes that you set up in the General Ledger Setup window. | TableRelation [Table 349 "Dimension Value"](../table/349.md) ("Dimension Value".Code where("Global Dimension No." = const(1))) |
| 41 | Shortcut Dimension 2 Code | Code[20] | Specifies the code for Shortcut Dimension 2, which is one of two global dimension codes that you set up in the General Ledger Setup window. | TableRelation [Table 349 "Dimension Value"](../table/349.md) ("Dimension Value".Code where("Global Dimension No." = const(2))) |
| 42 | Customer Price Group | Code[10] | — | TableRelation [Table 6 "Customer Price Group"](../table/6.md) (Customer Price Group) |
| 45 | Job No. | Code[20] | Specifies the number of the related project. | TableRelation [Table 167 "Job"](../table/167.md) |
| 52 | Work Type Code | Code[10] | — | TableRelation [Table 200 "Work Type"](../table/200.md) (Work Type) |
| 63 | Shipment No. | Code[20] | — | not editable |
| 64 | Shipment Line No. | Integer | — | not editable |
| 65 | Order No. | Code[20] | Specifies the order number this line is associated with. |  |
| 66 | Order Line No. | Integer | — |  |
| 68 | Bill-to Customer No. | Code[20] | Specifies the number of the customer that you send or sent the invoice or credit memo to. | TableRelation [Table 18 "Customer"](../table/18.md); not editable |
| 69 | Inv. Discount Amount | Decimal | Specifies the total calculated invoice discount amount for the line. |  |
| 73 | Drop Shipment | Boolean | — |  |
| 74 | Gen. Bus. Posting Group | Code[20] | Specifies the vendor's or customer's trade type to link transactions made for this business partner with the appropriate general ledger account according to the general posting setup. | TableRelation [Table 250 "Gen. Business Posting Group"](../table/250.md) (Gen. Business Posting Group) |
| 75 | Gen. Prod. Posting Group | Code[20] | Specifies the item's product type to link transactions made for this item with the appropriate general ledger account according to the general posting setup. | TableRelation [Table 251 "Gen. Product Posting Group"](../table/251.md) (Gen. Product Posting Group) |
| 77 | VAT Calculation Type | Enum "Tax Calculation Type" | — | enum [Enum 254 "Tax Calculation Type"](../enum/254.md) |
| 78 | Transaction Type | Code[10] | — | TableRelation [Table 258 "Transaction Type"](../table/258.md) (Transaction Type) |
| 79 | Transport Method | Code[10] | — | TableRelation [Table 259 "Transport Method"](../table/259.md) (Transport Method) |
| 80 | Attached to Line No. | Integer | — | TableRelation [Table 113 "Sales Invoice Line"](../table/113.md) ("Sales Invoice Line"."Line No." where("Document No." = field("Document No."))) |
| 81 | Exit Point | Code[10] | — | TableRelation [Table 282 "Entry/Exit Point"](../table/282.md) (Entry/Exit Point) |
| 82 | Area | Code[10] | — | TableRelation [Table 284 "Area"](../table/284.md) |
| 83 | Transaction Specification | Code[10] | — | TableRelation [Table 285 "Transaction Specification"](../table/285.md) (Transaction Specification) |
| 84 | Tax Category | Code[10] | — |  |
| 85 | Tax Area Code | Code[20] | Specifies the tax area that is used to calculate and post sales tax. | TableRelation [Table 318 "Tax Area"](../table/318.md) (Tax Area) |
| 86 | Tax Liable | Boolean | Specifies if the customer or vendor is liable for sales tax. |  |
| 87 | Tax Group Code | Code[20] | Specifies the tax group that is used to calculate and post sales tax. | TableRelation [Table 321 "Tax Group"](../table/321.md) (Tax Group) |
| 88 | VAT Clause Code | Code[20] | — | TableRelation [Table 560 "VAT Clause"](../table/560.md) (VAT Clause) |
| 89 | VAT Bus. Posting Group | Code[20] | Specifies the VAT specification of the involved customer or vendor to link transactions made for this record with the appropriate general ledger account according to the VAT posting setup. | TableRelation [Table 323 "VAT Business Posting Group"](../table/323.md) (VAT Business Posting Group) |
| 90 | VAT Prod. Posting Group | Code[20] | Specifies the VAT specification of the involved item or resource to link transactions made for this record with the appropriate general ledger account according to the VAT posting setup. | TableRelation [Table 324 "VAT Product Posting Group"](../table/324.md) (VAT Product Posting Group) |
| 97 | Blanket Order No. | Code[20] | Specifies the number of the blanket order that the record originates from. | TableRelation [Table 36 "Sales Header"](../table/36.md) ("Sales Header"."No." where("Document Type" = const("Blanket Order"))) |
| 98 | Blanket Order Line No. | Integer | Specifies the number of the blanket order line that the record originates from. | TableRelation [Table 37 "Sales Line"](../table/37.md) ("Sales Line"."Line No." where("Document Type" = const("Blanket Order"), "Document No." = field("Blanket Order No."))) |
| 99 | VAT Base Amount | Decimal | — | not editable |
| 100 | Unit Cost | Decimal | — | not editable |
| 101 | System-Created Entry | Boolean | — | not editable |
| 103 | Line Amount | Decimal | Specifies the net amount, excluding any invoice discount amount, that must be paid for products on the line. |  |
| 104 | VAT Difference | Decimal | — |  |
| 106 | VAT Identifier | Code[20] | — | not editable |
| 107 | IC Partner Ref. Type | Enum "IC Partner Reference Type" | — | enum [Enum 107 "IC Partner Reference Type"](../enum/107.md) |
| 108 | IC Partner Reference | Code[20] | — |  |
| 123 | Prepayment Line | Boolean | — | not editable |
| 130 | IC Partner Code | Code[20] | Specifies the code of the intercompany partner that the transaction is related to if the entry was created from an intercompany transaction. | TableRelation [Table 413 "IC Partner"](../table/413.md) (IC Partner) |
| 131 | Posting Date | Date | — |  |
| 138 | IC Item Reference No. | Code[50] | — |  |
| 145 | Pmt. Discount Amount | Decimal | — |  |
| 180 | Line Discount Calculation | Option | — | OptionCaption: None,%,Amount |
| 480 | Dimension Set ID | Integer | — | TableRelation [Table 480 "Dimension Set Entry"](../table/480.md) (Dimension Set Entry); not editable |
| 1001 | Job Task No. | Code[20] | Specifies the number of the related project task. | TableRelation [Table 1001 "Job Task"](../table/1001.md) ("Job Task"."Job Task No." where("Job No." = field("Job No."))); not editable |
| 1002 | Job Contract Entry No. | Integer | Specifies the entry number of the project planning line that the sales line is linked to. | not editable |
| 1700 | Deferral Code | Code[10] | Specifies the deferral template that governs how revenue earned with this sales document is deferred to the different accounting periods when the good or service was delivered. | TableRelation [Table 1700 "Deferral Template"](../table/1700.md) ("Deferral Template"."Deferral Code") |
| 2678 | Allocation Account No. | Code[20] | — |  |
| 2679 | Alloc. Sales Line SystemId | Guid | Allocation Sales Line SystemId <small>caption</small> | DataClassification SystemMetadata |
| 5402 | Variant Code | Code[10] | Specifies the variant of the item on the line. | TableRelation [Table 5401 "Item Variant"](../table/5401.md) (if (Type = const(Item)) "Item Variant".Code where("Item No." = field("No."))) |
| 5403 | Bin Code | Code[20] | Specifies the bin where the items are picked or put away. | TableRelation [Table 7354 "Bin"](../table/7354.md) (Bin.Code where("Location Code" = field("Location Code"), "Item Filter" = field("No."), "Variant Filter" = field("Variant Code"))) |
| 5404 | Qty. per Unit of Measure | Decimal | — | not editable |
| 5407 | Unit of Measure Code | Code[10] | Specifies how each unit of the item or resource is measured, such as in pieces or hours. By default, the value in the Base Unit of Measure field on the item or resource card is inserted. | TableRelation [Table 204 "Unit of Measure"](../table/204.md), [Table 5404 "Item Unit of Measure"](../table/5404.md) (if (Type = const(Item)) "Item Unit of Measure".Code where("Item No." = field("No.")) else "Unit of Measure") |
| 5415 | Quantity (Base) | Decimal | — |  |
| 5600 | FA Posting Date | Date | — |  |
| 5602 | Depreciation Book Code | Code[10] | — | TableRelation [Table 5611 "Depreciation Book"](../table/5611.md) (Depreciation Book) |
| 5605 | Depr. until FA Posting Date | Boolean | — |  |
| 5612 | Duplicate in Depreciation Book | Code[10] | — | TableRelation [Table 5611 "Depreciation Book"](../table/5611.md) (Depreciation Book) |
| 5613 | Use Duplication List | Boolean | — |  |
| 5700 | Responsibility Center | Code[10] | — | TableRelation [Table 5714 "Responsibility Center"](../table/5714.md) (Responsibility Center) |
| 5709 | Item Category Code | Code[20] | — | TableRelation [Table 5722 "Item Category"](../table/5722.md) (if (Type = const(Item)) "Item Category") |
| 5710 | Nonstock | Boolean | Specifies that this item is a catalog item. |  |
| 5711 | Purchasing Code | Code[10] | — | TableRelation [Table 5721 "Purchasing"](../table/5721.md) |
| 5725 | Item Reference No. | Code[50] | Specifies the referenced item number. |  |
| 5726 | Item Reference Unit of Measure | Code[10] | Unit of Measure (Item Ref.) <small>caption</small> | TableRelation [Table 5404 "Item Unit of Measure"](../table/5404.md) (if (Type = const(Item)) "Item Unit of Measure".Code where("Item No." = field("No."))) |
| 5727 | Item Reference Type | Enum "Item Reference Type" | — | enum [Enum 5726 "Item Reference Type"](../enum/5726.md) |
| 5728 | Item Reference Type No. | Code[30] | — |  |
| 5811 | Appl.-from Item Entry | Integer | Specifies the number of the item ledger entry that the document or journal line is applied from. |  |
| 6608 | Return Reason Code | Code[10] | Specifies the code explaining why the item was returned. | TableRelation [Table 6635 "Return Reason"](../table/6635.md) (Return Reason) |
| 7000 | Price Calculation Method | Enum "Price Calculation Method" | — | enum [Enum 7000 "Price Calculation Method"](../enum/7000.md) |
| 7001 | Allow Line Disc. | Boolean | — |  |
| 7002 | Customer Disc. Group | Code[20] | — | TableRelation [Table 340 "Customer Discount Group"](../table/340.md) (Customer Discount Group) |
| 7004 | Price description | Text[80] | — |  |
| 7012 | Sell-to Customer Name | Text[100] | Specifies the name of the customer. | FlowField: lookup(Customer.Name where("No." = field("Sell-to Customer No."))); not editable |

## Keys

- Key1: Document No., Line No. (clustered)
- Key2: Blanket Order No., Blanket Order Line No.
- Key3: Sell-to Customer No.
- Key5: Shipment No., Shipment Line No.
- Key6: Job Contract Entry No.
- Key7: Bill-to Customer No.
- Key8: Order No., Order Line No., Posting Date
- Key9: Document No., Location Code
- Key10: Type, No.
- Key11: Job No., Job Task No.

## Events published

- `OnAfterCalcQty(var SalesInvoiceLine: Record "Sales Invoice Line"; QtyBase: Decimal; var Result: Decimal)` (integration): Raised after calculating the quantity for the sales invoice line.
- `OnAfterInitFromSalesLine(var SalesInvLine: Record "Sales Invoice Line"; SalesInvHeader: Record "Sales Invoice Header"; SalesLine: Record "Sales Line")` (integration): Raised after initializing the sales invoice line from a sales line.
  - subscribers: [Codeunit 8063 "Sales Documents"](../codeunit/8063.md) SalesInvLineCopyContractNoOnAfterInitFromSalesLine
- `OnBeforeGetItemLedgEntries(var SalesInvLine: Record "Sales Invoice Line"; var TempItemLedgEntry: Record "Item Ledger Entry" temporary; SetQuantity: Boolean; var IsHandled: Boolean)` (integration): Raised before getting item ledger entries for the sales invoice line.
- `OnBeforeCalcVATAmountLines(SalesInvLine: Record "Sales Invoice Line"; SalesInvHeader: Record "Sales Invoice Header"; var TempVATAmountLine: Record "VAT Amount Line" temporary; var IsHandled: Boolean)` (integration): Raised before calculating VAT amount lines for the sales invoice.
- `OnGetItemLedgEntriesOnBeforeTempItemLedgEntryInsert(var TempItemLedgerEntry: Record "Item Ledger Entry" temporary; ValueEntry: Record "Value Entry"; SetQuantity: Boolean)` (integration): Raised before inserting the temporary item ledger entry during GetItemLedgEntries.
- `OnBeforeShowDeferrals(SalesInvoiceLine: Record "Sales Invoice Line"; var IsHandled: Boolean)` (integration): Raised before showing deferrals for the sales invoice line.
- `OnBeforeSetSecurityFilterOnRespCenter(var SalesInvoiceLine: Record "Sales Invoice Line"; var IsHandled: Boolean)` (integration): Raised before setting the security filter on responsibility center for the sales invoice line.
- `OnAfterGetVATPct(var SalesInvoiceLine: Record "Sales Invoice Line"; var VATPct: Decimal)` (integration): Raised after getting the VAT percentage for the sales invoice line.
- `OnAfterCalcShippedSaleNotReturned(var SalesInvoiceLine: Record "Sales Invoice Line"; var ShippedQtyNotReturned: Decimal; var RevUnitCostLCY: Decimal; ExactCostReverse: Boolean)` (integration): Raised after calculating the shipped sales quantity not returned.

## Trigger event subscribers

- OnAfterDeleteEvent: [Codeunit 1173 "Document Attachment Mgmt"](../codeunit/1173.md) DeleteAttachedDocumentsOnAfterDeleteSalesInvoiceLine, [Codeunit 8059 "Sub. Contracts General Mgt."](../codeunit/8059.md) SalesInvoiceLineDeleteArchivedBillingLines

## Procedures

- `GetCurrencyCode(): Code[10]`: Retrieves the currency code from the sales invoice header.
- `ShowDimensions()`: Opens the dimension set entries page for this invoice line.
- `ShowItemTrackingLines()`: Opens the Item Tracking Lines page showing the tracking for this invoice line.
- `CalcVATAmountLines(SalesInvHeader: Record "Sales Invoice Header"; var TempVATAmountLine: Record "VAT Amount Line" temporary)`: Calculates VAT amount lines for the invoice based on the invoice lines.
- `GetLineAmountExclVAT(): Decimal`: Calculates the line amount excluding VAT.
- `GetLineAmountInclVAT(): Decimal`: Calculates the line amount including VAT.
- `GetInvoiceHeader(): Record "Sales Invoice Header"`: Retrieves the sales invoice header record for this line.
- `GetCaptionClass(FieldNumber: Integer): Text[80]`: Retrieves the caption class for a specified field to handle VAT-inclusive pricing display.
- `RowID1(): Text[250]`: Generates a unique row identifier for item tracking purposes.
- `GetSalesShptLines(var TempSalesShipmentLine: Record "Sales Shipment Line" temporary)`: Retrieves the sales shipment lines associated with this invoice line.
- `CalcShippedSaleNotReturned(var ShippedQtyNotReturned: Decimal; var RevUnitCostLCY: Decimal; ExactCostReverse: Boolean)`: Calculates the shipped sales quantity that has not been returned.
- `GetItemLedgEntries(var TempItemLedgEntry: Record "Item Ledger Entry" temporary; SetQuantity: Boolean)`: Retrieves item ledger entries associated with this invoice line.
- `FilterPstdDocLineValueEntries(var ValueEntry: Record "Value Entry")`: Applies filters to value entries to retrieve entries for this posted document line.
- `ShowItemShipmentLines()`: Opens a page displaying the shipment lines for this invoice line.
- `ShowLineComments()`: Opens a page displaying the comments for this invoice line.
- `ShowShortcutDimCode(var ShortcutDimCode: array[8] of Code[20])`: Retrieves the shortcut dimension codes for this invoice line.
- `InitFromSalesLine(SalesInvHeader: Record "Sales Invoice Header"; SalesLine: Record "Sales Line")`: Initializes the sales invoice line from a sales line when posting an invoice.
- `ShowDeferrals()`: Opens a page displaying the deferral schedule for this invoice line.
- `UpdatePriceDescription()`: Updates the price description field based on current line values.
- `FormatType(): Text`: Formats the line type for display, handling blank types specially.
- `GetDocumentType(): Integer`: Retrieves the document type integer for this posted invoice line.
- `HasTypeToFillMandatoryFields(): Boolean`: Determines whether the line has a type that requires mandatory fields to be filled.
- `IsCancellationSupported(): Boolean`: Checks if the line type supports invoice cancellation.
- `SetSecurityFilterOnRespCenter()`: Applies a security filter based on the user's responsibility center setup.
- `GetDateForCalculations(): Date`: Retrieves the date to use for calculations, defaulting to work date if posting date is not set.
- `GetVATPct(): Decimal` (internal)

Plus 3 local procedures.

## Triggers

OnDelete

## Relations

- drill-down page [Page 526 "Posted Sales Invoice Lines"](../page/526.md)
- lookup page [Page 526 "Posted Sales Invoice Lines"](../page/526.md)
- Job Task No.: TableRelation [Table 1001 "Job Task"](../table/1001.md)
- Document No.: TableRelation [Table 112 "Sales Invoice Header"](../table/112.md)
- Attached to Line No.: TableRelation [Table 113 "Sales Invoice Line"](../table/113.md)
- Location Code: TableRelation [Table 14 "Location"](../table/14.md)
- No.: TableRelation [Table 15 "G/L Account"](../table/15.md) (conditional)
- No.: TableRelation [Table 156 "Resource"](../table/156.md) (conditional)
- Job No.: TableRelation [Table 167 "Job"](../table/167.md)
- Deferral Code: TableRelation [Table 1700 "Deferral Template"](../table/1700.md)
- Sell-to Customer Name: CalcFormula [Table 18 "Customer"](../table/18.md)
- Bill-to Customer No.: TableRelation [Table 18 "Customer"](../table/18.md)
- Sell-to Customer No.: TableRelation [Table 18 "Customer"](../table/18.md)
- Work Type Code: TableRelation [Table 200 "Work Type"](../table/200.md)
- Unit of Measure Code: TableRelation [Table 204 "Unit of Measure"](../table/204.md) (conditional)
- Gen. Bus. Posting Group: TableRelation [Table 250 "Gen. Business Posting Group"](../table/250.md)
- Gen. Prod. Posting Group: TableRelation [Table 251 "Gen. Product Posting Group"](../table/251.md)
- Transaction Type: TableRelation [Table 258 "Transaction Type"](../table/258.md)
- Transport Method: TableRelation [Table 259 "Transport Method"](../table/259.md)
- No.: TableRelation [Table 27 "Item"](../table/27.md) (conditional)
- Exit Point: TableRelation [Table 282 "Entry/Exit Point"](../table/282.md)
- Area: TableRelation [Table 284 "Area"](../table/284.md)
- Transaction Specification: TableRelation [Table 285 "Transaction Specification"](../table/285.md)
- Tax Area Code: TableRelation [Table 318 "Tax Area"](../table/318.md)
- Tax Group Code: TableRelation [Table 321 "Tax Group"](../table/321.md)
- VAT Bus. Posting Group: TableRelation [Table 323 "VAT Business Posting Group"](../table/323.md)
- VAT Prod. Posting Group: TableRelation [Table 324 "VAT Product Posting Group"](../table/324.md)
- Customer Disc. Group: TableRelation [Table 340 "Customer Discount Group"](../table/340.md)
- Shortcut Dimension 1 Code: TableRelation [Table 349 "Dimension Value"](../table/349.md)
- Shortcut Dimension 2 Code: TableRelation [Table 349 "Dimension Value"](../table/349.md)
- Blanket Order No.: TableRelation [Table 36 "Sales Header"](../table/36.md)
- Blanket Order Line No.: TableRelation [Table 37 "Sales Line"](../table/37.md)
- IC Partner Code: TableRelation [Table 413 "IC Partner"](../table/413.md)
- Dimension Set ID: TableRelation [Table 480 "Dimension Set Entry"](../table/480.md)
- Variant Code: TableRelation [Table 5401 "Item Variant"](../table/5401.md)
- Item Reference Unit of Measure: TableRelation [Table 5404 "Item Unit of Measure"](../table/5404.md)
- Unit of Measure Code: TableRelation [Table 5404 "Item Unit of Measure"](../table/5404.md) (conditional)
- VAT Clause Code: TableRelation [Table 560 "VAT Clause"](../table/560.md)
- No.: TableRelation [Table 5600 "Fixed Asset"](../table/5600.md) (conditional)
- Posting Group: TableRelation [Table 5606 "FA Posting Group"](../table/5606.md) (conditional)
- Depreciation Book Code: TableRelation [Table 5611 "Depreciation Book"](../table/5611.md)
- Duplicate in Depreciation Book: TableRelation [Table 5611 "Depreciation Book"](../table/5611.md)
- Responsibility Center: TableRelation [Table 5714 "Responsibility Center"](../table/5714.md)
- Purchasing Code: TableRelation [Table 5721 "Purchasing"](../table/5721.md)
- Item Category Code: TableRelation [Table 5722 "Item Category"](../table/5722.md)
- No.: TableRelation [Table 5800 "Item Charge"](../table/5800.md) (conditional)
- Customer Price Group: TableRelation [Table 6 "Customer Price Group"](../table/6.md)
- Return Reason Code: TableRelation [Table 6635 "Return Reason"](../table/6635.md)
- Bin Code: TableRelation [Table 7354 "Bin"](../table/7354.md)
- Posting Group: TableRelation [Table 94 "Inventory Posting Group"](../table/94.md) (conditional)

## Referenced by

5 fields in 3 objects relate to this table (TableRelation or CalcFormula).

- [Table 112 "Sales Invoice Header"](../table/112.md): Amount, Amount Including VAT, Invoice Discount Amount
- [Table 113 "Sales Invoice Line"](../table/113.md): Attached to Line No.
- [Table extension 6238 "Sust. Sales Invoice Header"](../tableextension/6238.md): Sustainability Lines Exist

## Pages and codeunits on this table

- [Page 133 "Posted Sales Invoice Subform"](../page/133.md) (source table)
- [Page 526 "Posted Sales Invoice Lines"](../page/526.md) (source table)
- [Page 5852 "Get Post.Doc - S.InvLn Subform"](../page/5852.md) (source table)

## Extended by

- [Table extension 30103 "Shpfy Sales Invoice Line"](../tableextension/30103.md)
- [Table extension 4862 "AutoAcc Sales Invoice Line"](../tableextension/4862.md)
- [Table extension 5022 "Serv. Decl. Sales Inv. Line"](../tableextension/5022.md)
- [Table extension 6239 "Sust. Sales Invoice Line"](../tableextension/6239.md)
- [Table extension 6905 "Exp - Sales Inv Line - Ext"](../tableextension/6905.md)
- [Table extension 8056 "Sales Invoice Line"](../tableextension/8056.md)

## Calls

From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an `Object::"Name"` argument. Interface dispatch and calls through events are not counted, so the list is not complete.

- [Codeunit 408 "DimensionManagement"](../codeunit/408.md) (2 calls: `ShowDimensions → ShowDimensionSet`, `ShowShortcutDimCode → GetShortcutDimensions`)
- [Codeunit 1720 "Deferral Utilities"](../codeunit/1720.md) (1 call: `ShowDeferrals → OpenLineScheduleView`)
- [Codeunit 5402 "Unit of Measure Management"](../codeunit/5402.md) (1 call: `CalcQty → QtyRndPrecision`)
- [Codeunit 5700 "User Setup Management"](../codeunit/5700.md) (1 call: `SetSecurityFilterOnRespCenter → GetSalesFilter`)
- [Codeunit 6500 "Item Tracking Management"](../codeunit/6500.md) (1 call: `RowID1 → ComposeRowID`)
- [Codeunit 6503 "Item Tracking Doc. Management"](../codeunit/6503.md) (1 call: `ShowItemTrackingLines → ShowItemTrackingForInvoiceLine`)

## Recent changes

- 2026-08-13 [#9947 Allow long localized sales and purchase line type captions](../../changes/bcapps/9947.md) (main, BC30, fix)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24, BC26-28

## Countries that replace it

[AU](../../localizations/au.md), [CA](../../localizations/ca.md), [CH](../../localizations/ch.md), [ES](../../localizations/es.md), [FI](../../localizations/fi.md), [GB](../../localizations/gb.md), [IT](../../localizations/it.md), [MX](../../localizations/mx.md), [NO](../../localizations/no.md), [NZ](../../localizations/nz.md), [RU](../../localizations/ru.md), [SE](../../localizations/se.md), [US](../../localizations/us.md)

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). The call sections above are our own, per object, from the BC29 call graph. 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: "Sales Invoice Line")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
