---
id: object/table/112
type: object
title: Table 112 "Sales Invoice Header"
summary: Table 112 "Sales Invoice Header" in Base Application (Microsoft.Sales.History). 137 fields, 34 public procedures, 15 events. Present since at least BC23, still in BC30, changed in BC24-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: e1532f2df8ecd4e6fdefd966046121334a05627bb518a646ec4d8e4cf3313062
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Sales/History/SalesInvoiceHeader.Table.al
    title: src/Layers/W1/BaseApp/Sales/History/SalesInvoiceHeader.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/finance-how-use-edocuments
    - https://learn.microsoft.com/dynamics365/business-central/LocalFunctionality/Mexico/how-to-generate-electronic-invoices
    - https://learn.microsoft.com/dynamics365/business-central/LocalFunctionality/UnitedStates/how-to-1099-use
    - https://learn.microsoft.com/dynamics365/business-central/analysis-assist
    - https://learn.microsoft.com/dynamics365/business-central/analysis-mode
    - https://learn.microsoft.com/dynamics365/business-central/sales-how-process-sales-returns-cancellations
  objects: []
  features: []
  topics:
    - topic/business-central/analytics-business-intelligence-and-repo/ad-hoc-data-analysis
    - topic/business-central/business-functionality/finance/set-up-and-use-e-documents
    - topic/business-central/business-functionality/local-functionality/mexico/electronic-invoice
    - topic/business-central/business-functionality/local-functionality/united-states/tax
    - topic/business-central/business-functionality/sales
    - topic/business-central/copilot-and-agent-capabilities/analysis-assist
    - topic/dev-itpro/development/data-analytics-and-reporting
    - topic/dev-itpro/development/programming-in-the-al-language/tables-and-data/using-query-objects
  localizations:
    - localization/au
    - localization/be
    - localization/ca
    - localization/es
    - localization/fi
    - localization/fr
    - localization/it
    - localization/mx
    - localization/nl
    - localization/no
    - localization/nz
    - localization/ru
    - localization/se
    - localization/us
  videos: []
  posts: []
  guidelines: []
object_type: table
object_id: 112
name: Sales Invoice Header
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"
  - "25"
  - "26"
  - "27"
  - "28"
source_major: "29"
obsolete: null
countries:
  - au
  - be
  - ca
  - es
  - fi
  - fr
  - it
  - mx
  - nl
  - "no"
  - nz
  - ru
  - se
  - us
ms_search_form_ids: []
counts:
  fields: 137
  procedures: 50
  events: 15
  subscribers: 0
relations:
  out: 68
  referenced_by: 26
  pages: 7
  extended_by: 5
  event_subscribers: 7
  calls: 8
  called_by: 0
  implements: 0
---

# Table 112 "Sales Invoice Header"

> Table 112 "Sales Invoice Header" in Base Application (Microsoft.Sales.History). 137 fields, 34 public procedures, 15 events. Present since at least BC23, still in BC30, changed in BC24-28.

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

Learn documents this table through its pages: [Page 132 "Posted Sales Invoice"](../page/132.md) (3 Learn pages), [Page 143 "Posted Sales Invoices"](../page/143.md) (3).

## Properties

| Property | Value |
|---|---|
| Caption | Sales Invoice Header |
| DataClassification | CustomerContent |

