---
id: object/page/5934
type: object
title: Page 5934 "Service Invoice Subform"
summary: Page 5934 "Service Invoice Subform" in Base Application (Microsoft.Service.Document). 7 public procedures, 1 events. Present since at least BC23, still in BC30, changed in BC24.
tier: official
language: en
tags:
  - page
  - base application
versions:
  introduced: null
  last_changed: "24"
  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: c0c41a82c0bf587653e426f14ac5222866086b2dd7a461e16d1c3ec8be59e0be
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Service/Document/ServiceInvoiceSubform.Page.al
    title: src/Layers/W1/BaseApp/Service/Document/ServiceInvoiceSubform.Page.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/value-chain-howto-service
    title: Sustainability value chain in Service Management
    date: null
    commit: null
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/value-chain-howto-service
  objects: []
  features: []
  topics:
    - topic/business-central/business-functionality/sustainability-management/sustainability-value-chain
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: page
object_id: 5934
name: Service Invoice Subform
caption: Lines
namespace: Microsoft.Service.Document
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "24"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids:
  - docs/learn-smb-docs/business-central/value-chain-howto-service.md
counts:
  fields: 0
  procedures: 10
  events: 1
  subscribers: 0
  controls: 42
  actions: 17
relations:
  out: 1
  referenced_by: 0
  pages: 0
  extended_by: 2
  event_subscribers: 1
  calls: 7
  called_by: 0
  implements: 0
---

# Page 5934 "Service Invoice Subform"

> Page 5934 "Service Invoice Subform" in Base Application (Microsoft.Service.Document). 7 public procedures, 1 events. Present since at least BC23, still in BC30, changed in BC24.

Base Application · Microsoft.Service.Document · captioned "Lines" · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Service/Document/ServiceInvoiceSubform.Page.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| Caption | Lines |
| SourceTable | Service Line |
| PageType | ListPart |

## Fields on this page

Layout controls in source order, grouped by the container they sit in. Shows: the table field a control is bound to (or its expression as written); ToolTip: the control's own, else the bound field's (marked).

