localization · BC29official - Microsoftreviewed - checked by Opus

Austria (AT)

Austria (AT) localization of Business Central 29. It covers purchase delivery reminders, VAT statement and VIES reporting, the Vendor Payments List, G/L setup information, Intrastat, physical inventory orders, data export and local reports. It answers where Austrian features sit and which W1 objects change.

What AT changes in W1 47 objects, BC29

table/79 "Company Information" +26, 3 changed
  • +field(11000; "Area"; Code[10])
  • +field(11001; "Place of Dispatcher"; Code[10])
  • +field(11002; "Place of Receiver"; Code[10])
  • +field(11003; "Sales Authorized No."; Code[8])
  • +field(11004; "Purch. Authorized No."; Code[8])
  • +field(11005; "Company No."; Text[10])
  • +field(11006; "Special Agreement"; Text[20])
  • +field(11007; "Agency No."; Text[10])
  • +field(11008; "Tax Office Name"; Text[50])
  • +field(11009; "Tax Office Name 2"; Text[50])
  • +field(11010; "Tax Office Address"; Text[50])
  • +field(11011; "Tax Office Address 2"; Text[50])
  • +field(11012; "Tax Office City"; Text[50])
  • +field(11013; "Tax Office Post Code"; Code[20])
  • +field(11014; "Tax Office Country/Region Code"; Code[10])
  • +field(11015; "Tax Office County"; Text[30])
  • +field(11016; "Tax Office Area"; Option)
  • +field(11019; "VAT Representative"; Text[45])
  • +field(11020; "House Number"; Text[9])
  • +field(11021; "Floor Number"; Text[8])
  • +field(11022; "Room Number"; Text[7])
  • +field(11050; "Participant No."; Text[10])
  • +field(11100; "Statistic No."; Code[20])
  • +field(11101; "Control No."; Code[20])
  • +field(11102; "DVR Number"; Code[20])
  • +field(11103; "Tax Office Number"; Code[4])
  • Δfield(11; "Giro No."; Text[20])
  • Δfield(14; "Bank Account No."; Text[30])
  • Δfield(38; "IBAN"; Code[50])
table/254 "VAT Entry" +5, 5 changed
  • +field(11000; "G/L Account No."; Code[20])
  • +key(Key14; "Posting Date", "Type", "Closed", "VAT Bus. Posting Group", "VAT Prod. Posting Group", "Reversed", "G/L Acc. No.", "VAT Reporting Date")
  • +key(Key16; "Document Date")
  • +key(Key17; "G/L Acc. No.")
  • +key(Key18; "Type", "Closed", "VAT Bus. Posting Group", "VAT Prod. Posting Group", "Reversed", "Posting Date", "G/L Acc. No.", "VAT Reporting Date")
  • Δkey(Key9; "Bill-to/Pay-to No.", "EU 3-Party Trade", "Type", "Posting Date")
  • Δkey(Key10; "Closed by Entry No.")
  • Δkey(Key11; "Type", "Closed", "VAT Bus. Posting Group", "VAT Prod. Posting Group", "Tax Jurisdiction Code", "Use Tax", "Posting Date", "G/L Acc. No.")
  • Δkey(Key12; "Country/Region Code", "Posting Date")
  • Δkey(Key13; "Gen. Prod. Posting Group", "Posting Date")
table/263 "Intrastat Jnl. Line" +3, 7 changed
  • +key(Key3; "Type", "Country/Region Code", "Tariff No.", "Transaction Type", "Transport Method", "Area", "Entry/Exit Point", "Transaction Specification", "Country/Region of Origin Code", "Partner VAT ID")
  • +key(Key4; "Internal Ref. No.")
  • +key(Key8; "Document No.")
  • Δfield(14; "Amount"; Decimal)
  • Δfield(15; "Quantity"; Decimal)
  • Δfield(18; "Statistical Value"; Decimal)
  • Δfield(22; "Total Weight"; Decimal)
  • Δkey(Key5; "Journal Template Name", "Journal Batch Name", "Type", "Internal Ref. No.")
  • Δkey(Key6; "Journal Template Name", "Journal Batch Name", "Type", "Country/Region Code", "Tariff No.", "Transaction Type", "Transport Method", "Area", "Transaction Specification", "Country/Region of Origin Code", "Partner VAT ID")
  • Δkey(Key7; "Type", "Internal Ref. No.")