## 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 that you shipped the items on the invoice to. | TableRelation [Table 18 "Customer"](../table/18.md); NotBlank |
| 3 | No. | Code[20] | Specifies the posted sales invoice number. Each posted sales invoice gets a unique number. Typically, the number is generated based on a number series. |  |
| 4 | Bill-to Customer No. | Code[20] | Specifies the number of the customer that you send or sent the invoice to. | TableRelation [Table 18 "Customer"](../table/18.md); NotBlank |
| 5 | Bill-to Name | Text[100] | Specifies the name of the customer that you send or sent the invoice or credit memo to. |  |
| 6 | Bill-to Name 2 | Text[50] | Specifies an additional part of the name of the customer that you send or sent the invoice to. |  |
| 7 | Bill-to Address | Text[100] | Specifies the address of the customer that the invoice was sent to. |  |
| 8 | Bill-to Address 2 | Text[50] | Specifies additional address information. |  |
| 9 | Bill-to City | Text[30] | Specifies the city of the customer on the sales document. | TableRelation [Table 225 "Post Code"](../table/225.md) ("Post Code".City) |
| 10 | Bill-to Contact | Text[100] | Specifies the name of the contact person at the customer's billing address. |  |
| 11 | Your Reference | Text[35] | Specifies the customer's reference. The contents will be printed on sales documents. |  |
| 12 | Ship-to Code | Code[10] | Specifies the address on purchase orders shipped with a drop shipment directly from the vendor to a customer. | TableRelation [Table 222 "Ship-to Address"](../table/222.md) ("Ship-to Address".Code where("Customer No." = field("Sell-to Customer No."))) |
| 13 | Ship-to Name | Text[100] | Specifies the name of the customer at the address that the items are shipped to. |  |
| 14 | Ship-to Name 2 | Text[50] | Specifies an additional part of the the name of the customer that you delivered the items to. |  |
| 15 | Ship-to Address | Text[100] | Specifies the address that the items on the invoice were shipped to. |  |
| 16 | Ship-to Address 2 | Text[50] | Specifies additional address information. |  |
| 17 | Ship-to City | Text[30] | Specifies the city of the customer on the sales document. | TableRelation [Table 225 "Post Code"](../table/225.md) ("Post Code".City) |
| 18 | Ship-to Contact | Text[100] | Specifies the name of the person you regularly contact at the address that the items were shipped to. |  |
| 19 | Order Date | Date | — |  |
| 20 | Posting Date | Date | Specifies the date on which the invoice was posted. |  |
| 21 | 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. |  |
| 22 | Posting Description | Text[100] | Specifies any text that is entered to accompany the posting, for example for information to auditors. |  |
| 23 | Payment Terms Code | Code[10] | Specifies a formula that calculates the payment due date, payment discount date, and payment discount amount on the sales document. | TableRelation [Table 3 "Payment Terms"](../table/3.md) (Payment Terms) |
| 24 | Due Date | Date | Specifies the date on which the invoice is due for payment. |  |
| 25 | Payment Discount % | Decimal | Specifies the payment discount percent granted if payment is made on or before the date in the Pmt. Discount Date field. |  |
| 26 | Pmt. Discount Date | Date | Specifies the date on which the amount in the entry must be paid for a payment discount to be granted. |  |
| 27 | Shipment Method Code | Code[10] | Specifies the code that represents the shipment method for the invoice. | TableRelation [Table 10 "Shipment Method"](../table/10.md) (Shipment Method) |
| 28 | Location Code | Code[10] | Specifies the code for the location from which the items were shipped. | TableRelation [Table 14 "Location"](../table/14.md) (Location where("Use As In-Transit" = const(false))) |
| 29 | 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))) |
| 30 | 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))) |
| 31 | Customer Posting Group | Code[20] | Specifies the customer's market type to link business transactions to. | TableRelation [Table 92 "Customer Posting Group"](../table/92.md) (Customer Posting Group); not editable |
| 32 | Currency Code | Code[10] | Specifies the currency code of the invoice. | TableRelation [Table 4 "Currency"](../table/4.md); not editable |
| 33 | Currency Factor | Decimal | — |  |
| 34 | Customer Price Group | Code[10] | — | TableRelation [Table 6 "Customer Price Group"](../table/6.md) (Customer Price Group) |
| 35 | Prices Including VAT | Boolean | — |  |
| 37 | Invoice Disc. Code | Code[20] | — |  |
| 40 | Customer Disc. Group | Code[20] | — | TableRelation [Table 340 "Customer Discount Group"](../table/340.md) (Customer Discount Group) |
| 41 | Language Code | Code[10] | — | TableRelation [Table 8 "Language"](../table/8.md) |
| 42 | Format Region | Text[80] | — | TableRelation "Language Selection"."Language Tag" |
| 43 | Salesperson Code | Code[20] | Specifies which salesperson is associated with the invoice. | TableRelation [Table 13 "Salesperson/Purchaser"](../table/13.md) (Salesperson/Purchaser) |
| 44 | Order No. | Code[20] | Specifies the number of the related order. |  |
| 46 | Comment | Boolean | — | FlowField: exist("Sales Comment Line" where("Document Type" = const("Posted Invoice"), "No." = field("No."), "Document Line No." = const(0))); not editable |
| 47 | No. Printed | Integer | Specifies how many times the document has been printed. | not editable |
| 51 | On Hold | Code[3] | — |  |
| 52 | Applies-to Doc. Type | Enum "Gen. Journal Document Type" | — | enum [Enum 6 "Gen. Journal Document Type"](../enum/6.md) |
| 53 | Applies-to Doc. No. | Code[20] | — |  |
| 55 | Bal. Account No. | Code[20] | — | TableRelation [Table 15 "G/L Account"](../table/15.md), [Table 270 "Bank Account"](../table/270.md) (if ("Bal. Account Type" = const("G/L Account")) "G/L Account" else if ("Bal. Account Type" = const("Bank Account")) "Bank Account") |
| 60 | Amount | Decimal | Specifies the total, in the currency of the invoice, of the amounts on all the invoice lines. The amount does not include VAT. | FlowField: sum("Sales Invoice Line".Amount where("Document No." = field("No."))); not editable |
| 61 | Amount Including VAT | Decimal | Specifies the total of the amounts, including VAT, on all the lines on the document. | FlowField: sum("Sales Invoice Line"."Amount Including VAT" where("Document No." = field("No."))); not editable |
| 70 | VAT Registration No. | Text[20] | Specifies the customer's VAT registration number for customers. |  |
| 72 | Registration Number | Text[50] | Registration No. <small>caption</small> |  |
| 73 | Reason Code | Code[10] | — | TableRelation [Table 231 "Reason Code"](../table/231.md) (Reason Code) |
| 74 | Gen. Bus. Posting Group | Code[20] | — | TableRelation [Table 250 "Gen. Business Posting Group"](../table/250.md) (Gen. Business Posting Group) |
| 75 | EU 3-Party Trade | Boolean | Specifies whether the invoice was part of an EU 3-party trade transaction. |  |
| 76 | Transaction Type | Code[10] | — | TableRelation [Table 258 "Transaction Type"](../table/258.md) (Transaction Type) |
| 77 | Transport Method | Code[10] | Specifies the transport method of the sales header that this line was posted from. | TableRelation [Table 259 "Transport Method"](../table/259.md) (Transport Method) |
| 78 | VAT Country/Region Code | Code[10] | — | TableRelation [Table 9 "Country/Region"](../table/9.md) (Country/Region) |
| 79 | Sell-to Customer Name | Text[100] | Specifies the name of the customer that you shipped the items on the invoice to. |  |
| 80 | Sell-to Customer Name 2 | Text[50] | Specifies an additional part of the name of the customer who will receive the products and be billed by default. |  |
| 81 | Sell-to Address | Text[100] | Specifies the address of the customer that the items on the invoice were shipped to. |  |
| 82 | Sell-to Address 2 | Text[50] | Specifies additional address information. |  |
| 83 | Sell-to City | Text[30] | Specifies the city of the customer on the sales document. | TableRelation [Table 225 "Post Code"](../table/225.md) ("Post Code".City) |
| 84 | Sell-to Contact | Text[100] | Specifies the name of the contact person at the customer's main address. |  |
| 85 | Bill-to Post Code | Code[20] | Specifies the postal code of the customer's billing address. | TableRelation [Table 225 "Post Code"](../table/225.md) (Post Code) |
| 86 | Bill-to County | Text[30] | Specifies the state, province or county as a part of the address. |  |
| 87 | Bill-to Country/Region Code | Code[10] | Specifies the country or region of the address. | TableRelation [Table 9 "Country/Region"](../table/9.md) (Country/Region) |
| 88 | Sell-to Post Code | Code[20] | Specifies the postal code of the customer's main address. | TableRelation [Table 225 "Post Code"](../table/225.md) (Post Code) |
| 89 | Sell-to County | Text[30] | Specifies the state, province or county as a part of the address. |  |
| 90 | Sell-to Country/Region Code | Code[10] | Specifies the country or region of the address. | TableRelation [Table 9 "Country/Region"](../table/9.md) (Country/Region) |
| 91 | Ship-to Post Code | Code[20] | Specifies the postal code of the address that the items are shipped to. | TableRelation [Table 225 "Post Code"](../table/225.md) (Post Code) |
| 92 | Ship-to County | Text[30] | Specifies the state, province or county as a part of the address. |  |
| 93 | Ship-to Country/Region Code | Code[10] | Specifies the country or region of the address. | TableRelation [Table 9 "Country/Region"](../table/9.md) (Country/Region) |
| 94 | Bal. Account Type | enum "Payment Balance Account Type" | — | enum [Enum 96 "Payment Balance Account Type"](../enum/96.md) |
| 97 | Exit Point | Code[10] | Specifies the point of exit through which you ship the items out of your country/region, for reporting to Intrastat. | TableRelation [Table 282 "Entry/Exit Point"](../table/282.md) (Entry/Exit Point) |
| 98 | Correction | Boolean | — |  |
| 99 | Document Date | Date | Specifies the date on which you created the sales document. |  |
| 100 | External Document No. | Code[35] | Specifies the external document number that is entered on the sales header that this line was posted from. |  |
| 101 | Area | Code[10] | Specifies the area code used in the invoice. | TableRelation [Table 284 "Area"](../table/284.md) |
| 102 | Transaction Specification | Code[10] | Specifies the transaction specification that was used in the invoice. | TableRelation [Table 285 "Transaction Specification"](../table/285.md) (Transaction Specification) |
| 104 | Payment Method Code | Code[10] | Specifies how the customer must pay for products on the sales document. | TableRelation [Table 289 "Payment Method"](../table/289.md) (Payment Method) |
| 105 | Shipping Agent Code | Code[10] | Specifies which shipping agent is used to transport the items on the sales document to the customer. | TableRelation [Table 291 "Shipping Agent"](../table/291.md) (Shipping Agent) |
| 106 | Package Tracking No. | Text[50] | Specifies the shipping agent's package number. |  |
| 107 | Pre-Assigned No. Series | Code[20] | — | TableRelation [Table 308 "No. Series"](../table/308.md) (No. Series) |
| 108 | No. Series | Code[20] | — | TableRelation [Table 308 "No. Series"](../table/308.md) (No. Series); not editable |
| 110 | Order No. Series | Code[20] | — | TableRelation [Table 308 "No. Series"](../table/308.md) (No. Series) |
| 111 | Pre-Assigned No. | Code[20] | Specifies the number of the sales document that the posted invoice was created for. |  |
| 112 | User ID | Code[50] | — | TableRelation User."User Name"; DataClassification EndUserIdentifiableInformation |
| 113 | Source Code | Code[10] | — | TableRelation [Table 230 "Source Code"](../table/230.md) (Source Code) |
| 114 | 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) |
| 115 | Tax Liable | Boolean | Specifies if the customer or vendor is liable for sales tax. |  |
| 116 | VAT Bus. Posting Group | Code[20] | — | TableRelation [Table 323 "VAT Business Posting Group"](../table/323.md) (VAT Business Posting Group) |
| 119 | VAT Base Discount % | Decimal | — |  |
| 121 | Invoice Discount Calculation | Option | — | OptionCaption: None,%,Amount |
| 122 | Invoice Discount Value | Decimal | — |  |
| 131 | Prepayment No. Series | Code[20] | — | TableRelation [Table 308 "No. Series"](../table/308.md) (No. Series) |
| 136 | Prepayment Invoice | Boolean | — |  |
| 137 | Prepayment Order No. | Code[20] | — |  |
| 151 | Quote No. | Code[20] | Specifies the number of the sales quote document if a quote was used to start the sales process. | not editable |
| 163 | Company Bank Account Code | Code[20] | Specifies the bank account to use for bank information when the document is printed. | TableRelation [Table 270 "Bank Account"](../table/270.md) ("Bank Account" where("Currency Code" = field("Currency Code"))) |
| 166 | Alt. VAT Registration No. | Boolean | Alternative VAT Registration No. <small>caption</small> | not editable |
| 167 | Alt. Gen. Bus Posting Group | Boolean | Alternative Gen. Bus. Posting Group <small>caption</small> | not editable |
| 168 | Alt. VAT Bus Posting Group | Boolean | Alternative VAT Bus. Posting Group <small>caption</small> | not editable |
| 171 | Sell-to Phone No. | Text[30] | — |  |
| 172 | Sell-to E-Mail | Text[80] | Email <small>caption</small> |  |
| 179 | VAT Reporting Date | Date | Specifies the VAT date on the invoice. | not editable |
| 180 | Payment Reference | Code[50] | Specifies the payment of the sales invoice. |  |
| 185 | Last Email Sent Time | DateTime | — | FlowField: max("Email Related Record".SystemCreatedAt where("Table Id" = const(Database::"Sales Invoice Header"), "System Id" = field(SystemId))) |
| 186 | Last Email Sent Message Id | Guid | — | FlowField: lookup("Email Related Record"."Email Message Id" where(SystemCreatedAt = field("Last Email Sent Time"))) |
| 200 | Work Description | BLOB | — |  |
| 210 | Ship-to Phone No. | Text[30] | Specifies the telephone number of the company's shipping address. |  |
| 480 | Dimension Set ID | Integer | — | TableRelation [Table 480 "Dimension Set Entry"](../table/480.md) (Dimension Set Entry); not editable |
| 600 | Payment Service Set ID | Integer | — |  |
| 710 | Document Exchange Identifier | Text[50] | — |  |
| 711 | Document Exchange Status | Enum "Sales Document Exchange Status" | Specifies the status of the document if you are using a document exchange service to send it as an electronic document. The status values are reported by the document exchange service. | enum [Enum 711 "Sales Document Exchange Status"](../enum/711.md) |
| 712 | Doc. Exch. Original Identifier | Text[50] | — |  |
| 720 | Coupled to CRM | Boolean | Coupled to Dynamics 365 Sales <small>caption</small> | obsolete Removed 26.0; #if not CLEANSCHEMA26; not editable |
| 721 | Coupled to Dataverse | Boolean | Specifies that the posted sales order is coupled to a sales order in Dynamics 365 Sales. | FlowField: exist("CRM Integration Record" where("Integration ID" = field(SystemId), "Table ID" = const(Database::"Sales Invoice Header"))); not editable |
| 1200 | Direct Debit Mandate ID | Code[35] | Specifies the direct-debit mandate that the customer has signed to allow direct debit collection of payments. | TableRelation [Table 1230 "SEPA Direct Debit Mandate"](../table/1230.md) ("SEPA Direct Debit Mandate" where("Customer No." = field("Bill-to Customer No."))) |
| 1302 | Closed | Boolean | Specifies if the posted invoice is paid. The check box will also be selected if a credit memo for the remaining amount has been applied. | FlowField: - exist("Cust. Ledger Entry" where("Entry No." = field("Cust. Ledger Entry No."), Open = filter(true))); not editable |
| 1303 | Remaining Amount | Decimal | Specifies the amount that remains to be paid on the sales invoices that are due next week. | FlowField: sum("Detailed Cust. Ledg. Entry".Amount where("Cust. Ledger Entry No." = field("Cust. Ledger Entry No."))); not editable |
| 1304 | Cust. Ledger Entry No. | Integer | — | TableRelation [Table 21 "Cust. Ledger Entry"](../table/21.md) ("Cust. Ledger Entry"."Entry No."); not editable |
| 1305 | Invoice Discount Amount | Decimal | — | FlowField: sum("Sales Invoice Line"."Inv. Discount Amount" where("Document No." = field("No."))); not editable |
| 1310 | Cancelled | Boolean | Specifies if the posted sales invoice has been either corrected or canceled. | FlowField: exist("Cancelled Document" where("Source ID" = const(112), "Cancelled Doc. No." = field("No."))); not editable |
| 1311 | Corrective | Boolean | Specifies if the posted sales invoice is a corrective document. | FlowField: exist("Cancelled Document" where("Source ID" = const(114), "Cancelled By Doc. No." = field("No."))); not editable |
| 1312 | Reversed | Boolean | — | FlowField: lookup("Cust. Ledger Entry".Reversed where("Entry No." = field("Cust. Ledger Entry No."))); not editable |
| 1340 | Dispute Status | Code[10] | Specifies if there is an ongoing dispute for this Invoice <small>via [Page 132 "Posted Sales Invoice"](../page/132.md)</small> | TableRelation [Table 142 "Dispute Status"](../table/142.md) (Dispute Status) |
| 1341 | Promised Pay Date | Date | Specifies the date on which the customer have promised to pay this invoice. |  |
| 5050 | Campaign No. | Code[20] | — | TableRelation [Table 5071 "Campaign"](../table/5071.md) |
| 5052 | Sell-to Contact No. | Code[20] | Specifies a unique identifier for the contact person at the customer the invoice was sent to. | TableRelation [Table 5050 "Contact"](../table/5050.md) |
| 5053 | Bill-to Contact No. | Code[20] | Specifies the number of the contact the invoice was sent to. | TableRelation [Table 5050 "Contact"](../table/5050.md) |
| 5055 | Opportunity No. | Code[20] | — | TableRelation [Table 5092 "Opportunity"](../table/5092.md) |
| 5700 | Responsibility Center | Code[10] | Specifies the code of the responsibility center associated with the user who created the invoice, your company, or the customer in the sales invoice. | TableRelation [Table 5714 "Responsibility Center"](../table/5714.md) (Responsibility Center) |
| 5794 | Shipping Agent Service Code | Code[10] | Specifies which shipping agent service is used to transport the items on the sales document to the customer. | TableRelation [Table 5790 "Shipping Agent Services"](../table/5790.md) ("Shipping Agent Services".Code where("Shipping Agent Code" = field("Shipping Agent Code"))) |
| 7000 | Price Calculation Method | Enum "Price Calculation Method" | — | enum [Enum 7000 "Price Calculation Method"](../enum/7000.md) |
| 7001 | Allow Line Disc. | Boolean | — |  |
| 7200 | Get Shipment Used | Boolean | — |  |
| 8001 | Draft Invoice SystemId | Guid | — | DataClassification SystemMetadata |
| 8010 | Dispute Status Id | Guid | — | TableRelation [Table 142 "Dispute Status"](../table/142.md) ("Dispute Status".SystemId) |

