---
id: object/table/740
type: object
title: Table 740 "VAT Report Header"
summary: Table 740 "VAT Report Header" in Base Application (Microsoft.Finance.VAT.Reporting). 23 fields, 12 public procedures, 4 events. Present since at least BC23, still in BC30, changed in BC24-27, BC29.
tier: official
language: en
tags:
  - table
  - base application
versions:
  introduced: null
  last_changed: "29"
  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: 05e20d161df0bb45c2c8e01621f20dbd77f528ff318f15f68c2b1a2595333041
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Finance/VAT/Reporting/VATReportHeader.Table.al
    title: src/Layers/W1/BaseApp/Finance/VAT/Reporting/VATReportHeader.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/finance-how-report-vat
  objects: []
  features: []
  topics:
    - topic/business-central/business-functionality/finance/closing-years-and-periods
    - topic/business-central/business-functionality/finance/working-with-value-added-tax-vat
  localizations:
    - localization/au
    - localization/de
    - localization/it
  videos: []
  posts: []
  guidelines: []
object_type: table
object_id: 740
name: VAT Report Header
namespace: Microsoft.Finance.VAT.Reporting
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"
  - "29"
source_major: "29"
obsolete: null
countries:
  - au
  - de
  - it
ms_search_form_ids: []
counts:
  fields: 23
  procedures: 20
  events: 4
  subscribers: 0
relations:
  out: 6
  referenced_by: 8
  pages: 4
  extended_by: 1
  event_subscribers: 0
  calls: 1
  called_by: 0
  implements: 0
---

# Table 740 "VAT Report Header"

> Table 740 "VAT Report Header" in Base Application (Microsoft.Finance.VAT.Reporting). 23 fields, 12 public procedures, 4 events. Present since at least BC23, still in BC30, changed in BC24-27, BC29.

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

Learn documents this table through its pages: [Page 321 "ECSL Report"](../page/321.md) (1 Learn page), [Page 323 "EC Sales List Reports"](../page/323.md) (1), [Page 740 "VAT Report"](../page/740.md) (1), [Page 744 "VAT Report List"](../page/744.md) (1).

## Properties

| Property | Value |
|---|---|
| Caption | VAT Report 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 |
|---|---|---|---|---|
| 1 | No. | Code[20] | Specifies the number of the involved entry or record, according to the specified number series. |  |
| 2 | VAT Report Config. Code | Enum "VAT Report Configuration" | Specifies the appropriate configuration code for EC Sales List Reports. | TableRelation [Table 746 "VAT Reports Configuration"](../table/746.md) ("VAT Reports Configuration"."VAT Report Type"); enum [Enum 740 "VAT Report Configuration"](../enum/740.md) |
| 3 | VAT Report Type | Option | Specifies if the VAT report is a standard report, or if it is related to a previously submitted VAT report. | OptionCaption: Standard,Corrective,Supplementary |
| 4 | Start Date | Date | Specifies the first date of the reporting period. |  |
| 5 | End Date | Date | Specifies the last date of the reporting period. |  |
| 6 | Status | Enum "VAT Report Status" | Specifies whether the report is in progress, is completed, or contains errors. | enum [Enum 700 "VAT Report Status"](../enum/700.md); not editable |
| 8 | No. Series | Code[20] | Specifies the number series from which entry or record numbers are assigned to new entries or records. |  |
| 9 | Original Report No. | Code[20] | Specifies the number of the original report. |  |
| 10 | Period Type | Option | Specifies the length of the reporting period. | OptionCaption: ,,Month,Quarter,Year,Bi-Monthly,Half-Year,Half-Month,Weekly |
| 11 | Period No. | Integer | Specifies the specific reporting period to use. | TableRelation [Table 749 "Date Lookup Buffer"](../table/749.md) ("Date Lookup Buffer"."Period No." where("Period Type" = field("Period Type"))) |
| 12 | Period Year | Integer | Specifies the year of the reporting period. |  |
| 13 | Message Id | Text[250] | Specifies the message ID of the report listing sales to other EU countries/regions. |  |
| 14 | Statement Template Name | Code[10] | Specifies the name of the statement template from the EC Sales List Report. | TableRelation [Table 255 "VAT Statement Template"](../table/255.md) (VAT Statement Template) |
| 15 | Statement Name | Code[10] | Specifies the name of the statement from the EC Sales List Report. | TableRelation [Table 257 "VAT Statement Name"](../table/257.md) ("VAT Statement Name".Name where("Statement Template Name" = field("Statement Template Name"))) |
| 16 | VAT Report Version | Code[10] | Specifies version of the report. | TableRelation [Table 746 "VAT Reports Configuration"](../table/746.md) ("VAT Reports Configuration"."VAT Report Version" where("VAT Report Type" = field("VAT Report Config. Code"))) |
| 17 | Submitted By | Guid | — | TableRelation User."User Security ID"; DataClassification EndUserPseudonymousIdentifiers |
| 18 | Submitted Date | Date | — |  |
| 19 | Return Period No. | Code[20] | — |  |
| 20 | Date Type | Enum "VAT Date Type" | — | obsolete Removed 25.0; #if not CLEANSCHEMA25; enum [Enum 257 "VAT Date Type"](../enum/257.md) |
| 30 | Additional Information | Code[50] | Specifies the additional information must be added to VAT report. |  |
| 31 | Created Date-Time | DateTime | Specifies the date when the VAT report lines were created. | not editable |
| 32 | Country/Region Filter | Text[250] | Specifies the country/region filter for the report. | not editable |
| 100 | Amounts in Add. Rep. Currency | Boolean | Specifies whether the amounts are in the additional reporting currency. | not editable |

## Keys

- Key1: VAT Report Config. Code, No. (clustered)

## Events published

