tableSales & Receivablesofficial - Microsoftderived - from the source, no model text

Table 113 "Sales Invoice Line"

Base Application · Microsoft.Sales.History

Across versions

  1. BC23present
  2. BC243 fields changed
  3. BC25unchanged
  4. BC265 fields removed, 2 events added
  5. BC271 fields added
  6. BC2853 fields changed
  7. BC29-30unchanged

Neighbourhood 62 connected objects and pages

Table 18 "Customer" (relates to, 3 links)CustomerTable 349 "Dimension Value" (relates to, 2 links)Dimension ValueTable 5404 "Item Unit of Measure" (relates to, 2 links)Table 5611 "Depreciation Book" (relates to, 2 links)Table 1001 "Job Task" (relates to)Job TaskTable 112 "Sales Invoice Header" (relates to)Sales Invoice HeaderTable 14 "Location" (relates to)Table 15 "G/L Account" (relates to)G/L AccountTable 156 "Resource" (relates to)Table 167 "Job" (relates to)JobTable 1700 "Deferral Template" (relates to)Table 200 "Work Type" (relates to)Work TypeTable 204 "Unit of Measure" (relates to)Unit of MeasureTable 250 "Gen. Business Posting Group" (relates to)Table 251 "Gen. Product Posting Group" (relates to)Gen. Product Posting GroupTable 258 "Transaction Type" (relates to)Table 259 "Transport Method" (relates to)Transport MethodTable 27 "Item" (relates to)ItemTable 282 "Entry/Exit Point" (relates to)Table 284 "Area" (relates to)Table 285 "Transaction Specification" (relates to)Table 318 "Tax Area" (relates to)Table 321 "Tax Group" (relates to)Table 323 "VAT Business Posting Group" (relates to)Page 526 "Posted Sales Invoice Lines" (pages and codeunits on it, 3 links)Posted Sales Invoice LinesPage 133 "Posted Sales Invoice Subform" (pages and codeunits on it)Page 5852 "Get Post.Doc - S.InvLn Subform" (pages and codeunits on it)Table extension 30103 "Shpfy Sales Invoice Line" (extended by)Table extension 4862 "AutoAcc Sales Invoice Line" (extended by)Codeunit 1173 "Document Attachment Mgmt" (event subscribers)Codeunit 8059 "Sub. Contracts General Mgt." (event subscribers)Codeunit 8063 "Sales Documents" (event subscribers)Codeunit 408 "DimensionManagement" (calls, 2 links)DimensionManagementCodeunit 1720 "Deferral Utilities" (calls)Codeunit 5402 "Unit of Measure Management" (calls)Codeunit 5700 "User Setup Management" (calls)Codeunit 6500 "Item Tracking Management" (calls)Codeunit 6503 "Item Tracking Doc. Management" (calls)Table 112 "Sales Invoice Header" (referenced by, 3 links)Sales Invoice HeaderTable extension 6238 "Sust. Sales Invoice Header" (referenced by)

Open in the neighbourhood explorer

One hop out, from the extracted relations and call graph. Up to 40 shown; the sections below list them all.