## Keys

- Key1: No. (clustered)
- Key2: Order No.
- Key3: Pre-Assigned No.
- Key4: Sell-to Customer No., External Document No.
- Key5: Sell-to Customer No., Order Date
- Key6: Sell-to Customer No.
- Key7: Prepayment Order No., Prepayment Invoice
- Key8: Bill-to Customer No.
- Key9: Posting Date
- Key10: Document Exchange Status
- Key11: Due Date
- Key12: Salesperson Code
- Key13: SystemModifiedAt

## Events published

- `OnBeforeCheckNoPrinted(var SalesInvoiceHeader: Record "Sales Invoice Header"; var IsHandled: Boolean)` (integration): Raised before checking if the invoice has been printed.
- `OnBeforeEmailRecords(var ReportSelections: Record "Report Selections"; var SalesInvoiceHeader: Record "Sales Invoice Header"; DocTxt: Text; var ShowDialog: Boolean; var IsHandled: Boolean)` (integration): Raised before emailing sales invoice records to customers.
- `OnBeforePrintRecords(var ReportSelections: Record "Report Selections"; var SalesInvoiceHeader: Record "Sales Invoice Header"; ShowRequestPage: Boolean; var IsHandled: Boolean)` (integration): Raised before printing sales invoice records.
- `OnBeforeDoPrintToDocumentAttachment(var SalesInvoiceHeader: Record "Sales Invoice Header"; var ShowNotificationAction: Boolean; var IsHandled: Boolean)` (integration): Raised before printing to document attachment for the sales invoice.
- `OnBeforeSendProfile(var ReportSelections: Record "Report Selections"; var SalesInvoiceHeader: Record "Sales Invoice Header"; DocTxt: Text; var IsHandled: Boolean; var DocumentSendingProfile: Record "Document Sending Profile")` (integration): Raised before sending the sales invoice using the document sending profile.
- `OnBeforeSendRecords(var ReportSelections: Record "Report Selections"; var SalesInvoiceHeader: Record "Sales Invoice Header"; DocTxt: Text; var IsHandled: Boolean)` (integration): Raised before sending sales invoice records.
- `OnBeforeShowCanceledOrCorrCrMemo(var SalesInvoiceHeader: Record "Sales Invoice Header"; var IsHandled: Boolean)` (integration): Raised before showing the cancelled or corrective credit memo related to this invoice.
- `OnBeforeShowCorrectiveCreditMemo(var SalesInvoiceHeader: Record "Sales Invoice Header"; var IsHandled: Boolean)` (integration): Raised before showing the corrective credit memo that cancelled this invoice.
- `OnBeforeShowCancelledCreditMemo(var SalesInvoiceHeader: Record "Sales Invoice Header"; var IsHandled: Boolean)` (integration): Raised before showing the cancelled credit memo when this invoice is a corrective invoice.
- `OnBeforeSetSecurityFilterOnRespCenter(var SalesInvoiceHeader: Record "Sales Invoice Header"; var IsHandled: Boolean)` (integration): Raised before setting security filter on responsibility center for the sales invoice.
- `OnGetPaymentReference(var PaymentReference: Text)` (integration): Raised to retrieve the payment reference for the sales invoice.
- `OnGetPaymentReferenceLbl(var PaymentReferenceLbl: Text)` (integration): Raised to retrieve the payment reference label for display.
- `OnLookupAppliesToDocNoOnAfterSetFilters(var CustLedgEntry: Record "Cust. Ledger Entry"; SalesInvoiceHeader: Record "Sales Invoice Header")` (integration): Raised after setting filters when looking up the applies-to document number.
- `OnPostedSalesInvoiceFullyOpen(var SalesInvoiceHeader: Record "Sales Invoice Header"; var FullyOpen: Boolean; var IsHandled: Boolean)` (integration): Raised to determine whether the posted sales invoice is fully open.
- `OnBeforeGetWorkDescription(var SalesInvoiceHeader: Record "Sales Invoice Header")` (integration): Raised before retrieving the work description text for the sales invoice.