codeunit/13 "Gen. Jnl.-Post Batch" +6, 1 removed
  • +local event OnBeforeCheckPmtApplnAllowed(var PaymentApplication: Boolean; var PaymentBalanceVAT: Boolean; GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)
  • +local procedure CheckCorrection(GenJournalLine: Record "Gen. Journal Line"; var PaymentApplication: Boolean; var PaymentBalanceVAT: Boolean; LastGenJournalLine: Record "Gen. Journal Line")
  • +local procedure GetGenJnlLineParameters(var PaymentApplication: Boolean; var PaymentBalanceVAT: Boolean; GenJnlLine: Record "Gen. Journal Line")
  • +local procedure CheckPmtApplnAllowed(var PaymentApplication: Boolean; var PaymentBalanceVAT: Boolean; GenJournalLine: Record "Gen. Journal Line")
  • +local procedure IsPaymentApplication(GenJnlLine: Record "Gen. Journal Line"): Boolean
  • +local procedure IsPaymentBalanceVAT(GenJnlLine: Record "Gen. Journal Line"): Boolean
  • −local procedure CheckCorrection(GenJournalLine: Record "Gen. Journal Line")
page/475 "VAT Statement Preview Line" +3, 3 removed
  • +local event OnBeforeCalcColumnValue(VATStmtLine2: Record "VAT Statement Line"; var TotalAmount: Decimal; var TotalEmpty: Decimal; var TotalBase: Decimal; var TotalUnrealizedAmount: Decimal; var TotalUnrealizedBase: Decimal; Level: Integer; var IsHandled: Boolean; Selection: Enum "VAT Statement Report Selection"; PeriodSelection: Enum "VAT Statement Report Period Selection"; PrintInIntegers: Boolean; UseAmtsInAddCurr: Boolean; var VATStatementLine: Record "VAT Statement Line")
  • +local procedure CalcColumnValue(VATStmtLine2: Record "VAT Statement Line"; var TotalAmount: Decimal; var TotalEmpty: Decimal; var TotalBase: Decimal; var TotalUnrealizedAmount: Decimal; var TotalUnrealizedBase: Decimal; Level: Integer)
  • +procedure DrillDownOnEntries()
  • −local event OnBeforeCalcColumnValue(VATStatementLine: Record "VAT Statement Line"; var TotalAmount: Decimal; Level: Integer; var IsHandled: Boolean; Selection: Enum "VAT Statement Report Selection"; PeriodSelection: Enum "VAT Statement Report Period Selection"; PrintInIntegers: Boolean; UseAmtsInAddCurr: Boolean)
  • −local event OnUpdateFormOnBeforeVatStatementInitializeRequest(var NewVATStatementName: Record "VAT Statement Name"; var NewVATStatementLine: Record "VAT Statement Line"; NewSelection: Enum "VAT Statement Report Selection"; NewPeriodSelection: Enum "VAT Statement Report Period Selection"; NewPrintInIntegers: Boolean; NewUseAmtsInAddCurr: Boolean)
  • −local procedure CalcColumnValue(VATStatementLine: Record "VAT Statement Line"; var ColumnValue: Decimal; Level: Integer)
codeunit/597 "Exch. Rate Adjmt. Subscribers" +5
  • +local procedure OnAfterAdjustCustomerLedgerEntryOnAfterCalcAdjmtAmount(CustLedgerEntry: Record "Cust. Ledger Entry"; ExchRateAdjmtParameters: Record "Exch. Rate Adjmt. Parameters"; AdjmtAmount: Decimal; Application: Boolean; var ShouldExit: Boolean)
  • +local procedure OnAfterAdjustVendorLedgerEntryOnAfterCalcAdjmtAmount(VendLedgerEntry: Record "Vendor Ledger Entry"; ExchRateAdjmtParameters: Record "Exch. Rate Adjmt. Parameters"; AdjmtAmount: Decimal; Application: Boolean; var ShouldExit: Boolean)
  • +local procedure CalculateBilMoG(var AdjAmt2: Decimal; RemAmtLCY: Decimal; OrigRemAmtLCY: Decimal; DueDate: Date; DueDateTo: Date): Boolean
  • +local procedure CustCalcRemOrigAmtLCY(CustLedgEntry2: Record "Cust. Ledger Entry"; PostingDate: Date): Decimal
  • +local procedure VendCalcRemOrigAmtLCY(VendLedgEntry2: Record "Vendor Ledger Entry"; PostingDate: Date): Decimal
