Finland (FI)
Finland (FI) localization of Business Central 29. It covers bank reference files and reference numbers, domestic and foreign payment files, SEPA pain.001.001.09 export, automatic account codes, Finnish Intrastat, VAT-VIES declaration, depreciation differences, and Finnish service reports.
What FI changes in W1 49 objects, BC29
table/372 "Payment Buffer"
- +
field(32000000; "Message Type"; Option) - +
field(32000001; "Invoice Message"; Text[250]) - +
field(32000002; "Invoice Message 2"; Text[250]) - +
field(32000003; "Payment Date"; Date) - +
field(32000004; "Bal. Account No."; Code[20]) - +
field(32000005; "Attached to Line No."; Integer) - +
key(Key3; "Document No.", "Bal. Account No.") - +
key(Key4; "Payment Date", "Vendor No.", "Document No.")
table/475 "Vendor Payment Buffer"
- +
field(32000000; "Message Type"; Option) - +
field(32000001; "Invoice Message"; Text[250]) - +
field(32000002; "Invoice Message 2"; Text[250]) - +
field(32000003; "Payment Date"; Date) - +
field(32000004; "Bal. Account No."; Code[20]) - +
field(32000005; "Attached to Line No."; Integer) - +
key(Key3; "Document No.", "Bal. Account No.") - +
key(Key4; "Payment Date", "Vendor No.", "Document No.")
table/17 "G/L Entry"
- +
key(Key14; "Dimension Set ID") - Δ
key(Key8; "Posting Date", "No. Series", "Document No.") - Δ
key(Key9; "IC Partner Code") - Δ
key(Key10; "G/L Account No.", "Job No.", "Posting Date") - Δ
key(Key11; "Posting Date", "G/L Account No.", "Dimension Set ID") - Δ
key(Key12; "Gen. Bus. Posting Group", "Gen. Prod. Posting Group") - Δ
key(Key13; "VAT Bus. Posting Group", "VAT Prod. Posting Group")
report/393 "Suggest Vendor Payments"
- +
local procedure GetDomesticPaymentDate(EntryNo: Integer): Date - Δ
local event OnAfterGetVendLedgEntries(var VendorLedgerEntry: Record "Vendor Ledger Entry"; Vendor: Record Vendor; PostingDate: Date; LastDueDateToPayReq: Date; UseVendorPriority: Boolean; UseDueDateAsPostingDate: Boolean; DueDateOffset: DateFormula; Positive: Boolean; Future: Boolean; var PayableVendorLedgerEntry: Record "Payable Vendor Ledger Entry" temporary; var NextEntryNo: Integer; SkipExportedPayments: Boolean) - −
local event OnAfterIncludeVendor(Vendor: Record Vendor; VendorBalance: Decimal; var Result: Boolean) - −
local event OnBeforeClearNegative(var TempPayableVendorLedgerEntry: Record "Payable Vendor Ledger Entry" temporary; var AmountAvailable: Decimal; Vendor: Record Vendor; var IsHandled: Boolean) - −
local procedure IncludeVendor(Vendor: Record Vendor; VendorBalance: Decimal): Boolean - −
local procedure ClearNegative()
table/181 "Posted Gen. Journal Line"
- +
field(11201; "Auto. Acc. Group"; Code[10]) - +
field(32000000; "Reference No."; Code[20]) - +
field(32000001; "Message Type"; Option) - +
field(32000002; "Invoice Message"; Text[250]) - +
field(32000003; "Invoice Message 2"; Text[250]) - +
field(32000004; "Payment date"; Date)
table/311 "Sales & Receivables Setup"
- +
field(32000000; "Invoice No."; Boolean) - +
field(32000001; "Customer No."; Boolean) - +
field(32000002; "Date"; Boolean) - +
field(32000003; "Reference Nos."; Code[20]) - +
field(32000004; "Default Number"; Code[10]) - +
field(32000005; "Print Reference No."; Boolean)
table/79 "Company Information"
- +
field(13400; "Company Reg. No."; Code[20]) - +
field(13401; "Business Identity Code"; Code[20]) - +
field(13402; "Registered Home City"; Text[50]) - Δ
field(11; "Giro No."; Text[20]) - Δ
field(14; "Bank Account No."; Text[30]) - Δ
field(38; "IBAN"; Code[50])
table/81 "Gen. Journal Line"
- +
field(11201; "Auto. Acc. Group"; Code[10]) - +
field(32000000; "Reference No."; Code[20]) - +
field(32000001; "Message Type"; Option) - +
field(32000002; "Invoice Message"; Text[250]) - +
field(32000003; "Invoice Message 2"; Text[250]) - +
field(32000004; "Payment date"; Date)
table/25 "Vendor Ledger Entry"
- +
field(32000000; "Message Type"; Option) - +
field(32000001; "Invoice Message"; Text[250]) - +
field(32000002; "Invoice Message 2"; Text[250]) - +
field(32000003; "Payment Date"; Date)
table/288 "Vendor Bank Account"
- +
field(13400; "SEPA Payment"; Boolean) - +
field(32000001; "Clearing Code"; Text[35]) - Δ
field(14; "Bank Account No."; Text[30]) - Δ
field(24; "IBAN"; Code[50])
report/394 "Suggest Employee Payments"
- Δ
local event OnAfterIncludeEmployee(Employee: Record Employee; EmployeeBalance: Decimal; var Result: Boolean) - −
local procedure ClearNegative() - −
local procedure IncludeEmployee(Employee: Record Employee; EmployeeBalance: Decimal): Boolean
table/112 "Sales Invoice Header"
- +
field(32000000; "Reference No."; Code[20]) - Δ
local event OnGetPaymentReference(var PaymentReference: Text) - Δ
local event OnGetPaymentReferenceLbl(var PaymentReferenceLbl: Text)
table/122 "Purch. Inv. Header"
- +
field(32000000; "Message Type"; Option) - +
field(32000001; "Invoice Message"; Text[250]) - +
field(32000002; "Invoice Message 2"; Text[250])
table/287 "Customer Bank Account"
- +
field(32000001; "Clearing Code"; Text[35]) - Δ
field(14; "Bank Account No."; Text[30]) - Δ
field(24; "IBAN"; Code[50])
table/38 "Purchase Header"
- +
field(32000000; "Message Type"; Option) - +
field(32000001; "Invoice Message"; Text[250]) - +
field(32000002; "Invoice Message 2"; Text[250])
codeunit/12 "Gen. Jnl.-Post Line"
- +
procedure UpdateImportedRefPayment(GenJnlLine: Record "Gen. Journal Line"; var CustLedgEntry: Record "Cust. Ledger Entry") - +
procedure UpdateExportedRefPayment(GenJnlLine: Record "Gen. Journal Line")
codeunit/442 "Sales-Post Prepayments"
- +
local procedure PostCustomerEntry(SalesHeader: Record "Sales Header"; TotalPrepmtInvLineBuffer: Record "Prepayment Inv. Line Buffer"; TotalPrepmtInvLineBufferLCY: Record "Prepayment Inv. Line Buffer"; DocumentType: Option Invoice,"Credit Memo"; PostingDescription: Text[100]; DocType: Enum "Gen. Journal Document Type"; DocNo: Code[20]; ExtDocNo: Text[35]; SrcCode: Code[10]; PostingNoSeriesCode: Code[20]; CalcPmtDisc: Boolean; SalesInvHeader: Record "Sales Invoice Header") - −
local procedure PostCustomerEntry(SalesHeader: Record "Sales Header"; TotalPrepmtInvLineBuffer: Record "Prepayment Inv. Line Buffer"; TotalPrepmtInvLineBufferLCY: Record "Prepayment Inv. Line Buffer"; DocumentType: Option Invoice,"Credit Memo"; PostingDescription: Text[100]; DocType: Enum "Gen. Journal Document Type"; DocNo: Code[20]; ExtDocNo: Text[35]; SrcCode: Code[10]; PostingNoSeriesCode: Code[20]; CalcPmtDisc: Boolean)
table/1383 "Vendor Templ."
- +
field(32000000; "Business Identity Code"; Text[20]) - Δ
field(14; "Our Account No."; Text[20])
table/21 "Cust. Ledger Entry"
- +
field(32000000; "Reference No."; Code[20]) - +
field(32000001; "Disreg. Pmt. Disc. at Full Pmt"; Boolean)
table/262 "Intrastat Jnl. Batch"
- +
field(13400; "Reported Receipt"; Boolean) - +
field(13401; "Reported Shipment"; Boolean)
table/263 "Intrastat Jnl. Line"
- +
field(13400; "Unit of Measure"; Code[10]) - +
field(13401; "Quantity 2"; Decimal)
table/5601 "FA Ledger Entry"
- +
field(13400; "Depr. Difference Posted"; Boolean) - +
key(Key13; "FA No.", "FA Posting Group", "Depreciation Book Code", "FA Posting Category", "FA Posting Type", "Posting Date", "Depr. Difference Posted")
table/5606 "FA Posting Group"
- +
field(13400; "Depr. Difference Acc."; Code[20]) - +
field(13401; "Depr. Difference Bal. Acc."; Code[20])
table/111 "Sales Shipment Line"
- +
field(11200; "Auto. Acc. Group"; Code[10])
table/113 "Sales Invoice Line"
- +
field(11200; "Auto. Acc. Group"; Code[10])
table/115 "Sales Cr.Memo Line"
- +
field(11200; "Auto. Acc. Group"; Code[10])
table/121 "Purch. Rcpt. Line"
- +
field(11200; "Auto. Acc. Group"; Code[10])
table/123 "Purch. Inv. Line"
- +
field(11200; "Auto. Acc. Group"; Code[10])
table/125 "Purch. Cr. Memo Line"
- +
field(11200; "Auto. Acc. Group"; Code[10])
table/15 "G/L Account"
- +
field(11200; "Auto. Acc. Group"; Code[10])
table/23 "Vendor"
- +
field(32000000; "Business Identity Code"; Text[20])
table/242 "Source Code Setup"
- +
field(13400; "Depr. Difference"; Code[10])
table/296 "Reminder Line"
- +
field(32000000; "Reference No."; Code[20])
table/297 "Issued Reminder Header"
- +
field(32000000; "Reference No."; Code[20])
table/298 "Issued Reminder Line"
- +
field(32000000; "Reference No."; Code[20])
table/3 "Payment Terms"
- +
field(32000001; "Disreg. Pmt. Disc. at Full Pmt"; Boolean)
table/312 "Purchases & Payables Setup"
- +
field(32000000; "Bank Batch Nos."; Code[20])
table/317 "Payable Vendor Ledger Entry"
- +
field(32000000; "Attached to Line No."; Integer)
table/323 "VAT Business Posting Group"
- +
field(13400; "Print on Invoice"; Boolean)
table/324 "VAT Product Posting Group"
- +
field(13400; "Print on Invoice"; Boolean)
table/37 "Sales Line"
- +
field(11200; "Auto. Acc. Group"; Code[10])
table/39 "Purchase Line"
- +
field(11200; "Auto. Acc. Group"; Code[10])
table/49 "Invoice Post. Buffer"
- +
field(11200; "Auto. Acc. Group"; Code[10])
table/55 "Invoice Posting Buffer"
- +
field(11200; "Auto. Acc. Group"; Code[10])
table/9 "Country/Region"
- +
field(13400; "SEPA Allowed"; Boolean)
BC29 · country layer against W1 · Learn: local functionality · narrative reviewed (checked by Opus)
Overview
The Finnish layer is built mainly around electronic banking. Own objects in the 32000000 range handle bank reference file setup, import of customer payments (Import Ref. Payment), export of vendor payments (LUM and LMP reports), foreign payment types, and a Bank Nos Check codeunit. Reference No. fields are added to sales, reminder and journal tables, and payment message fields are added to purchase, ledger and payment buffer tables. Codeunit 13413 and report 13413 export SEPA credit transfers in pain.001.001.09.
Other local features are automatic account codes (tables 11203 and 11204, with an Auto. Acc. Group field on many lines), depreciation difference posting for fixed assets, Finnish Intrastat objects, VAT-VIES declaration support, a Print on Invoice flag on VAT posting groups, and a disregard payment discount at full payment option. Finnish service documents have their own reports.
Learn documents these under Finland Local Functionality, with pages on electronic banking, bank reference files, payment file generation, SEPA credit transfers, automatic account posting groups, Intrastat, VAT-VIES, and depreciation differences.
Key points
- Bank reference files: setup, import of customer payments and linking to invoices by reference number, export of vendor payments in LUM and LMP formats
- SEPA credit transfer export in pain.001.001.09 through codeunit 13413 and report 13413
- Suggest Vendor Payments and Suggest Employee Payments are adapted, with payment message fields and domestic payment date handling
- Automatic account codes via Automatic Acc. Header and Line tables and an Auto. Acc. Group field on G/L accounts and document lines
- Depreciation difference between straight-line and declining balance posted by report 13402
- Finnish Intrastat report support with setup page extensions and export codeunits
- VAT-VIES declaration and VAT information printed on invoices through Print on Invoice flags
- Finnish service contract, quote, order and invoice reports
Narrative written by Sonnet from the code diff and 12 Learn page summaries. In numbers: Finland (FI) localization of Business Central in BC29: 56 objects of its own, 49 W1 objects changed (79 fields and 0 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 |
|---|---|---|---|
| Bank | 0 | 24 | 0 |
| Finance | 9 | 10 | 17 |
| Purchases | 15 | 0 | 32 |
| Sales | 14 | 0 | 17 |
| Inventory | 2 | 8 | 4 |
| Service | 0 | 8 | 0 |
| Foundation | 4 | 3 | 6 |
| FixedAssets | 2 | 2 | 3 |
| Security | 2 | 0 | 0 |
| (no namespace) | 0 | 1 | 0 |
| HumanResources | 1 | 0 | 0 |
Bank
Adds the Finnish electronic banking stack: bank reference file setup, import and export of reference payments, foreign payment types, bank payment suggestion, bank number check, and SEPA credit transfer export in pain.001.001.09.
Why: Learn describes domestic and foreign payments in LM03 and LUM2 formats, and the new SEPA format pain.001.001.09 exported by codeunit and report 13413.
Objects: codeunit/32000000 “Ref. Payment Management” (own), table/32000000 “Reference File Setup” (own), report/32000000 “Import Ref. Payment” (own), report/32000004 “Export Ref. Payment - LUM” (own), report/32000006 “Export Ref. Payment - LMP” (own), codeunit/13413 “Exp. SEPA CT pain.001.001.09” (own), report/13413 “Exp. SEPA CT pain.001.001.09” (own), page/32000000 “Bank Reference File Setup” (own).
All 24 objects of Bank in the diff
Finance
Adds reference number, message and payment date fields to general journal lines, automatic account codes, Finnish G/L register report, currency exchange rate import and VIES declaration support. Codeunit 12 gets procedures to update imported and exported reference payments.
Why: Learn covers automatic account codes and the VAT-VIES declaration as Finnish requirements.
Objects: table/81 “Gen. Journal Line”, table/181 “Posted Gen. Journal Line”, codeunit/12 “Gen. Jnl.-Post Line”, table/11203 “Automatic Acc. Header” (own), table/11204 “Automatic Acc. Line” (own), table/15 “G/L Account”, report/13400 “G/L Register FI” (own), reportextension/13412 “FI VAT VIES Decl. Tax Auth” (own).
All 19 objects of Finance in the diff
Purchases
Extends vendor and payment buffer tables with message type, invoice messages, payment date and business identity code. Suggest Vendor Payments gets a domestic payment date procedure, and vendor bank accounts get SEPA and clearing code fields.
Why: Learn describes generating domestic or foreign payment files from Suggest Vendor Payments.
Objects: report/393 “Suggest Vendor Payments”, table/372 “Payment Buffer”, table/475 “Vendor Payment Buffer”, table/25 “Vendor Ledger Entry”, table/288 “Vendor Bank Account”, table/38 “Purchase Header”, table/23 “Vendor”, table/312 “Purchases & Payables Setup”.
All 15 objects of Purchases in the diff
Sales
Adds Reference No. fields on invoices, customer ledger entries and reminders, with reference number setup in Sales & Receivables Setup. Also adds clearing code on customer banks and the disregard payment discount flag on customer entries.
Why: Learn explains reference numbers used to link customer payments to invoices.
Objects: table/311 “Sales & Receivables Setup”, table/112 “Sales Invoice Header”, table/21 “Cust. Ledger Entry”, table/287 “Customer Bank Account”, table/296 “Reminder Line”, table/297 “Issued Reminder Header”, table/298 “Issued Reminder Line”, codeunit/442 “Sales-Post Prepayments”.
All 14 objects of Sales in the diff
Inventory
Adds Finnish Intrastat reporting: management, export and totals codeunits, setup page extensions, a permission set extension and extra fields on Intrastat journal batch and line.
Why: Learn explains that EU companies must report trade with other EU countries and can file by file or manual form.
Objects: codeunit/13406 “Intrastat Report Management FI” (own), codeunit/13407 “Intrastat Report Exp. Ext. FI” (own), codeunit/13408 “Intrastat Report Get Totals” (own), pageextension/13407 “Intrastat Report Setup FI” (own), pageextension/13408 “Intrastat Report FI” (own), pageextension/13406 “Intrastat Report Setup Wzrd FI” (own), table/263 “Intrastat Jnl. Line”, table/262 “Intrastat Jnl. Batch”.
All 10 objects of Inventory in the diff
Service
Adds Finnish service document reports for contract, contract quote, quote, order and invoice, plus a document management codeunit and extensions of the posted service invoice.
Why: not explained by a Learn page in the input; the code shows the change, not the requirement.
Objects: report/13411 “Service - Invoice (FI)” (own), report/13410 “Service Contract (FI)” (own), report/13412 “Service Contract Quote (FI)” (own), report/13414 “Service Quote (FI)” (own), report/13416 “Service Order (FI)” (own), codeunit/13410 “Serv. Document Mgt. FI” (own), tableextension/13410 “Service Invoice Header FI” (own), pageextension/13410 “Posted Service Invoice FI” (own).
All 8 objects of Service in the diff
Foundation
Extends Company Information with company registration number, business identity code and registered home city. Adds the disregard payment discount flag on Payment Terms, SEPA Allowed on Country/Region and a depreciation difference source code.
Why: Learn describes the disregard payment discount option on payment terms for late full payments within tolerance.
Objects: table/79 “Company Information”, table/3 “Payment Terms”, table/9 “Country/Region”, table/242 “Source Code Setup”, codeunit/13461 “Serv. Report Selection Mgt. FI” (own), tableextension/13400 “SourceCodeSetupFI” (own), pageextension/13400 “SourceCodeSetupFI” (own).
All 7 objects of Foundation in the diff
FixedAssets
Adds depreciation difference calculation and posting with a report, a posting buffer, and new accounts on FA posting groups plus a posted flag on FA ledger entries.
Why: Learn says Finnish tax law requires posting the difference between straight-line and declining balance depreciation.
Objects: report/13402 “Calc. and Post Depr. Diff.” (own), table/13401 “Depr. Diff. Posting Buffer” (own), table/5606 “FA Posting Group”, table/5601 “FA Ledger Entry”.
All 4 objects of FixedAssets in the diff
Security
Changes the LOCAL and LOCAL READ permission sets to cover the Finnish objects.
Why: not explained by a Learn page in the input; the code shows the change, not the requirement.
Objects: permissionset/1001 “LOCAL”, permissionset/1002 “LOCAL READ”.
All 2 objects of Security in the diff
(no namespace)
Adds the Intrastat file setup table for Finnish Intrastat export.
Why: not explained by a Learn page in the input; the code shows the change, not the requirement.
Objects: table/13400 “Intrastat - File Setup” (own).
All 1 objects of (no namespace) in the diff
HumanResources
Suggest Employee Payments is adapted for Finnish payment handling.
Why: not explained by a Learn page in the input; the code shows the change, not the requirement.
Objects: report/394 “Suggest Employee Payments”.
All 1 objects of HumanResources in the diff
Objects of its own
56 objects only this country has.
- codeunit/13403 “Export SEPA Payment File”
- codeunit/13406 “Intrastat Report Management FI”
- codeunit/13407 “Intrastat Report Exp. Ext. FI”
- codeunit/13408 “Intrastat Report Get Totals”
- codeunit/13410 “Serv. Document Mgt. FI”
- codeunit/13411 “FICore InitReport Subscribers”
- codeunit/13413 “Exp. SEPA CT pain.001.001.09”
- codeunit/13415 “Currency Exch. Rate Import”
- codeunit/13420 “FICore VIES Decl. Feature”
- codeunit/13461 “Serv. Report Selection Mgt. FI”
- codeunit/32000000 “Ref. Payment Management”
- codeunit/32000001 “Currency Exchange Rate”
- codeunit/32000002 “Bank Nos Check”
- page/32000000 “Bank Reference File Setup”
- page/32000001 “Ref. Payment - Import”
- page/32000002 “Apply Ref. Payment”
- page/32000004 “Ref. Payment - Export”
- page/32000005 “Payment Method Codes”
- page/32000006 “Bank Payments to send”
- page/32000007 “Input Dialog”
- pageextension/13400 “SourceCodeSetupFI”
- pageextension/13406 “Intrastat Report Setup Wzrd FI”
- pageextension/13407 “Intrastat Report Setup FI”
- pageextension/13408 “Intrastat Report FI”
- pageextension/13410 “Posted Service Invoice FI”
- pageextension/13414 “Currencies FI”
- permissionsetextension/13406 “Intrastat FI - Objects”
- report/13400 “G/L Register FI”
- report/13402 “Calc. and Post Depr. Diff.”
- report/13403 “Export SEPA Payment File”
- report/13410 “Service Contract (FI)”
- report/13411 “Service - Invoice (FI)”
- report/13412 “Service Contract Quote (FI)”
- report/13413 “Exp. SEPA CT pain.001.001.09”
- report/13414 “Service Quote (FI)”
- report/13416 “Service Order (FI)”
- report/32000000 “Import Ref. Payment”
- report/32000001 “Ref. Payment Imported”
- report/32000003 “Suggest Bank Payments”
- report/32000004 “Export Ref. Payment - LUM”
- report/32000005 “Payment”
- report/32000006 “Export Ref. Payment - LMP”
- reportextension/13412 “FI VAT VIES Decl. Tax Auth”
- table/11203 “Automatic Acc. Header”
- table/11204 “Automatic Acc. Line”
- table/13400 “Intrastat - File Setup”
- table/13401 “Depr. Diff. Posting Buffer”
- table/32000000 “Reference File Setup”
- table/32000001 “Ref. Payment - Imported”
- table/32000002 “Ref. Payment - Exported”
- table/32000003 “Foreign Payment Types”
- table/32000004 “Ref. Payment - Exported Buffer”
- tableextension/13400 “SourceCodeSetupFI”
- tableextension/13406 “Intrastat Report Setup FI”
- tableextension/13410 “Service Invoice Header FI”
- tableextension/13413 “VAT Entry FI”
Other versions
- BC30: 106 objects differ from W1 (79 fields, 0 events added)
Source: country layer of the Base Application compared with W1 of the same version (data/code/diffs/country/).