## Trigger event subscribers

- OnAfterDeleteEvent: [Codeunit 1173 "Document Attachment Mgmt"](../codeunit/1173.md) DeleteAttachedDocumentsOnAfterDeleteSalesInvoiceHeader, [Codeunit 5477 "Sales Invoice Aggregator"](../codeunit/5477.md) OnAfterDeleteSalesInvoiceHeader, [Codeunit 8028 "Usage Based Contr. Subscribers"](../codeunit/8028.md) RemoveDocumentNoFromUsageDataBillingOnAfterDeleteSalesInvHeader
- OnAfterInsertEvent: [Codeunit 1637 "Office Document Handler"](../codeunit/1637.md) OnPostInvoice, [Codeunit 5477 "Sales Invoice Aggregator"](../codeunit/5477.md) OnAfterInsertSalesInvoiceHeader
- OnAfterModifyEvent: [Codeunit 5477 "Sales Invoice Aggregator"](../codeunit/5477.md) OnAfterModifySalesInvoiceHeader
- OnAfterRenameEvent: [Codeunit 5477 "Sales Invoice Aggregator"](../codeunit/5477.md) OnAfterRenameSalesInvoiceHeader

## Procedures

- `IsFullyOpen(): Boolean`: Checks if the invoice is fully open (no payments applied).
- `CheckNoPrinted()`: Validates that the invoice has been printed at least once.
- `SendRecords()`: Sends the invoice records using the customer's document sending profile.
- `SendProfile(var DocumentSendingProfile: Record "Document Sending Profile")`: Sends the invoice using a specific document sending profile.
- `PrintRecords(ShowRequestPage: Boolean)`: Prints the selected invoice records.
- `UpdateDisputeStatus()`: Updates the Dispute Status field from the Dispute Status Id.
- `UpdateDisputeStatusId()`: Updates the Dispute Status Id from the Dispute Status code.
- `PrintToDocumentAttachment(var SalesInvoiceHeader: Record "Sales Invoice Header")`: Prints the invoices and saves them as document attachments.
- `EmailRecords(ShowDialog: Boolean)`: Sends the invoice records by email.
- `GetDocTypeTxt(): Text[50]`: Gets the full document type text for the invoice.
- `Navigate()`: Opens the Navigate page to show related entries for this invoice.
- `LookupAdjmtValueEntries()`: Opens a page showing value entries with adjustments for this invoice.
- `GetCustomerVATRegistrationNumber(): Text`: Gets the customer's VAT registration number.
- `GetCustomerVATRegistrationNumberLbl(): Text`: Gets the label for the VAT registration number field.
- `GetCustomerGlobalLocationNumber(): Text`: Gets the customer's global location number (GLN).
- `GetCustomerGlobalLocationNumberLbl(): Text`: Gets the label for the GLN field.
- `GetSellToCustomerFaxNo(): Text`: Gets the sell-to customer's fax number.
- `GetPaymentReference(): Text`: Gets the payment reference for the invoice.
- `GetPaymentReferenceLbl(): Text`: Gets the label for the payment reference field.
- `GetLegalStatement(): Text`: Gets the legal statement from sales setup for printing on invoices.
- `GetRemainingAmount(): Decimal`: Gets the remaining amount from the associated customer ledger entry.
- `ShowDimensions()`: Shows the dimension set entries for this invoice.
- `SetSecurityFilterOnRespCenter()`: Sets a security filter based on the user's responsibility center.
- `GetDocExchStatusStyle(): Text`: Gets the style class for displaying the document exchange status.
- `ShowActivityLog()`: Shows the activity log entries for this invoice.
- `StartTrackingSite()`: Opens the shipping agent's tracking website for this shipment.
- `GetSelectedPaymentsText(): Text`: Gets the text describing the selected payment services for this invoice.
- `GetWorkDescription(): Text`: Gets the work description text from the blob field.
- `GetCurrencySymbol(): Text[10]`: Gets the currency symbol for display purposes.
- `DocExchangeStatusIsSent(): Boolean`: Checks if the invoice has been sent via document exchange.
- `ShowCanceledOrCorrCrMemo()`: Shows the credit memo that canceled or corrected this invoice.
- `ShowCorrectiveCreditMemo()`: Opens the credit memo that corrected this cancelled invoice.
- `ShowCancelledCreditMemo()`: Opens the credit memo that was cancelled by this corrective invoice.
- `GetDefaultEmailDocumentName(): Text[150]`: Gets the default document name for email purposes.

