Page 187 VAT Setup

App
Base Application
Namespace
Microsoft.Finance.VAT.Setup
Versions
22-28
Source table
189

Versions171819202122232425262728

Source29

Source in 29

src/Layers/W1/BaseApp/Finance/VAT/Setup/VATSetup.Page.al260 lines, Copyright (c) Microsoft Corporation. MIT

// ------------------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// ------------------------------------------------------------------------------------------------
namespace Microsoft.Finance.VAT.Setup;

using Microsoft.Finance.VAT.Calculation;
using Microsoft.Finance.VAT.Clause;
using Microsoft.Finance.VAT.RateChange;
using Microsoft.Finance.VAT.Reporting;

/// <summary>
/// VAT setup configuration page providing access to global VAT settings and non-deductible VAT functionality.
/// Central administration interface for configuring VAT behavior, date controls, and advanced VAT features across Business Central.
/// </summary>
/// <remarks>
/// Key features: Non-deductible VAT setup, VAT date range configuration, alternative customer VAT registration handling.
/// Navigation: Provides access to VAT posting groups, VAT posting setups, VAT reports, and VAT rate change tools.
/// User workflow: Administrative setup for VAT functionality with links to related VAT configuration pages.
/// </remarks>
page 187 "VAT Setup"
{
    ApplicationArea = Basic, Suite;
    DeleteAllowed = false;
    PageType = Card;
    SourceTable = "VAT Setup";
    UsageCategory = Administration;
    PromotedActionCategories = 'New,Process,Report,VAT Posting Groups,VAT Reporting,Other';

    layout
    {
        area(content)
        {
            group(General)
            {
                Caption = 'General';

                field("Enable Non-Deductible VAT"; Rec."Enable Non-Deductible VAT")
                {
                    ApplicationArea = Basic, Suite;
                    Editable = not Rec."Non-Deductible VAT Is Enabled";
                }
            }
            group(VATDate)
            {
                Caption = 'VAT Date';
                Visible = IsVATDateEnabled;
                field("Allow VAT From"; Rec."Allow VAT Date From")
                {
                    ApplicationArea = VAT;
                }
                field("Allow VAT To"; Rec."Allow VAT Date To")
                {
                    ApplicationArea = VAT;
                }
            }
            group(NonDeductibleVAT)
            {
                Caption = 'Non-Deductible VAT';
                Visible = Rec."Enable Non-Deductible VAT";

                field(UseForItemCost; Rec."Use For Item Cost")
                {
                    ApplicationArea = Basic, Suite;
                }
                field(UseForFixedAssetCost; Rec."Use For Fixed Asset Cost")
                {
                    ApplicationArea = Basic, Suite;
                }
                field(UseForJobCost; Rec."Use For Job Cost")
                {
                    ApplicationArea = Basic, Suite;
                }
                field("Show Non-Ded. VAT In Lines"; Rec."Show Non-Ded. VAT In Lines")
                {
                    ApplicationArea = Basic, Suite;
                }
            }
        }
        area(factboxes)
        {
            systempart(LinksPart; Links)
            {
                ApplicationArea = RecordLinks;
                Visible = false;
            }
            systempart(NotesPart; Notes)
            {
                ApplicationArea = Notes;
                Visible = false;
            }
        }
    }

    actions
    {
        area(processing)
        {
            group(VATPostingGroups)
            {
                Caption = 'VAT Posting Groups';
                action(VATPostingSetup)
                {
                    Caption = 'VAT Posting Setup';
                    ApplicationArea = Basic, Suite;
                    Promoted = true;
                    PromotedCategory = Category4;
                    Image = VATPostingSetup;
                    RunObject = page "VAT Posting Setup";
                    ToolTip = 'View or edit combinations of Tax business posting groups and Tax product posting groups.';
                }
                action(VATBusinessPostingGroups)
                {
                    Caption = 'VAT Business Posting Groups';
                    ApplicationArea = Basic, Suite;
                    Promoted = true;
                    PromotedCategory = Category4;
                    Image = Company;
                    RunObject = page "VAT Business Posting Groups";
                    ToolTip = 'Set up the trade-type posting groups that you assign to customer and vendor cards to link VAT amounts with the appropriate general ledger account.';
                }
                action(VATProductPostingGroups)
                {
                    Caption = 'VAT Product Posting Groups';
                    ApplicationArea = Basic, Suite;
                    Promoted = true;
                    PromotedCategory = Category4;
                    Image = Item;
                    RunObject = page "VAT Product Posting Groups";
                    ToolTip = 'Set up the item-type posting groups that you assign to customer and vendor cards to link VAT amounts with the appropriate general ledger account.';
                }
                action(VATClauses)
                {
                    Caption = 'VAT Clauses';
                    ApplicationArea = Basic, Suite;
                    Promoted = true;
                    PromotedCategory = Category4;
                    Image = ElectronicVATExemption;
                    RunObject = page "VAT Clauses";
                    Tooltip = 'Open the VAT Clauses page.';
                }
            }
            group(VATReporting)
            {
                Caption = 'VAT Reporting';
                action(VATReportSetup)
                {
                    Caption = 'VAT Report Setup';
                    ApplicationArea = Basic, Suite;
                    Promoted = true;
                    PromotedCategory = Category5;
                    Image = Report;
                    RunObject = page "VAT Report Setup";
                    ToolTip = 'Set up number series and options for the report that you periodically send to the authorities to declare your VAT.';
                }
                action(VATReportsConfiguration)
                {
                    Caption = 'VAT Reports Configuration';
                    ApplicationArea = Basic, Suite;
                    Promoted = true;
                    PromotedCategory = Category5;
                    Image = Setup;
                    RunObject = page "VAT Reports Configuration";
                    Tooltip = 'Open the VAT Reports Configuration page.';
                }
                action(VATReturnPeriod)
                {
                    Caption = 'VAT Return Periods';
                    ApplicationArea = Basic, Suite;
                    Promoted = true;
                    PromotedCategory = Category5;
                    Image = Period;
                    RunObject = page "VAT Return Period List";
                    Tooltip = 'Open the VAT return periods page.';
                }
                action(VATReturn)
                {
                    Caption = 'VAT Returns';
                    ApplicationArea = Basic, Suite;
                    Promoted = true;
                    PromotedCategory = Category5;
                    Image = Return;
                    RunObject = page "VAT Report List";
                    ToolTip = 'Prepare the VAT Return report so you can submit VAT amounts to a tax authority.';
                }
                action(VATStatementTemplates)
                {
                    Caption = 'VAT Statement Templates';
                    ApplicationArea = Basic, Suite;
                    Promoted = true;
                    PromotedCategory = Category5;
                    Image = Template;
                    RunObject = page "VAT Statement Templates";
                    ToolTip = 'Prepare the VAT statement template for your VAT Return report that you can submit VAT amounts to a tax authority.';
                }
                action(VATStatement)
                {
                    Caption = 'VAT Statements';
                    ApplicationArea = Basic, Suite;
                    Promoted = true;
                    PromotedCategory = Category5;
                    Image = Worksheet;
                    RunObject = page "VAT Statement";
                    ToolTip = 'Prepare the VAT statement template for your VAT Return report that you can submit VAT amounts to a tax authority.';
                }
                action(VATVIESDeclarationDisk)
                {
                    Caption = 'VAT- VIES Declaration Disk';
                    ApplicationArea = Basic, Suite;
                    Promoted = true;
                    PromotedCategory = Category5;
                    Image = MakeDiskette;
                    RunObject = report "VAT- VIES Declaration Disk";
                    ToolTip = 'Report your sales to other EU countries or regions to the customs and tax authorities. If the information must be printed out on a printer, you can use the VAT- VIES Declaration Tax Auth report. The information is shown in the same format as in the declaration list from the customs and tax authorities.';
                }
                action(VATVIESDeclarationTaxAuth)
                {
                    Caption = 'VAT- VIES Declaration Tax Auth';
                    ApplicationArea = Basic, Suite;
                    Promoted = true;
                    PromotedCategory = Category5;
                    Image = Report2;
                    RunObject = report "VAT- VIES Declaration Tax Auth";
                    ToolTip = 'View information to the customs and tax authorities for sales to other EU countries/regions. If the information must be printed to a file, you can use the VAT- VIES Declaration Disk report.';
                }
            }
            group(Other)
            {
                Caption = 'Other';
                action(VATRateChangeSetup)
                {
                    Caption = 'VAT Rate Change Setup';
                    ApplicationArea = Basic, Suite;
                    Promoted = true;
                    PromotedCategory = Category6;
                    Image = NumberSetup;
                    RunObject = page "VAT Rate Change Setup";
                    ToolTip = 'Opens the VAT rate change setup';
                }
            }
        }
    }

    trigger OnOpenPage()
    var
        VATReportingDateMgt: Codeunit "VAT Reporting Date Mgt";
    begin
        IsVATDateEnabled := VATReportingDateMgt.IsVATDateEnabled();
        if not Rec.Get() then begin
            Rec.Init();
            Rec.Insert();
        end;
    end;


    var
        IsVATDateEnabled: Boolean;
}