table/98 "General Ledger Setup" +2, 2 changed
  • +field(11003; "Currency Code For EURO"; Code[10])
  • +field(11011; "Sales VAT Advance Notif. Nos."; Code[20])
  • Δfield(49; "Adjust for Payment Disc."; Boolean)
  • Δfield(151; "Prepayment Unrealized VAT"; Boolean)
table/312 "Purchases & Payables Setup" +3
  • +field(5005230; "Arch. Orders and Ret. Orders"; Boolean)
  • +field(5005232; "Archiving Purchase Quote"; Option)
  • +field(5005233; "Archiving Blanket Purch. Order"; Boolean)
table/5600 "Fixed Asset" +3
  • +field(11101; "BWR Depr. Book Code"; Code[10])
  • +field(11102; "Prem Depr. %"; Integer)
  • +field(11103; "Prem. Depr. Amount"; Decimal)
table/5821 "Item Statistics Buffer" +3
  • +field(11500; "Inv. Valuation Actual"; Decimal)
  • +field(11501; "Inv. Valuation Exp."; Decimal)
  • +field(11502; "Inv. Posted to GL"; Decimal)
table/596 "Exch. Rate Adjmt. Parameters" +3
  • +field(11000; "Valuation Method"; Integer)
  • +field(11001; "Valuation Period End Date"; Date)
  • +field(11002; "Due Date To"; Date)
table/743 "VAT Report Setup" +3
  • +field(11006; "Company Name"; Text[100])
  • +field(11007; "Company Address"; Text[30])
  • +field(11008; "Company City"; Text[30])
codeunit/104000 "Upgrade - BaseApp" 2 removed
  • −local procedure SetEmployeeLedgerEntryCurrencyFactor()
  • −local procedure InitShipToPhoneNo()
codeunit/2 "Company-Initialize" +2
  • +procedure GetSEPACTAPC09Code(): Code[20]
  • +procedure GetSEPACTAPC09Name(): Text[100]
codeunit/229 "Document-Print" +2
  • +procedure PrintSalesVATAdvNotAccProof(VATStatementName: Record "VAT Statement Name")
  • +procedure PrintVATStatementSchedule(VATStatementName: Record "VAT Statement Name")
codeunit/365 "Format Address" +2
  • +procedure TaxOffice(var AddrArray: array[8] of Text[100]; var CompanyInfo: Record "Company Information")
  • +local procedure SetCountyTextForDACH(var CountyText: Text[50]; County: Text[50]; CountryCode: Code[10])
page/344 "Navigate" +1, 1 removed
  • +local event OnAfterSetTrackingFiltersOnBeforeFindTrackingRecords(var ItemTrackingFilters: Record Item)
  • −local event OnFindTrackingRecordsOnAfterSetTrackingFilters(var ItemTrackingFilters: Record Item)
report/596 "Exch. Rate Adjustment" +2
  • +procedure SetValuationMethod(NewValuationMethod: Integer; NewDueDateTo: Date; NewValuationPeriodEndDate: Date)
  • +local procedure UpdateControls()
table/1383 "Vendor Templ." +1, 1 changed
  • +field(11000; "Registration No."; Text[20])
  • Δfield(14; "Our Account No."; Text[20])
table/313 "Inventory Setup" +2
  • +field(5005350; "Phys. Inv. Order Nos."; Code[20])
  • +field(5005352; "Posted Phys. Inv. Order Nos."; Code[20])
