localization · BC29official - Microsoftreviewed - checked by Opus

Switzerland (CH)

Switzerland (CH) localization of Business Central 29. It covers Swiss electronic payments (QR-bill, ESR, LSV+, SEPA with Swiss rules), Swiss VAT statements with ciphers and VAT exchange rates, delivery reminders, quote management, physical inventory, and bank and post code directories. It answers how Swiss payment, VAT and document features are built.

What CH changes in W1 118 objects, BC29

table/79 "Company Information" +25, 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(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(11500; "UID Number"; Text[30])
  • +field(11501; "BUR Number"; Text[30])
  • Δfield(11; "Giro No."; Text[20])
  • Δfield(14; "Bank Account No."; Text[30])
  • Δfield(38; "IBAN"; Code[50])
table/254 "VAT Entry" +12, 5 changed
  • +field(11000; "G/L Account No."; Code[20])
  • +field(11500; "VAT %"; Decimal)
  • +field(11501; "Currency Factor"; Decimal)
  • +field(11502; "Amount (FCY)"; Decimal)
  • +field(11503; "Currency Code"; Code[10])
  • +field(11504; "Unadjusted Exchange Rate"; Boolean)
  • +field(11510; "Base (FCY)"; Decimal)
  • +field(11511; "Exchange Rate Adjustment"; Boolean)
  • +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/37 "Sales Line" +14, 3 removed
  • +field(3010501; "Customer Line Reference"; Integer)
  • +field(3010801; "Level"; Integer)
  • +field(3010802; "Position"; Integer)
  • +field(3010803; "Quote Variant"; Option)
  • +field(3010804; "Subtotal Net"; Decimal)
  • +field(3010805; "Subtotal Gross"; Decimal)
  • +field(3010806; "Title No."; Integer)
  • +field(3010807; "Classification"; Code[20])
  • +local event OnInsertOnAfterCheckInventoryConflict(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; var SalesLine2: Record "Sales Line"; SalesLineBuffer: Record "Sales Line")
  • +local event OnUpdateVATOnLinesOnBeforeModifySalesLine(var SalesLine: Record "Sales Line"; VATAmount: Decimal; var TempVATDiff: Decimal)
  • +local event OnCalcVATAmountLinesOnAfterCalcShouldProcessRounding(var VATAmountLine: Record "VAT Amount Line"; Currency: Record Currency; var TempVATDiff: Decimal; var IsHandled: Boolean; var SalesLine: Record "Sales Line"; var TotalVATAmount: Decimal)
  • +local event OnBeforeCalcPosition(var SalesLine: Record "Sales Line"; var Position: Integer; var IsHandled: Boolean)
  • +procedure CalcPosition(FixedNumber: Integer)
  • +local procedure CheckQuoteMgtPermission(): Boolean
  • −local event OnInsertOnAfterCheckInventoryConflict(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; var SalesLine2: Record "Sales Line")
  • −local event OnUpdateVATOnLinesOnBeforeModifySalesLine(var SalesLine: Record "Sales Line"; VATAmount: Decimal)
  • −local event OnCalcVATAmountLinesOnAfterCalcShouldProcessRounding(var VATAmountLine: Record "VAT Amount Line"; Currency: Record Currency; var IsHandled: Boolean; var SalesLine: Record "Sales Line"; var TotalVATAmount: Decimal)
table/288 "Vendor Bank Account" +13, 2 changed
  • +field(11580; "Payment Fee Code"; Option)
  • +field(3010541; "Clearing No."; Code[5])
  • +field(3010542; "Payment Form"; Option)
  • +field(3010543; "ESR Type"; Option)
  • +field(3010544; "Giro Account No."; Code[11])
  • +field(3010545; "ESR Account No."; Code[11])
  • +field(3010546; "Bank Identifier Code"; Code[21])
  • +field(3010547; "Balance Account No."; Code[20])
  • +field(3010548; "Invoice No. Startposition"; Integer)
  • +field(3010549; "Invoice No. Length"; Integer)
  • +field(3010550; "Debit Bank"; Code[20])
  • +key(Key2; "ESR Account No.")
  • +procedure GetPaymentType(var PaymentType: Option; CurrencyCode: Code[10]): Boolean
  • Δfield(14; "Bank Account No."; Text[30])
  • Δfield(24; "IBAN"; Code[50])
table/5107 "Sales Header Archive" +12, 3 changed
  • +field(3010801; "Quote Status"; Option)
  • +field(3010802; "Probability %"; Decimal)
  • +field(3010803; "Expected Order Inflow"; DateFormula)
  • +field(3010804; "Followup Date"; Date)
  • +field(3010805; "Decision Date"; Date)
  • +field(3010806; "Competition"; Text[30])
  • +field(3010807; "Competitor Price"; Decimal)
  • +field(3010808; "Filed Date"; Date)
  • +field(3010809; "Filed User ID"; Code[50])
  • +field(3010810; "Quote valid until"; Text[30])
  • +key(Key5; "Document Type", "Bill-to Customer No.")
  • +key(Key6; "Incoming Document Entry No.")
  • Δkey(Key2; "Document Type", "No.", "Quote Status")
  • Δkey(Key3; "Document Type", "Sell-to Customer No.", "Bill-to Customer No.")
  • Δkey(Key4; "Document Type", "Sell-to Customer No.")
codeunit/597 "Exch. Rate Adjmt. Subscribers" +14
  • +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
  • +local procedure OnBeforeAdjustGLAccountsAndVATEntries(ExchRateAdjmtParameters: Record "Exch. Rate Adjmt. Parameters"; var Currency: Record Currency; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line")
  • +local procedure AdjustVATEntries(var ExchRateAdjmtParameters: Record "Exch. Rate Adjmt. Parameters" temporary; var Currency: Record Currency; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line")
  • +local procedure ProcessVATEntryAdjustment(var VATEntry: Record "VAT Entry"; ExchRateAdjmtParameters: Record "Exch. Rate Adjmt. Parameters"; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line")
  • +local procedure GetGLSetup()
  • +local procedure GetAdditionalReportingCurrency(): Code[10]
  • +local procedure AdjustVATRate(VATEntry: Record "VAT Entry"; ExchRateAdjmtParameters: Record "Exch. Rate Adjmt. Parameters"; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line")
  • +local procedure UpdateGLRegToVATEntryNo(var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line")
  • +local procedure PostGenJnlLine(var GenJnlLine: Record "Gen. Journal Line"; var DimSetEntry: Record "Dimension Set Entry"; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line"; ExchRateAdjmtParameters: Record "Exch. Rate Adjmt. Parameters"): Integer
  • +local procedure GetGlobalDimVal(GlobalDimCode: Code[20]; var DimSetEntry: Record "Dimension Set Entry"): Code[20]
table/36 "Sales Header" +11, 2 changed
  • +field(3010802; "Probability %"; Decimal)
  • +field(3010803; "Expected Order Inflow"; DateFormula)
  • +field(3010804; "Followup Date"; Date)
  • +field(3010805; "Decision Date"; Date)
  • +field(3010806; "Competition"; Text[30])
  • +field(3010807; "Competitor Price"; Decimal)
  • +field(3010808; "Filed Date"; Date)
  • +field(3010809; "Filed User ID"; Code[50])
  • +field(3010810; "Quote valid until"; Text[30])
  • +local procedure UpdateDefaultCompressPrepaymentValue()
  • +procedure CheckIfCompressPrepaymentCanBeUsed()
  • Δfield(60; "Amount"; Decimal)
  • Δfield(5752; "Completely Shipped"; Boolean)
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.")
table/5108 "Sales Line Archive" +9, 1 changed
  • +field(3010501; "Customer Line Reference"; Integer)
  • +field(3010801; "Level"; Integer)
  • +field(3010802; "Position"; Integer)
  • +field(3010803; "Quote Variant"; Option)
  • +field(3010804; "Subtotal net"; Decimal)
  • +field(3010805; "Subtotal gross"; Decimal)
  • +field(3010806; "Title No."; Integer)
  • +field(3010807; "Classification"; Code[20])
  • +key(Key7; "Document No.", "Document Type", "Doc. No. Occurrence", "Version No.")
  • Δkey(Key6; "Document Type", "Blanket Order No.", "Blanket Order Line No.")
table/21 "Cust. Ledger Entry" +3, 6 changed
  • +field(3010831; "LSV No."; Integer)
  • +key(Key24; "Salesperson Code")
  • +key(Key25; "SystemModifiedAt")
  • Δkey(Key18; "Posting Date", "Customer No.")
  • Δkey(Key19; "LSV No.", "Customer No.")
  • Δkey(Key20; "Document Type", "Posting Date")
  • Δkey(Key21; "Document Type", "Customer No.", "Open", "Due Date")
  • Δkey(Key22; "Customer Posting Group")
  • Δkey(Key23; "Document Type", "Open", "Posting Date", "Closed at Date")
table/81 "Gen. Journal Line" +8
  • +field(11580; "Payment Fee Code"; Option)
  • +field(3010531; "ESR Information"; Text[100])
  • +field(3010541; "Reference No."; Code[35])
  • +field(3010543; "Checksum"; Code[2])
  • +field(3010544; "ESR/ISR Coding Line"; Code[70])
  • +field(3010545; "Debit Bank"; Code[20])
  • +field(3010546; "Clearing"; Code[5])
  • +procedure ChangePostingDateWarning()
codeunit/1240 "Read Data Exch. from File" +7
  • +local procedure XMLSplitPaymentPerInvoices(var TempBlob: Codeunit "Temp Blob")
  • +local procedure XMLCheckInvoices(InvoiceXMLNodeList: DotNet XmlNodeList; AmountNodeName: Text; CurrencyAttributeName: Text; PaymentAmount: Decimal; PaymentCurrency: Text): Boolean
  • +local procedure XMLRemoveAllChildNodes(var XmlDocument: DotNet XmlDocument; ChildNodeName: Text)
  • +local procedure XMLFindFirstChild(var XMLNode: DotNet XmlNode; XmlDocument: DotNet XmlDocument; ChildName: Text): Boolean
  • +local procedure XMLImportAppendChild(var XmlDocument: DotNet XmlDocument; ParentXMLNode: DotNet XmlNode; XMLNode: DotNet XmlNode)
  • +local procedure XMLReadAmountNodeWithAttributeText(var Amount: Decimal; var AttributeText: Text; XmlDocument: DotNet XmlDocument; NodeName: Text; AttributeName: Text): Boolean
  • +local procedure XMLWriteAmountNode(XmlDocument: DotNet XmlDocument; NodeName: Text; Amount: Decimal): Boolean
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")
table/113 "Sales Invoice Line" +7
  • +field(3010501; "Customer Line Reference"; Integer)
  • +field(3010801; "Quote-Level"; Integer)
  • +field(3010802; "Position"; Integer)
  • +field(3010804; "Subtotal net"; Decimal)
  • +field(3010805; "Subtotal gross"; Decimal)
  • +field(3010806; "Title No."; Integer)
  • +field(3010807; "Classification"; Code[20])
table/115 "Sales Cr.Memo Line" +7
  • +field(3010501; "Customer Line Reference"; Integer)
  • +field(3010801; "Quote-Level"; Integer)
  • +field(3010802; "Position"; Integer)
  • +field(3010804; "Subtotal net"; Decimal)
  • +field(3010805; "Subtotal gross"; Decimal)
  • +field(3010806; "Title No."; Integer)
  • +field(3010807; "Classification"; Code[20])
table/181 "Posted Gen. Journal Line" +7
  • +field(11580; "Payment Fee Code"; Option)
  • +field(3010531; "ESR Information"; Text[100])
  • +field(3010541; "Reference No."; Code[35])
  • +field(3010543; "Checksum"; Code[2])
  • +field(3010544; "ESR/ISR Coding Line"; Code[70])
  • +field(3010545; "Debit Bank"; Code[20])
  • +field(3010546; "Clearing"; Code[5])
table/83 "Item Journal Line" +7
  • +field(11500; "Customer No."; Code[20])
  • +field(11501; "Ship-to Address Code"; Code[10])
  • +field(11502; "Customer Salesperson Code"; Code[20])
  • +field(3010801; "Quote-Level"; Integer)
  • +field(3010802; "Position"; Integer)
  • +field(3010805; "Title No."; Integer)
  • +field(3010806; "Classification"; Code[20])
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)
table/1226 "Payment Export Data" +5, 1 changed
  • +field(11500; "Swiss Payment Form"; Option)
  • +field(11501; "Swiss Payment Type"; Option)
  • +procedure SetSwissExport(NewSwissExport: Boolean)
  • +local procedure FillSwissFieldsFromCustomerBankAccount(CustomerBankAccount: Record "Customer Bank Account")
  • +local procedure FillSwissFieldsFromVendorBankAccount(VendorBankAccount: Record "Vendor Bank Account")
  • Δfield(31; "Sender Bank Account No."; Text[50])
table/38 "Purchase Header" +6
  • +field(11000; "Registration No."; Text[20])
  • +field(3010541; "Reference No."; Code[35])
  • +field(3010542; "Bank Code"; Code[20])
  • +field(3010543; "Checksum"; Code[2])
  • +field(3010544; "ESR/ISR Coding Line"; Code[70])
  • +field(3010545; "ESR Amount"; Decimal)
table/98 "General Ledger Setup" +4, 2 changed
  • +field(11003; "Currency Code For EURO"; Code[10])
  • +field(11004; "Post Pmt.Disc Tol. to Pmt.Disc"; Boolean)
  • +field(11011; "Sales VAT Advance Notif. Nos."; Code[20])
  • +procedure RoundPmtDiscLCY(InvoiceAmt: Decimal; OrigPmtDiscAmt: Decimal; CurrCode: Code[10]): Decimal
  • Δfield(49; "Adjust for Payment Disc."; Boolean)
  • Δfield(151; "Prepayment Unrealized VAT"; Boolean)
codeunit/1221 "SEPA CT-Fill Export Buffer" +4, 1 removed
  • +local procedure GetBatchBooking(SwissExport: Boolean; BankExportImportSetup: Record "Bank Export/Import Setup"; LineCount: Integer): Boolean
  • +local procedure ValidatePaymentExportData(var PaymentExportData: Record "Payment Export Data"; var GenJnlLine: Record "Gen. Journal Line"; SwissExport: Boolean)
  • +local procedure ValidateRecipientBankAccNo(var PaymentExportData: Record "Payment Export Data"; var GenJournalLine: Record "Gen. Journal Line"; SwissExport: Boolean)
  • +local procedure ValidateSEPAChargeBearer(var PaymentExportData: Record "Payment Export Data"; GenJournalLine: Record "Gen. Journal Line"; SwissExport: Boolean)
  • −local procedure ValidatePaymentExportData(var PaymentExportData: Record "Payment Export Data"; var GenJnlLine: Record "Gen. Journal Line")
table/111 "Sales Shipment Line" +5
  • +field(3010501; "Customer Line Reference"; Integer)
  • +field(3010801; "Quote-Level"; Integer)
  • +field(3010802; "Position"; Integer)
  • +field(3010806; "Title No."; Integer)
  • +field(3010807; "Classification"; Code[20])
table/15 "G/L Account" +5
  • +field(11000; "VAT Amount"; Decimal)
  • +field(3010536; "Currency Code"; Code[10])
  • +field(3010537; "Balance (FCY)"; Decimal)
  • +field(3010538; "Balance at Date (FCY)"; Decimal)
  • +field(3010539; "Movement (FCY)"; Decimal)
table/27 "Item" +5
  • +field(11500; "No Stockkeeping"; Boolean)
  • +field(11501; "Location Code"; Code[10])
  • +field(11503; "Sale blocked"; Boolean)
  • +field(11504; "Purchase blocked"; Boolean)
  • +field(11505; "Inventory Price"; Decimal)
table/287 "Customer Bank Account" +2, 3 changed
  • +field(3010831; "Giro Account No."; Code[11])
  • +procedure GetPaymentType(var SwissPaymentType: Option " ","1","2.1","2.2","3","4","5","6"; CurrencyCode: Code[10]): Boolean
  • Δfield(13; "Bank Branch No."; Code[5])
  • Δfield(14; "Bank Account No."; Text[30])
  • Δfield(24; "IBAN"; Code[50])
table/311 "Sales & Receivables Setup" +5
  • +field(11501; "Line Amt. Round LCY"; Decimal)
  • +field(11502; "Apply Inv. Round. Amt. To VAT"; Boolean)
  • +field(11510; "Shipment on Ship and Invoice"; Boolean)
  • +field(11511; "Automatic Interaction Log"; Boolean)
  • +field(3010801; "Automatic recalculate Quotes"; Boolean)
table/5109 "Purchase Header Archive" +2, 3 changed
  • +field(11000; "Registration No."; Text[20])
  • +key(Key5; "Incoming Document Entry No.")
  • Δkey(Key2; "Document Type", "Buy-from Vendor No.", "Pay-to Vendor No.")
  • Δkey(Key3; "Document Type", "Buy-from Vendor No.")
  • Δkey(Key4; "Document Type", "Pay-to Vendor No.")
codeunit/2 "Company-Initialize" +4
  • +procedure GetSwissSEPACT09Code(): Code[20]
  • +procedure GetSwissSEPACT09Name(): Text[100]
  • +procedure GetSwissSEPADD08Code(): Code[20]
  • +procedure GetSwissSEPADD08Name(): Text[100]
codeunit/80 "Sales-Post" +4
  • +local event OnBeforeUpdatePostingDescriptionOnInvoice(var SalesHeader: Record "Sales Header"; PostingNo: Code[20]; var ModifyHeader: Boolean; var IsHandled: Boolean)
  • +procedure UpdateVATDiff(SalesHeader: Record "Sales Header"; var TempCombinedSalesLine: Record "Sales Line" temporary; var TempVATAmountLine: Record "VAT Amount Line" temporary)
  • +local procedure UpdatePostingDescriptionOnInvoice(PostingNo: Code[20]; var SalesHeader: Record "Sales Header"; var ModifyHeader: Boolean)
  • +local procedure CheckQuoteMgtPermission(): Boolean
report/393 "Suggest Vendor Payments" +4
  • +procedure InitializeRequest2(LastPmtDate: Date; FindPmtDisc: Boolean; NewAvailableAmount: Decimal; NewSkipExportedPayments: Boolean; NewPostingDate: Date; NewStartDocNo: Code[20]; NewSummarizePerVend: Boolean; BalAccType: Option "G/L Account",Customer,Vendor,"Bank Account"; BalAccNo: Code[20]; BankPmtType: Option; NewExcludeCreditMemos: Boolean)
  • +local procedure SetTempPaymentBufferSummarized(var TempPayableVendorLedgerEntrySum: Record "Payable Vendor Ledger Entry" temporary; var TempPayableVendorLedgerEntry: Record "Payable Vendor Ledger Entry" temporary)
  • +local procedure GetVendorEntryNoSummarized(var TempPayableVendorLedgerEntrySum: Record "Payable Vendor Ledger Entry" temporary; TempPayableVendorLedgerEntry: Record "Payable Vendor Ledger Entry" temporary): Integer
  • +local procedure FilterPayableVendorEntriesSummarized(var TempPayableVendorLedgerEntrySum: Record "Payable Vendor Ledger Entry" temporary; TempPayableVendorLedgerEntry: Record "Payable Vendor Ledger Entry" temporary)
table/325 "VAT Posting Setup" +3, 1 changed
  • +field(6201; "Non-Ded. Sales VAT Account"; Code[20])
  • +field(26100; "Sales VAT Stat. Cipher"; Code[20])
  • +field(26101; "Purch. VAT Stat. Cipher"; Code[20])
  • Δfield(6; "Adjust for Payment Discount"; Boolean)
table/475 "Vendor Payment Buffer" +2, 1 changed, 1 removed
  • +field(3010541; "Reference No."; Code[35])
  • +local event OnCopyFieldsToGenJournalLine(VendorPaymentBufferSource: Record "Vendor Payment Buffer"; var GenJournalLineTarget: Record "Gen. Journal Line"; PaymentBufferSource: Record "Vendor Payment Buffer")
  • Δlocal event OnCopyFieldsFromVendorLedgerEntry(VendorLedgerEntrySource: Record "Vendor Ledger Entry"; var VendorPaymentBufferTarget: Record "Vendor Payment Buffer")
  • −local event OnCopyFieldsToGenJournalLine(PaymentBufferSource: Record "Vendor Payment Buffer"; var GenJournalLineTarget: Record "Gen. Journal Line")
codeunit/1223 "SEPA CT-Check Line" +3
  • +local procedure AddFieldEmptyError(var GenJnlLine: Record "Gen. Journal Line"; TableCaption2: Text; FieldCaption: Text; FieldCaption2: Text; KeyValue: Text)
  • +local procedure CheckSwissExportVendorBankPaymentType(GenJnlLine: Record "Gen. Journal Line"; VendorBankAccount: Record "Vendor Bank Account"; var SwissIgnoreIBAN: Boolean)
  • +local procedure CheckSwissExportCustomerBankPaymentType(GenJnlLine: Record "Gen. Journal Line"; CustomerBankAccount: Record "Customer Bank Account")
codeunit/1261 "Imp. SEPA CAMT Bank Rec. Lines" +3
  • +procedure SetImportType(NewImportType: Option W1,CH053,CH054)
  • +procedure InitNodeText()
  • +procedure InitBalTypeDescriptor()
codeunit/229 "Document-Print" +3
  • +procedure PrintSalesVATAdvNotAccProof(VATStatementName: Record "VAT Statement Name")
  • +procedure PrintVATStatementSchedule(VATStatementName: Record "VAT Statement Name")
  • +local procedure CheckQuoteMgtPermission(): Boolean
codeunit/5063 "ArchiveManagement" +3
  • +procedure ArchSalesWithQuote(var SalesHeader: Record "Sales Header"; ArchiveType: Option)
  • +procedure ArchSalesNoConfirmWithQuote(var SalesHeader: Record "Sales Header"; ArchiveType: Option)
  • +procedure ResetQuoteStatus(SalesHeader: Record "Sales Header")
page/425 "Vendor Bank Account Card" +3
  • +procedure UpdateView()
  • +local procedure IBANCheck()
  • +local procedure UpdateSuggestedSwissPaymentType()
report/596 "Exch. Rate Adjustment" +3
  • +procedure SetValuationMethod(NewValuationMethod: Integer; NewDueDateTo: Date; NewValuationPeriodEndDate: Date)
  • +procedure SetAdjustVATEntries(NewAdjVATEntries: Boolean)
  • +local procedure UpdateControls()
table/1383 "Vendor Templ." +2, 1 changed
  • +field(11000; "Registration No."; Text[20])
  • +field(5055250; "Liq. Payment Terms Code"; Code[10])
  • Δfield(14; "Our Account No."; Text[20])
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/32 "Item Ledger Entry" +3
  • +field(11500; "Customer No."; Code[20])
  • +field(11501; "Ship-to Address Code"; Code[10])
  • +field(11502; "Customer Salesperson Code"; Code[20])
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" +1, 1 removed
  • +local procedure UpgradeGLAmountFCYAndCurrencyCode()
  • −local procedure UpgradeICGLAccountNoInStandardGeneralJournalLine()
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])
codeunit/90 "Purch.-Post" +2
  • +local event OnBeforeUpdPostingDescriptiononInvoice(var PurchaseHeader: Record "Purchase Header"; PostingNo: Code[20]; var ModifyHeader: Boolean; var IsHandled: Boolean)
  • +local procedure UpdPostingDescriptiononInvoice(PostingNo: Code[20]; var PurchaseHeader: Record "Purchase Header"; var ModifyHeader: Boolean)
page/344 "Navigate" +1, 1 removed
  • +local event OnAfterSetTrackingFiltersOnBeforeFindTrackingRecords(var ItemTrackingFilters: Record Item)
  • −local event OnFindTrackingRecordsOnAfterSetTrackingFilters(var ItemTrackingFilters: Record Item)
page/46 "Sales Order Subform" +2
  • +local procedure DescriptionOnFormat()
  • +local procedure LineAmountOnFormat(Text: Text[1024])
page/47 "Sales Invoice Subform" +2
  • +local procedure DescriptionOnFormat()
  • +local procedure LineAmountOnFormat()
page/508 "Blanket Sales Order Subform" +2
  • +local procedure DescriptionOnFormat()
  • +local procedure LineAmountOnFormat()
page/5160 "Sales Order Archive Subform" +2
  • +local procedure DescriptionOnFormat()
  • +local procedure LineAmountOnFormat(Text: Text[1024])
page/5163 "Sales Quote Archive Subform" +2
  • +local procedure DescriptionOnFormat()
  • +local procedure LineAmountOnFormat(Text: Text[1024])
page/6631 "Sales Return Order Subform" +2
  • +local procedure DescriptionOnFormat()
  • +local procedure LineAmountOnFormat()
page/95 "Sales Quote Subform" +2
  • +local procedure DescriptionOnFormat()
  • +local procedure LineAmountOnFormat(Text: Text[1024])
page/96 "Sales Cr. Memo Subform" +2
  • +local procedure DescriptionOnFormat()
  • +local procedure LineAmountOnFormat(Text: Text[1024])
report/208 "Sales - Shipment" +2
  • +procedure PrepareHeader()
  • +procedure PrepareFooter()
report/210 "Blanket Sales Order" +2
  • +procedure PrepareHeader()
  • +procedure PrepareFooter()
report/404 "Purchase - Quote" +2
  • +procedure PrepareHeader()
  • +procedure PrepareFooter()
report/405 "Order" +2
  • +procedure PrepareHeader()
  • +procedure PrepareFooter()
report/406 "Purchase - Invoice" +2
  • +procedure PrepareHeader()
  • +procedure PrepareFooter()
report/407 "Purchase - Credit Memo" +2
  • +procedure PrepareHeader()
  • +procedure PrepareFooter()
report/408 "Purchase - Receipt" +2
  • +procedure PrepareHeader()
  • +procedure PrepareFooter()
report/410 "Blanket Purchase Order" +2
  • +procedure PrepareHeader()
  • +procedure PrepareFooter()
report/6631 "Return Order Confirmation" +2
  • +procedure PrepareHeader()
  • +procedure PrepareFooter()
report/6641 "Return Order" +2
  • +procedure PrepareHeader()
  • +procedure PrepareFooter()
table/1207 "Direct Debit Collection" +2
  • +field(3010830; "Source Table ID"; Integer)
  • +procedure IdentifyErrorGenJnlBatch(var GenJnlLine: Record "Gen. Journal Line")
table/1381 "Customer Templ." +1, 1 changed
  • +field(5055250; "Liq. Payment Terms Code"; Code[10])
  • Δfield(14; "Our Account No."; Text[20])
table/1382 "Item Templ." +2
  • +field(11501; "Location Code"; Code[10])
  • +field(11505; "Inventory Price"; Decimal)
table/225 "Post Code" +2
  • +field(11502; "Priority"; Code[10])
  • +key(Key5; "Priority")
table/23 "Vendor" +2
  • +field(11000; "Registration No."; Text[20])
  • +field(5055250; "Liq. Payment Terms Code"; Code[10])
table/313 "Inventory Setup" +2
  • +field(5005350; "Phys. Inv. Order Nos."; Code[20])
  • +field(5005352; "Posted Phys. Inv. Order Nos."; Code[20])
table/330 "Currency Exchange Rate" +2
  • +field(11500; "VAT Exch. Rate Amount"; Decimal)
  • +field(11501; "Relational VAT Exch. Rate Amt"; Decimal)
table/39 "Purchase Line" +2
  • +field(5005396; "Order No. (Old)"; Code[20])
  • +field(5005397; "Order Line No. (Old)"; Integer)
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.")
table/85 "Acc. Schedule Line" 2 changed
  • Δfield(12; "Dimension 1 Filter"; Code[20])
  • Δfield(13; "Dimension 2 Filter"; Code[20])
codeunit/12 "Gen. Jnl.-Post Line" +1
  • +local procedure IsVendorPayableAccount(GLAccNo: Code[20]): Boolean
codeunit/1233 "SEPA DD-Check Line" 1 changed
  • Δlocal procedure AddFieldEmptyError(var DirectDebitCollectionEntry: Record "Direct Debit Collection Entry"; TableCaption2: Text; FieldCaption: Text; KeyValue: Text)
codeunit/1901 "Report Selection Mgt." +1
  • +procedure InitDACHReportSelection()
codeunit/426 "Payment Tolerance Management" +1
  • +procedure SetBatchMode(NewBatchMode: Boolean)
codeunit/5626 "FA General Report" +1
  • +procedure SetExclReclEntries(ExclReclEntries1: Boolean)
codeunit/6 "Fiscal Year-Close" +1
  • +procedure AdjustAllowPostingFrom()
codeunit/884 "ReadSoft OCR Master Data Sync" 1 changed
  • Δlocal event OnBeforeSendRequest(var Body: Text)
page/131 "Posted Sales Shpt. Subform" +1
  • +local procedure DescriptionOnFormat()
page/135 "Posted Sales Cr. Memo Subform" +1
  • +local procedure DescriptionOnFormat()
page/256 "Payment Journal" +1
  • +local procedure RunReportWithCurrentRec(ReportID: Integer)
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/17 "G/L Entry" +1
  • +field(3010536; "Amount (FCY)"; Decimal)
table/179 "Reversal Entry" +1
  • +field(3010536; "Amount (FCY)"; Decimal)
table/18 "Customer" +1
  • +field(5055250; "Liq. Payment Terms Code"; Code[10])
table/242 "Source Code Setup" +1
  • +field(5005270; "Delivery Reminder"; Code[10])
table/25 "Vendor Ledger Entry" +1
  • +field(3010541; "Reference No."; Code[30])
table/256 "VAT Statement Line" +1
  • +field(26100; "VAT Statement Cipher"; Code[20])
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/274 "Bank Acc. Reconciliation Line" +1
  • +field(11500; "ESR Reference No."; Text[100])
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/372 "Payment Buffer" +1
  • +field(3010541; "Reference No."; Code[35])
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)
xmlport/1000 "SEPA CT pain.001.001.03" +1
  • +local procedure UpdateRemittanceInfo(PaymentExportData: Record "Payment Export Data")
xmlport/1001 "SEPA CT pain.001.001.09" +1
  • +local procedure UpdateRemittanceInfo(PaymentExportData: Record "Payment Export Data")
codeunit/17 "Gen. Jnl.-Post Reverse" body changes only
enum/37 "Sales Line Type" body changes only
page/426 "Vendor Bank Account List" body changes only
permissionset/1001 "LOCAL" body changes only
permissionset/1002 "LOCAL READ" body changes only
permissionset/3602 "Payables Journals - Post" body changes only
permissionset/8824 "Payables Journals - Edit" body changes only
table/5612 "FA Depreciation Book" body changes only
table/9 "Country/Region" 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 Swiss layer centers on payments. QR-bill objects (codeunits 11502, 11512 to 11514 and 11516 to 11519, pages 11510 to 11518) create, scan, decode and print QR-bills and handle incoming documents. ESR (EsrMgt), LSV+ (LSVMgt, LSV journal pages) and DTA (DtaMgt) cover the other Swiss payment methods. Swiss rules are added to SEPA credit transfer and direct debit export, and to CAMT 053 and 054 import. Fields on vendor and customer bank accounts, journal lines and purchase headers carry ESR, giro, clearing and payment form data.

In finance, the Swiss VAT statement uses cipher codes (pages 11023 "VAT Cipher Codes" and 11024 "VAT Cipher Setup", plus cipher fields on VAT posting setup and VAT statement lines). The layer also adds codeunit 26100 "Update VAT-CH". VAT entries, G/L accounts and currency exchange rates gain foreign currency and VAT exchange rate fields, and the Exch. Rate Adjustment report gets a valuation method and VAT entry adjustment. Provisional G/L balances and DACH report selections are also added. Several objects carry DACH naming or come from the German and Austrian localizations, such as VAT Statement Germany, VAT Statement AT and Update VAT-AT.

Other additions are delivery reminders for vendors, sales quote management (quote status, subtotals, levels, positions), physical inventory orders, and Swiss post code and bank directory imports. Learn documents these under "Switzerland local functionality" and its sub-pages.

Key points

  • QR-bill management: generate, print, scan and import QR-bills, with IBAN/QR-IBAN, payment reference types and billing information (codeunit 11518 “Swiss QR-Bill Mgt.”, page 11514 “Swiss QR-Bill Setup”).
  • ESR, LSV+ and DTA payment methods: ESR file import and printing, LSV collection journals with file export, DTA setup.
  • SEPA credit transfer and direct debit exports with Swiss payment form and payment type fields on table 1226 “Payment Export Data”, plus Swiss CAMT 053/054 import.
  • Swiss VAT statement with VAT cipher setup, VAT exchange rate fields and VAT exchange rate adjustment on table 254 “VAT Entry” and the Exch. Rate Adjustment report.
  • Delivery reminders for vendors: terms, levels, text, issuing and a test report, with their own pages, codeunits and page extensions.
  • Sales quote management and posting changes: quote status, probability, subtotals, levels and positions on sales lines and archives.
  • Foreign currency balances on G/L accounts and provisional balance view for journals.
  • Imports of Swiss post codes and bank clearing numbers (Bank Directory).

Narrative written by Sonnet from the code diff and 34 Learn page summaries. In numbers: Switzerland (CH) localization of Business Central in BC29: 279 objects of its own, 118 W1 objects changed (196 fields and 10 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 9 106 4
Finance 25 52 45
Purchases 24 52 32
Sales 27 11 63
Inventory 9 25 22
Foundation 10 12 27
(no namespace) 0 8 0
FixedAssets 4 2 3
Security 4 2 0
Service 0 4 0
CRM 2 0 0
Microsoft 0 2 0
Upgrade 1 1 0
Utilities 1 1 0
EServices 1 0 0
IO 1 0 0
Manufacturing 0 1 0

Bank

Adds the Swiss payment stack: QR-bill (encode, decode, image, setup wizard, scan, billing info), ESR, DTA and LSV management, a Bank Directory, and Swiss SEPA CT and DD export files. It also adds CAMT 053 and 054 import and Swiss fields and checks on the W1 SEPA codeunits and Payment Export Data.

Why: Learn describes ESR, LSV+, SEPA credit transfers and QR-bills with IBAN and QR-IBAN as the Swiss electronic payment methods, and bank clearing number import from SIX Interbank Clearing files.

Objects: table/1226 “Payment Export Data”, codeunit/11518 “Swiss QR-Bill Mgt.” (own), codeunit/11513 “Swiss QR-Bill Encode” (own), codeunit/11512 “Swiss QR-Bill Decode” (own), page/11514 “Swiss QR-Bill Setup” (own), codeunit/3010531 “EsrMgt” (own), codeunit/3010831 “LSVMgt” (own), codeunit/11520 “Swiss SEPA CT-Export File” (own).

All 115 objects of Bank in the diff

Finance

Adds the Swiss VAT statement with cipher setup and codes, VAT exchange rate fields on VAT Entry and G/L Account, and the Exch. Rate Adjustment changes. It also adds provisional G/L balance, data export objects and ESR fields on journal lines. Some objects are shared with Germany and Austria.

Why: Learn says Swiss VAT uses official exchange rates for foreign currency and adjusts VAT amounts for payment discounts, and describes foreign currency balances and temporary journal balances.

Objects: table/254 “VAT Entry”, table/81 “Gen. Journal Line”, codeunit/597 “Exch. Rate Adjmt. Subscribers”, report/596 “Exch. Rate Adjustment”, table/596 “Exch. Rate Adjmt. Parameters”, page/11023 “VAT Cipher Codes” (own), page/11024 “VAT Cipher Setup” (own), codeunit/26100 “Update VAT-CH” (own).

All 77 objects of Finance in the diff

Purchases

Adds ESR, giro, clearing and payment form fields to Vendor Bank Account, reference fields on Purchase Header, and Suggest Vendor Payments changes. It adds a full delivery reminder feature for vendors, with tables, pages, codeunits and enum, and Swiss vendor reports.

Why: Learn documents delivery reminders (codes, terms, levels, text, generation, issue, test report) and the Vendor Payments List report.

Objects: table/288 “Vendor Bank Account”, table/38 “Purchase Header”, report/393 “Suggest Vendor Payments”, codeunit/5005271 “Create Delivery Reminder” (own), codeunit/5005270 “Issue Delivery Reminder” (own), page/5005270 “Delivery Reminder” (own), page/5005273 “Issued Delivery Reminder” (own), report/11507 “Vendor Payments List” (own).

All 76 objects of Purchases in the diff

Sales

Adds quote management fields (probability, follow-up, competition, validity) to Sales Header and archive. It adds position, level, subtotal and classification fields to sales lines and posted lines, posting description events, and Swiss customer reports.

Why: Learn lists subtotals with begin and end totals, enhanced posting descriptions and invoice rounding with payment discounts for Swiss sales documents.

Objects: table/36 “Sales Header”, table/37 “Sales Line”, codeunit/3010801 “QuoteMgt” (own), codeunit/80 “Sales-Post”, table/5107 “Sales Header Archive”, table/311 “Sales & Receivables Setup”, table/287 “Customer Bank Account”, report/3010801 “Quote Analysis” (own).

All 38 objects of Sales in the diff

Inventory

Adds a physical inventory order feature with its own tables, plus fields on Item, Item Ledger Entry and Item Journal Line for default location, customer and salesperson. It also adds Swiss item reports and dispatcher and receiver places.

Why: Learn says Swiss inventory uses default location codes from the item card and tracks invoices with multiple shipments.

Objects: table/27 “Item”, table/83 “Item Journal Line”, table/32 “Item Ledger Entry”, table/313 “Inventory Setup”, table/5005350 “Phys. Inventory Order Header” (own), table/5005351 “Phys. Inventory Order Line” (own), report/11503 “Item ABC Analysis” (own), table/11000 “Place of Dispatcher” (own).

All 34 objects of Inventory in the diff

Foundation

Extends Company Information with Swiss fields including tax office data and authorized numbers. Adds DACH report selections, address formatting for the tax office, post code priority and a post code import report.

Why: Learn describes importing the latest Swiss Post post code file into the Post Code table.

Objects: table/79 “Company Information”, report/11502 “Import Post Codes” (own), table/225 “Post Code”, table/26100 “DACH Report Selections” (own), codeunit/365 “Format Address”, codeunit/1901 “Report Selection Mgt.”, codeunit/2 “Company-Initialize”, tableextension/11511 “Swiss QR-Bill Company Info.” (own).

All 22 objects of Foundation in the diff

(no namespace)

Holds the Swiss SEPA direct debit pain.008.001.02.ch03 XMLport, the PURCHASE-DEL.REMIND. permission set, data export setup and the Intrastat item list report. Upgrade and sandbox cleanup codeunits are not covered.

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

Objects: xmlport/11501 “SEPA DD pain.008.001.02.ch03” (own), table/11009 “Data Export Setup” (own), report/11001 “Intrastat - Item List” (own), permissionset/26001 “PURCHASE-DEL.REMIND.” (own).

All 8 objects of (no namespace) in the diff

FixedAssets

Adds Swiss depreciation fields on Fixed Asset (BWR depreciation book, premium depreciation) and a Swiss book value report. Also changes FA General Report to exclude reclassification entries.

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

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

All 6 objects of FixedAssets in the diff

Security

Adds permission set extensions for delivery reminders and changes the LOCAL and LOCAL READ sets and the payables journal sets.

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”, permissionsetextension/5005270 “DR LOCAL” (own), permissionsetextension/5005271 “DR LOCAL READ” (own), permissionset/3602 “Payables Journals - Post”, permissionset/8824 “Payables Journals - Edit”.

All 6 objects of Security in the diff

Service

Adds Swiss fields through table extensions on service lines, service invoice lines and service line archive. Also adds a service document management codeunit.

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

Objects: codeunit/11524 “Serv. Document Mgt. CH” (own), tableextension/11550 “Service Line CH” (own), tableextension/11551 “Service Invoice Line CH” (own), tableextension/11552 “Service Line Archive CH” (own).

All 4 objects of Service 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

Microsoft

Adds an ELM Interop Input page and a Certificate table.

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

Objects: page/35563 “ELM Interop Input” (own), table/11014 “Certificate” (own).

All 2 objects of Microsoft in the diff

Utilities

Adds a general management codeunit and archive procedures that archive sales documents together with the quote status.

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

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

All 2 objects of Utilities in the diff

EServices

Changes the ReadSoft OCR master data sync codeunit for the Swiss layer.

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

Objects: codeunit/884 “ReadSoft OCR Master Data Sync”.

All 1 objects of EServices in the diff

IO

Adds XML handling procedures to Read Data Exch. from File, used to split payments per invoice and read amount nodes in bank files.

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

Objects: codeunit/1240 “Read Data Exch. from File”.

All 1 objects of IO in the diff

Manufacturing

Adds a page extension for the Manufacturing Manager role center shared with the DACH layers.

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

Objects of its own

279 objects only this country has.

Other versions

  • BC30: 397 objects differ from W1 (196 fields, 10 events added)

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