Plus 1 local procedures.

## Triggers

OnDelete

## Relations

- drill-down page [Page 143 "Posted Sales Invoices"](../page/143.md)
- lookup page [Page 143 "Posted Sales Invoices"](../page/143.md)
- Shipment Method Code: TableRelation [Table 10 "Shipment Method"](../table/10.md)
- Amount: CalcFormula [Table 113 "Sales Invoice Line"](../table/113.md)
- Amount Including VAT: CalcFormula [Table 113 "Sales Invoice Line"](../table/113.md)
- Invoice Discount Amount: CalcFormula [Table 113 "Sales Invoice Line"](../table/113.md)
- Direct Debit Mandate ID: TableRelation [Table 1230 "SEPA Direct Debit Mandate"](../table/1230.md)
- Salesperson Code: TableRelation [Table 13 "Salesperson/Purchaser"](../table/13.md)
- Location Code: TableRelation [Table 14 "Location"](../table/14.md)
- Dispute Status: TableRelation [Table 142 "Dispute Status"](../table/142.md)
- Dispute Status Id: TableRelation [Table 142 "Dispute Status"](../table/142.md)
- Bal. Account No.: TableRelation [Table 15 "G/L Account"](../table/15.md) (conditional)
- Bill-to Customer No.: TableRelation [Table 18 "Customer"](../table/18.md)
- Sell-to Customer No.: TableRelation [Table 18 "Customer"](../table/18.md)
- Cancelled: CalcFormula [Table 1900 "Cancelled Document"](../table/1900.md)
- Corrective: CalcFormula [Table 1900 "Cancelled Document"](../table/1900.md)
- Closed: CalcFormula [Table 21 "Cust. Ledger Entry"](../table/21.md)
- Reversed: CalcFormula [Table 21 "Cust. Ledger Entry"](../table/21.md)
- Cust. Ledger Entry No.: TableRelation [Table 21 "Cust. Ledger Entry"](../table/21.md)
- Ship-to Code: TableRelation [Table 222 "Ship-to Address"](../table/222.md)
- Bill-to City: TableRelation [Table 225 "Post Code"](../table/225.md)
- Bill-to Post Code: TableRelation [Table 225 "Post Code"](../table/225.md)
- Sell-to City: TableRelation [Table 225 "Post Code"](../table/225.md)
- Sell-to Post Code: TableRelation [Table 225 "Post Code"](../table/225.md)
- Ship-to City: TableRelation [Table 225 "Post Code"](../table/225.md)
- Ship-to Post Code: TableRelation [Table 225 "Post Code"](../table/225.md)
- Source Code: TableRelation [Table 230 "Source Code"](../table/230.md)
- Reason Code: TableRelation [Table 231 "Reason Code"](../table/231.md)
- Gen. Bus. Posting Group: TableRelation [Table 250 "Gen. Business Posting Group"](../table/250.md)
- Transaction Type: TableRelation [Table 258 "Transaction Type"](../table/258.md)
- Transport Method: TableRelation [Table 259 "Transport Method"](../table/259.md)
- Bal. Account No.: TableRelation [Table 270 "Bank Account"](../table/270.md) (conditional)
- Company Bank Account Code: TableRelation [Table 270 "Bank Account"](../table/270.md)
- 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)
- Payment Method Code: TableRelation [Table 289 "Payment Method"](../table/289.md)
- Shipping Agent Code: TableRelation [Table 291 "Shipping Agent"](../table/291.md)
- Payment Terms Code: TableRelation [Table 3 "Payment Terms"](../table/3.md)
- No. Series: TableRelation [Table 308 "No. Series"](../table/308.md)
- Order No. Series: TableRelation [Table 308 "No. Series"](../table/308.md)
- Pre-Assigned No. Series: TableRelation [Table 308 "No. Series"](../table/308.md)
- Prepayment No. Series: TableRelation [Table 308 "No. Series"](../table/308.md)
- Tax Area Code: TableRelation [Table 318 "Tax Area"](../table/318.md)
- VAT Bus. Posting Group: TableRelation [Table 323 "VAT Business Posting Group"](../table/323.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)
- Remaining Amount: CalcFormula [Table 379 "Detailed Cust. Ledg. Entry"](../table/379.md)
- Currency Code: TableRelation [Table 4 "Currency"](../table/4.md)
- Comment: CalcFormula [Table 44 "Sales Comment Line"](../table/44.md)
- Dimension Set ID: TableRelation [Table 480 "Dimension Set Entry"](../table/480.md)
- Bill-to Contact No.: TableRelation [Table 5050 "Contact"](../table/5050.md)
- Sell-to Contact No.: TableRelation [Table 5050 "Contact"](../table/5050.md)
- Campaign No.: TableRelation [Table 5071 "Campaign"](../table/5071.md)
- Opportunity No.: TableRelation [Table 5092 "Opportunity"](../table/5092.md)
- Coupled to Dataverse: CalcFormula [Table 5331 "CRM Integration Record"](../table/5331.md)
- Responsibility Center: TableRelation [Table 5714 "Responsibility Center"](../table/5714.md)
- Shipping Agent Service Code: TableRelation [Table 5790 "Shipping Agent Services"](../table/5790.md)
- Customer Price Group: TableRelation [Table 6 "Customer Price Group"](../table/6.md)
- Language Code: TableRelation [Table 8 "Language"](../table/8.md)
- Last Email Sent Message Id: CalcFormula [Table 8909 "Email Related Record"](../table/8909.md)
- Last Email Sent Time: CalcFormula [Table 8909 "Email Related Record"](../table/8909.md)
- Bill-to Country/Region Code: TableRelation [Table 9 "Country/Region"](../table/9.md)
- Sell-to Country/Region Code: TableRelation [Table 9 "Country/Region"](../table/9.md)
- Ship-to Country/Region Code: TableRelation [Table 9 "Country/Region"](../table/9.md)
- VAT Country/Region Code: TableRelation [Table 9 "Country/Region"](../table/9.md)
- Customer Posting Group: TableRelation [Table 92 "Customer Posting Group"](../table/92.md)