table/325 "VAT Posting Setup" +1, 1 changed
  • +field(6201; "Non-Ded. Sales VAT Account"; Code[20])
  • Δfield(6; "Adjust for Payment Discount"; Boolean)
table/39 "Purchase Line" +2
  • +field(5005396; "Order No. (Old)"; Code[20])
  • +field(5005397; "Order Line No. (Old)"; Integer)
table/5108 "Sales Line Archive" +1, 1 changed
  • +key(Key7; "Document No.", "Document Type", "Doc. No. Occurrence", "Version No.")
  • Δkey(Key6; "Document Type", "Blanket Order No.", "Blanket Order Line No.")
table/5110 "Purchase Line Archive" +1, 1 changed
  • +key(Key6; "Document No.", "Document Type", "Doc. No. Occurrence", "Version No.")
  • Δkey(Key5; "Document Type", "Blanket Order No.", "Blanket Order Line No.")
codeunit/1901 "Report Selection Mgt." +1
  • +procedure InitDACHReportSelection()
codeunit/5626 "FA General Report" +1
  • +procedure SetExclReclEntries(ExclReclEntries1: Boolean)
page/471 "VAT Product Posting Groups" +1
  • +procedure GetSelectionFilter(): Text
table/122 "Purch. Inv. Header" +1
  • +field(11000; "Registration No."; Text[20])
table/124 "Purch. Cr. Memo Hdr." +1
  • +field(11000; "Registration No."; Text[20])
table/15 "G/L Account" +1
  • +field(11000; "VAT Amount"; Decimal)
table/23 "Vendor" +1
  • +field(11000; "Registration No."; Text[20])
table/242 "Source Code Setup" +1
  • +field(5005270; "Delivery Reminder"; Code[10])
table/257 "VAT Statement Name" +1
  • +field(11000; "Sales VAT Adv. Notification"; Boolean)
table/260 "Tariff Number" 1 changed
  • Δfield(2; "Description"; Text[250])
table/285 "Transaction Specification" 1 changed
  • Δfield(2; "Text"; Text[200])
table/324 "VAT Product Posting Group" +1
  • +procedure LookupVATProductPostingGroupFilter(var FilterString: Text): Boolean
table/38 "Purchase Header" +1
  • +field(11000; "Registration No."; Text[20])
table/5109 "Purchase Header Archive" +1
  • +field(11000; "Registration No."; Text[20])
table/5611 "Depreciation Book" 1 changed
  • Δfield(33; "Mark Errors as Corrections"; Boolean)
table/746 "VAT Reports Configuration" 1 changed
  • Δfield(1; "VAT Report Type"; Option)
table/81 "Gen. Journal Line" +1
  • +procedure ChangePostingDateWarning()
permissionset/1001 "LOCAL" body changes only
permissionset/1002 "LOCAL READ" body changes only
report/12 "VAT Statement" body changes only
table/5612 "FA Depreciation Book" body changes only
xmlport/5050 "Export Contact" body changes only
xmlport/5051 "Export Segment Contact" body changes only

BC29 · country layer against W1 · Learn: local functionality · narrative reviewed (checked by Opus)

Overview

The Austrian layer adds a full delivery reminder process for purchasing: header, line, issued, ledger entry, terms, levels and text tables, with pages, create, issue and test reports, and role center and vendor page extensions. Learn documents setup, terms and levels, vendor code assignment, automatic and manual creation, issuing and test reports.

For finance, the code adds the VAT Statement AT and VAT - VIES Declaration XML reports, Update VAT Statement Template, and a Data Export framework (tables 11002 to 11010, codeunit 11000). Learn describes VAT reporting, FDF and XML export, the Vendor Payments List and the G/L Setup Information report. The code also adds Intrastat AT objects, physical inventory order tables, local balance and aging reports, and fixed asset reports.

W1 changes are mostly fields and a few procedures and events: Registration No. on vendor and purchase documents, tax office and authorization fields on Company Information, exchange rate adjustment valuation parameters, and the OnBeforeCheckPmtApplnAllowed, OnBeforeCalcColumnValue and Navigate events.