| Group | Control | Shows | ToolTip |
|---|---|---|---|
| Control1 | Type | [Type](../table/5902.md#fields) | Specifies the type of the service line. <small>from the table field</small> |
|  | No. | [No.](../table/5902.md#fields) | Specifies the number of the involved entry or record, according to the specified number series. <small>from the table field</small> |
|  | Item Reference No. | [Item Reference No.](../table/5902.md#fields) | Specifies the referenced item number. If you enter a cross reference between yours and your vendor's or customer's item number, then this number will override the standard item number when you enter the reference number on a service document. <small>from the table field</small> |
|  | Variant Code | [Variant Code](../table/5902.md#fields) | Specifies the variant of the item on the line. <small>from the table field</small> |
|  | Nonstock | [Nonstock](../table/5902.md#fields) | Specifies that the item is a catalog item. <small>from the table field</small> |
|  | Gen. Bus. Posting Group | [Gen. Bus. Posting Group](../table/5902.md#fields) | 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. <small>from the table field</small> |
|  | Gen. Prod. Posting Group | [Gen. Prod. Posting Group](../table/5902.md#fields) | 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. <small>from the table field</small> |
|  | VAT Bus. Posting Group | [VAT Bus. Posting Group](../table/5902.md#fields) | 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. <small>from the table field</small> |
|  | VAT Prod. Posting Group | [VAT Prod. Posting Group](../table/5902.md#fields) | 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. <small>from the table field</small> |
|  | Description | [Description](../table/5902.md#fields) | Specifies the description of an item, resource, cost, or a standard text on the line. <small>from the table field</small> |
|  | Description 2 | [Description 2](../table/5902.md#fields) | Specifies information in addition to the description. <small>from the table field</small> |
|  | Return Reason Code | [Return Reason Code](../table/5902.md#fields) | Specifies the code explaining why the item was returned. <small>from the table field</small> |
|  | Location Code | [Location Code](../table/5902.md#fields) | Specifies the inventory location from where the items on the line should be taken and where they should be registered. <small>from the table field</small> |
|  | Bin Code | [Bin Code](../table/5902.md#fields) | Specifies the bin where the items are picked or put away. <small>from the table field</small> |
|  | Quantity | [Quantity](../table/5902.md#fields) | Specifies the number of item units, resource hours, cost on the service line. <small>from the table field</small> |
|  | Unit of Measure Code | [Unit of Measure Code](../table/5902.md#fields) | 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. <small>from the table field</small> |
|  | Unit of Measure | [Unit of Measure](../table/5902.md#fields) | Specifies the name of the item or resource's unit of measure, such as piece or hour. <small>from the table field</small> |
|  | Unit Cost (LCY) | [Unit Cost (LCY)](../table/5902.md#fields) | Specifies the cost, in LCY, of one unit of the item or resource on the line. |
|  | Unit Price | [Unit Price](../table/5902.md#fields) | 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. <small>from the table field</small> |
|  | Tax Liable | [Tax Liable](../table/5902.md#fields) | Specifies if the customer or vendor is liable for sales tax. <small>from the table field</small> |
|  | Tax Area Code | [Tax Area Code](../table/5902.md#fields) | Specifies the tax area that is used to calculate and post sales tax. <small>from the table field</small> |
|  | Tax Group Code | [Tax Group Code](../table/5902.md#fields) | Specifies the tax group that is used to calculate and post sales tax. <small>from the table field</small> |
|  | Line Discount % | [Line Discount %](../table/5902.md#fields) | Specifies the discount percentage that is granted for the item on the line. <small>from the table field</small> |
|  | Line Amount | [Line Amount](../table/5902.md#fields) | Specifies the net amount, excluding any invoice discount amount, that must be paid for products on the line. <small>from the table field</small> |
|  | Line Discount Amount | [Line Discount Amount](../table/5902.md#fields) | Specifies the discount amount that is granted for the item on the line. <small>from the table field</small> |
|  | Allow Invoice Disc. | [Allow Invoice Disc.](../table/5902.md#fields) | Specifies if the invoice line is included when the invoice discount is calculated. <small>from the table field</small> |
|  | Inv. Discount Amount | [Inv. Discount Amount](../table/5902.md#fields) | Specifies the total calculated invoice discount amount for the line. <small>from the table field</small> |
|  | Serv. Price Adjmt. Gr. Code | [Serv. Price Adjmt. Gr. Code](../table/5902.md#fields) | Specifies the service price adjustment group code that applies to this line. <small>from the table field</small> |
|  | Contract No. | [Contract No.](../table/5902.md#fields) | Specifies the number of the contract, if the service order originated from a service contract. <small>from the table field</small> |
|  | Service Item No. | [Service Item No.](../table/5902.md#fields) | Specifies the service item number linked to this service line. <small>from the table field</small> |
|  | Service Item Serial No. | [Service Item Serial No.](../table/5902.md#fields) | Specifies the serial number of the service item to which this service line is linked. |
|  | Appl.-to Service Entry | [Appl.-to Service Entry](../table/5902.md#fields) | Specifies the service ledger entry number this line is applied to. <small>from the table field</small> |
|  | Work Type Code | [Work Type Code](../table/5902.md#fields) | Specifies a code for the type of work performed by the resource registered on this line. <small>from the table field</small> |
|  | Appl.-to Item Entry | [Appl.-to Item Entry](../table/5902.md#fields) | Specifies the number of the item ledger entry that the document or journal line is applied to. <small>from the table field</small> |
|  | Shortcut Dimension 1 Code | [Shortcut Dimension 1 Code](../table/5902.md#fields) | 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. <small>from the table field</small> |
|  | Shortcut Dimension 2 Code | [Shortcut Dimension 2 Code](../table/5902.md#fields) | 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. <small>from the table field</small> |
|  | ShortcutDimCode[3] | `ShortcutDimCode[3]` | — |
|  | ShortcutDimCode[4] | `ShortcutDimCode[4]` | — |
|  | ShortcutDimCode[5] | `ShortcutDimCode[5]` | — |
|  | ShortcutDimCode[6] | `ShortcutDimCode[6]` | — |
|  | ShortcutDimCode[7] | `ShortcutDimCode[7]` | — |
|  | ShortcutDimCode[8] | `ShortcutDimCode[8]` | — |

## Actions

| Group | Action | ToolTip | Runs |
|---|---|---|---|
| Processing | Select items | Add two or more items from the full list of available items. |  |
| Functions | Get Price | Insert the lowest possible price in the Unit Price field according to any special price that you have set up. |  |
|  | Get Line Discount | Insert the best possible discount in the Line Discount field according to any special discounts that you have set up. |  |
|  | Get Line Discount | Insert the best possible discount in the Line Discount field according to any special discounts that you have set up. |  |
|  | Insert Ext. Texts | Insert the extended item description that is set up for the item that is being processed on the line. |  |
|  | Get Shipment Lines | Select multiple shipments to the same customer because you want to combine them on one invoice. |  |
| Item Availability by | Event | View how the actual and the projected available balance of an item will develop over time according to supply and demand events. |  |
|  | Period | View the projected quantity of the item over time according to time periods, such as day, week, or month. |  |
|  | Variant | View or edit the item's variants. Instead of setting up each color of an item as a separate item, you can set up the various colors as variants of the item. |  |
|  | Location | View the actual and projected quantity of the item per location. |  |
|  | Lot | View the current and projected quantity of the item in each lot. | [Page 520 "Item Availability by Lot No."](../page/520.md) |
|  | BOM Level | View availability figures for items on bills of materials that show how many units of a parent item you can make based on the availability of child items. |  |
| Line | Dimensions | View or edit dimensions, such as area, project, or department, that you can assign to sales and purchase documents to distribute costs and analyze transaction history. |  |
|  | Item Tracking Lines | View or edit serial, lot and package numbers that are assigned to the item on the document or journal line. |  |
|  | Attachments | Add a file as an attachment. You can attach images as well as documents. |  |
| Issues | Show Lines with Issues | View a list of service lines that have issues before you post the document. |  |
|  | Show All Lines | View all service lines, including lines with and without issues. |  |

## Events published

- `OnBeforeInsertExtendedText(var ServiceLine: Record "Service Line")` (integration)

## Trigger event subscribers

- OnModifyRecordEvent: [Codeunit 6478 "Serv. Document Errors Mgt."](../codeunit/6478.md) OnModifyRecordEventServiceInvoiceSubform

## Procedures

- `ApproveCalcInvDisc()`
- `GetShipment()`
- `InsertExtendedText(Unconditionally: Boolean)`
- `UpdateForm(SetSaveRecord: Boolean)`
- `NoOnAfterValidate()` (protected)
- `QuantityOnAfterValidate()` (protected)
- `UnitofMeasureCodeOnAfterValidate()` (protected)

Plus 2 local procedures.

## Triggers

OnAfterGetRecord, OnDeleteRecord, OnNewRecord, OnOpenPage

## Relations

- source table [Table 5902 "Service Line"](../table/5902.md)

## Extended by

- [Page extension 5041 "SD Serv. Invoice Subform"](../pageextension/5041.md)
- [Page extension 6303 "Sust. Service Invoice Subform"](../pageextension/6303.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 6003 "Service Transfer Ext. Text"](../codeunit/6003.md) (3 calls: `InsertExtendedText → InsertServExtText`, `InsertExtendedText → MakeUpdate`, `InsertExtendedText → ServCheckIfAnyExtText`)
- [Codeunit 99000842 "Service Line-Reserve"](../codeunit/99000842.md) (2 calls: `OnDeleteRecord → DeleteLine`, `OnDeleteRecord → DeleteLineConfirm`)
- [Codeunit 408 "DimensionManagement"](../codeunit/408.md) (1 call: `SetDimensionsVisibility → UseShortcutDims`)
- [Codeunit 5932 "Service-Get Shipment"](../codeunit/5932.md) (1 call: `GetShipment → (object)`)
- [Codeunit 5951 "Service-Disc. (Yes/No)"](../codeunit/5951.md) (1 call: `ApproveCalcInvDisc → (object)`)
- [Codeunit 7001 "Price Calculation Mgt."](../codeunit/7001.md) (1 call: `OnOpenPage → IsExtendedPriceCalculationEnabled`)
- [Codeunit 9070 "Document Errors Mgt."](../codeunit/9070.md) (1 call: `OnOpenPage → BackgroundValidationEnabled`)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24

## Documented on Microsoft Learn

- [Sustainability value chain in Service Management](https://learn.microsoft.com/dynamics365/business-central/value-chain-howto-service)

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: "page", object_name: "Service Invoice Subform")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