- `OnAfterInitRecord(var VATReportHeader: Record "VAT Report Header")` (integration): Integration event raised after initializing a new VAT report record. Allows customization of default values and additional initialization logic.
- `OnBeforeLookupOriginalReportNo(var VATReportHeader: Record "VAT Report Header"; var IsHandled: Boolean)` (integration): Integration event raised before looking up original report number. Enables custom lookup logic for original report selection.
- `OnBeforeGetNoSeriesCode(var VATReportHeader: Record "VAT Report Header"; var Result: Code[20]; var IsHandled: Boolean)` (integration): Integration event raised before getting number series code for VAT report. Allows custom number series logic based on report configuration.
- `OnBeforeTestOriginalReportNo(VATReportHeader: Record "VAT Report Header"; var IsHandled: Boolean)` (integration): Integration event raised before testing original report number requirement. Enables custom validation logic for original report number requirements.

## Procedures

- `GetNoSeriesCode(): Code[20]`: Gets the appropriate number series code based on VAT report configuration type. Returns specific series for VAT returns or general series for other report types.
- `AssistEdit(OldVATReportHeader: Record "VAT Report Header"): Boolean`: Provides assistance for editing report number with number series lookup. Allows manual number series selection and generates next available number.
- `InitRecord()`: Initializes new VAT report record with default period and configuration values. Sets period to previous month for VAT returns and EC sales lists.
- `CheckEditingAllowed()`: Validates that the report status allows editing operations. Prevents modification of reports that are no longer in Open status.
- `CheckDates()`: Validates that start and end dates are filled and end date is not earlier than start date. Performs comprehensive date validation for the reporting period.
- `CheckEndDate()`: Validates that the end date is not earlier than the start date. Ensures logical consistency of the reporting period.
- `CheckIfCanBeSubmitted()`: Validates that the report is in Released status before submission. Ensures proper workflow compliance for VAT report submission.
- `CheckIfCanBeReopened(VATReportHeader: Record "VAT Report Header")`: Validates that the report can be reopened based on status and setup configuration. Checks VAT report setup to determine if submitted reports can be modified.
- `CheckIfCanBeReleased(VATReportHeader: Record "VAT Report Header")`: Validates that the report can be released from Open status with proper original report reference. Ensures required fields are completed before release.
- `TestOriginalReportNo()` (internal): Validates that original report number is specified for corrective and supplementary reports. Ensures proper reference for non-standard VAT report types.
- `PeriodToDate()`: Converts period type, number, and year fields to specific start and end dates. Calculates date ranges for various period types including months, quarters, and custom periods.
- `IsPeriodValid(): Boolean`: Validates period type, number, and year combination for logical consistency. Checks value ranges for different period types to ensure valid date calculations.

Plus 4 local procedures.

## Triggers

OnDelete, OnInsert, OnModify, OnRename

## Relations

- lookup page [Page 744 "VAT Report List"](../page/744.md)
- Statement Template Name: TableRelation [Table 255 "VAT Statement Template"](../table/255.md)
- Statement Name: TableRelation [Table 257 "VAT Statement Name"](../table/257.md)
- VAT Report Config. Code: TableRelation [Table 746 "VAT Reports Configuration"](../table/746.md)
- VAT Report Version: TableRelation [Table 746 "VAT Reports Configuration"](../table/746.md)
- Period No.: TableRelation [Table 749 "Date Lookup Buffer"](../table/749.md)

## Referenced by

8 fields in 7 objects relate to this table (TableRelation or CalcFormula).

- [Table 737 "VAT Return Period"](../table/737.md): VAT Return Status, VAT Return No.
- [Table 4701 "VAT Group Calculation"](../table/4701.md): VAT Report No.
- [Table 4702 "VAT Group Submission Header"](../table/4702.md): VAT Group Return No.
- [Table 741 "VAT Report Line"](../table/741.md): VAT Report No.
- [Table 742 "VAT Statement Report Line"](../table/742.md): VAT Report No.
- [Table 744 "VAT Report Line Relation"](../table/744.md): VAT Report No.
- [Table 747 "VAT Report Archive"](../table/747.md): VAT Report No.

## Pages and codeunits on this table

- [Page 321 "ECSL Report"](../page/321.md) (source table)
- [Page 323 "EC Sales List Reports"](../page/323.md) (source table)
- [Page 740 "VAT Report"](../page/740.md) (source table)
- [Page 744 "VAT Report List"](../page/744.md) (source table)
- [Codeunit 140 "EC Sales List Suggest Lines"](../codeunit/140.md) (codeunit runs on it)
- [Codeunit 143 "ECSL Report Validate"](../codeunit/143.md) (codeunit runs on it)
- [Codeunit 4703 "VAT Group Retrieve From Sub."](../codeunit/4703.md) (codeunit runs on it)
- [Codeunit 4706 "VAT Group Submit To Represent."](../codeunit/4706.md) (codeunit runs on it)
- [Codeunit 4708 "VAT Group Settlement"](../codeunit/4708.md) (codeunit runs on it)
- [Codeunit 744 "VAT Report Validate"](../codeunit/744.md) (codeunit runs on it)
- [Codeunit 745 "VAT Report Suggest Lines"](../codeunit/745.md) (codeunit runs on it)

## Extended by

- [Table extension 4700 "VAT Report Header Extension"](../tableextension/4700.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.

- [Page 456 "No. Series"](../page/456.md) (2 calls: `AssistEdit → (object)`, `OnInsert → (object)`)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24-27, BC29

## Countries that replace it

[AU](../../localizations/au.md), [DE](../../localizations/de.md), [IT](../../localizations/it.md)

## Deprecations

- field Date Type: Removed 25.0 (#if not CLEANSCHEMA25), "Selected VAT Date type no longer supported"

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