Key points

  • Delivery reminders for vendors: terms, levels, text, create, issue, test report, ledger entries; permission set PURCHASE-DEL.REMIND.
  • VAT Statement AT and VAT - VIES Declaration XML reports for submission to tax authorities, with FDF and XML export.
  • Vendor Payments List report (11507) with vendor or chronological sorting and foreign currency options.
  • G/L Setup Information report for verifying master data, posting groups, VAT setup and number series.
  • Data Export framework and Export Business Data / Paragraph 131 Export reports.
  • Intrastat AT report extension, places of dispatcher and receiver, Crossborder Services report.
  • Physical inventory order and recording tables with posted counterparts.
  • W1 events added: OnBeforeCheckPmtApplnAllowed (codeunit 13), OnBeforeCalcColumnValue (page 475), a Navigate tracking event (page 344).

Narrative written by Sonnet from the code diff and 13 Learn page summaries. In numbers: Austria (AT) localization of Business Central in BC29: 132 objects of its own, 47 W1 objects changed (58 fields and 3 events added). From the code; country apps outside the Base Application are not included yet.

By area

Area W1 objects changed Own objects Fields added
Purchases 9 46 11
Finance 16 35 12
Inventory 5 26 5
Foundation 7 9 27
(no namespace) 0 6 0
FixedAssets 4 2 3
Security 2 2 0
CRM 2 0 0
Sales 1 1 0
Bank 0 1 0
ExpenseAgent 0 1 0
Manufacturing 0 1 0
Microsoft 0 1 0
Upgrade 1 0 0
Utilities 0 1 0

Purchases

Adds the delivery reminder process: header, line, issued and ledger tables, create and issue codeunits, pages, test and issue reports, plus extensions to vendor, purchase order, setup and role center pages. Also adds Vendor Total-Balance, Vendor Detailed Aging and Vendor Payments List reports, and Registration No. and archiving fields on W1 purchase tables.

Why: Learn describes delivery reminders to notify vendors of overdue deliveries and the Vendor Payments List report with several layouts.

Objects: table/5005270 “Delivery Reminder Header” (own), table/5005271 “Delivery Reminder Line” (own), codeunit/5005271 “Create Delivery Reminder” (own), codeunit/5005270 “Issue Delivery Reminder” (own), page/5005270 “Delivery Reminder” (own), report/5005272 “Delivery Reminder - Test” (own), report/11507 “Vendor Payments List” (own), table/312 “Purchases & Payables Setup”.

All 55 objects of Purchases in the diff

Finance

Adds VAT Statement AT, VIES XML, Update VAT, the Data Export framework and local ledger reports. Changes Gen. Jnl.-Post Batch, VAT Statement Preview Line, exchange rate adjustment (valuation method parameters) and setup tables with new fields and events.

Why: Learn explains VAT reporting through VAT Statement AT and VIES XML for EU compliance and tax authority submission, with FDF and XML export.

Objects: report/11110 “VAT Statement AT” (own), report/11108 “VAT - VIES Declaration XML” (own), codeunit/11110 “Update VAT-AT” (own), report/11112 “Update VAT Statement Template” (own), codeunit/11000 “Data Export Management” (own), table/11002 “Data Export” (own), codeunit/13 “Gen. Jnl.-Post Batch”, table/596 “Exch. Rate Adjmt. Parameters”.

All 51 objects of Finance in the diff

Inventory

Adds Intrastat AT support (report management codeunit, line extension, places of dispatcher and receiver) and physical inventory order and recording tables with number series in Inventory Setup. Adds ABC analysis and inventory value reports.

Why: not explained by a Learn page in the input; the code shows the change, not the requirement.

Objects: codeunit/11150 “IntrastatReportManagementAT” (own), tableextension/11150 “Intrastat Report Line AT” (own), pageextension/11150 “Intrastat Report Subform AT” (own), table/5005350 “Phys. Inventory Order Header” (own), table/5005351 “Phys. Inventory Order Line” (own), table/313 “Inventory Setup”, table/11000 “Place of Dispatcher” (own), report/11503 “Item ABC Analysis” (own).

All 31 objects of Inventory in the diff

Foundation