Base Application · Microsoft.Sales.History · BC23-30 · source at ea08af5e · 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. Δ BC28 Code[20] Specifies the number of the customer. TableRelation Table 18 “Customer”; not editable
3 Document No. Δ BC28 Code[20] Specifies the document number. TableRelation Table 112 “Sales Invoice Header” (Sales Invoice Header)
4 Line No. Integer —
5 Type Δ BC28 Enum “Sales Line Type” Specifies the line type. enum Enum 37 “Sales Line Type”
6 No. Δ BC28 Code[20] Specifies the number of the involved entry or record, according to the specified number series. TableRelation Table 15 “G/L Account”, Table 156 “Resource”, Table 27 “Item” (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 Δ BC28 Code[10] Specifies the location in which the invoice line was registered. TableRelation Table 14 “Location” (Location where(“Use As In-Transit” = const(false)))
8 Posting Group Code[20] — TableRelation Table 5606 “FA Posting Group”, Table 94 “Inventory Posting Group” (if (Type = const(Item)) “Inventory Posting Group” else if (Type = const(“Fixed Asset”)) “FA Posting Group”); not editable
10 Shipment Date Δ BC28 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 Δ BC28 Text[100] Specifies the name of the item or general ledger account, or some descriptive text.
12 Description 2 Δ BC28 Text[50] Specifies information in addition to the description.
13 Unit of Measure Δ BC28 Text[50] Specifies the name of the item or resource’s unit of measure, such as piece or hour.
15 Quantity Δ BC28 Decimal Specifies the number of units of the item specified on the line.
22 Unit Price Δ BC28 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) Δ BC28 Decimal Specifies the cost, in LCY, of one unit of the item or resource on the line. via Page 526 “Posted Sales Invoice Lines”
25 VAT % Δ BC28 Decimal Specifies the VAT %. not editable
27 Line Discount % Δ BC28 Decimal Specifies the discount percentage that is granted for the item on the line.
28 Line Discount Amount Δ BC28 Decimal Specifies the discount amount that is granted for the item on the line.
29 Amount Δ BC28 Decimal Specifies the line’s net amount.
30 Amount Including VAT Δ BC28 Decimal Specifies the net amount, including VAT, for this line.
32 Allow Invoice Disc. Δ BC28 Boolean Specifies if the invoice line is included when the invoice discount is calculated.
34 Gross Weight Δ BC28 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 Δ BC28 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 Δ BC28 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 Δ BC28 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 Δ BC28 Integer Specifies the number of the item ledger entry that the document or journal line is applied to.
40 Shortcut Dimension 1 Code Δ BC28 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” (“Dimension Value”.Code where(“Global Dimension No.” = const(1)))
41 Shortcut Dimension 2 Code Δ BC28 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” (“Dimension Value”.Code where(“Global Dimension No.” = const(2)))
42 Customer Price Group Code[10] — TableRelation Table 6 “Customer Price Group” (Customer Price Group)
45 Job No. Δ BC24 Δ BC28 Code[20] Specifies the number of the related project. TableRelation Table 167 “Job”
52 Work Type Code Code[10] — TableRelation Table 200 “Work Type” (Work Type)
63 Shipment No. Code[20] — not editable
64 Shipment Line No. Integer — not editable
65 Order No. Δ BC28 Code[20] Specifies the order number this line is associated with.
66 Order Line No. Integer —
68 Bill-to Customer No. Δ BC28 Code[20] Specifies the number of the customer that you send or sent the invoice or credit memo to. TableRelation Table 18 “Customer”; not editable
69 Inv. Discount Amount Δ BC28 Decimal Specifies the total calculated invoice discount amount for the line.
73 Drop Shipment Boolean —
74 Gen. Bus. Posting Group Δ BC28 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” (Gen. Business Posting Group)
75 Gen. Prod. Posting Group Δ BC28 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” (Gen. Product Posting Group)
77 VAT Calculation Type Enum “Tax Calculation Type” — enum Enum 254 “Tax Calculation Type”
78 Transaction Type Code[10] — TableRelation Table 258 “Transaction Type” (Transaction Type)
79 Transport Method Code[10] — TableRelation Table 259 “Transport Method” (Transport Method)
80 Attached to Line No. Integer — TableRelation Table 113 “Sales Invoice Line” (“Sales Invoice Line”.“Line No.” where(“Document No.” = field(“Document No.”)))
81 Exit Point Code[10] — TableRelation Table 282 “Entry/Exit Point” (Entry/Exit Point)
82 Area Code[10] — TableRelation Table 284 “Area”
83 Transaction Specification Code[10] — TableRelation Table 285 “Transaction Specification” (Transaction Specification)
84 Tax Category Code[10] —
85 Tax Area Code Δ BC28 Code[20] Specifies the tax area that is used to calculate and post sales tax. TableRelation Table 318 “Tax Area” (Tax Area)
86 Tax Liable Δ BC28 Boolean Specifies if the customer or vendor is liable for sales tax.
87 Tax Group Code Δ BC28 Code[20] Specifies the tax group that is used to calculate and post sales tax. TableRelation Table 321 “Tax Group” (Tax Group)
88 VAT Clause Code Code[20] — TableRelation Table 560 “VAT Clause” (VAT Clause)
89 VAT Bus. Posting Group Δ BC28 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” (VAT Business Posting Group)
90 VAT Prod. Posting Group Δ BC28 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” (VAT Product Posting Group)
97 Blanket Order No. Δ BC28 Code[20] Specifies the number of the blanket order that the record originates from. TableRelation Table 36 “Sales Header” (“Sales Header”.“No.” where(“Document Type” = const(“Blanket Order”)))
98 Blanket Order Line No. Δ BC28 Integer Specifies the number of the blanket order line that the record originates from. TableRelation Table 37 “Sales Line” (“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 Δ BC28 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”
108 IC Partner Reference Code[20] —
123 Prepayment Line Boolean — not editable
130 IC Partner Code Δ BC28 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” (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” (Dimension Set Entry); not editable
1001 Job Task No. Δ BC24 Δ BC28 Code[20] Specifies the number of the related project task. TableRelation Table 1001 “Job Task” (“Job Task”.“Job Task No.” where(“Job No.” = field(“Job No.”))); not editable
1002 Job Contract Entry No. Δ BC24 Δ BC28 Integer Specifies the entry number of the project planning line that the sales line is linked to. not editable
1700 Deferral Code Δ BC28 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” (“Deferral Template”.“Deferral Code”)
2678 Allocation Account No. Code[20] —
2679 Alloc. Sales Line SystemId + BC27 Guid Allocation Sales Line SystemId caption DataClassification SystemMetadata
5402 Variant Code Δ BC28 Code[10] Specifies the variant of the item on the line. TableRelation Table 5401 “Item Variant” (if (Type = const(Item)) “Item Variant”.Code where(“Item No.” = field(“No.”)))
5403 Bin Code Δ BC28 Code[20] Specifies the bin where the items are picked or put away. TableRelation Table 7354 “Bin” (Bin.Code where(“Location Code” = field(“Location Code”), “Item Filter” = field(“No.”), “Variant Filter” = field(“Variant Code”)))
5404 Qty. per Unit of Measure Δ BC28 Decimal — not editable
5407 Unit of Measure Code Δ BC28 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 5404 “Item Unit of Measure” (if (Type = const(Item)) “Item Unit of Measure”.Code where(“Item No.” = field(“No.”)) else “Unit of Measure”)
5415 Quantity (Base) Δ BC28 Decimal —
5600 FA Posting Date Date —
5602 Depreciation Book Code Code[10] — TableRelation Table 5611 “Depreciation Book” (Depreciation Book)
5605 Depr. until FA Posting Date Boolean —
5612 Duplicate in Depreciation Book Code[10] — TableRelation Table 5611 “Depreciation Book” (Depreciation Book)
5613 Use Duplication List Boolean —
5700 Responsibility Center Code[10] — TableRelation Table 5714 “Responsibility Center” (Responsibility Center)
5709 Item Category Code Code[20] — TableRelation Table 5722 “Item Category” (if (Type = const(Item)) “Item Category”)
5710 Nonstock Δ BC28 Boolean Specifies that this item is a catalog item.
5711 Purchasing Code Code[10] — TableRelation Table 5721 “Purchasing”
5725 Item Reference No. Δ BC28 Code[50] Specifies the referenced item number.
5726 Item Reference Unit of Measure Code[10] Unit of Measure (Item Ref.) caption TableRelation Table 5404 “Item Unit of Measure” (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”
5728 Item Reference Type No. Code[30] —
5811 Appl.-from Item Entry Δ BC28 Integer Specifies the number of the item ledger entry that the document or journal line is applied from.
6608 Return Reason Code Δ BC28 Code[10] Specifies the code explaining why the item was returned. TableRelation Table 6635 “Return Reason” (Return Reason)
7000 Price Calculation Method Enum “Price Calculation Method” — enum Enum 7000 “Price Calculation Method”
7001 Allow Line Disc. Boolean —
7002 Customer Disc. Group Code[20] — TableRelation Table 340 “Customer Discount Group” (Customer Discount Group)
7004 Price description Text[80] —
7012 Sell-to Customer Name + BC26 Δ BC28 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.
  • 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) + BC26 (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) + BC26 (integration): Raised after calculating the shipped sales quantity not returned.

Trigger event subscribers

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) Δ BC26: 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 + BC26 (internal)

Plus 3 local procedures.

Triggers

OnDelete

Relations

Referenced by

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

Pages and codeunits on this table

Extended by

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.

Recent changes

Countries that replace it

AU, CA, CH, ES, FI, GB, IT, MX, NO, NZ, RU, SE, US

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.

Evidence 1 sources