## Referenced by

26 fields in 18 objects relate to this table (TableRelation or CalcFormula).

- [Table 5107 "Sales Header Archive"](../table/5107.md): Last Posting No., Last Prepayment No., Last Prepmt. Cr. Memo No.
- [Table 18 "Customer"](../table/18.md): Bill-To No. of Pstd. Invoices, No. of Pstd. Invoices
- [Table 1900 "Cancelled Document"](../table/1900.md): Cancelled By Doc. No., Cancelled Doc. No.
- [Table 36 "Sales Header"](../table/36.md): Last Posting No., Last Prepayment No.
- [Table 5109 "Purchase Header Archive"](../table/5109.md): Last Prepayment No., Last Prepmt. Cr. Memo No.
- [Table 8064 "Billing Line Archive"](../table/8064.md): Correction Document No., Document No.
- [Table 9060 "SB Owner Cue"](../table/9060.md): Overdue Sales Invoices, Unpaid Sales Invoices
- [Table 113 "Sales Invoice Line"](../table/113.md): Document No.
- [Table 1313 "Activities Cue"](../table/1313.md): Sales Inv. - Pending Doc.Exch.
- [Table 181 "Posted Gen. Journal Line"](../table/181.md): Applies-to Invoice Id
- [Table 30124 "Shpfy Payment Transaction"](../table/30124.md): Invoice No.
- [Table 30133 "Shpfy Order Transaction"](../table/30133.md): Posted Invoice No.
- [Table 30154 "Shpfy Suggest Payment"](../table/30154.md): Invoice No.
- [Table 5875 "Phys. Invt. Order Header"](../table/5875.md): Last Posting No.
- [Table 5992 "Service Invoice Header"](../table/5992.md): Last Posting No.
- [Table 7190 "Sales Shipment Buffer"](../table/7190.md): Document No.
- [Table 8061 "Billing Line"](../table/8061.md): Correction Document No.
- [Table 9053 "Sales Cue"](../table/9053.md): Sales Inv. - Pending Doc.Exch.