Adds tax office, authorization and company number fields to Company Information, DACH report selections and delivery reminder usages, and address formatting for tax office. Adds Source Code Setup delivery reminder field and print procedures.

Why: not explained by a Learn page in the input; the code shows the change, not the requirement.

Objects: table/79 “Company Information”, table/26100 “DACH Report Selections” (own), codeunit/365 “Format Address”, codeunit/229 “Document-Print”, codeunit/1901 “Report Selection Mgt.”, table/242 “Source Code Setup”, enumextension/26101 “Report Selection Usage Del. Rem.” (own), page/344 “Navigate”.

All 16 objects of Foundation in the diff

(no namespace)

Holds the delivery reminder permission set, Data Export Setup, the Intrastat item list and upgrade and sandbox plumbing.

Why: not explained by a Learn page in the input; the code shows the change, not the requirement.

Objects: permissionset/26001 “PURCHASE-DEL.REMIND.” (own), table/11009 “Data Export Setup” (own), report/11001 “Intrastat - Item List” (own).

All 6 objects of (no namespace) in the diff

FixedAssets

Adds Austrian fixed asset list and book value reports and fields on Fixed Asset for premium depreciation and a depreciation book code. FA General Report gains SetExclReclEntries.

Why: not explained by a Learn page in the input; the code shows the change, not the requirement.

Objects: table/5600 “Fixed Asset”, report/11100 “Fixed Assets - List AT” (own), report/11011 “Fixed Asset - Book Value 03” (own), codeunit/5626 “FA General Report”, table/5611 “Depreciation Book”, table/5612 “FA Depreciation Book”.

All 6 objects of FixedAssets in the diff

Security

Extends LOCAL and LOCAL READ permission sets to cover delivery reminder objects.

Why: not explained by a Learn page in the input; the code shows the change, not the requirement.

Objects: permissionsetextension/5005270 “DR LOCAL” (own), permissionsetextension/5005271 “DR LOCAL READ” (own), permissionset/1001 “LOCAL”, permissionset/1002 “LOCAL READ”.

All 4 objects of Security in the diff

CRM

Changes the Export Contact and Export Segment Contact XMLports.

Why: not explained by a Learn page in the input; the code shows the change, not the requirement.

Objects: xmlport/5050 “Export Contact”, xmlport/5051 “Export Segment Contact”.

All 2 objects of CRM in the diff

Sales

Adds the Customer Total-Balance report and changes the Sales Line Archive table.

Why: not explained by a Learn page in the input; the code shows the change, not the requirement.

Objects: report/11003 “Customer Total-Balance” (own), table/5108 “Sales Line Archive”.

All 2 objects of Sales in the diff

Bank

Adds the SEPA CT APC export file codeunit.

Why: not explained by a Learn page in the input; the code shows the change, not the requirement.

Objects: codeunit/11100 “SEPA CT APC-Export File” (own).

All 1 objects of Bank in the diff

ExpenseAgent

Adds an Austrian expense event subscriber.

Why: not explained by a Learn page in the input; the code shows the change, not the requirement.

Objects: codeunit/6914 “Expense Event Subscriber AT” (own).

All 1 objects of ExpenseAgent in the diff

Manufacturing

Extends the Manufacturing Manager role center for DACH.

Why: not explained by a Learn page in the input; the code shows the change, not the requirement.

Objects: pageextension/11010 “Manufacturing Manager RC DACH” (own).

All 1 objects of Manufacturing in the diff

Microsoft

Adds a Certificate table.

Why: not explained by a Learn page in the input; the code shows the change, not the requirement.

Objects: table/11014 “Certificate” (own).

All 1 objects of Microsoft in the diff

Utilities

Adds the GeneralMgt helper codeunit.

Why: not explained by a Learn page in the input; the code shows the change, not the requirement.

Objects: codeunit/11501 “GeneralMgt” (own).

All 1 objects of Utilities in the diff

Objects of its own

132 objects only this country has.

Other versions

  • BC30: 179 objects differ from W1 (58 fields, 3 events added)

Source: country layer of the Base Application compared with W1 of the same version (data/code/diffs/country/).