France (FR)
France localization of Business Central 29. It adds French payment management with payment slips, RIB bank keys, the FEC tax audit export, fiscal year closing, accelerated (derogatory) depreciation, SIREN/SIRET identifiers, DEB Intrastat and service declarations. It answers questions about local setup, posting rules and reports.
What FR changes in W1 71 objects, BC29
table/79 "Company Information"
- +
field(10801; "Trade Register"; Text[30]) - +
field(10802; "APE Code"; Code[10]) - +
field(10803; "Legal Form"; Text[30]) - +
field(10804; "Stock Capital"; Text[30]) - +
field(10805; "SIRET No."; Code[14]) - +
field(10810; "Default Bank Account No."; Code[20]) - +
field(10811; "CISD"; Code[10]) - +
field(10812; "Last Intrastat Declaration ID"; Integer) - +
local event OnBeforeValidateSIRETNo(var CompanyInformation: Record "Company Information"; var IsHandled: Boolean) - +
procedure GetPartyID(): Code[18] - +
local procedure GetControlSum(): Text[2] - +
procedure GetSIREN(): Integer - +
local procedure ValidateSIRET(SIRETNo: Code[14]) - +
local procedure CheckSIRETConsistency(RegistrationNo: Text[20]; SIRETNo: Code[14]) - +
local procedure CheckNumericOnly(Value: Code[20]; ErrorMsg: Text) - Δ
field(11; "Giro No."; Text[20]) - Δ
field(14; "Bank Account No."; Text[30]) - Δ
field(38; "IBAN"; Code[50])
table/50 "Accounting Period"
- +
field(10800; "Fiscally Closed"; Boolean) - +
field(10801; "Fiscal Closing Date"; Date) - +
field(10802; "Period Reopened Date"; Date) - +
key(Key4; "New Fiscal Year", "Fiscally Closed") - +
local event OnCheckOpenFiscalYearsOnBeforeError(var AccountingPeriod: Record "Accounting Period"; var IsHandled: Boolean) - +
procedure CheckOpenFiscalYears() - +
procedure CloseFiscalPeriod() - +
procedure ReopenFiscalPeriod() - +
procedure UpdateGLSetup(PeriodEndDate: Date) - +
procedure UpdateUserSetup(PeriodEndDate: Date) - +
procedure CheckPostingRangeSetup(FYEndDate: Date): Boolean - +
local procedure CheckPostingRangeInAccPeriod(ExcludePeriod: Date) - +
local procedure GetPostingAllowedToDate(ExcludePeriod: Date): Date
table/17 "G/L Entry"
- +
field(10811; "Applies-to ID"; Code[50]) - +
field(10812; "Letter"; Text[10]) - +
field(10813; "Letter Date"; Date) - +
key(Key14; "Source Code", "Document No.", "Posting Date") - +
key(Key15; "G/L Account No.", "Posting Date", "Source Code") - +
key(Key16; "G/L Account No.", "Document No.", "Posting Date") - +
key(Key17; "G/L Account No.", "Source Type", "Source No.") - +
key(Key18; "G/L Account No.", "Letter") - +
key(Key19; "Posting Date") - +
key(Key20; "Document Type", "Document No.") - +
key(Key21; "Dimension Set ID") - Δ
key(Key13; "Source Code", "Posting Date", "Document No.")
codeunit/12 "Gen. Jnl.-Post Line"
- +
local procedure RealizeDelayedUnrealizedVAT(GenJnlLine: Record "Gen. Journal Line") - +
local procedure MakeDerogFAJnlLine(var FAJnlLine: Record "FA Journal Line"; GenJnlLine: Record "Gen. Journal Line") - +
procedure PostDelayedUnrealizedVAT(GenJnlLine: Record "Gen. Journal Line") - +
procedure SetTransactionNo(GenJnlLine: Record "Gen. Journal Line") - +
procedure UpdateUnrealCVLedgEntryBuffer(GenJnlLine: Record "Gen. Journal Line"; TransactionNo: Integer) - +
procedure CalcPaidAmount(GenJnlLine: Record "Gen. Journal Line"): Decimal - +
procedure CheckHeaderNo(DocNo: Code[20]): Boolean - +
local procedure CreateAndPostDerogatoryEntry(SourceGenJournalLine: Record "Gen. Journal Line") - +
local procedure MakeGenJnlLineOfTypeDerogatory(var DerogGenJnlLine: Record "Gen. Journal Line"; GenJnlLine: Record "Gen. Journal Line"; DerogAmount: Decimal)
codeunit/5605 "Calculate Disposal"
- +
procedure CalcGainLoss(FANo: Code[20]; DeprBookCode: Code[10]; var EntryAmounts: array[15] of Decimal) - +
procedure CalcSecondGainLoss(FANo: Code[20]; DeprBookCode: Code[10]; LastDisposalPrice: Decimal; var EntryAmounts: array[15] of Decimal) - +
procedure CalcReverseAmounts(FANo: Code[20]; DeprBookCode: Code[10]; var EntryAmounts: array[5] of Decimal) - +
procedure GetErrorDisposal(FANo: Code[20]; DeprBookCode: Code[10]; OnlyGainLoss: Boolean; MaxDisposalNo: Integer; var EntryAmounts: array[15] of Decimal; var EntryNumbers: array[15] of Integer) - +
local procedure CalcDerogatoryReverseAmount(FADeprBook: Record "FA Depreciation Book"): Decimal - −
procedure CalcGainLoss(FANo: Code[20]; DeprBookCode: Code[10]; var EntryAmounts: array[14] of Decimal) - −
procedure CalcSecondGainLoss(FANo: Code[20]; DeprBookCode: Code[10]; LastDisposalPrice: Decimal; var EntryAmounts: array[14] of Decimal) - −
procedure CalcReverseAmounts(FANo: Code[20]; DeprBookCode: Code[10]; var EntryAmounts: array[4] of Decimal) - −
procedure GetErrorDisposal(FANo: Code[20]; DeprBookCode: Code[10]; OnlyGainLoss: Boolean; MaxDisposalNo: Integer; var EntryAmounts: array[14] of Decimal; var EntryNumbers: array[14] of Integer)
table/5606 "FA Posting Group"
- +
field(10800; "Derogatory Account"; Code[20]) - +
field(10801; "Derogatory Acc. (Decrease)"; Code[20]) - +
field(10802; "Derog. Bal. Acc. (Decrease)"; Code[20]) - +
field(10803; "Derogatory Expense Account"; Code[20]) - +
field(10804; "Allocated Derogatory %"; Decimal) - +
procedure GetDerogatoryAccount(): Code[20] - +
procedure GetDerogatoryAccountDecrease(): Code[20] - +
procedure GetDerogatoryBalAccountDecrease(): Code[20] - +
procedure GetDerogatoryExpenseAccount(): Code[20]
table/5050 "Contact"
- +
field(10801; "Trade Register"; Text[30]) - +
field(10802; "APE Code"; Code[10]) - +
field(10803; "Legal Form"; Text[30]) - +
field(10804; "Stock Capital"; Text[30]) - +
field(10805; "SIREN No."; Code[9]) - +
local procedure UpdateRelatedRecordsPreservingCustomerSIREN() - +
local procedure UpdateSIRENNoInCustomer(CustomerNo: Code[20]; SIRENNo: Code[9])
table/5611 "Depreciation Book"
- +
field(10800; "Derogatory Calculation"; Code[10]) - +
field(10801; "Used with Derogatory Book"; Code[10]) - +
field(10802; "G/L Integration - Derogatory"; Boolean) - +
procedure IndexGLIntegration(var GLIntegration: array[13] of Boolean) - +
procedure CheckIntegrationFields() - +
procedure IsDerogatoryBook(): Boolean - −
procedure IndexGLIntegration(var GLIntegration: array[9] of Boolean)
table/81 "Gen. Journal Line"
- +
field(10801; "Bank Account Name"; Text[100]) - +
field(10860; "Entry No."; Integer) - +
field(10861; "Derogatory Line"; Boolean) - +
field(10862; "Delayed Unrealized VAT"; Boolean) - +
field(10863; "Realize VAT"; Boolean) - +
field(10864; "Created from No."; Code[20]) - +
procedure GetDerogatorySetup()
table/181 "Posted Gen. Journal Line"
- +
field(10801; "Bank Account Name"; Text[100]) - +
field(10860; "Entry No."; Integer) - +
field(10861; "Derogatory Line"; Boolean) - +
field(10862; "Delayed Unrealized VAT"; Boolean) - +
field(10863; "Realize VAT"; Boolean) - +
field(10864; "Created from No."; Code[20])
table/270 "Bank Account"
- +
field(10851; "Agency Code"; Text[5]) - +
field(10852; "RIB Key"; Integer) - +
field(10853; "RIB Checked"; Boolean) - +
field(10854; "National Issuer No."; Code[6]) - Δ
field(13; "Bank Account No."; Text[30]) - Δ
field(110; "IBAN"; Code[50])
table/287 "Customer Bank Account"
- +
field(10851; "Agency Code"; Text[5]) - +
field(10852; "RIB Key"; Integer) - +
field(10853; "RIB Checked"; Boolean) - +
key(Key2; "Code") - Δ
field(14; "Bank Account No."; Text[30]) - Δ
field(24; "IBAN"; Code[50])
table/288 "Vendor Bank Account"
- +
field(10851; "Agency Code"; Text[5]) - +
field(10852; "RIB Key"; Integer) - +
field(10853; "RIB Checked"; Boolean) - +
key(Key2; "Code") - Δ
field(14; "Bank Account No."; Text[30]) - Δ
field(24; "IBAN"; Code[50])
table/98 "General Ledger Setup"
- +
field(10800; "Posting Allowed From"; Date) - +
field(10801; "Posting Allowed To"; Date) - +
field(10805; "Local Currency"; Option) - +
field(10806; "Currency Euro"; Code[10]) - +
procedure CheckPostingDateRange(DateToCheck: Date; FldCaption: Text[50]) - Δ
field(57; "Local Address Format"; Option)
table/271 "Bank Account Ledger Entry"
- +
key(Key9; "Source Code", "Document No.", "Posting Date") - +
key(Key10; "Bank Account No.", "Posting Date", "Source Code") - +
key(Key11; "Bank Account No.", "Document No.", "Posting Date") - +
key(key12; "Statement No.", "Statement Line No.") - Δ
key(Key8; "Source Code", "Posting Date", "Document No.")
codeunit/1233 "SEPA DD-Check Line"
- +
local event OnBeforeCheckPaymentLine(var DirectDebitCollectionEntry: Record "Direct Debit Collection Entry"; var PaymentLine: Record "Payment Line"; var Result: Boolean; var IsHandled: Boolean) - +
procedure CheckPaymentLine(DirectDebitCollectionEntry: Record "Direct Debit Collection Entry"; PaymentLine: Record "Payment Line"; var AppliesToEntryNo: Integer): Boolean - Δ
procedure CheckCollectionEntry(DirectDebitCollectionEntry: Record "Direct Debit Collection Entry") - Δ
local procedure AddFieldEmptyError(var DirectDebitCollectionEntry: Record "Direct Debit Collection Entry"; TableCaption2: Text; FieldCaption: Text; KeyValue: Text)
page/370 "Bank Account Card"
- +
procedure action() - −
local event OnBeforeOnOpenPage() - −
local procedure SetNoFieldVisible() - −
local procedure RunReport(ReportNumber: Integer; BankActNumber: Code[20])
report/1303 "Standard Sales - Draft Invoice"
- +
local procedure GetGoodsAndServicesText(): Text - +
local procedure IsItemInventory(ItemNo: Code[20]): Boolean - +
local procedure GetVATPaidonDebitsText(): Text - +
local procedure FormatAddressFields(var SalesHeader: Record "Sales Header")
report/1401 "Check"
- +
procedure FormatNoTextFR(var NoText: array[2] of Text[80]; No: Decimal; CurrencyCode: Code[10]) - +
procedure FormatTens(var NoText: array[2] of Text[80]; var NoTextIndex: Integer; var PrintExponent: Boolean; Exponent: Integer; Hundreds: Integer; Tens: Integer; Ones: Integer) - +
procedure FormatNoTextINTL(var NoText: array[2] of Text[80]; No: Decimal; CurrencyCode: Code[10]) - −
local procedure GetAmtDecimalPosition(): Decimal
table/18 "Customer"
- +
field(10805; "SIREN No."; Code[9]) - +
field(10860; "Payment in progress (LCY)"; Decimal) - +
field(10880; "Exclude from Payment Reporting"; Boolean) - +
procedure GetSIRENNoWithCaption(): Text
table/263 "Intrastat Jnl. Line"
- +
key(Key3; "Type", "Country/Region Code", "Tariff No.", "Transaction Type", "Transport Method", "Country/Region of Origin Code", "Partner VAT ID") - +
key(Key4; "Internal Ref. No.") - −
key(Key6; "Journal Template Name", "Journal Batch Name", "Type", "Internal Ref. No.") - −
key(Key7; "Journal Template Name", "Journal Batch Name", "Type", "Country/Region Code", "Tariff No.", "Transaction Type", "Transport Method", "Country/Region of Origin Code", "Partner VAT ID")
codeunit/358 "DateFilter-Calc"
- +
procedure VerifiyDateFilter(Filter: Text[30]) - +
procedure VerifMonthPeriod(Filter: Text[30]) - +
procedure ReturnEndingPeriod(StartPeriod: Date; PeriodType: Option Date,Week,Month,Quarter,Year): Date
codeunit/5600 "FA Insert Ledger Entry"
- +
procedure InsertFARevEntryForDerog(FAEntryType: Option " ","Fixed Asset",Maintenance; var NewFAEntryNo: Integer; FALedgEntry: Record "FA Ledger Entry") - +
procedure InsertMaintRevEntryForDerog(FAEntryType: Option; var NewFAEntryNo: Integer; MaintenanceLedgEntry: Record "Maintenance Ledger Entry") - +
local procedure CalcExcludeDerogatory(FALedgEntry: Record "FA Ledger Entry"): Boolean
codeunit/5632 "FA Jnl.-Post Line"
- +
procedure GenJnlPostLineContinue(GenJnlLine: Record "Gen. Journal Line"; FAAmount: Decimal; VATAmount: Decimal; NextTransactionNo: Integer; NextGLEntryNo: Integer; GLRegisterNo: Integer) - +
procedure InsertBalAcc(var FALedgEntry: Record "FA Ledger Entry") - +
procedure GetNextMatchingFALedgEntry(SourceFAJournalLine: Record "FA Journal Line"; FromEntryNo: Integer; DeprBookCode: Code[10]): Integer
report/1306 "Standard Sales - Invoice"
- +
local procedure GetGoodsAndServicesText(): Text - +
local procedure IsItemInventory(ItemNo: Code[20]): Boolean - +
local procedure GetVATPaidonDebitsText(): Text
report/1307 "Standard Sales - Credit Memo"
- +
local procedure GetGoodsAndServicesText(): Text - +
local procedure IsItemInventory(ItemNo: Code[20]): Boolean - +
local procedure GetVATPaidonDebitsText(): Text
table/23 "Vendor"
- +
field(10805; "SIREN No."; Code[9]) - +
field(10860; "Payment in progress (LCY)"; Decimal) - +
field(10880; "Exclude from Payment Reporting"; Boolean)
table/254 "VAT Entry"
- +
procedure GetUnrealizedVATPart(SettledAmount: Decimal; Paid: Decimal; Full: Decimal; TotalUnrealVATAmountFirst: Decimal; TotalUnrealVATAmountLast: Decimal; DelayedUnrealizedVAT: Boolean; RealizeVAT: Boolean): Decimal - +
procedure CheckDelayedUnrealVATType() - −
procedure GetUnrealizedVATPart(SettledAmount: Decimal; Paid: Decimal; Full: Decimal; TotalUnrealVATAmountFirst: Decimal; TotalUnrealVATAmountLast: Decimal): Decimal
table/5200 "Employee"
- +
field(10800; "Marital Status"; Enum "Employee Marital Status") - Δ
field(57; "Bank Account No."; Text[30]) - Δ
field(58; "IBAN"; Code[50])
table/5601 "FA Ledger Entry"
- +
field(10800; "Exclude Derogatory"; Boolean) - Δ
key(Key4; "FA No.", "Depreciation Book Code", "Part of Book Value", "FA Posting Date", "Exclude Derogatory") - Δ
key(Key6; "FA No.", "Depreciation Book Code", "FA Posting Category", "FA Posting Type", "Posting Date", "Exclude Derogatory")
table/5612 "FA Depreciation Book"
- +
field(10800; "Derogatory"; Decimal) - +
field(10801; "Last Derogatory Date"; Date) - Δ
field(17; "Book Value"; Decimal)
codeunit/426 "Payment Tolerance Management"
- +
procedure PmtTolPaymentLine(var NewPaymentLine: Record "Payment Line"): Boolean - Δ
procedure SalesPmtTolGenJnl(var GenJnlLine: Record "Gen. Journal Line"): Boolean
codeunit/5601 "FA Insert G/L Account"
- +
local procedure GetGLAccNoFromFAPostingGroup(FAPostingGr: Record "FA Posting Group"; FAPostingType: Enum "FA Posting Group Account Type"; AllocAmount: Decimal): Code[20] - −
local procedure GetGLAccNoFromFAPostingGroup(FAPostingGr: Record "FA Posting Group"; FAPostingType: Enum "FA Posting Group Account Type"): Code[20]
codeunit/5633 "FA Jnl.-Post Batch"
- +
procedure MakeDerogFAJnlLine(var NewFAJnlLine: Record "FA Journal Line"; FAJnlLine: Record "FA Journal Line"): Boolean - +
local procedure CreateAndPostDerogatoryEntry(SourceFAJournalLine: Record "FA Journal Line")
codeunit/80 "Sales-Post"
- +
local event OnBeforeInsertInvoicedShipment(var ShipmentInvoiced: Record "Shipment Invoiced"; var IsHandled: Boolean) - +
local procedure InsertInvoicedShipment(InvoiceNo: Code[20]; InvoiceLineNo: Integer; ShipmentNo: Code[20]; ShipmentLineNo: Integer; QtyToInvoice: Decimal; QtyToShip: Decimal; PostingDate: Date)
report/5605 "Fixed Asset - Book Value 01"
- +
procedure GetDeprBookInfo() - +
procedure GetDerogDeprBookInfo()
report/5606 "Fixed Asset - Book Value 02"
- +
procedure GetDeprBookInfo() - +
procedure GetDerogDeprBookInfo()
table/1207 "Direct Debit Collection"
- +
field(10800; "Source Table ID"; Integer) - +
procedure SetErrorLink(var GenJnlLine: Record "Gen. Journal Line")
table/1381 "Customer Templ."
- +
field(10880; "Exclude from Payment Reporting"; Boolean) - Δ
field(14; "Our Account No."; Text[20])
table/1383 "Vendor Templ."
- +
field(10880; "Exclude from Payment Reporting"; Boolean) - Δ
field(14; "Our Account No."; Text[20])
table/317 "Payable Vendor Ledger Entry"
- +
field(10800; "Due Date"; Date) - +
key(Key2; "Vendor No.", "Due Date")
codeunit/1222 "SEPA CT-Prepare Source"
- +
local event OnCreateTempJnlLinesOnBeforeInsertTempGenJnlLine(var TempGenJnlLine: Record "Gen. Journal Line" temporary; var PaymentLine: Record "Payment Line")
codeunit/1232 "SEPA DD-Prepare Source"
- +
local event OnCreateTempCollectionEntriesOnBeforeInsert(var ToDirectDebitCollectionEntry: Record "Direct Debit Collection Entry"; PaymentHeader: Record "Payment Header"; PaymentLine: Record "Payment Line")
codeunit/5613 "Calculate Acq. Cost Depr."
- +
procedure DerogatoryCalc(var DeprAmount: Decimal; FANo: Code[20]; DeprBookCode: Code[10]; LocalDerogatoryBasis: Decimal)
codeunit/5626 "FA General Report"
- +
procedure SetSign(Sign: Boolean)
page/131 "Posted Sales Shpt. Subform"
- +
local procedure InvoiceLines()
page/133 "Posted Sales Invoice Subform"
- +
procedure LinesInvoiced()
report/5692 "Calculate Depreciation"
- +
procedure CalcDerogDeprAmount(Amount1: Decimal; Amount2: Decimal): Decimal
table/10 "Shipment Method"
- +
procedure ValidateShipmentMethod(): Boolean
table/112 "Sales Invoice Header"
- +
field(10801; "VAT Paid on Debits"; Boolean)
table/114 "Sales Cr.Memo Header"
- +
field(10801; "VAT Paid on Debits"; Boolean)
table/15 "G/L Account"
- +
field(10811; "Detailed Balance"; Boolean)
table/32 "Item Ledger Entry"
- +
field(10800; "Shipment Method Code"; Code[10])
table/36 "Sales Header"
- +
field(10801; "VAT Paid on Debits"; Boolean)
table/379 "Detailed Cust. Ledg. Entry"
- +
field(10801; "Curr. Adjmt. G/L Account No."; Code[20])
table/380 "Detailed Vendor Ledg. Entry"
- +
field(10801; "Curr. Adjmt. G/L Account No."; Code[20])
table/5600 "Fixed Asset"
- +
field(10810; "Professional Tax"; Option)
table/5624 "FA Reclass. Journal Line"
- +
field(10800; "Reclassify Derogatory"; Boolean)
table/83 "Item Journal Line"
- +
field(10800; "Shipment Method Code"; Code[10])
table/9 "Country/Region"
- +
field(10800; "SEPA Allowed"; Boolean)
xmlport/1000 "SEPA CT pain.001.001.03"
- −
local event OnSpecifyRemittanceTextSeparatorText(var SeparatorText: Text)
xmlport/1001 "SEPA CT pain.001.001.09"
- −
local event OnSpecifyRemittanceTextSeparatorText(var SeparatorText: Text)
BC29 · country layer against W1 · Learn: local functionality · narrative reviewed (checked by Opus)
Overview
The French layer is dominated by payment management: payment classes, statuses, steps, payment slips (with archive), payment addresses and step ledgers. These come as an FR-suffixed object set (for example codeunit 10837 "Payment Management FR", codeunit 10834 "Payment-Apply FR", page 10843 "Payment Slip FR" and page 10834 "Payment Class FR") plus a second set of non-suffixed objects (codeunit 10860 "Payment Management", pages 10860 to 10882). Bank, customer and vendor bank accounts get French RIB fields (Agency Code, RIB Key, RIB Checked). Learn documents creating, posting, archiving and exporting payment slips, payment classes, payment addresses and parameter export/import.\n\nFinance changes cover the FEC audit file export (codeunits 10826 to 10830, an Audit File Export format enum extension), fiscal period and fiscal year closing (new fields on table 50 "Accounting Period", table 98 "General Ledger Setup" posting ranges), G/L entry application (Applies-to ID, Letter, Letter Date on table 17 "G/L Entry"), delayed unrealized VAT, and local ledger reports such as journals, trial balances and the GL/Cust. Ledger Reconciliation. Fixed assets add derogatory (accelerated) depreciation through new fields on posting groups, depreciation books and ledger entries, and extra procedures in disposal and posting codeunits.\n\nElsewhere the country adds company identifiers: SIRET No., APE Code, Trade Register, Legal Form and Stock Capital on Company Information, the same registration fields plus SIREN No. on Contact, and SIREN No. on Customer and Vendor. It also adds VAT Paid on Debits and goods/services text on sales invoices, DEB Intrastat objects, and French service declaration extensions. Learn also covers UBL 2.1 and Factur-X e-invoicing and E-Reporting FR, though the code listed here shows no dedicated objects for them.
Key points
- Payment management: payment classes, statuses, steps, slips, archive, payment addresses and step ledgers, in FR and non-suffixed object sets
- RIB fields (Agency Code, RIB Key, RIB Checked) on Bank Account, Customer Bank Account and Vendor Bank Account, with RIB Key codeunits
- FEC tax audit export built on the Audit File Export framework, with opening balances and data checks
- Fiscal period and year closing: Fiscally Closed, Fiscal Closing Date and Period Reopened Date on Accounting Period, plus posting allowed range on General Ledger Setup
- Accelerated depreciation with derogatory books, posting group accounts and FA reports
- Company identifiers: SIRET No., APE Code, Trade Register, Legal Form and Stock Capital on Company Information; registration fields and SIREN No. on Contact; SIREN No. on Customer and Vendor
- French sales invoice specifics: VAT Paid on Debits and goods/services text on standard sales reports
- DEB Intrastat reporting (obligation level) and French service declaration (DES) extensions
Narrative written by Sonnet from the code diff and 34 Learn page summaries. In numbers: France (FR) localization of Business Central in BC29: 240 objects of its own, 71 W1 objects changed (78 fields and 6 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 | 10 | 153 | 5 |
| Finance | 8 | 42 | 20 |
| FixedAssets | 21 | 7 | 13 |
| Sales | 14 | 8 | 11 |
| Inventory | 3 | 10 | 2 |
| Purchases | 5 | 5 | 9 |
| Foundation | 6 | 2 | 12 |
| (no namespace) | 0 | 6 | 0 |
| Service | 0 | 6 | 0 |
| Security | 2 | 0 | 0 |
| CRM | 1 | 0 | 5 |
| ExpenseAgent | 0 | 1 | 0 |
| HumanResources | 1 | 0 | 1 |
Bank
Adds the French payment management feature: payment classes, statuses, steps, payment slips with archive, payment bank and addresses, step ledgers. Adds RIB key fields to table 270 “Bank Account”, plus SEPA check and Check report changes for French amount text.
Why: Learn describes payment classes, steps and slips used to manage bills of exchange, checks and SEPA transfers, and export of payment files.
Objects: codeunit/10860 “Payment Management” (own), codeunit/10837 “Payment Management FR” (own), codeunit/10801 “RIB Key” (own), table/270 “Bank Account”, codeunit/10861 “Payment-Apply” (own), page/10864 “Payment Class” (own), page/10868 “Payment Slip” (own), report/1401 “Check”.
All 163 objects of Bank in the diff
Finance
Adds FEC audit export, French trial balance and journal reports, fiscal year closing, G/L entry application and delayed unrealized VAT. Extends Gen. Jnl.-Post Line and journal line tables with derogatory and VAT realization fields, and G/L Setup with posting ranges.
Why: Learn documents FEC export for tax audits, fiscal period closing with two open fiscal years, and year-end closing entries.
Objects: codeunit/12 “Gen. Jnl.-Post Line”, codeunit/10826 “Generate File FEC” (own), codeunit/10862 “Fiscal Year-FiscalClose” (own), codeunit/10842 “G/L Entry Application” (own), table/81 “Gen. Journal Line”, table/98 “General Ledger Setup”, table/17 “G/L Entry”, report/10803 “G/L Trial Balance” (own).
All 50 objects of Finance in the diff
FixedAssets
Adds derogatory (accelerated) depreciation: fields on FA Posting Group, Depreciation Book, FA Depreciation Book and FA Ledger Entry, derogatory posting types in enums, and procedures in disposal, depreciation and posting codeunits. Adds professional tax reports.
Why: Learn explains accelerated depreciation as the difference between tax and accounting depreciation books.
Objects: table/5606 “FA Posting Group”, table/5611 “Depreciation Book”, table/5612 “FA Depreciation Book”, codeunit/5605 “Calculate Disposal”, codeunit/5613 “Calculate Acq. Cost Depr.”, codeunit/5633 “FA Jnl.-Post Batch”, report/5692 “Calculate Depreciation”, report/10817 “FA-Proj. Value (Derogatory) FR” (own).
All 28 objects of FixedAssets in the diff
Sales
Adds SIREN No. and payment reporting fields on Customer, VAT Paid on Debits on sales headers, goods and services text procedures on standard sales invoice reports, and French customer ledger reports. Adds shipment-invoice linking via table 10825 “Shipment Invoiced”.
Why: Learn covers customer SIREN numbers, printing VAT on debits and automatic goods/services indication on invoices.
Objects: table/18 “Customer”, table/36 “Sales Header”, report/1306 “Standard Sales - Invoice”, report/1303 “Standard Sales - Draft Invoice”, table/10825 “Shipment Invoiced” (own), codeunit/80 “Sales-Post”, report/10805 “Customer Trial Balance FR” (own), table/287 “Customer Bank Account”.
All 22 objects of Sales in the diff
Inventory
Adds DEB Intrastat support: codeunits for filtering receipts and shipments, an obligation level enum, and extensions on the Intrastat report and company information. Adds Shipment Method Code on item entries.
Why: Learn describes DEB reporting that needs company information and Intrastat fields filled in, with obligation level filters.
Objects: codeunit/10851 “IntrastatReportManagementFR” (own), codeunit/10853 “Intrastat Rep. Filter Rcpt. FR” (own), codeunit/10854 “Intrastat Rep. Filter Shpt. FR” (own), enum/10851 “Obligation Level” (own), tableextension/10851 “Intrastat Report Header FR” (own), pageextension/10852 “Intrastat Report FR” (own), table/32 “Item Ledger Entry”.
All 13 objects of Inventory in the diff
Purchases
Adds RIB fields on Vendor Bank Account, SIREN No. and payment fields on Vendor, plus vendor trial balance and journal reports.
Why: not explained by a Learn page in the input; the code shows the change, not the requirement.
Objects: table/288 “Vendor Bank Account”, table/23 “Vendor”, report/10814 “Vendor Journal” (own), report/10807 “Vendor Trial Balance FR” (own), report/10808 “Vendor Detail Trial Balance FR” (own), table/1383 “Vendor Templ.”, table/317 “Payable Vendor Ledger Entry”.
All 10 objects of Purchases in the diff
Foundation
Extends Company Information with French registration fields and SIRET validation with an event, and Accounting Period with fiscal closing logic. Adds a SEPA Allowed flag on Country/Region and date filter helpers.
Why: Learn notes that company information such as SIRET and SIREN is needed for e-invoicing and DEB reporting.
Objects: table/79 “Company Information”, table/50 “Accounting Period”, codeunit/358 “DateFilter-Calc”, table/9 “Country/Region”, codeunit/10833 “Local Navigate Handler FR” (own), table/10 “Shipment Method”.
All 8 objects of Foundation in the diff
(no namespace)
Holds mostly upgrade code, the FR-PMS permission set, a source code table extension and an Employee Marital Status enum.
Why: not explained by a Learn page in the input; the code shows the change, not the requirement.
Objects: permissionset/10800 “FR-PMS” (own), tableextension/10810 “SourceCodeFR” (own), enum/5226 “Employee Marital Status” (own).
All 6 objects of (no namespace) in the diff
Service
Adds local service declaration (DES) management and export codeunits, with setup page extensions and a permission set extension.
Why: not explained by a Learn page in the input; the code shows the change, not the requirement.
Objects: codeunit/10890 “Local Service Declaration Mgt.” (own), codeunit/10891 “Local Export Serv. Decl.” (own), codeunit/10892 “Local Serv. Decl. Exp. Ext.” (own), pageextension/10890 “Local Serv. Decl. Setup” (own), pageextension/10891 “Local Serv. Decl. Setup Wizard” (own).
All 6 objects of Service in the diff
Security
Changes the LOCAL and LOCAL READ permission sets to include French 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
CRM
Adds French registration fields (Trade Register, APE Code, Legal Form, Stock Capital, SIREN No.) to Contact, with procedures to keep the customer SIREN number in sync.
Why: not explained by a Learn page in the input; the code shows the change, not the requirement.
Objects: table/5050 “Contact”.
All 1 objects of CRM in the diff
ExpenseAgent
Adds an FR expense event subscriber codeunit.
Why: not explained by a Learn page in the input; the code shows the change, not the requirement.
Objects: codeunit/6920 “Expense Event Subscriber FR” (own).
All 1 objects of ExpenseAgent in the diff
HumanResources
Adds a Marital Status field to Employee.
Why: not explained by a Learn page in the input; the code shows the change, not the requirement.
Objects: table/5200 “Employee”.
All 1 objects of HumanResources in the diff
Objects of its own
240 objects only this country has.
- codeunit/355 “Local Navigate Handler”
- codeunit/6920 “Expense Event Subscriber FR”
- codeunit/9997 “Upgrade Tag Def - Country”
- codeunit/10800 “Substitute Report”
- codeunit/10801 “RIB Key”
- codeunit/10802 “FR AccSchedManagement”
- codeunit/10803 “FA Reports FR”
- codeunit/10826 “Generate File FEC”
- codeunit/10827 “Data Handling FEC”
- codeunit/10828 “Data Check FEC”
- codeunit/10829 “Install FEC”
- codeunit/10830 “Library - Test FEC”
- codeunit/10831 “Feature - PaymentMgt FR”
- codeunit/10833 “Local Navigate Handler FR”
- codeunit/10834 “Payment-Apply FR”
- codeunit/10835 “Payment Management Feature FR”
- codeunit/10837 “Payment Management FR”
- codeunit/10838 “PaymentMgt Subscribers FR”
- codeunit/10839 “RIB Key FR”
- codeunit/10840 “Upgrade Payment Management FR”
- codeunit/10841 “Upg. Tag Payment Management FR”
- codeunit/10842 “G/L Entry Application”
- codeunit/10843 “Payment Management Subscriber”
- codeunit/10844 “Payment Data Migration FR”
- codeunit/10851 “IntrastatReportManagementFR”
- codeunit/10853 “Intrastat Rep. Filter Rcpt. FR”
- codeunit/10854 “Intrastat Rep. Filter Shpt. FR”
- codeunit/10855 “Intrastat Rep. Reset Filter FR”
- codeunit/10857 “IntrastatReportFRUpgrade”
- codeunit/10860 “Payment Management”
- codeunit/10861 “Payment-Apply”
- codeunit/10862 “Fiscal Year-FiscalClose”
- codeunit/10881 “Update Dtld. CV Ledger Entries”
- codeunit/10890 “Local Service Declaration Mgt.”
- codeunit/10891 “Local Export Serv. Decl.”
- codeunit/10892 “Local Serv. Decl. Exp. Ext.”
- codeunit/104101 “UPG.FR”
- enum/5226 “Employee Marital Status”
- enum/10831 “Payment Step Action Type FR”
- enum/10851 “Obligation Level”
- enum/10862 “Payment Step Action Type”
- enumextension/10826 “Audit File Export Format FEC”
- enumextension/10831 “Feature - PaymentMgt FR”
- page/10800 “FR Account Schedule Names”
- page/10801 “FR Account Schedule”
- page/10818 “Fiscal Year Closing Steps”
- page/10831 “Payment Addresses FR”
- page/10832 “Payment Bank Archive FR”
- page/10833 “Payment Bank FR”
- page/10834 “Payment Class FR”
- page/10835 “Payment Class List FR”
- page/10836 “Payment Line Modification FR”
- page/10837 “Invoices bound by Shipment”
- page/10838 “Shipments bound by Invoice”
- page/10839 “Payment Lines Archive List FR”
- page/10840 “Payment Lines List FR”
- page/10841 “Payment Report FR”
- page/10842 “Payment Slip Archive FR”
- page/10843 “Payment Slip FR”
- page/10845 “Payment Slip List Archive FR”
- page/10846 “Payment Slip List FR”
- page/10847 “Payment Slip Subform ArchiveFR”
- page/10848 “Payment Slip Subform FR”
- page/10849 “Payment Status FR”
- page/10850 “Payment Status List FR”
- page/10851 “Payment Step Card FR”
- page/10852 “Payment Step Ledger FR”
- page/10853 “Payment Step Ledger List FR”
- page/10854 “Payment Steps FR”
- page/10855 “Payment Steps List FR”
- page/10857 “View/Edit Payment Line FR”
- page/10860 “Payment Class List”
- page/10861 “Payment Status List”
- page/10862 “View/Edit Payment Line”
- page/10863 “Payment Report”
- page/10864 “Payment Class”
- page/10865 “Payment Status”
- page/10866 “Payment Steps”
- page/10867 “Payment Step Card”
- page/10868 “Payment Slip”
- page/10869 “Payment Slip Subform”
- page/10870 “Payment Slip List”
- page/10871 “Payment Line Modification”
- page/10872 “Payment Lines List”
- page/10873 “Payment Steps List”
- page/10874 “Payment Step Ledger”
- page/10875 “Payment Addresses”
- page/10876 “Payment Bank”
- page/10877 “Payment Slip Archive”
- page/10878 “Payment Slip Subform Archive”
- page/10879 “Payment Slip List Archive”
- page/10880 “Payment Lines Archive List”
- page/10881 “Payment Bank Archive”
- page/10882 “Payment Step Ledger List”
- pageextension/10826 “Audit Export Doc. Card FEC”
- pageextension/10827 “Audit Export Format Setup FEC”
- pageextension/10828 “Audit File Export Setup FEC”
- pageextension/10831 “Accounting Manager Role Center”
- pageextension/10832 “Acc. Payables Coordinator RC”
- pageextension/10833 “Acc. Receivables Adm. RC”
- pageextension/10834 “Bank Account Card”
- pageextension/10835 “Bookkeeper Role Center”
- pageextension/10836 “Cash Receipt Journal”
- pageextension/10837 “Customer Bank Account Card”
- pageextension/10838 “Customer Card”
- pageextension/10839 “Finance Manager Role Center”
- pageextension/10840 “Small Business Owner RC”
- pageextension/10841 “Vendor Bank Account Card”
- pageextension/10842 “Vendor Card”
- pageextension/10843 “Payment Report”
- pageextension/10844 “Payment Slip”
- pageextension/10845 “View/Edit Payment Line”
- pageextension/10851 “Intrastat Report Subform FR”
- pageextension/10852 “Intrastat Report FR”
- pageextension/10890 “Local Serv. Decl. Setup”
- pageextension/10891 “Local Serv. Decl. Setup Wizard”
- permissionset/10800 “FR-PMS”
- permissionset/10801 “FA Reports FR - Objects”
- permissionset/10826 “FEC - Objects”
- permissionset/10837 “Payment Management FR - Full”
- permissionset/10838 “Payment Mgt FR - Objects X”
- permissionset/10839 “Payment Management FR - Read”
- permissionset/10840 “Payment Management FR - RM”
- permissionsetextension/10827 “D365 BASIC ISV - FEC”
- permissionsetextension/10828 “D365 BASIC - FEC”
- permissionsetextension/10829 “D365 READ - FEC”
- permissionsetextension/10830 “D365 TEAM MEMBER - FEC”
- permissionsetextension/10831 “INTELLIGENT CLOUD - FEC”
- permissionsetextension/10832 “LOCAL - FEC”
- permissionsetextension/10833 “D365 READ - Payment Management FR”
- permissionsetextension/10834 “D365 TEAM MEMBER - Payment Management FR”
- permissionsetextension/10835 “LOCAL”
- permissionsetextension/10836 “LOCAL READ”
- permissionsetextension/10837 “D365 BASIC ISV - Payment Management FR”
- permissionsetextension/10838 “D365 BASIC - Payment Management FR”
- permissionsetextension/10851 “Intrastat FR - Objects”
- permissionsetextension/10890 “Serv. Decl. FR - Objects”
- report/10800 “G/L Journal”
- report/10801 “Journals”
- report/10803 “G/L Trial Balance”
- report/10804 “G/L Detail Trial Balance”
- report/10805 “Customer Trial Balance FR”
- report/10806 “Customer Detail Trial Balance”
- report/10807 “Vendor Trial Balance FR”
- report/10808 “Vendor Detail Trial Balance FR”
- report/10809 “Bank Account Trial Balance”
- report/10810 “Bank Acc. Detail Trial Balance”
- report/10811 “FR Account Schedule”
- report/10812 “Fixed Asset-Professional Tax”
- report/10813 “Customer Journal”
- report/10814 “Vendor Journal”
- report/10815 “Bank Account Journal”
- report/10817 “FA-Proj. Value (Derogatory) FR”
- report/10818 “Fixed Asset-Professional TaxFR”
- report/10820 “Export G/L Entries to XML”
- report/10831 “Archive Payment Slips FR”
- report/10834 “Bill FR”
- report/10836 “Draft FR”
- report/10837 “Draft notice FR”
- report/10838 “Draft recapitulation FR”
- report/10839 “Duplicate parameter FR”
- report/10840 “ETEBAC Files FR”
- report/10841 “GL/Cust Ledger Reconciliation”
- report/10842 “G/L Account Statement”
- report/10843 “Recapitulation Form”
- report/10844 “GL/Vend Ledger Reconciliation”
- report/10845 “Payment List FR”
- report/10846 “Recapitulation Form FR”
- report/10847 “Remittance FR”
- report/10848 “SEPA ISO20022 FR”
- report/10849 “Suggest Cust. Payments”
- report/10850 “Suggest Vend. Payments”
- report/10851 “Withdraw FR”
- report/10852 “Withdraw notice FR”
- report/10853 “Withdraw recapitulation FR”
- report/10860 “Payment List”
- report/10861 “GL/Cust. Ledger Reconciliation”
- report/10862 “Suggest Vendor Payments FR”
- report/10863 “GL/Vend. Ledger Reconciliation”
- report/10864 “Suggest Customer Payments”
- report/10865 “Bill”
- report/10866 “Draft”
- report/10867 “Remittance”
- report/10868 “Draft notice”
- report/10869 “Draft recapitulation”
- report/10870 “Withdraw notice”
- report/10871 “Withdraw recapitulation”
- report/10872 “Duplicate parameter”
- report/10873 “Archive Payment Slips”
- report/10876 “EC Sales List - Services”
- report/10880 “ETEBAC Files”
- report/10881 “Withdraw”
- report/10882 “Transfer”
- report/10883 “SEPA ISO20022”
- report/10886 “FA - Proj. Value (Derogatory)”
- reportextension/10856 “Payment List”
- reportextension/10857 “GL/Vend. Ledger Reconciliation”
- reportextension/10858 “Archive Payment Slips”
- reportextension/10859 “GL/Cust. Ledger Reconciliation”
- table/10800 “FR Acc. Schedule Name”
- table/10801 “FR Acc. Schedule Line”
- table/10825 “Shipment Invoiced”
- table/10831 “Bank Account Buffer FR”
- table/10832 “Payment Address FR”
- table/10833 “Payment Class FR”
- table/10834 “Payment Header Archive FR”
- table/10835 “Payment Header FR”
- table/10836 “Payment Line Archive FR”
- table/10837 “Payment Line FR”
- table/10838 “Payment Post. Buffer FR”
- table/10839 “Payment Status FR”
- table/10840 “Payment Step FR”
- table/10841 “Payment Step Ledger FR”
- table/10860 “Payment Class”
- table/10861 “Payment Status”
- table/10862 “Payment Step”
- table/10863 “Payment Step Ledger”
- table/10864 “Payment Post. Buffer”
- table/10865 “Payment Header”
- table/10866 “Payment Line”
- table/10867 “Payment Header Archive”
- table/10868 “Payment Line Archive”
- table/10869 “Bank Account Buffer”
- table/10870 “Payment Address”
- table/10871 “Unreal. CV Ledg. Entry Buffer”
- table/10880 “Payment Period Setup”
- table/10881 “Payment Application Buffer”
- tableextension/10810 “SourceCodeFR”
- tableextension/10826 “Audit File Export Header FEC”
- tableextension/10831 “Bank Account”
- tableextension/10832 “Customer”
- tableextension/10833 “Customer Bank Account”
- tableextension/10834 “General Ledger Setup”
- tableextension/10835 “Vendor”
- tableextension/10836 “Vendor Bank Account”
- tableextension/10851 “Intrastat Report Header FR”
- tableextension/10852 “Company Information FR”
- xmlport/10800 “Export G/L Entries”
- xmlport/10831 “Import/Export Parameters FR”
- xmlport/10863 “Import/Export Parameters”
Other versions
- BC30: 311 objects differ from W1 (78 fields, 6 events added)
Source: country layer of the Base Application compared with W1 of the same version (data/code/diffs/country/).