## Pages and codeunits on this table

- [Page 1163 "Sales Invoices Due Next Week"](../page/1163.md) (source table)
- [Page 132 "Posted Sales Invoice"](../page/132.md) (source table)
- [Page 1355 "Posted Sales Inv. - Update"](../page/1355.md) (source table)
- [Page 143 "Posted Sales Invoices"](../page/143.md) (source table)
- [Page 397 "Sales Invoice Statistics"](../page/397.md) (source table)
- [Page 6169 "E-Document QR Code Viewer"](../page/6169.md) (source table)
- [Page 9970 "Posted Sales Invoice API"](../page/9970.md) (source table)
- [Codeunit 1303 "Correct Posted Sales Invoice"](../codeunit/1303.md) (codeunit runs on it)
- [Codeunit 1322 "Correct PstdSalesInv (Yes/No)"](../codeunit/1322.md) (codeunit runs on it)
- [Codeunit 1323 "Cancel PstdSalesInv (Yes/No)"](../codeunit/1323.md) (codeunit runs on it)
- [Codeunit 1409 "Sales Inv. Header - Edit"](../codeunit/1409.md) (codeunit runs on it)
- [Codeunit 30362 "Shpfy Posted Invoice Export"](../codeunit/30362.md) (codeunit runs on it)
- [Codeunit 315 "Sales Inv.-Printed"](../codeunit/315.md) (codeunit runs on it)

## Extended by

- [Table extension 30102 "Shpfy Sales Invoice Header"](../tableextension/30102.md)
- [Table extension 5027 "Serv. Decl. Sales Inv. Header"](../tableextension/5027.md)
- [Table extension 6166 "Posted Sales Invoice with QR"](../tableextension/6166.md)
- [Table extension 6238 "Sust. Sales Invoice Header"](../tableextension/6238.md)
- [Table extension 8055 "Sales Invoice Header"](../tableextension/8055.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 452 "Report Distribution Management"](../codeunit/452.md) (4 calls: `EmailRecords → GetFullDocumentTypeText`, `GetDocTypeTxt → GetFullDocumentTypeText`, `SendProfile → GetFullDocumentTypeText`, …)
- [Codeunit 10 "Type Helper"](../codeunit/10.md) (2 calls: `GetWorkDescription → LFSeparator`, `GetWorkDescription → TryReadAsTextWithSepAndFieldErrMsg`)
- [Codeunit 363 "PostSales-Delete"](../codeunit/363.md) (2 calls: `OnDelete → DeleteSalesInvLines`, `OnDelete → IsDocumentDeletionAllowed`)
- [Codeunit 4100 "Temp Blob"](../codeunit/4100.md) (2 calls: `GetWorkDescription → CreateInStream`, `GetWorkDescription → FromRecord`)
- [Codeunit 700 "Page Management"](../codeunit/700.md) (2 calls: `ShowCancelledCreditMemo → PageRun`, `ShowCorrectiveCreditMemo → PageRun`)
- [Codeunit 1535 "Approvals Mgmt."](../codeunit/1535.md) (1 call: `OnDelete → DeletePostedApprovalEntries`)
- [Codeunit 408 "DimensionManagement"](../codeunit/408.md) (1 call: `ShowDimensions → ShowDimensionSet`)
- [Codeunit 5700 "User Setup Management"](../codeunit/5700.md) (1 call: `SetSecurityFilterOnRespCenter → GetSalesFilter`)

## Across versions

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

## Countries that replace it

[AU](../../localizations/au.md), [BE](../../localizations/be.md), [CA](../../localizations/ca.md), [ES](../../localizations/es.md), [FI](../../localizations/fi.md), [FR](../../localizations/fr.md), [IT](../../localizations/it.md), [MX](../../localizations/mx.md), [NL](../../localizations/nl.md), [NO](../../localizations/no.md), [NZ](../../localizations/nz.md), [RU](../../localizations/ru.md), [SE](../../localizations/se.md), [US](../../localizations/us.md)

## Deprecations

- field Coupled to CRM: Removed 26.0 (#if not CLEANSCHEMA26), "Replaced by flow field Coupled to Dataverse"

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 Header")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
