localization · BC29official - Microsoftreviewed - checked by Opus

Mexico (MX)

Mexico (MX) localization of Business Central 29. It covers CFDI 4.0 electronic invoicing with SAT certificates and PAC web services, Carta de Porte shipments, DIOT reporting, electronic accounting export, RFC/CURP tax IDs, VAT recalculation on foreign currency payments, EFT bank exports, and deposits. It also carries a North American sales tax layer.

What MX changes in W1 147 objects, BC29

codeunit/398 "Sales Tax Calculate" +95
  • +local event OnBeforeAddSalesLine(var SalesLine: Record "Sales Line"; var IsHandled: Boolean)
  • +local event OnBeforeAddPurchLine(var PurchaseLine: Record "Purchase Line"; var IsHandled: Boolean)
  • +local event OnBeforeDistTaxOverPurchLines(var PurchaseLine: Record "Purchase Line"; var IsHandled: Boolean)
  • +local event OnBeforeDistTaxOverSalesLines(var SalesLine: Record "Sales Line"; var IsHandled: Boolean)
  • +local event OnBeforeDistTaxOverServLines(var ServiceLine: Record Microsoft.Service.Document."Service Line"; var IsHandled: Boolean)
  • +local event OnBeforeEndSalesTaxCalculationSales(SalesHeader: Record "Sales Header"; var TempSalesTaxAmountLine: Record "Sales Tax Amount Line" temporary; var IsHandled: Boolean)
  • +local event OnBeforeEndSalesTaxCalculationPurchase(PurchaseHeader: Record "Purchase Header"; var TempSalesTaxAmountLine: Record "Sales Tax Amount Line" temporary; var IsHandled: Boolean)
  • +local event OnBeforeEndSalesTaxCalculationService(ServiceHeader: Record Microsoft.Service.Document."Service Header"; var TempSalesTaxAmountLine: Record "Sales Tax Amount Line" temporary; var IsHandled: Boolean)
  • +local event OnBeforeGetSummarizedSalesTaxTable(var SalesTaxAmountLine: Record "Sales Tax Amount Line"; SourceType: Integer; SourceSubtype: Integer; SourceID: Code[20]; var IsHandled: Boolean)
  • +local event OnBeforeGetPostedSummarizedSalesTaxTable(var SalesTaxAmountLine: Record "Sales Tax Amount Line"; var TempSalesTaxAmountDifference: Record "Sales Tax Amount Difference" temporary; var IsHandled: Boolean)
  • +local event OnBeforeApplyTaxDifference(var TempSalesTaxAmountLine: Record "Sales Tax Amount Line"; var IsHandled: Boolean)
  • +local event OnAfterUpdatePurchaseLineVatPct(var PurchLine: Record "Purchase Line"; PurchHeader: Record "Purchase Header")
  • +local event OnDistTaxOverPurchLinesOnPurchLineLoopOnAfterSetPurchLineVATBaseAmount(var PurchLine: Record "Purchase Line"; PurchHeader: Record "Purchase Header")
  • +local event OnDistTaxOverPurchLinesOnTempSalesTaxLineLoopOnAfterSetPurchLineVATBaseAmount(var PurchLine: Record "Purchase Line"; PurchHeader: Record "Purchase Header")
  • +local event OnDistTaxOverPurchLinesOnTempSalesTaxLineLoopOnAfterSetTempSalesTaxLineAmount(var TempSalesTaxLine: Record "Sales Tax Amount Line" temporary; PurchLine: Record "Purchase Line"; PurchHeader: Record "Purchase Header"; var Amount: Decimal)
  • +local event OnAddPurchInvoiceLinesOnAfterCalcPurchLineSalesTaxAmountLine(var TempSalesTaxLine: Record "Sales Tax Amount Line" temporary; PurchInvLine: Record "Purch. Inv. Line"; PurchInvHeader: Record "Purch. Inv. Header"; ExchangeFactor: Decimal)
  • +local event OnAfterAddSalesLine(var TempSalesTaxLine: Record "Sales Tax Amount Line" temporary; SalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header"; ExchangeFactor: Decimal)
  • +local event OnDistTaxOverSalesLinesOnSalesLineLoopOnAfterSetSalesLineVATBaseAmount(var SalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header")
  • +local event OnDistTaxOverSalesLinesOnTempSalesTaxLineLoopOnAfterSetSalesLineVATBaseAmount(var SalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header")
  • +local event OnDistTaxOverSalesLinesOnTempSalesTaxLineLoopOnAfterSetTempSalesTaxLineAmount(var TempSalesTaxLine: Record "Sales Tax Amount Line" temporary; SalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header"; var Amount: Decimal)
  • +local event OnDistTaxOverPurchLinesOnBeforeFindPurchLineSetTempSalesTaxLineAmount(var PurchLine: Record "Purchase Line"; var TempSalesTaxAmountLine: Record "Sales Tax Amount Line" temporary)
  • +local event OnDistTaxOverPurchLinesOnBeforeFindPurchLineAmounts(var PurchLine: Record "Purchase Line"; var TempSalesTaxAmountLine: Record "Sales Tax Amount Line" temporary)
  • +local event OnDistTaxOverSalesLinesOnBeforeFindSalesLineAmounts(var SalesLine: Record "Sales Line"; var TempSalesTaxAmountLine: Record "Sales Tax Amount Line" temporary)
  • +local event OnEndSalesTaxCalculationOnBeforeSalesTaxAmountLine2Insert(var SalesTaxAmountLine2: Record "Sales Tax Amount Line" temporary; var TempSalesTaxLine: Record "Sales Tax Amount Line" temporary)
  • +local event OnEndSalesTaxCalculationOnBeforeTempSalesTaxLineModify(var TempSalesTaxLine: Record "Sales Tax Amount Line" temporary)
  • +local event OnEndSalesTaxCalculationOnAfterCalculateMaxAmount(var TempSalesTaxLine: Record "Sales Tax Amount Line" temporary; TaxDetail: Record "Tax Detail"; var MaxAmount: Decimal; var AddedTaxAmount: Decimal; TaxBaseAmt: Decimal)
  • +local event OnAfterAddPurchLine(var TempSalesTaxLine: Record "Sales Tax Amount Line" temporary; PurchLine: Record "Purchase Line"; PurchHeader: Record "Purchase Header"; ExchangeFactor: Decimal)
  • +local event OnBeforeStartSalestaxCalculation()
  • +local event OnAddSalesLineOnAfterTempSalesTaxAmountLineSetFilters(var TempSalesTaxAmountLine: Record "Sales Tax Amount Line" temporary)
  • +local event OnAddPurchLineOnAfterTempSalesTaxAmountLineSetFilters(var TempSalesTaxAmountLine: Record "Sales Tax Amount Line" temporary)
  • +local event OnAfterGetSalesTaxAmountLineTable(var TempSalesTaxAmountLine: Record "Sales Tax Amount Line" temporary)
  • +local event OnBeforeCalculateExpenseTax(TaxAreaCode: Code[20]; TaxGroupCode: Code[20]; TaxLiable: Boolean; Date: Date; Amount: Decimal; Quantity: Decimal; ExchangeRate: Decimal; var TaxAmount: Decimal; var TempTaxDetailMaximums: Record "Tax Detail" temporary; var TaxDetail: Record "Tax Detail"; var TaxAreaLine: Record "Tax Area Line"; var IsHandled: Boolean)
  • +local event OnAddSalesLineOnBeforeTempSalesTaxAmountLineInsert(var TempSalesTaxLine: Record "Sales Tax Amount Line" temporary; var SalesLine: Record "Sales Line")
  • +local event OnAfterEndSalesTaxCalulation(var TempSalesTaxAmountLine: Record "Sales Tax Amount Line" temporary; SalesHeaderRead: Boolean; PurchHeaderRead: Boolean; ServHeaderRead: Boolean; ProcessDate: Date)
  • +local event OnAddSalesLineOnAfterSetSalesTaxAmountLineFilter(var TempSalesTaxAmountLine: Record "Sales Tax Amount Line" temporary; SalesLine: Record "Sales Line"; TaxAreaLine: Record "Tax Area Line")
  • +local event OnAddSalesLineOnBeforeModifySalesTaxAmountLine(var TempSalesTaxAmountLine: Record "Sales Tax Amount Line" temporary; SalesLine: Record "Sales Line")
  • +local event OnEndSalesTaxCalculationOnBeforeSalesTaxAmountLine2Copy(var TempSalesTaxAmountLine: Record "Sales Tax Amount Line" temporary; var TaxBaseAmt: Decimal; var AddedTaxAmount: Decimal; var TotalTaxAmount: Decimal)
  • +local event OnDistTaxOverSalesLinesOnAfterSetSalesLineFilters(var SalesLine: Record "Sales Line"; var TempSalesTaxAmountLine: Record "Sales Tax Amount Line" temporary)
  • +local event OnAfterInitializeExternalTaxEngine(var ExternalTaxEngineImplementation: Interface "External Tax Engine")
  • +procedure InitializeExternalTaxEngine()
  • +procedure CallExternalTaxEngineForDoc(DocTable: Integer; DocType: Option Quote,"Order",Invoice,"Credit Memo","Blanket Order","Return Order"; DocNo: Code[20]): Text[20]
  • +procedure CallExternalTaxEngineForJnl(var GenJnlLine: Record "Gen. Journal Line"; CalculationType: Option Normal,Reverse,Expense): Decimal
  • +procedure CallExternalTaxEngineForSales(var SalesHeader2: Record "Sales Header"; UpdateRecIfChanged: Boolean): Boolean
  • +procedure CallExternalTaxEngineForPurch(var PurchHeader2: Record "Purchase Header"; UpdateRecIfChanged: Boolean): Boolean
  • +procedure CallExternalTaxEngineForServ(var ServiceHeader2: Record Microsoft.Service.Document."Service Header"; UpdateRecIfChanged: Boolean): Boolean
  • +procedure FinalizeExternalTaxCalcForDoc(DocTable: Integer; DocNo: Code[20])
  • +procedure FinalizeExternalTaxCalcForJnl(var GLEntry: Record "G/L Entry")
  • +procedure CalcSalesTaxAmountLine(var SalesTaxAmountLine: Record "Sales Tax Amount Line"; TaxCountry2: Enum "Sales Tax Country"; ExchangeFactor2: Decimal; TaxAreaCode: Code[20]; TaxGroupCode: Code[20]; LineType: Integer; LineAmount: Decimal; VATBaseAmount: Decimal; LineQuantity: Decimal; PostingDate: Date; TaxLiable: Boolean; UseTax: Boolean; DocumentArea: Enum "Sales Tax Document Area")
  • +local procedure SetTaxBaseAmount(var SalesTaxAmountLine: Record "Sales Tax Amount Line"; Value: Decimal; ExchangeFactor2: Decimal; Increment: Boolean)
  • +procedure HasExciseTax(TaxAreaCode: Code[20]; TaxGroupCode: Code[20]; TaxLiable: Boolean; Quantity: Decimal; Date: Date): Boolean
  • +procedure ClearMaximums()
  • +procedure StartSalesTaxCalculation()
  • +procedure SetTmpSalesHeader(SalesHeader2: Record "Sales Header")
  • +procedure AddSalesLine(SalesLine: Record "Sales Line")
  • +procedure AddSalesInvoiceLines(DocNo: Code[20])
  • +procedure AddSalesCrMemoLines(DocNo: Code[20])
  • +procedure AddPurchLine(PurchLine: Record "Purchase Line")
  • +procedure AddPurchInvoiceLines(DocNo: Code[20])
  • +procedure AddPurchCrMemoLines(DocNo: Code[20])
  • +procedure AddServiceLine(ServiceLine: Record Microsoft.Service.Document."Service Line")
  • +procedure AddServInvoiceLines(DocNo: Code[20])
  • +procedure AddServCrMemoLines(DocNo: Code[20])
  • +procedure EndSalesTaxCalculation(Date: Date)
  • +local procedure ApplyTaxDifference(var TempSalesTaxAmountLine2: Record "Sales Tax Amount Line"; var TotalTaxAmount: Decimal)
  • +procedure GetSummarizedSalesTaxTable(var SummarizedSalesTaxAmtLine: Record "Sales Tax Amount Line")
  • +procedure GetSalesTaxAmountLineTable(var TempSalesTaxAmountLineTo: Record "Sales Tax Amount Line" temporary)
  • +procedure SetSalesTaxAmountLineTable(var TempSalesTaxAmountLineFrom: Record "Sales Tax Amount Line" temporary)
  • +procedure PutSalesTaxAmountLineTable(var SalesTaxLine2: Record "Sales Tax Amount Line" temporary; ProductArea: Integer; DocumentType: Integer; DocumentNo: Code[20])
  • +procedure DistTaxOverSalesLines(var SalesLine: Record "Sales Line")
  • +procedure DistTaxOverPurchLines(var PurchLine: Record "Purchase Line")
  • +procedure DistTaxOverServLines(var ServLine: Record Microsoft.Service.Document."Service Line")
  • +procedure GetSalesTaxCountry(TaxAreaCode: Code[20]): Boolean
  • +procedure GetTaxCountry(): Enum "Sales Tax Country"
  • +procedure GetRoundByJurisdiction(): Boolean
  • +local procedure SetUpCurrency(CurrencyCode: Code[10])
  • +procedure ReadTempPurchHeader(TempPurchHeader: Record "Purchase Header" temporary)
  • +procedure ReadTempSalesHeader(TempSalesHeader2: Record "Sales Header" temporary)
  • +procedure CopyTaxDifferencesToTemp(ProductArea: Enum "Sales Tax Document Area"; DocumentType: Integer; DocumentNo: Code[20])
  • +local procedure CreateSingleTaxDifference(ProductArea: Enum "Sales Tax Document Area"; DocumentType: Integer; DocumentNo: Code[20])
  • +procedure SaveTaxDifferences()
  • +procedure SetPurchHeader(NewPurchHeader: Record "Purchase Header")
  • +procedure SetRoundByJurisdiction(NewRoundByJurisdiction: Boolean)
  • +procedure CalculateExpenseTax(TaxAreaCode: Code[20]; TaxGroupCode: Code[20]; TaxLiable: Boolean; Date: Date; Amount: Decimal; Quantity: Decimal; ExchangeRate: Decimal): Decimal
  • +procedure HandleRoundTaxUpOrDown(var SalesTaxAmountLine: Record "Sales Tax Amount Line"; RoundTax: Option "To Nearest",Up,Down; TotalTaxAmount: Decimal; TaxAreaCode: Code[20]; TaxGroupCode: Code[20])
  • +local procedure CheckTaxAmtLinePos(SalesLineAmt: Decimal; TaxAmtLinePos: Boolean): Boolean
  • +local procedure ResetTaxAmountsInPurchLines(var PurchaseLine: Record "Purchase Line"; TaxAreaCode: Code[20])
  • +local procedure ResetTaxAmountsInSalesLines(var SalesLine: Record "Sales Line"; TaxAreaCode: Code[20])
  • +procedure SetTotalTaxAmountRounding(NewTotalTaxAmountRounding: Decimal)
  • +procedure GetTotalTaxAmountRounding(): Decimal
  • +local procedure SetTaxDetailFilter(var TaxDetail2: Record "Tax Detail"; TaxJurisdictionCode: Code[10]; TaxGroupCode: Code[20]; Date: Date)
  • +local procedure UpdatePurchaseLineVatPct(var PurchLine: Record "Purchase Line")
  • +local procedure ShowMissingTaxAreaValuesErr(TaxAreaLine2: Record "Tax Area Line"; CalculationOrderViolation2: Boolean)
  • +procedure SetExchangeFactor(NewExchangeFactor: Decimal)
  • +procedure RunOnBeforeDistTaxOverServLines(var ServiceLine: Record Microsoft.Service.Document."Service Line"; var IsHandled: Boolean)
  • +procedure RunOnBeforeEndSalesTaxCalculationService(ServiceHeader: Record Microsoft.Service.Document."Service Header"; var TempSalesTaxAmountLine: Record "Sales Tax Amount Line" temporary; var IsHandled: Boolean)
table/110 "Sales Shipment Header" +46
  • +field(10005; "Ship-to UPS Zone"; Code[2])
  • +field(10020; "Original Document XML"; BLOB)
  • +field(10022; "Original String"; BLOB)
  • +field(10023; "Digital Stamp SAT"; BLOB)
  • +field(10024; "Certificate Serial No."; Text[250])
  • +field(10025; "Signed Document XML"; BLOB)
  • +field(10026; "Digital Stamp PAC"; BLOB)
  • +field(10030; "Electronic Document Status"; Option)
  • +field(10031; "Date/Time Stamped"; Text[50])
  • +field(10033; "Date/Time Canceled"; Text[50])
  • +field(10035; "Error Code"; Code[10])
  • +field(10036; "Error Description"; Text[250])
  • +field(10037; "Date/Time Stamp Received"; DateTime)
  • +field(10038; "Date/Time Cancel Sent"; DateTime)
  • +field(10039; "Identifier IdCCP"; Text[50])
  • +field(10040; "PAC Web Service Name"; Text[50])
  • +field(10041; "QR Code"; BLOB)
  • +field(10042; "Fiscal Invoice Number PAC"; Text[50])
  • +field(10043; "Date/Time First Req. Sent"; Text[50])
  • +field(10044; "Transport Operators"; Integer)
  • +field(10045; "Transit-from Date/Time"; DateTime)
  • +field(10046; "Transit Hours"; Integer)
  • +field(10047; "Transit Distance"; Decimal)
  • +field(10048; "Insurer Name"; Text[50])
  • +field(10049; "Insurer Policy Number"; Text[30])
  • +field(10050; "Foreign Trade"; Boolean)
  • +field(10051; "Vehicle Code"; Code[20])
  • +field(10052; "Trailer 1"; Code[20])
  • +field(10053; "Trailer 2"; Code[20])
  • +field(10055; "Transit-to Location"; Code[10])
  • +field(10056; "Medical Insurer Name"; Text[50])
  • +field(10057; "Medical Ins. Policy Number"; Text[30])
  • +field(10058; "SAT Weight Unit Of Measure"; Code[10])
  • +field(10059; "SAT International Trade Term"; Code[10])
  • +field(10060; "Exchange Rate USD"; Decimal)
  • +field(10061; "SAT Customs Regime"; Code[10])
  • +field(10062; "SAT Transfer Reason"; Code[10])
  • +field(27002; "CFDI Cancellation Reason Code"; Code[10])
  • +field(27003; "Substitution Document No."; Code[20])
  • +field(27004; "CFDI Export Code"; Code[10])
  • +field(27007; "CFDI Cancellation ID"; Text[50])
  • +field(27008; "Marked as Canceled"; Boolean)
  • +field(27009; "SAT Address ID"; Integer)
  • +procedure ExportEDocument()
  • +procedure RequestStampEDocument()
  • +procedure CancelEDocument()
table/5744 "Transfer Shipment Header" +43
  • +field(10020; "Original Document XML"; BLOB)
  • +field(10022; "Original String"; BLOB)
  • +field(10023; "Digital Stamp SAT"; BLOB)
  • +field(10024; "Certificate Serial No."; Text[250])
  • +field(10025; "Signed Document XML"; BLOB)
  • +field(10026; "Digital Stamp PAC"; BLOB)
  • +field(10030; "Electronic Document Status"; Option)
  • +field(10031; "Date/Time Stamped"; Text[50])
  • +field(10033; "Date/Time Canceled"; Text[50])
  • +field(10035; "Error Code"; Code[10])
  • +field(10036; "Error Description"; Text[250])
  • +field(10037; "Date/Time Stamp Received"; DateTime)
  • +field(10038; "Date/Time Cancel Sent"; DateTime)
  • +field(10039; "Identifier IdCCP"; Text[50])
  • +field(10040; "PAC Web Service Name"; Text[50])
  • +field(10041; "QR Code"; BLOB)
  • +field(10042; "Fiscal Invoice Number PAC"; Text[50])
  • +field(10043; "Date/Time First Req. Sent"; Text[50])
  • +field(10044; "Transport Operators"; Integer)
  • +field(10045; "Transit-from Date/Time"; DateTime)
  • +field(10046; "Transit Hours"; Integer)
  • +field(10047; "Transit Distance"; Decimal)
  • +field(10048; "Insurer Name"; Text[50])
  • +field(10049; "Insurer Policy Number"; Text[30])
  • +field(10050; "Foreign Trade"; Boolean)
  • +field(10051; "Vehicle Code"; Code[20])
  • +field(10052; "Trailer 1"; Code[20])
  • +field(10053; "Trailer 2"; Code[20])
  • +field(10056; "Medical Insurer Name"; Text[50])
  • +field(10057; "Medical Ins. Policy Number"; Text[30])
  • +field(10058; "SAT Weight Unit Of Measure"; Code[10])
  • +field(10059; "SAT International Trade Term"; Code[10])
  • +field(10060; "Exchange Rate USD"; Decimal)
  • +field(10061; "SAT Customs Regime"; Code[10])
  • +field(10062; "SAT Transfer Reason"; Code[10])
  • +field(27002; "CFDI Cancellation Reason Code"; Code[10])
  • +field(27003; "Substitution Document No."; Code[20])
  • +field(27004; "CFDI Export Code"; Code[10])
  • +field(27007; "CFDI Cancellation ID"; Text[50])
  • +field(27008; "Marked as Canceled"; Boolean)
  • +procedure ExportEDocument()
  • +procedure RequestStampEDocument()
  • +procedure CancelEDocument()
table/112 "Sales Invoice Header" +41
  • +field(10005; "Ship-to UPS Zone"; Code[2])
  • +field(10015; "Tax Exemption No."; Text[30])
  • +field(10018; "STE Transaction ID"; Text[20])
  • +field(10019; "Electronic Document Sent"; Boolean)
  • +field(10020; "Original Document XML"; BLOB)
  • +field(10021; "No. of E-Documents Sent"; Integer)
  • +field(10022; "Original String"; BLOB)
  • +field(10023; "Digital Stamp SAT"; BLOB)
  • +field(10024; "Certificate Serial No."; Text[250])
  • +field(10025; "Signed Document XML"; BLOB)
  • +field(10026; "Digital Stamp PAC"; BLOB)
  • +field(10030; "Electronic Document Status"; Option)
  • +field(10031; "Date/Time Stamped"; Text[50])
  • +field(10032; "Date/Time Sent"; Text[50])
  • +field(10033; "Date/Time Canceled"; Text[50])
  • +field(10035; "Error Code"; Code[10])
  • +field(10036; "Error Description"; Text[250])
  • +field(10037; "Date/Time Stamp Received"; DateTime)
  • +field(10038; "Date/Time Cancel Sent"; DateTime)
  • +field(10040; "PAC Web Service Name"; Text[50])
  • +field(10041; "QR Code"; BLOB)
  • +field(10042; "Fiscal Invoice Number PAC"; Text[50])
  • +field(10043; "Date/Time First Req. Sent"; Text[50])
  • +field(10050; "Foreign Trade"; Boolean)
  • +field(10055; "Transit-to Location"; Code[10])
  • +field(10059; "SAT International Trade Term"; Code[10])
  • +field(10060; "Exchange Rate USD"; Decimal)
  • +field(27000; "CFDI Purpose"; Code[10])
  • +field(27001; "CFDI Relation"; Code[10])
  • +field(27002; "CFDI Cancellation Reason Code"; Code[10])
  • +field(27003; "Substitution Document No."; Code[20])
  • +field(27004; "CFDI Export Code"; Code[10])
  • +field(27005; "CFDI Period"; Option)
  • +field(27007; "CFDI Cancellation ID"; Text[50])
  • +field(27008; "Marked as Canceled"; Boolean)
  • +field(27009; "SAT Address ID"; Integer)
  • +field(27012; "CFDI Certificate of Origin No."; Text[50])
  • +procedure ExportEDocument()
  • +procedure ExportEDocumentPDF()
  • +procedure RequestStampEDocument()
  • +procedure CancelEDocument()
table/114 "Sales Cr.Memo Header" +40
  • +field(10005; "Ship-to UPS Zone"; Code[2])
  • +field(10015; "Tax Exemption No."; Text[30])
  • +field(10018; "STE Transaction ID"; Text[20])
  • +field(10019; "Electronic Document Sent"; Boolean)
  • +field(10020; "Original Document XML"; BLOB)
  • +field(10021; "No. of E-Documents Sent"; Integer)
  • +field(10022; "Original String"; BLOB)
  • +field(10023; "Digital Stamp SAT"; BLOB)
  • +field(10024; "Certificate Serial No."; Text[250])
  • +field(10025; "Signed Document XML"; BLOB)
  • +field(10026; "Digital Stamp PAC"; BLOB)
  • +field(10030; "Electronic Document Status"; Option)
  • +field(10031; "Date/Time Stamped"; Text[50])
  • +field(10032; "Date/Time Sent"; Text[50])
  • +field(10033; "Date/Time Canceled"; Text[50])
  • +field(10035; "Error Code"; Code[10])
  • +field(10036; "Error Description"; Text[250])
  • +field(10037; "Date/Time Stamp Received"; DateTime)
  • +field(10038; "Date/Time Cancel Sent"; DateTime)
  • +field(10040; "PAC Web Service Name"; Text[50])
  • +field(10041; "QR Code"; BLOB)
  • +field(10042; "Fiscal Invoice Number PAC"; Text[50])
  • +field(10043; "Date/Time First Req. Sent"; Text[50])
  • +field(10050; "Foreign Trade"; Boolean)
  • +field(10055; "Transit-to Location"; Code[10])
  • +field(10059; "SAT International Trade Term"; Code[10])
  • +field(10060; "Exchange Rate USD"; Decimal)
  • +field(27000; "CFDI Purpose"; Code[10])
  • +field(27001; "CFDI Relation"; Code[10])
  • +field(27002; "CFDI Cancellation Reason Code"; Code[10])
  • +field(27003; "Substitution Document No."; Code[20])
  • +field(27004; "CFDI Export Code"; Code[10])
  • +field(27007; "CFDI Cancellation ID"; Text[50])
  • +field(27008; "Marked as Canceled"; Boolean)
  • +field(27009; "SAT Address ID"; Integer)
  • +field(27012; "CFDI Certificate of Origin No."; Text[50])
  • +procedure ExportEDocument()
  • +procedure ExportEDocumentPDF()
  • +procedure RequestStampEDocument()
  • +procedure CancelEDocument()
table/36 "Sales Header" +38
  • +field(10000; "Sales Tax Amount Rounding"; Decimal)
  • +field(10001; "Prepmt. Sales Tax Rounding Amt"; Decimal)
  • +field(10005; "Ship-to UPS Zone"; Code[2])
  • +field(10009; "Outstanding Amount ($)"; Decimal)
  • +field(10015; "Tax Exemption No."; Text[30])
  • +field(10018; "STE Transaction ID"; Text[20])
  • +field(10044; "Transport Operators"; Integer)
  • +field(10045; "Transit-from Date/Time"; DateTime)
  • +field(10046; "Transit Hours"; Integer)
  • +field(10047; "Transit Distance"; Decimal)
  • +field(10048; "Insurer Name"; Text[50])
  • +field(10049; "Insurer Policy Number"; Text[30])
  • +field(10050; "Foreign Trade"; Boolean)
  • +field(10051; "Vehicle Code"; Code[20])
  • +field(10052; "Trailer 1"; Code[20])
  • +field(10053; "Trailer 2"; Code[20])
  • +field(10055; "Transit-to Location"; Code[10])
  • +field(10056; "Medical Insurer Name"; Text[50])
  • +field(10057; "Medical Ins. Policy Number"; Text[30])
  • +field(10058; "SAT Weight Unit Of Measure"; Code[10])
  • +field(10059; "SAT International Trade Term"; Code[10])
  • +field(10060; "Exchange Rate USD"; Decimal)
  • +field(10061; "SAT Customs Regime"; Code[10])
  • +field(10062; "SAT Transfer Reason"; Code[10])
  • +field(12600; "Prepmt. Include Tax"; Boolean)
  • +field(27000; "CFDI Purpose"; Code[10])
  • +field(27001; "CFDI Relation"; Code[10])
  • +field(27004; "CFDI Export Code"; Code[10])
  • +field(27005; "CFDI Period"; Option)
  • +field(27009; "SAT Address ID"; Integer)
  • +field(27012; "CFDI Certificate of Origin No."; Text[50])
  • +local procedure IsPrepmtInvoicePosted(): Boolean
  • +procedure GetStatisticsPageID(): Integer
  • +local procedure CopyCFDIFieldsFromCustomer()
  • +local procedure UpdateTaxAreaCode()
  • +local procedure GetTaxAreaCode(): Code[20]
  • +local procedure GetShipToAddrTaxAreaCode(var TaxAreaCode: Code[20]): Boolean
  • +local procedure GetCustomerTaxAreaCode(var TaxAreaCode: Code[20]; CustomerNo: Code[20]): Boolean
table/21 "Cust. Ledger Entry" +33
  • +field(10015; "Tax Exemption No."; Text[30])
  • +field(10018; "STE Transaction ID"; Text[20])
  • +field(10019; "Electronic Document Sent"; Boolean)
  • +field(10020; "Original Document XML"; BLOB)
  • +field(10021; "No. of E-Documents Sent"; Integer)
  • +field(10022; "Original String"; BLOB)
  • +field(10023; "Digital Stamp SAT"; BLOB)
  • +field(10024; "Certificate Serial No."; Text[250])
  • +field(10025; "Signed Document XML"; BLOB)
  • +field(10026; "Digital Stamp PAC"; BLOB)
  • +field(10030; "Electronic Document Status"; Option)
  • +field(10031; "Date/Time Stamped"; Text[50])
  • +field(10032; "Date/Time Sent"; Text[50])
  • +field(10033; "Date/Time Canceled"; Text[50])
  • +field(10035; "Error Code"; Code[10])
  • +field(10036; "Error Description"; Text[250])
  • +field(10037; "Date/Time Stamp Received"; DateTime)
  • +field(10038; "Date/Time Cancel Sent"; DateTime)
  • +field(10040; "PAC Web Service Name"; Text[50])
  • +field(10041; "QR Code"; BLOB)
  • +field(10042; "Fiscal Invoice Number PAC"; Text[50])
  • +field(10043; "Date/Time First Req. Sent"; Text[50])
  • +field(27002; "CFDI Cancellation Reason Code"; Code[10])
  • +field(27003; "Substitution Entry No."; Integer)
  • +field(27007; "CFDI Cancellation ID"; Text[50])
  • +field(27008; "Marked as Canceled"; Boolean)
  • +procedure GetDocumentVATPostingSetup(var TempVATPostingSetup: Record "VAT Posting Setup"; GenJnlLine: Record "Gen. Journal Line")
  • +procedure GetDocumentVATPostingSetup(var TempVATPostingSetup: Record "VAT Posting Setup"; CustLedgerEntry: Record "Cust. Ledger Entry")
  • +local procedure InsertTempVATPostingSetup(var TempVATPostingSetup: Record "VAT Posting Setup"; DocumentNo: Code[20])
  • +procedure GetInvoicePartAmountByVAT(DocType: Enum "Gen. Journal Document Type"; GenJnlLine: Record "Gen. Journal Line"; VATBusPostingGroup: Code[20]; VATProdPostingGroup: Code[20]): Decimal
  • +procedure ExportEDocument()
  • +procedure RequestStampEDocument()
  • +procedure CancelEDocument()
codeunit/90 "Purch.-Post" +25, 2 removed
  • +local event OnBeforeCalculateSalesTax(PurchaseHeader: Record "Purchase Header"; var TempPurchLineForSalesTax: Record "Purchase Line" temporary; var TempSalesTaxAmountLine: Record "Sales Tax Amount Line" temporary; var IsHandled: Boolean; CommitIsSuppressed: Boolean)
  • +local event OnPostProvincialSalesTaxToGLOnAfterGenJnlLineAssignFields(var GenJnlLine: Record "Gen. Journal Line"; PurchaseHeader: Record "Purchase Header")
  • +local event OnPostSalesTaxToGLOnBeforeGenJnlPostLine(var GenJnlLine: Record "Gen. Journal Line"; PurchaseHeader: Record "Purchase Header"; var TempSalesTaxAmtLine: Record "Sales Tax Amount Line")
  • +local event OnPostSalesTaxToGLOnAfterGenJnlLineAssignField(var GenJnlLine: Record "Gen. Journal Line"; PurchHeader: Record "Purchase Header"; PurchLine: Record "Purchase Line")
  • +local event OnAddSalesTaxLineToSalesTaxCalcOnBeforeOnBeforeTempPurchLineForSalesTaxInsert(var TempPurchLineForSalesTax: Record "Purchase Line" temporary; PurchHeader: Record "Purchase Header")
  • +local event OnSumPurchLinesTempOnAfterCalcVATAmount(PurchHeader: Record "Purchase Header"; TotalPurchLine: Record "Purchase Line"; OldPurchLine: Record "Purchase Line"; var VATAmount: Decimal)
  • +local event OnPostUpdateInvoiceLineOnBeforePurchOrderLineModify(var PurchHeader: Record "Purchase Header"; var PurchOrderLine: Record "Purchase Line")
  • +local event OnBeforePostSalesTaxToGL(var PurchHeader: Record "Purchase Header"; var PurchLine: Record "Purchase Line"; var LineCount: Integer; var TotalUseTaxAmount: Decimal; var TotalNotUseTaxAmount: Decimal; var TempSalesTaxAmtLine: Record "Sales Tax Amount Line" temporary; var Window: Dialog; var SalesTaxCountry: Option US,CA,,,,,,,,,,,,NoTax; var GenJnlLineDocNo: Code[20]; var GenJnlLineExtDocNo: Code[35]; var GenJnlLineDocType: Enum "Gen. Journal Document Type"; var SrcCode: Code[10]; var Currency: Record Currency; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line"; var TotalPurchLineLCY: Record "Purchase Line"; var TotalPurchLine: Record "Purchase Line"; var IsHandled: Boolean)
  • +local event OnPostProvincialSalesTaxToGLOnBeforeRunWithCheck(var PurchHeader: Record "Purchase Header"; var TotalUseTaxAmount: Decimal; var GenJnlLine: Record "Gen. Journal Line"; var TempProvSalesTaxAmtLine: Record "Sales Tax Amount Line" temporary; var Currency: Record Currency)
  • +local event OnAfterPostProvincialSalesTaxToGL(var PurchHeader: Record "Purchase Header"; var TotalUseTaxAmount: Decimal; var GenJnlLineDocNo: Code[20])
  • +local event OnBeforeCalcProvincialSalesTax(var PurchHeader: Record "Purchase Header")
  • +local event OnBeforePostProvincialSalesTaxToGL(var PurchaseHeader: Record "Purchase Header"; var TotalUseTaxAmount: Decimal; var TempSalesTaxAmountLine: Record "Sales Tax Amount Line" temporary; var SalesTaxCountry: Option US,CA,,,,,,,,,,,,NoTax; TaxOption: Option ,VAT,SalesTax; var GenJnlLineDocNo: Code[20]; var GenJnlLineExtDocNo: Code[35]; var GenJnlLineDocType: Enum "Gen. Journal Document Type"; var SrcCode: Code[10]; var Currency: Record Currency; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line"; var IsHandled: Boolean)
  • +local event OnBeforeCopyAndCheckItemCharge(var PurchaseHeader: Record "Purchase Header")
  • +local event OnCopyAndCheckItemChargeOnBeforeThrowError(varPurchHeader: Record "Purchase Header"; var InvoiceEverything: Boolean; var AssignError: Boolean)
  • +local procedure UpdatePrepmtAmountInvBuf(PrepmtSalesLineNo: Integer; CurrencyFactor: Decimal; PrepmtIncludeTax: Boolean)
  • +local procedure Is100PctPrepmtInvoice(var TempPurchLine: Record "Purchase Line" temporary): Boolean
  • +local procedure AddSalesTaxLineToSalesTaxCalc(PurchHeader: Record "Purchase Header"; PurchLine: Record "Purchase Line"; FirstLine: Boolean)
  • +local procedure PostSalesTaxToGL(PurchHeader: Record "Purchase Header"; var TotalUseTaxAmount: Decimal; var TotalNotUseTaxAmount: Decimal)
  • +local procedure PostSalesTaxToGLRounding(PurchaseHeader: Record "Purchase Header"; LineAmount: Decimal; LineAmountLCY: Decimal)
  • +local procedure CalcProvincialSalesTax(PurchHeader: Record "Purchase Header")
  • +local procedure PostProvincialSalesTaxToGL(PurchHeader: Record "Purchase Header"; var TotalUseTaxAmount: Decimal)
  • +local procedure RoundSalesTaxAmount(var Remainder: Decimal; TaxAmount: Decimal): Decimal
  • +local procedure QuantityInvoicedNotAssigned(ItemChargePurchLine: Record "Purchase Line"): Decimal
  • +local procedure ItemChargeQtyToAssign(ItemChargePurchLine: Record "Purchase Line"): Decimal
  • +local procedure SetTaxType(PurchHeader: Record "Purchase Header"; var PurchLine: Record "Purchase Line")
  • −local event OnPostUpdateInvoiceLineOnBeforePurchOrderLineModify(var PurchOrderLine: Record "Purchase Line")
  • −local procedure UpdatePrepmtAmountInvBuf(PrepmtSalesLineNo: Integer; CurrencyFactor: Decimal)
codeunit/80 "Sales-Post" +20, 1 changed, 4 removed
  • +local event OnAfterPostSalesTaxToGL(var SalesHeader: Record "Sales Header"; GenJnlLineDocType: Integer; GenJnlLineDocNo: Code[20]; GenJnlLineExtDocNo: Code[35])
  • +local event OnAfterDivideAmount(var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; QtyType: Option General,Invoicing,Shipping; SalesLineQty: Decimal; var TempVATAmountLine: Record "VAT Amount Line" temporary; var TempVATAmountLineRemainder: Record "VAT Amount Line" temporary; var TempSalesLineForSalesTax: Record "Sales Line" temporary)
  • +local event OnBeforeCalculateSalesTax(var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; var SalesTaxAmountLine: Record "Sales Tax Amount Line"; var LocalwasProcessed: Boolean; CommitIsSuppressed: Boolean)
  • +local event OnFinalizeInvoicePostingSalesTax(var SalesHeader: Record "Sales Header"; var SalesInvoiceHeader: Record "Sales Invoice Header"; CommitIsSuppressed: Boolean; PreviewMode: Boolean)
  • +local event OnFinalizeCreditmemoPostingSalesTax(var SalesHeader: Record "Sales Header"; var SalesCrMemoHeader: Record "Sales Cr.Memo Header"; CommitIsSuppressed: Boolean; PreviewMode: Boolean)
  • +local event OnBeforePostSalesTaxToGL(var GenJnlLine: Record "Gen. Journal Line"; SalesHeader: Record "Sales Header"; SalesTaxAmountLine: Record "Sales Tax Amount Line")
  • +local event OnBeforePostSalesTaxRoundingToGL(var GenJnlLine: Record "Gen. Journal Line"; SalesHeader: Record "Sales Header")
  • +local event OnDivideAmountOnAfterCalcSalesTaxGeneral(SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line")
  • +local event OnBeforePostSalesTaxToGeneralLedger(var SalesHeader: Record "Sales Header"; var LineCount: Integer; var TempSalesTaxAmountLine: Record "Sales Tax Amount Line" temporary; var Window: Dialog; var SalesTaxCountry: Option US,CA,,,,,,,,,,,,NoTax; var GenJnlLineDocNo: Code[20]; var GenJnlLineExtDocNo: Code[35]; var GenJnlLineDocType: Enum "Gen. Journal Document Type"; var SourceCode: Code[10]; var Currency: Record Currency; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line"; var TotalSalesLineLCY: Record "Sales Line"; var TotalSalesLine: Record "Sales Line"; var TempSalesLineGlobal: Record "Sales Line" temporary; var IsHandled: Boolean)
  • +local event OnFinalizePostingOnAfterDecrementPrepmtAmtInvLCY(var SalesHeader: Record "Sales Header"; var TempDropShptPostBuffer: Record "Drop Shpt. Post. Buffer" temporary)
  • +local event OnAddSalesTaxLineToSalesTaxCalcOnBeforeTempSalesLineForSalesTaxInsert(var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; var TempSalesLineForSalesTax: Record "Sales Line" temporary)
  • +local event OnSetTaxTypeOnAfterAddSalesTaxLineToSalesTaxCalc(var SalesLine: Record "Sales Line")
  • +local procedure PostInvoice(var SalesHeader: Record "Sales Header"; var CustLedgEntry: Record "Cust. Ledger Entry"; LineCount: Integer)
  • +procedure InsertedPrepmtVATBaseToDeduct(SalesHeader: Record "Sales Header"; SalesLine: Record "Sales Line"; PrepmtLineNo: Integer; TotalPrepmtAmtToDeduct: Decimal; PrepmtAmtToDeductInclTax: Decimal): Decimal
  • +local procedure UpdatePrepmtAmountInvBuf(PrepmtSalesLineNo: Integer; CurrencyFactor: Decimal; PrepmtIncludeTax: Boolean)
  • +local procedure Is100PctPrepmtInvoice(var TempSalesLine: Record "Sales Line" temporary): Boolean
  • +local procedure AddSalesTaxLineToSalesTaxCalc(SalesHeader: Record "Sales Header"; SalesLine: Record "Sales Line"; FirstLine: Boolean)
  • +local procedure PostSalesTaxToGL(SalesHeader: Record "Sales Header"; LineCount: Integer)
  • +local procedure PostSalesTaxToGLRounding(SalesHeader: Record "Sales Header"; LineAmount: Decimal; LineAmountLCY: Decimal)
  • +local procedure SetTaxType(SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line")
  • Δlocal event OnBeforePostUpdateOrderLine(SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line" temporary; CommitIsSuppressed: Boolean; var SalesSetup: Record "Sales & Receivables Setup")
  • −local event OnAfterDivideAmount(var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; QtyType: Option General,Invoicing,Shipping; SalesLineQty: Decimal; var TempVATAmountLine: Record "VAT Amount Line" temporary; var TempVATAmountLineRemainder: Record "VAT Amount Line" temporary)
  • −local procedure PostInvoice(var SalesHeader: Record "Sales Header"; var CustLedgEntry: Record "Cust. Ledger Entry")
  • −procedure InsertedPrepmtVATBaseToDeduct(SalesHeader: Record "Sales Header"; SalesLine: Record "Sales Line"; PrepmtLineNo: Integer; TotalPrepmtAmtToDeduct: Decimal): Decimal
  • −local procedure UpdatePrepmtAmountInvBuf(PrepmtSalesLineNo: Integer; CurrencyFactor: Decimal)
table/79 "Company Information" +20, 3 changed
  • +field(10005; "Ship-to UPS Zone"; Code[2])
  • +field(10006; "UPS Shipper ID"; Text[15])
  • +field(10010; "Tax Area Code"; Code[20])
  • +field(10015; "Tax Exemption No."; Text[30])
  • +field(10016; "Federal ID No."; Text[30])
  • +field(10017; "QST Registration No."; Text[20])
  • +field(10021; "Provincial Tax Area Code"; Code[20])
  • +field(10022; "Software Identification Code"; Code[10])
  • +field(10023; "RFC No."; Code[12])
  • +field(10024; "CURP No."; Code[18])
  • +field(10025; "State Inscription"; Text[30])
  • +field(10026; "Tax Scheme"; Text[250])
  • +field(14021; "RFC Number"; Text[30])
  • +field(27000; "SAT Tax Regime Classification"; Code[10])
  • +field(27001; "SAT Postal Code"; Code[10])
  • +field(27002; "SCT Permission Type"; Code[10])
  • +field(27003; "SCT Permission Number"; Code[20])
  • +procedure IsCanada(): Boolean
  • +procedure InferIsCanadaFromCurrency(): Boolean
  • +procedure CheckIfMissingMXEInvRequiredFields(): Boolean
  • Δfield(11; "Giro No."; Text[20])
  • Δfield(14; "Bank Account No."; Text[30])
  • Δfield(38; "IBAN"; Code[50])
table/270 "Bank Account" +19, 3 changed
  • +field(10005; "E-Pay Export File Path"; Text[250])
  • +field(10006; "Last E-Pay Export File Name"; Text[30])
  • +field(10007; "E-Pay Trans. Program Path"; Text[250])
  • +field(10008; "E-Pay Trans. Program Command"; Text[80])
  • +field(10009; "Last ACH File ID Modifier"; Code[1])
  • +field(10010; "Last Remittance Advice No."; Code[20])
  • +field(10011; "Export Format"; Option)
  • +field(10012; "Last E-Pay File Creation No."; Integer)
  • +field(10013; "Client No."; Code[10])
  • +field(10014; "Client Name"; Code[30])
  • +field(10015; "Input Qualifier"; Code[30])
  • +field(10017; "Bank Communication"; Option)
  • +field(10018; "Check Date Format"; Option)
  • +field(10019; "Check Date Separator"; Option)
  • +field(10020; "EFT Export Code"; Code[20])
  • +field(27000; "Bank Code"; Code[3])
  • +procedure CheckLastStatementNo(): Boolean
  • +local procedure ValidateIncrementableText(ValidateText: Text)
  • +procedure GetEFTCodeunitID(): Integer
  • Δfield(13; "Bank Account No."; Text[30])
  • Δfield(110; "IBAN"; Code[50])
  • Δfield(1210; "Payment Export Format"; Code[20])
table/181 "Posted Gen. Journal Line" +21
  • +field(10006; "Export File Name"; Text[30])
  • +field(10011; "Tax Jurisdiction Code"; Code[10])
  • +field(10012; "Tax Type"; Option)
  • +field(10015; "Tax Exemption No."; Text[30])
  • +field(10018; "STE Transaction ID"; Text[20])
  • +field(10020; "IRS 1099 Code"; Code[10])
  • +field(10021; "IRS 1099 Amount"; Decimal)
  • +field(10030; "Foreign Exchange Indicator"; Option)
  • +field(10031; "Foreign Exchange Ref.Indicator"; Option)
  • +field(10032; "Foreign Exchange Reference"; Code[20])
  • +field(10033; "Gateway Operator OFAC Scr.Inc"; Option)
  • +field(10034; "Secondary OFAC Scr.Indicator"; Option)
  • +field(10035; "Origin. DFI ID Qualifier"; Option)
  • +field(10036; "Receiv. DFI ID Qualifier"; Option)
  • +field(10037; "Transaction Type Code"; Option)
  • +field(10038; "Transaction Code"; Code[3])
  • +field(10039; "Company Entry Description"; Text[10])
  • +field(10040; "Payment Related Information 1"; Text[80])
  • +field(10041; "Payment Related Information 2"; Text[52])
  • +field(10045; "GST/HST"; Enum "GST HST Tax Type")
  • +field(10046; "EFT Export Sequence No."; Integer)
table/81 "Gen. Journal Line" +21
  • +field(10006; "Export File Name"; Text[30])
  • +field(10011; "Tax Jurisdiction Code"; Code[10])
  • +field(10012; "Tax Type"; Option)
  • +field(10015; "Tax Exemption No."; Text[30])
  • +field(10018; "STE Transaction ID"; Text[20])
  • +field(10020; "IRS 1099 Code"; Code[10])
  • +field(10021; "IRS 1099 Amount"; Decimal)
  • +field(10030; "Foreign Exchange Indicator"; Option)
  • +field(10031; "Foreign Exchange Ref.Indicator"; Option)
  • +field(10032; "Foreign Exchange Reference"; Code[20])
  • +field(10033; "Gateway Operator OFAC Scr.Inc"; Option)
  • +field(10034; "Secondary OFAC Scr.Indicator"; Option)
  • +field(10035; "Origin. DFI ID Qualifier"; Option)
  • +field(10036; "Receiv. DFI ID Qualifier"; Option)
  • +field(10037; "Transaction Type Code"; Option)
  • +field(10038; "Transaction Code"; Code[3])
  • +field(10039; "Company Entry Description"; Text[10])
  • +field(10040; "Payment Related Information 1"; Text[80])
  • +field(10041; "Payment Related Information 2"; Text[52])
  • +field(10045; "GST/HST"; Enum "GST HST Tax Type")
  • +field(10046; "EFT Export Sequence No."; Integer)
table/98 "General Ledger Setup" +19, 1 changed
  • +field(10001; "VAT in Use"; Boolean)
  • +field(10002; "Bank Rec. Adj. Doc. Nos."; Code[20])
  • +field(10003; "Deposit Nos."; Code[20])
  • +field(10004; "SAT Certificate Thumbprint"; Text[250])
  • +field(10005; "Send PDF Report"; Boolean)
  • +field(10006; "Hash Algorithm"; Option)
  • +field(10007; "PAC Code"; Code[10])
  • +field(10008; "PAC Environment"; Option)
  • +field(10009; "CFDI Enabled"; Boolean)
  • +field(10010; "Sim. Signature"; Boolean)
  • +field(10011; "Sim. Send"; Boolean)
  • +field(10012; "Sim. Request Stamp"; Boolean)
  • +field(10120; "Bank Recon. with Auto. Match"; Boolean)
  • +field(10121; "SAT Certificate"; Code[20])
  • +field(10122; "Disable CFDI Payment Details"; Boolean)
  • +field(10123; "USD Currency Code"; Code[10])
  • +field(10124; "Cancel on Time Expiration"; Boolean)
  • +field(10125; "Multiple SAT Certificates"; Boolean)
  • +procedure CheckIfMissingMXEInvRequiredFields(): Boolean
  • Δfield(57; "Local Address Format"; Option)
table/18 "Customer" +19
  • +field(10004; "UPS Zone"; Code[2])
  • +field(10015; "Tax Exemption No."; Text[30])
  • +field(10017; "Bank Communication"; Option)
  • +field(10018; "Check Date Format"; Option)
  • +field(10019; "Check Date Separator"; Option)
  • +field(10021; "Balance on Date"; Decimal)
  • +field(10022; "Balance on Date (LCY)"; Decimal)
  • +field(10023; "RFC No."; Code[13])
  • +field(10024; "CURP No."; Code[18])
  • +field(10025; "State Inscription"; Text[30])
  • +field(14020; "Tax Identification Type"; Enum "Tax Identification Type")
  • +field(27000; "CFDI Purpose"; Code[10])
  • +field(27001; "CFDI Relation"; Code[10])
  • +field(27002; "SAT Tax Regime Classification"; Code[10])
  • +field(27004; "CFDI Export Code"; Code[10])
  • +field(27005; "CFDI General Public"; Boolean)
  • +field(27006; "CFDI Period"; Option)
  • +field(27007; "CFDI Customer Name"; Text[300])
  • +procedure ValidateRFCNo(Length: Integer)
table/5740 "Transfer Header" +18
  • +field(10044; "Transport Operators"; Integer)
  • +field(10045; "Transit-from Date/Time"; DateTime)
  • +field(10046; "Transit Hours"; Integer)
  • +field(10047; "Transit Distance"; Decimal)
  • +field(10048; "Insurer Name"; Text[50])
  • +field(10049; "Insurer Policy Number"; Text[30])
  • +field(10050; "Foreign Trade"; Boolean)
  • +field(10051; "Vehicle Code"; Code[20])
  • +field(10052; "Trailer 1"; Code[20])
  • +field(10053; "Trailer 2"; Code[20])
  • +field(10056; "Medical Insurer Name"; Text[50])
  • +field(10057; "Medical Ins. Policy Number"; Text[30])
  • +field(10058; "SAT Weight Unit Of Measure"; Code[10])
  • +field(10059; "SAT International Trade Term"; Code[10])
  • +field(10060; "Exchange Rate USD"; Decimal)
  • +field(10061; "SAT Customs Regime"; Code[10])
  • +field(10062; "SAT Transfer Reason"; Code[10])
  • +field(27004; "CFDI Export Code"; Code[10])
codeunit/12 "Gen. Jnl.-Post Line" +12, 5 removed
  • +local event OnBeforeCheckJnlLineForEFTFile(GenJnlLine: Record "Gen. Journal Line"; var IsHandled: Boolean)
  • +local event OnBeforeSkipFindTaxDetail(var TaxDetail: Record "Tax Detail"; var GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean; var ReturnValue: Boolean)
  • +local procedure CalcCurrencyRealizedGainLoss(var CVLedgEntryBuf: Record "CV Ledger Entry Buffer"; var TempDtldCVLedgEntryBuf: Record "Detailed CV Ledg. Entry Buffer" temporary; GenJnlLine: Record "Gen. Journal Line"; AppliedAmount: Decimal; AppliedAmountLCY: Decimal; var VATRealizedGainLossLCY: Decimal)
  • +procedure CustUnrealizedVAT(GenJnlLine: Record "Gen. Journal Line"; var CustLedgEntry2: Record "Cust. Ledger Entry"; SettledAmount: Decimal; GainLossLCY: Decimal; CurrencyFactor: Decimal; PostingDate: Date)
  • +procedure CustUnrealizedVAT(ShouldConsiderVATPostingGrouping: Boolean; TempVATPostingSetup: Record "VAT Posting Setup" temporary; GenJnlLine: Record "Gen. Journal Line"; var CustLedgEntry2: Record "Cust. Ledger Entry"; SettledAmount: Decimal; GainLossLCY: Decimal; CurrencyFactor: Decimal; PostingDate: Date)
  • +procedure VendUnrealizedVAT(GenJnlLine: Record "Gen. Journal Line"; var VendLedgEntry2: Record "Vendor Ledger Entry"; SettledAmount: Decimal; GainLossLCY: Decimal; CurrencyFactor: Decimal; PostingDate: Date)
  • +procedure PostUnrealVATEntry(GenJnlLine: Record "Gen. Journal Line"; var VATEntry2: Record "VAT Entry"; VATAmount: Decimal; VATBase: Decimal; VATAmountAddCurr: Decimal; VATBaseAddCurr: Decimal; GLEntryNo: Integer; RealizedVATAmount: Decimal; RealizedVATBase: Decimal; RealizedVATAmountAddCurr: Decimal; RealizedVATBaseAddCurr: Decimal)
  • +procedure PostApply(var GenJnlLine: Record "Gen. Journal Line"; var DtldCVLedgEntryBuf: Record "Detailed CV Ledg. Entry Buffer"; var OldCVLedgEntryBuf: Record "CV Ledger Entry Buffer"; var NewCVLedgEntryBuf: Record "CV Ledger Entry Buffer"; var NewCVLedgEntryBuf2: Record "CV Ledger Entry Buffer"; BlockPaymentTolerance: Boolean; AllApplied: Boolean; var AppliedAmount: Decimal; var PmtTolAmtToBeApplied: Decimal; var VATRealizedGainLossLCY: Decimal)
  • +procedure CalculateFirstLastAmount(UnRealizedVatType: Option " ",Percentage,First,Last,"First (Fully Paid)","Last (Fully Paid)","Cash Basis"; RemainingUnrealizedAmount: Decimal; var TotalUnrealVATAmountLast: Decimal; var TotalUnrealVATAmountFirst: Decimal)
  • +local procedure SkipFindTaxDetail(var TaxDetail: Record "Tax Detail"; GenJournalLine: Record "Gen. Journal Line"): Boolean
  • +local procedure GetRealizedVATGainLossGLAccNo(VATEntry: Record "VAT Entry"; CurrencyCode: Code[10]): Code[20]
  • +local procedure CheckJnlLineForEFTFile(GenJnlLine: Record "Gen. Journal Line")
  • −local procedure CalcCurrencyRealizedGainLoss(var CVLedgEntryBuf: Record "CV Ledger Entry Buffer"; var TempDtldCVLedgEntryBuf: Record "Detailed CV Ledg. Entry Buffer" temporary; GenJnlLine: Record "Gen. Journal Line"; AppliedAmount: Decimal; AppliedAmountLCY: Decimal)
  • −procedure CustUnrealizedVAT(GenJnlLine: Record "Gen. Journal Line"; var CustLedgEntry2: Record "Cust. Ledger Entry"; SettledAmount: Decimal)
  • −procedure VendUnrealizedVAT(GenJnlLine: Record "Gen. Journal Line"; var VendLedgEntry2: Record "Vendor Ledger Entry"; SettledAmount: Decimal)
  • −procedure PostUnrealVATEntry(GenJnlLine: Record "Gen. Journal Line"; var VATEntry2: Record "VAT Entry"; VATAmount: Decimal; VATBase: Decimal; VATAmountAddCurr: Decimal; VATBaseAddCurr: Decimal; GLEntryNo: Integer)
  • −procedure PostApply(var GenJnlLine: Record "Gen. Journal Line"; var DtldCVLedgEntryBuf: Record "Detailed CV Ledg. Entry Buffer"; var OldCVLedgEntryBuf: Record "CV Ledger Entry Buffer"; var NewCVLedgEntryBuf: Record "CV Ledger Entry Buffer"; var NewCVLedgEntryBuf2: Record "CV Ledger Entry Buffer"; BlockPaymentTolerance: Boolean; AllApplied: Boolean; var AppliedAmount: Decimal; var PmtTolAmtToBeApplied: Decimal)
table/23 "Vendor" +15, 2 changed
  • +field(10004; "UPS Zone"; Code[2])
  • +field(10016; "Federal ID No."; Text[30])
  • +field(10017; "Bank Communication"; Option)
  • +field(10018; "Check Date Format"; Option)
  • +field(10019; "Check Date Separator"; Option)
  • +field(10020; "IRS 1099 Code"; Code[10])
  • +field(10021; "Balance on Date"; Decimal)
  • +field(10022; "Balance on Date (LCY)"; Decimal)
  • +field(10023; "RFC No."; Code[13])
  • +field(10024; "CURP No."; Code[18])
  • +field(10025; "State Inscription"; Text[30])
  • +field(10026; "FATCA filing requirement"; Boolean)
  • +field(14020; "Tax Identification Type"; Enum "Tax Identification Type")
  • +key(Key16; "SystemModifiedAt")
  • +procedure ValidateRFCNo(Length: Integer)
  • Δkey(Key14; "Purchaser Code")
  • Δkey(Key15; "Blocked")
table/39 "Purchase Line" +14, 1 changed
  • +field(10001; "Tax To Be Expensed"; Decimal)
  • +field(10017; "Provincial Tax Area Code"; Code[20])
  • +field(10022; "IRS 1099 Liable"; Boolean)
  • +field(10025; "GST/HST"; Enum "GST HST Tax Type")
  • +local event OnBeforeCheckForTaxDifferences(var PurchaseLine: Record "Purchase Line"; var IsHandled: Boolean)
  • +local event OnBeforeUpdateVATAmountsForReleasedDocument(var PurchaseLine: Record "Purchase Line"; var IsHandled: Boolean)
  • +local event OnValidateDirectUnitCostOnBeforeThrowErrorIfPrepaymentInvoicePosted(var PurchaseLine: Record "Purchase Line"; var ThrowError: Boolean)
  • +local procedure UpdateVATAmountsForReleasedDocument()
  • +procedure CalcSalesTaxLines(var PurchHeader: Record "Purchase Header"; var PurchLine: Record "Purchase Line")
  • +procedure TestExpenseCapitalize()
  • +local procedure CheckForTaxDifferences()
  • +procedure CalcAmountIncludingTax(BaseAmount: Decimal): Decimal
  • +procedure RecalculateTaxes()
  • +local procedure HasVatInUse(): Boolean
  • Δfield(86; "Tax Liable"; Boolean)
table/1381 "Customer Templ." +12, 1 changed
  • +field(10004; "UPS Zone"; Code[2])
  • +field(10015; "Tax Exemption No."; Text[30])
  • +field(10017; "Bank Communication"; Option)
  • +field(10018; "Check Date Format"; Option)
  • +field(10019; "Check Date Separator"; Option)
  • +field(10023; "RFC No."; Code[13])
  • +field(10024; "CURP No."; Code[18])
  • +field(10025; "State Inscription"; Text[30])
  • +field(14020; "Tax Identification Type"; Option)
  • +field(10092; "State"; Text[30])
  • +field(27000; "CFDI Purpose"; Code[10])
  • +field(27001; "CFDI Relation"; Code[10])
  • Δfield(14; "Our Account No."; Text[20])
table/1383 "Vendor Templ." +11, 1 changed
  • +field(10004; "UPS Zone"; Code[2])
  • +field(10016; "Federal ID No."; Text[30])
  • +field(10017; "Bank Communication"; Option)
  • +field(10018; "Check Date Format"; Option)
  • +field(10019; "Check Date Separator"; Option)
  • +field(10020; "IRS 1099 Code"; Code[10])
  • +field(10023; "RFC No."; Code[13])
  • +field(10024; "CURP No."; Code[18])
  • +field(10025; "State Inscription"; Text[30])
  • +field(10026; "FATCA filing requirement"; Boolean)
  • +field(14020; "Tax Identification Type"; Option)
  • Δfield(14; "Our Account No."; Text[20])
table/37 "Sales Line" +10, 2 changed
  • +field(10000; "Package Tracking No."; Text[50])
  • +field(10001; "Retention Attached to Line No."; Integer)
  • +field(10002; "Retention VAT %"; Decimal)
  • +field(10003; "Custom Transit Number"; Text[30])
  • +field(10004; "SAT Customs Document Type"; Code[10])
  • +procedure CalcSalesTaxLines(var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line")
  • +local procedure CheckRetentionAttachedToLineNo()
  • +procedure CalcAmountIncludingTax(BaseAmount: Decimal): Decimal
  • +procedure GetPrepaidSalesAmountInclVAT(): Decimal
  • +local procedure HasVatInUse(): Boolean
  • Δfield(86; "Tax Liable"; Boolean)
  • Δprocedure InitQtyToAsm()
table/38 "Purchase Header" +12
  • +field(10005; "Ship-to UPS Zone"; Code[2])
  • +field(10015; "Tax Exemption No."; Text[30])
  • +field(10017; "Provincial Tax Area Code"; Code[20])
  • +field(10018; "STE Transaction ID"; Text[20])
  • +field(10019; "GST/HST Tax Type"; Enum "GST HST Tax Type")
  • +field(10020; "IRS 1099 Code"; Code[10])
  • +field(10021; "IRS 1099 Amount"; Decimal)
  • +field(10042; "Fiscal Invoice Number PAC"; Text[50])
  • +field(12600; "Prepmt. Include Tax"; Boolean)
  • +local procedure IsPrepmtInvoicePosted(): Boolean
  • +procedure GetStatisticsPageID(): Integer
  • +procedure RecalculateTaxesOnLines()
codeunit/9025 "Small Business Report Catalog" 1 changed, 10 removed
  • Δprocedure RunDetailTrialBalanceReport(UseRequestPage: Boolean)
  • −local event OnBeforeRunCustomerTop10ListReport(UseRequestPage: Boolean; var IsHandled: Boolean)
  • −local event OnBeforeRunVendorTop10ListReport(UseRequestPage: Boolean; var IsHandled: Boolean)
  • −local event OnBeforeRunTrialBalanceReport(UseRequestPage: Boolean; var IsHandled: Boolean)
  • −local event OnBeforeRunAgedAccountsReceivableReport(UseRequestPage: Boolean; var IsHandled: Boolean)
  • −local event OnBeforeRunAgedAccountsPayableReport(UseRequestPage: Boolean; var IsHandled: Boolean)
  • −procedure RunAgedAccountsReceivableReport(UseRequestPage: Boolean)
  • −procedure RunAgedAccountsPayableReport(UseRequestPage: Boolean)
  • −procedure RunCustomerTop10ListReport(UseRequestPage: Boolean)
  • −procedure RunVendorTop10ListReport(UseRequestPage: Boolean)
  • −procedure RunTrialBalanceReport(UseRequestPage: Boolean)
codeunit/5988 "Serv-Documents Mgt." +10
  • +local event OnBeforeCalculateSalesTax(var SalesTaxCalculationOverridden: Boolean; var ServiceHeader: Record "Service Header"; var ServiceLine: Record "Service Line"; var TempSalesTaxAmountLine: Record Microsoft.Finance.SalesTax."Sales Tax Amount Line" temporary; var IsHandled: Boolean; Ship: Boolean; Consume: Boolean; Invoice: Boolean)
  • +local event OnCheckAndSetPostingConstants(var ServiceHeader: Record "Service Header")
  • +local event OnFinalize(var ServiceHeader: Record "Service Header"; var ServiceInvoiceHeader: Record "Service Invoice Header"; var ServiceInvoiceLine: Record "Service Invoice Line"; var ServiceCrMemoHeader: Record "Service Cr.Memo Header"; var ServiceCrMemoLine: Record "Service Cr.Memo Line"; IsInvoice: Boolean)
  • +local event OnPostDocumentLinesOnBeforeSalesTaxLineToSalesTaxCalc(ServiceLine: Record "Service Line" temporary; ServiceHeader: Record "Service Header" temporary)
  • +procedure GetUseExternalTaxEngine(): Boolean
  • +procedure TestTaxGroup()
  • +procedure RunOnBeforeCalculateSalesTax(var SalesTaxCalculationOverridden2: Boolean; var ServiceHeader: Record "Service Header"; var ServiceLine: Record "Service Line"; var TempSalesTaxAmountLine: Record Microsoft.Finance.SalesTax."Sales Tax Amount Line" temporary; var IsHandled: Boolean; Ship2: Boolean; Consume2: Boolean; Invoice2: Boolean)
  • +procedure RunOnCheckAndSetPostingConstants(var ServiceHeader: Record "Service Header")
  • +procedure RunOnFinalize(var ServiceHeader: Record "Service Header"; var ServiceInvoiceHeader: Record "Service Invoice Header"; var ServiceInvoiceLine: Record "Service Invoice Line"; var ServiceCrMemoHeader: Record "Service Cr.Memo Header"; var ServiceCrMemoLine: Record "Service Cr.Memo Line"; IsInvoice: Boolean)
  • +procedure RunOnPostDocumentLinesOnBeforeSalesTaxLineToSalesTaxCalc(ServiceLine: Record "Service Line" temporary; ServiceHeader: Record "Service Header" temporary)
report/1401 "Check" +1, 3 changed, 5 removed
  • +local procedure ApplyBalancingTypeOfEmployee()
  • Δlocal procedure PrintOneLineOneEntryOnAfterGetRecordForCustomer(var CustLedgEntry1: Record "Cust. Ledger Entry")
  • Δlocal procedure PrintOneLineOneEntryOnAfterGetRecordForVendor(var VendLedgEntry1: Record "Vendor Ledger Entry")
  • Δlocal procedure PrintOneLineOneEntryOnAfterGetRecordForEmployee(var EmployeeLedgerEntry1: Record "Employee Ledger Entry")
  • −local event OnAfterFormatNoText(var NoText: array[2] of Text[80]; No: Decimal; CurrencyCode: Code[10])
  • −procedure FormatNoText(var NoText: array[2] of Text[80]; No: Decimal; CurrencyCode: Code[10])
  • −local procedure AddToNoText(var NoText: array[2] of Text[80]; var NoTextIndex: Integer; var PrintExponent: Boolean; AddText: Text[30])
  • −procedure InitTextVariable()
  • −local procedure GetAmtDecimalPosition(): Decimal
table/5600 "Fixed Asset" +9
  • +field(10001; "Vehicle Licence Plate"; Code[10])
  • +field(10002; "Vehicle Year"; Integer)
  • +field(10003; "Vehicle Gross Weight"; Decimal)
  • +field(10004; "SAT Federal Autotransport"; Code[10])
  • +field(10005; "SAT Trailer Type"; Code[10])
  • +field(10006; "SCT Permission Type"; Code[10])
  • +field(10007; "SCT Permission Number"; Code[20])
  • +field(10008; "SCT Permission No."; Text[50])
  • +field(27000; "SAT Classification Code"; Code[10])
table/272 "Check Ledger Entry" +6, 2 changed
  • +field(10005; "Trace No."; Code[30])
  • +field(10006; "Transmission File Name"; Text[30])
  • +procedure GetCheckAmountText(CurrencyCode: Code[10]; var CurrencySymbol: Code[5]): Text
  • +local procedure GetFractionPartLength(DecimalValue: Decimal): Integer
  • +local procedure GetDecimalSeparator(): Code[1]
  • +procedure ResetStatementFields(BankAccountNo: Code[20]; StatementNo: Code[20]; StatementType: Option)
  • Δfield(14; "Original Entry Status"; Option)
  • Δfield(19; "Statement No."; Code[20])
table/44 "Sales Comment Line" +8
  • +field(10000; "Print On Quote"; Boolean)
  • +field(10001; "Print On Pick Ticket"; Boolean)
  • +field(10002; "Print On Order Confirmation"; Boolean)
  • +field(10003; "Print On Shipment"; Boolean)
  • +field(10004; "Print On Invoice"; Boolean)
  • +field(10005; "Print On Credit Memo"; Boolean)
  • +field(10006; "Print On Return Authorization"; Boolean)
  • +field(10007; "Print On Return Receipt"; Boolean)
table/1284 "Outstanding Bank Transaction" +4, 2 changed, 1 removed
  • +field(10010; "Indentation"; Integer)
  • +field(10011; "External Document No."; Code[35])
  • +procedure CreateTheDepositHeaderLine(var TempOutstandingBankTransaction: Record "Outstanding Bank Transaction" temporary; var TempOutstandingBankTransactionCopy: Record "Outstanding Bank Transaction" temporary; BankAccountLedgerEntry: Record "Bank Account Ledger Entry")
  • +procedure CopyFromBankAccLedgerEntry(BankAccountLedgerEntry: Record "Bank Account Ledger Entry"; BankTransacType: Integer; StatementType: Integer; StatementNo: Code[20]; RemainingAmt: Decimal; IndentationValue: Integer)
  • Δfield(3; "Document Type"; Option)
  • Δkey(Key1; "External Document No.", "Entry No.")
  • −procedure CopyFromBankAccLedgerEntry(BankAccountLedgerEntry: Record "Bank Account Ledger Entry"; BankTransacType: Integer; StatementType: Integer; StatementNo: Code[20]; RemainingAmt: Decimal)
table/27 "Item" +7
  • +field(10004; "Duty Class"; Code[10])
  • +field(10011; "Consumptions (Qty.)"; Decimal)
  • +field(10012; "Outputs (Qty.)"; Decimal)
  • +field(27000; "SAT Item Classification"; Code[10])
  • +field(27024; "SAT Hazardous Material"; Code[10])
  • +field(27025; "SAT Packaging Type"; Code[10])
  • +field(27026; "SAT Material Type"; Code[10])
codeunit/333 "Req. Wksh.-Make Order" +4, 2 removed
  • +local event OnBeforeCheckInsertFinalizePurchaseOrderHeader(RequisitionLine: Record "Requisition Line"; var PurchaseHeader: Record "Purchase Header"; var CheckInsert: Boolean; var OrderCounter: Integer; var PrevPurchCode: Code[10]; PrevLocationCode: Code[10]; var PrevShipToCode: Code[10]; var UpdateAddressDetails: Boolean; var CheckAddressDetailsResult: Boolean; ReceiveDateReq: Date; CheckCustomer: Boolean)
  • +local event OnAfterPurchasingParametersMatch(var PurchaseHeader: Record "Purchase Header"; var RequisitionLine: Record "Requisition Line"; PrevPurchCode: Code[10]; var IsMatch: Boolean)
  • +local procedure CheckInsertFinalizePurchaseOrderHeader(RequisitionLine: Record "Requisition Line"; var PurchOrderHeader: Record "Purchase Header"; UpdateAddressDetails: Boolean; CheckCustomer: Boolean): Boolean
  • +local procedure PurchasingParametersMatch(PurchaseHeader: Record "Purchase Header"; ReqLine: Record "Requisition Line"): Boolean
  • −local event OnBeforeCheckInsertFinalizePurchaseOrderHeader(RequisitionLine: Record "Requisition Line"; var PurchaseHeader: Record "Purchase Header"; var CheckInsert: Boolean; var OrderCounter: Integer; var PrevPurchCode: Code[10]; PrevLocationCode: Code[10]; var PrevShipToCode: Code[10]; var UpdateAddressDetails: Boolean; var CheckAddressDetailsResult: Boolean; ReceiveDateReq: Date)
  • −local procedure CheckInsertFinalizePurchaseOrderHeader(RequisitionLine: Record "Requisition Line"; var PurchOrderHeader: Record "Purchase Header"; UpdateAddressDetails: Boolean): Boolean
codeunit/8 "AccSchedManagement" +5, 1 removed
  • +local event OnAfterFormatCellAsText(var ColumnLayout2: Record "Column Layout"; var ValueAsText: Text[30]; NegativeAmounts: Option; Value: Decimal)
  • +procedure SetParameters(NewNegativeAmounts: Integer; NewNegativePercents: Integer)
  • +procedure BuildFinPerDescription(BaseDescription: Text[80]; PeriodStartDate: Date; PeriodEndDate: Date): Text[250]
  • +local procedure BreakDownDate(DateToBreak: Date; var Year: Integer; var Month: Integer; var Day: Integer; var MonthName: Text[30])
  • +local procedure SetCFEntryFiltersForBudgetEntries(var CFAccount: Record "Cash Flow Account"; var CFForecastEntry: Record "Cash Flow Forecast Entry"; var AccSchedLine: Record "Acc. Schedule Line"; var ColumnLayout: Record "Column Layout")
  • −local event OnAfterFormatCellAsText(var ColumnLayout2: Record "Column Layout"; var ValueAsText: Text[30]; Value: Decimal)
page/344 "Navigate" +5, 1 removed
  • +local event OnAfterSetTrackingFiltersOnBeforeFindTrackingRecords(var ItemTrackingFilters: Record Item)
  • +local procedure FindPostedDepositHeader()
  • +local procedure FindPostedDepositLine()
  • +procedure SetExternal()
  • +local procedure FindDepositRecords()
  • −local event OnFindTrackingRecordsOnAfterSetTrackingFilters(var ItemTrackingFilters: Record Item)
page/370 "Bank Account Card" +6
  • +local event OnAfterAfterGetCurrentRecord()
  • +local event OnAfterSetCountrySpecificControls()
  • +local procedure SetCountrySpecificControls()
  • +local procedure ExportFormatOnAfterValidate()
  • +local procedure AfterGetCurrentRecord()
  • +local procedure ValidateExportFormats()
report/202 "Sales Document - Test" +4, 2 removed
  • +local event OnBeforeCalculateSalesTax(var SalesHeaderParm: Record "Sales Header"; var SalesTaxAmountLineParm: Record "Sales Tax Amount Line"; var SalesTaxCalculationOverridden: Boolean)
  • +local event OnAfterCalculateSalesTax(var VATBaseAmount: Decimal; var VATAmount: Decimal; SalesTaxAmountLineParm: Record "Sales Tax Amount Line")
  • +procedure AddDimToTempLine(SalesLine: Record "Sales Line"; var TempDimSetEntry: Record "Dimension Set Entry")
  • +procedure InitializeRequest(NewShipReceiveOnNextPostReq: Boolean; NewInvOnNextPostReq: Boolean; NewShowDim: Boolean; NewShowCostAssignment: Boolean; NewSummarize: Boolean)
  • −procedure AddDimToTempLine(SalesLine: Record "Sales Line")
  • −procedure InitializeRequest(NewShipReceiveOnNextPostReq: Boolean; NewInvOnNextPostReq: Boolean; NewShowDim: Boolean; NewShowCostAssignment: Boolean)
table/111 "Sales Shipment Line" +5, 1 changed
  • +field(10000; "Package Tracking No."; Text[50])
  • +field(10003; "Custom Transit Number"; Text[30])
  • +field(10004; "SAT Customs Document Type"; Code[10])
  • +key(Key8; "Document Id")
  • +procedure StartTrackingSite()
  • Δkey(Key7; "Document No.", "Package Tracking No.")
table/122 "Purch. Inv. Header" +6
  • +field(10005; "Ship-to UPS Zone"; Code[2])
  • +field(10015; "Tax Exemption No."; Text[30])
  • +field(10017; "Provincial Tax Area Code"; Code[20])
  • +field(10018; "STE Transaction ID"; Text[20])
  • +field(10020; "IRS 1099 Code"; Code[10])
  • +field(10042; "Fiscal Invoice Number PAC"; Text[50])
table/124 "Purch. Cr. Memo Hdr." +6
  • +field(10005; "Ship-to UPS Zone"; Code[2])
  • +field(10015; "Tax Exemption No."; Text[30])
  • +field(10017; "Provincial Tax Area Code"; Code[20])
  • +field(10018; "STE Transaction ID"; Text[20])
  • +field(10020; "IRS 1099 Code"; Code[10])
  • +field(10042; "Fiscal Invoice Number PAC"; Text[50])
table/254 "VAT Entry" +4, 1 changed, 1 removed
  • +field(10015; "Tax Exemption No."; Text[30])
  • +field(10018; "STE Transaction ID"; Text[20])
  • +field(10019; "GST/HST"; Enum "GST HST Tax Type")
  • +procedure GetUnrealizedVATPart(SettledAmount: Decimal; Paid: Decimal; Full: Decimal; TotalUnrealVATAmountFirst: Decimal; TotalUnrealVATAmountLast: Decimal; OriginalAmtLCY: Decimal): Decimal
  • Δfield(35; "Tax Type"; Option)
  • −procedure GetUnrealizedVATPart(SettledAmount: Decimal; Paid: Decimal; Full: Decimal; TotalUnrealVATAmountFirst: Decimal; TotalUnrealVATAmountLast: Decimal): Decimal
table/322 "Tax Detail" +3, 3 changed
  • +field(10010; "Expense/Capitalize"; Boolean)
  • +procedure CheckTaxType(TaxDetailRec: Record "Tax Detail"): Boolean
  • +procedure PrepareForCheckTaxType(TaxDetailRec: Record "Tax Detail")
  • Δfield(3; "Tax Type"; Option)
  • Δfield(5; "Tax Below Maximum"; Decimal)
  • Δfield(6; "Tax Above Maximum"; Decimal)
page/256 "Payment Journal" +5
  • +local event OnAfterCheckPaymentLineBeforeExport(var GenJournalLine: Record "Gen. Journal Line")
  • +local procedure CheckPaymentLineBeforeExport(var GenJnlLine: Record "Gen. Journal Line"; GenJournalBatch: Record "Gen. Journal Batch"; BankAccount: Record "Bank Account")
  • +local procedure SetAMCAppearance()
  • +local procedure EntriesToVoid(GenJnlLine3: Record "Gen. Journal Line"; AMC: Boolean): Boolean
  • +local procedure UseForElecPaymentChecked(GenJnlLine3: Record "Gen. Journal Line"): Boolean
table/123 "Purch. Inv. Line" +3, 2 changed
  • +field(10017; "Provincial Tax Area Code"; Code[20])
  • +field(10022; "IRS 1099 Liable"; Boolean)
  • +key(Key7; "Document No.", "Location Code")
  • Δkey(Key5; "Job No.", "Document No.")
  • Δkey(Key6; "Order No.", "Order Line No.", "Posting Date")
table/1382 "Item Templ." +5
  • +field(10004; "Duty Class"; Code[10])
  • +field(27000; "SAT Item Classification"; Code[10])
  • +field(27024; "SAT Hazardous Material"; Code[10])
  • +field(27025; "SAT Packaging Type"; Code[10])
  • +field(27026; "SAT Material Type"; Code[10])
table/15 "G/L Account" +4, 1 changed
  • +field(10001; "GIFI Code"; Code[10])
  • +field(27000; "SAT Account Code"; Code[20])
  • +field(27001; "SAT Classification Code"; Code[10])
  • +key(Key11; "Account Category")
  • Δkey(Key10; "GIFI Code")
table/288 "Vendor Bank Account" +3, 2 changed
  • +field(10000; "Use for Electronic Payments"; Boolean)
  • +field(27000; "Bank Code"; Code[3])
  • +local event OnValidateUseforElectronicPayments(xVendorBankAccount: Record "Vendor Bank Account"; var IsHandled: Boolean)
  • Δfield(14; "Bank Account No."; Text[30])
  • Δfield(24; "IBAN"; Code[50])
table/325 "VAT Posting Setup" +4, 1 changed
  • +field(6201; "Non-Ded. Sales VAT Account"; Code[20])
  • +field(10001; "CFDI VAT Exemption"; Boolean)
  • +field(10002; "CFDI Non-Taxable"; Boolean)
  • +field(10003; "CFDI Subject to Tax"; Code[10])
  • Δfield(5; "Unrealized VAT Type"; Option)
table/5107 "Sales Header Archive" +5
  • +field(10005; "Ship-to UPS Zone"; Code[2])
  • +field(10009; "Outstanding Amount ($)"; Decimal)
  • +field(10015; "Tax Exemption No."; Text[30])
  • +field(10018; "STE Transaction ID"; Text[20])
  • +field(12600; "Prepmt. Include Tax"; Boolean)
codeunit/442 "Sales-Post Prepayments" +4
  • +local event OnBeforeUpdateSalesTaxOnLines(var SalesLine: Record "Sales Line"; var ValidTaxAreaCode: Boolean; CommitIsSuppressed: Boolean)
  • +procedure PrepmtAmount(SalesLine: Record "Sales Line"; DocumentType: Option Invoice,"Credit Memo",Statistic; IncludeTax: Boolean): Decimal
  • +procedure UpdateSalesTaxOnLines(var SalesLine: Record "Sales Line"; IncludeTax: Boolean; DocumentType: Option Invoice,"Credit Memo")
  • +local procedure CalcSalesTaxLines(var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line")
report/1303 "Standard Sales - Draft Invoice" +3, 1 removed
  • +local event OnLineOnAfterGetRecordOnBeforeCalcTotals(var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; var VATAmountLine: Record "VAT Amount Line")
  • +local procedure CreateUSReportTotalLines()
  • +local procedure GetTaxSummarizedLines(var TempSalesTaxAmountLine: Record "Sales Tax Amount Line" temporary)
  • −local procedure ShowVATClause(VATClauseCode: Code[20]): Boolean
report/1304 "Standard Sales - Quote" +4
  • +local event OnAfterCalculateSalesTax(var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; var VATBaseAmount: Decimal; var VATAmount: Decimal; var TotalAmountInclVAT: Decimal)
  • +local event OnBeforeCalculateSalesTax(var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; var VATAmountLine: Record "VAT Amount Line")
  • +local procedure CreateUSReportTotalLines()
  • +local procedure GetTaxSummarizedLines(var TempSalesTaxAmountLine: Record "Sales Tax Amount Line" temporary)
report/1306 "Standard Sales - Invoice" +4
  • +local event OnAfterCalculateSalesTax(var SalesInvoiceHeader: Record "Sales Invoice Header"; var SalesInvoiceLine: Record "Sales Invoice Line"; var TotalAmount: Decimal; var TotalAmountVAT: Decimal; var TotalAmountInclVAT: Decimal)
  • +local event OnBeforeCalculateSalesTax(var SalesInvoiceHeader: Record "Sales Invoice Header"; var SalesInvoiceLine: Record "Sales Invoice Line"; var VATAmountLine: Record "VAT Amount Line")
  • +local procedure CreateUSReportTotalLines()
  • +local procedure GetTaxSummarizedLines(var TempSalesTaxAmountLine: Record "Sales Tax Amount Line" temporary)
report/1307 "Standard Sales - Credit Memo" +4
  • +local event OnAfterCalculateSalesTax(var SalesCrMemoHeader: Record "Sales Cr.Memo Header"; var SalesCrMemoLine: Record "Sales Cr.Memo Line"; var TotalAmount: Decimal; var TotalAmountVAT: Decimal; var TotalAmountInclVAT: Decimal)
  • +local event OnBeforeCalculateSalesTax(var SalesCrMemoHeader: Record "Sales Cr.Memo Header"; var SalesCrMemoLine: Record "Sales Cr.Memo Line"; var VATAmountLine: Record "VAT Amount Line")
  • +local procedure CreateUSReportTotalLines()
  • +local procedure GetTaxSummarizedLines(var TempSalesTaxAmountLine: Record "Sales Tax Amount Line" temporary)
report/5915 "Service Document - Test" +4
  • +local event OnBeforeCalculateSalesTax(var ServiceHeader: Record "Service Header"; var SalesTaxAmountLine: Record "Sales Tax Amount Line"; var SalesTaxCalculationOverridden: Boolean)
  • +procedure RunOnBeforeCalculateSalesTax(var ServiceHeader: Record "Service Header"; var SalesTaxAmountLine: Record "Sales Tax Amount Line"; var SalesTaxCalculationOverridden: Boolean)
  • +procedure RunOnAfterCheckServiceDoc(ServiceHeader: Record "Service Header"; var ErrorText: array[99] of Text[250]; var ErrorCounter: Integer)
  • +procedure RunOnBeforeCheckType(ServiceLine: Record "Service Line"; var ErrorCounter: Integer; var ErrorText: array[99] of Text[250])
table/1019 "Job Difference Buffer" +4
  • +field(10010; "Budgeted Quantity"; Decimal)
  • +field(10011; "Budgeted Total Cost"; Decimal)
  • +field(10012; "Budgeted Line Amount"; Decimal)
  • +field(10013; "Description"; Text[50])
table/113 "Sales Invoice Line" +4
  • +field(10000; "Package Tracking No."; Text[50])
  • +field(10001; "Retention Attached to Line No."; Integer)
  • +field(10002; "Retention VAT %"; Decimal)
  • +field(10003; "Custom Transit Number"; Text[30])
table/17 "G/L Entry" +3, 1 changed
  • +field(10018; "STE Transaction ID"; Text[20])
  • +field(10019; "GST/HST"; Enum "GST HST Tax Type")
  • +key(Key14; "Dimension Set ID")
  • Δkey(Key13; "External Document No.", "Posting Date")
table/25 "Vendor Ledger Entry" +2, 2 changed
  • +field(10020; "IRS 1099 Code"; Code[10])
  • +field(10021; "IRS 1099 Amount"; Decimal)
  • Δkey(Key4; "Document No.", "Document Type", "Vendor No.")
  • Δkey(Key5; "External Document No.", "Document Type", "Vendor No.")
table/287 "Customer Bank Account" +2, 2 changed
  • +field(10000; "Use for Electronic Payments"; Boolean)
  • +field(27000; "Bank Code"; Code[3])
  • Δfield(14; "Bank Account No."; Text[30])
  • Δfield(24; "IBAN"; Code[50])
table/290 "VAT Amount Line" +3, 1 changed
  • +field(10001; "Tax Area Code"; Code[20])
  • +procedure GetAmtSubjectToSalesTax(): Decimal
  • +procedure GetAmtExemptFromSalesTax(): Decimal
  • Δkey(Key1; "VAT Identifier", "VAT Calculation Type", "Tax Group Code", "Tax Area Code", "Use Tax", "Positive")
table/5109 "Purchase Header Archive" +4
  • +field(10005; "Ship-to UPS Zone"; Code[2])
  • +field(10017; "Provincial Tax Area Code"; Code[20])
  • +field(10018; "STE Transaction ID"; Text[20])
  • +field(10020; "IRS 1099 Code"; Code[10])
table/5200 "Employee" +2, 2 changed
  • +field(10023; "RFC No."; Code[13])
  • +field(10025; "License No."; Code[20])
  • Δfield(57; "Bank Account No."; Text[30])
  • Δfield(58; "IBAN"; Code[50])
codeunit/11 "Gen. Jnl.-Check Line" +1, 2 removed
  • +local procedure CheckElectronicPaymentFields(GenJnlLine: Record "Gen. Journal Line"; BankAccountNo: Code[20])
  • −local procedure CheckElectronicPaymentFields(GenJnlLine: Record "Gen. Journal Line")
  • −local procedure CheckTransmitted(GenJnlLine: Record "Gen. Journal Line"): Boolean
codeunit/444 "Purchase-Post Prepayments" +3
  • +local procedure CheckTaxGroupCodeOnLines(PurchaseHeader: Record "Purchase Header")
  • +procedure PrepmtAmount(PurchLine: Record "Purchase Line"; DocumentType: Option Invoice,"Credit Memo",Statistic; IncludeTax: Boolean): Decimal
  • +procedure UpdateSalesTaxOnLines(var PurchLine: Record "Purchase Line"; IncludeTax: Boolean; PurchHeader: Record "Purchase Header"; DocumentType: Option Invoice,"Credit Memo",Statistic)
codeunit/57 "Document Totals" +3
  • +local event OnBeforePurchaseCalculateTotalsNoRounding(var TempCurrentPurchaseLine: Record "Purchase Line"; var VATAmount: Decimal; var TempTotalPurchaseLine: Record "Purchase Line"; var TaxAreaCode: Code[20]; var IsHandled: Boolean)
  • +local procedure SalesCalculateTotalsNoRounding(var TempCurrentSalesLine: Record "Sales Line"; var VATAmount: Decimal; var TempTotalSalesLine: Record "Sales Line"; TaxAreaCode: Code[20])
  • +procedure PurchaseCalculateTotalsNoRounding(var TempCurrentPurchaseLine: Record "Purchase Line"; var VATAmount: Decimal; var TempTotalPurchaseLine: Record "Purchase Line"; var TaxAreaCode: Code[20])
codeunit/6620 "Copy Document Mgt." +3
  • +local procedure SalesCalcSalesTaxLines(ToSalesHeader: Record "Sales Header")
  • +local procedure InsertTempLineBufer(OldLineNo: Integer; NewLineNo: Integer)
  • +local procedure UpdateRetentionSalesLines(ToSalesHeader: Record "Sales Header")
page/404 "Check Preview" +2, 1 removed
  • +local event OnBeforeFormatTextFieldsForCheck(var CheckToAddr: array[8] of Text[100]; CheckAmount: Decimal; var GenJournalLine: Record "Gen. Journal Line"; var Customer: Record Customer; var BankAccount: Record "Bank Account"; Employee: Record Employee; var Vendor: Record Vendor; Rec: Record "Gen. Journal Line"; var IsHandled: Boolean; var BankAccount2: Record "Bank Account"; CheckDateFormat: Option; DateSeparator: Option; CheckLanguage: Integer; CheckStyle: Option; CheckDateText: Text[30])
  • +local procedure ConcAddr(Addr: array[8] of Text[100]): Text
  • −local event OnBeforeFormatTextFieldsForCheck(var CheckToAddr: array[8] of Text[100]; CheckAmount: Decimal; var GenJournalLine: Record "Gen. Journal Line"; var Customer: Record Customer; var BankAccount: Record "Bank Account"; var Employee: Record Employee; var Vendor: Record Vendor; Rec: Record "Gen. Journal Line"; var IsHandled: Boolean)
report/1305 "Standard Sales - Order Conf." +3
  • +local event OnLineOnAfterGetRecordOnBeforeCalcTotals(var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; var VATAmountLine: Record "VAT Amount Line")
  • +local procedure CreateUSReportTotalLines()
  • +local procedure GetTaxSummarizedLines(var TempSalesTaxAmountLine: Record "Sales Tax Amount Line" temporary)
table/115 "Sales Cr.Memo Line" +3
  • +field(10000; "Package Tracking No."; Text[50])
  • +field(10001; "Retention Attached to Line No."; Integer)
  • +field(10002; "Retention VAT %"; Decimal)
table/1222 "Data Exch. Def" +2, 1 changed
  • +procedure EFTPaymentUpdateCodeunits(): Boolean
  • +local procedure CheckEFTExportFileType()
  • Δprocedure PositivePayUpdateCodeunits(): Boolean
table/222 "Ship-to Address" +3
  • +field(10004; "UPS Zone"; Code[2])
  • +field(27009; "SAT Address ID"; Integer)
  • +procedure GetSATPostalCode(): Code[20]
table/309 "No. Series Line" +3
  • +field(10000; "Series"; Code[10])
  • +field(10001; "Authorization Code"; Integer)
  • +field(10002; "Authorization Year"; Integer)
table/318 "Tax Area" +3
  • +field(10010; "Country/Region"; Option)
  • +field(10011; "Round Tax"; Option)
  • +field(10012; "Use External Tax Engine"; Boolean)
table/32 "Item Ledger Entry" +2, 1 changed
  • +key(Key22; "Item No.", "Variant Code", "Location Code", "Posting Date")
  • +key(Key23; "SystemModifiedAt")
  • Δkey(Key21; "Entry Type", "Item No.", "Variant Code", "Source Type", "Source No.", "Posting Date")
table/320 "Tax Jurisdiction" +3
  • +field(10010; "Country/Region"; Option)
  • +field(10020; "Print Order"; Integer)
  • +field(10030; "Print Description"; Text[30])
codeunit/367 "CheckManagement" +2
  • +local procedure GetVoidingDocumentType(OriginalDocumentType: Enum "Gen. Journal Document Type"): Enum "Gen. Journal Document Type"
  • +local procedure ShouldClearApplnVendorLedgerEntries(GenJournalLine: Record "Gen. Journal Line"): Boolean
codeunit/5987 "Serv-Posting Journals Mgt." +2
  • +local event OnPostSalesTaxToGLOnBeforeGenJnlPostLineRunWithCheck(var GenJnlLine: Record Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Line"; ServiceHeader: Record "Service Header"; var TempSalesTaxAmtLine: Record Microsoft.Finance.SalesTax."Sales Tax Amount Line" temporary)
  • +procedure RunOnPostSalesTaxToGLOnBeforeGenJnlPostLineRunWithCheck(var GenJnlLine: Record Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Line"; ServiceHeader2: Record "Service Header"; var TempSalesTaxAmtLine: Record Microsoft.Finance.SalesTax."Sales Tax Amount Line" temporary)
page/132 "Posted Sales Invoice" +2
  • +local event OnBeforeCalculateSalesTaxStatistics(var SalesInvoiceHeader: Record "Sales Invoice Header")
  • +local procedure UpdateSATCertificateFields()
page/134 "Posted Sales Credit Memo" +2
  • +local event OnBeforeCalculateSalesTaxStatistics(var SalesCrMemoHeader: Record "Sales Cr.Memo Header")
  • +local procedure UpdateSATCertificateFields()
page/232 "Apply Customer Entries" +1, 1 removed
  • +local event OnBeforeHandledChosenEntries(Type: Option Direct,GenJnlLine,SalesHeader; CurrentAmount: Decimal; CurrencyCode: Code[10]; PostingDate: Date; var AppliedCustLedgerEntry: Record "Cust. Ledger Entry"; var IsHandled: Boolean; var CustLedgEntry: Record "Cust. Ledger Entry"; GenJournalLine: Record "Gen. Journal Line"; var PaymentDiscountAmount: Decimal; var AppliedAmount: Decimal)
  • −local event OnBeforeHandledChosenEntries(Type: Option Direct,GenJnlLine,SalesHeader; CurrentAmount: Decimal; CurrencyCode: Code[10]; PostingDate: Date; var AppliedCustLedgerEntry: Record "Cust. Ledger Entry"; var IsHandled: Boolean; var CustLedgEntry: Record "Cust. Ledger Entry")
page/379 "Bank Acc. Reconciliation" +2
  • +procedure SetSharedTempTable(var TempBankAccReconciliationOnList: Record "Bank Acc. Reconciliation" temporary)
  • +local procedure RefreshSharedTempTable()
page/50 "Purchase Order" +1, 1 removed
  • +local procedure FillRemitToFields(ExecuteCurrPageUpdate: Boolean)
  • −local procedure FillRemitToFields()
page/51 "Purchase Invoice" +1, 1 removed
  • +local procedure FillRemitToFields(ExecuteCurrPageUpdate: Boolean)
  • −local procedure FillRemitToFields()
report/402 "Purchase Document - Test" +1, 1 removed
  • +procedure AddDimToTempLine(PurchLine: Record "Purchase Line"; var TempDimSetEntry: Record "Dimension Set Entry")
  • −procedure AddDimToTempLine(PurchLine: Record "Purchase Line")
report/5902 "Service Quote" +2
  • +local event OnAfterCalculateSalesTax(var ServiceHeaderParm: Record "Service Header"; var ServiceLine: Record "Service Line"; var SalesTaxAmountLineParm: Record "Sales Tax Amount Line")
  • +procedure RunOnAfterCalculateSalesTax(var ServiceHeaderParm: Record "Service Header"; var ServiceLine: Record "Service Line"; var SalesTaxAmountLineParm: Record "Sales Tax Amount Line")
table/1224 "Data Exch. Mapping" 2 changed
  • Δprocedure InsertRecForImport(DataExchDefCode: Code[20]; DataExchLineDefCode: Code[20]; TableId: Integer; NewName: Text[250]; DataExchNoFieldId: Integer; DataExchLineFieldId: Integer)
  • Δprocedure PositivePayUpdateCodeunits(): Boolean
table/125 "Purch. Cr. Memo Line" +2
  • +field(10017; "Provincial Tax Area Code"; Code[20])
  • +field(10022; "IRS 1099 Liable"; Boolean)
table/1829 "Consolidation Account" +2
  • +procedure PopulateAccountsForCA()
  • +procedure PopulateAccountsForUS()
table/204 "Unit of Measure" +2
  • +field(27000; "SAT UofM Classification"; Code[10])
  • +field(27001; "SAT Customs Unit"; Code[10])
table/242 "Source Code Setup" +2
  • +field(10002; "Bank Rec. Adjustment"; Code[10])
  • +field(10003; "Deposits"; Code[10])
table/273 "Bank Acc. Reconciliation" +2
  • +procedure GetTempCopy(var BankAccReconciliation: Record "Bank Acc. Reconciliation")
  • +procedure InsertRec(StatementType: Option; BankAccountNo: Code[20])
table/289 "Payment Method" +2
  • +field(27000; "SAT Payment Method Code"; Code[20])
  • +field(27001; "SAT Method of Payment"; Code[10])
table/312 "Purchases & Payables Setup" +2
  • +field(10000; "Combine Special Orders Default"; Option)
  • +field(10001; "Use Vendor's Tax Area Code"; Boolean)
table/5110 "Purchase Line Archive" +2
  • +field(10017; "Provincial Tax Area Code"; Code[20])
  • +field(10022; "IRS 1099 Liable"; Boolean)
table/5741 "Transfer Line" +2
  • +field(10003; "Custom Transit Number"; Text[30])
  • +field(10004; "SAT Customs Document Type"; Code[10])
table/5745 "Transfer Shipment Line" +2
  • +field(10003; "Custom Transit Number"; Text[30])
  • +field(10004; "SAT Customs Document Type"; Code[10])
table/8627 "Config. Setup" +1, 1 changed
  • +field(10010; "Tax Area Code"; Code[20])
  • Δfield(11; "Giro No."; Text[20])
table/9054 "Finance Cue" +2
  • +field(10120; "Bank Reconciliations to Post"; Integer)
  • +field(10121; "Bank Acc. Reconciliations"; Integer)
codeunit/1752 "Data Class. Eval. Data Country" +1
  • +local procedure ClassifyDIOT()
codeunit/1814 "Assisted Setup Subscribers" +1
  • +local procedure UpdateTaxSetupCompleted()
codeunit/229 "Document-Print" +1
  • +procedure PrintBankRecStmt(PostedBankRecHdr: Record "Posted Bank Rec. Header")
codeunit/5912 "ServLedgEntries-Post" 1 removed
  • −local procedure OnPreviewableLedgerEntry(TableNo: Integer; var IsPreviewable: Boolean)
codeunit/5986 "Serv-Amounts Mgt." +1
  • +procedure DivideAmount(QtyType: Option General,Invoicing,Shipping; ServLineQty: Decimal; var ServiceHeader: Record "Service Header"; var ServiceLine: Record "Service Line"; var TempVATAmountLine: Record "VAT Amount Line"; var TempVATAmountLineRemainder: Record "VAT Amount Line"; var TempServiceLineForSalesTax: Record "Service Line" temporary)
codeunit/815 "Sales Post Invoice" +1
  • +local procedure GetGenPostingSetup(var GenPostingSetup: Record "General Posting Setup"; SalesLine: Record "Sales Line")
codeunit/816 "Purch. Post Invoice" +1
  • +local procedure GetGenPostingSetup(var GenPostingSetup: Record "General Posting Setup"; PurchLine: Record "Purchase Line")
page/130 "Posted Sales Shipment" +1
  • +local procedure UpdateSATCertificateFields()
page/1803 "Assisted Company Setup Wizard" +1
  • +local procedure SetTaxAreaCodeVisible()
page/507 "Blanket Sales Order" 1 removed
  • −local procedure ActivateFields()
page/5743 "Posted Transfer Shipment" +1
  • +local procedure UpdateSATCertificateFields()
report/1322 "Standard Purchase - Order" +1
  • +local procedure FormatBreakdownAmounts(BreakdownLabel: Text; BreakdownAmount: Decimal): Text
report/1408 "Bank Acc. Recon. - Test" +1
  • +local event OnBeforeCopyFromBankAccLedgerEntryOnRemainingAmt(var BankAccReconciliation: Record "Bank Acc. Reconciliation"; var BankAccountLedgerEntry: Record "Bank Account Ledger Entry"; var OutstandingBankTransaction: Record "Outstanding Bank Transaction"; var TempOutstandingBankTransaction: Record "Outstanding Bank Transaction" temporary)
report/29 "Export Acc. Sched. to Excel" +1
  • +local procedure IncludeRow(AccSchedLine: Record "Acc. Schedule Line"): Boolean
report/35 "Document Entries" +1
  • +procedure SetExternal()
report/5900 "Service Order" +1
  • +local event OnAfterCalculateSalesTax(var ServiceHeader: Record "Service Header"; var ServiceLine: Record "Service Line"; var SalesTaxAmountLine: Record "Sales Tax Amount Line")
table/120 "Purch. Rcpt. Header" +1
  • +field(10005; "Ship-to UPS Zone"; Code[2])
table/1200 "Bank Export/Import Setup" 1 changed
  • Δfield(3; "Direction"; Option)
table/271 "Bank Account Ledger Entry" +1
  • +procedure ResetStatementFields(BankAccountNo: Code[20]; StatementNo: Code[20]; StatementType: Option)
table/3 "Payment Terms" +1
  • +field(27000; "SAT Payment Term"; Code[10])
table/319 "Tax Area Line" 1 changed
  • Δfield(4; "Calculation Order"; Integer)
table/327 "Tax Jurisdiction Translation" +1
  • +field(10020; "Print Description"; Text[30])
table/5108 "Sales Line Archive" +1
  • +field(10000; "Package Tracking No."; Text[50])
table/5800 "Item Charge" +1
  • +field(27000; "SAT Classification Code"; Code[10])
table/5902 "Service Line" +1
  • +procedure CalcServSalesTaxLines(var ServiceHeader: Record "Service Header"; var ServiceLine1: Record "Service Line")
table/6661 "Return Receipt Line" +1
  • +field(10000; "Package Tracking No."; Text[50])
table/84 "Acc. Schedule Name" +1
  • +field(10000; "Financial Period Description"; Text[80])
table/9 "Country/Region" +1
  • +field(27000; "SAT Country Code"; Code[10])
table/92 "Customer Posting Group" +1
  • +local procedure IsVATInUse(): Boolean
table/93 "Vendor Posting Group" +1
  • +local procedure IsVATInUse(): Boolean
enum/1222 "Data Exchange Definition Type" body changes only
enum/8 "Country/Region Address Format" body changes only
enum/85 "Acc. Schedule Line Totaling Type" body changes only
enum/89 "Gen. Journal Template Type" body changes only
page/1284 "Outstanding Bank Transactions" body changes only
page/131 "Posted Sales Shpt. Subform" body changes only
page/248 "VAT Registration Config" body changes only
page/9030 "Account Manager Activities" body changes only
page/9036 "Bookkeeper Activities" 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
report/1005 "Job Journal - Test" body changes only
report/110 "Customer - Labels" body changes only
report/120 "Aged Accounts Receivable" body changes only
report/24 "Sales Taxes Collected" body changes only
report/319 "Payments on Hold" body changes only
report/322 "Aged Accounts Payable" body changes only

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

Overview

The Mexican layer is built on the North American code base. It adds a sales tax engine (Tax Area, Tax Jurisdiction, Sales Tax Calculate, sales tax journal), EFT payment exports, bank reconciliation and deposits, plus many NA reports. On top of this come the Mexico-specific features: SAT catalogs and CFDI fields on customers, items, units of measure, fixed assets, and sales, service and transfer documents.

Electronic invoicing is implemented in codeunits such as “E-Invoice Mgt.” and “EInvoice Communication”, with on-premises and SaaS variants and a V2 communication interface. General Ledger Setup holds the SAT certificate, PAC code, PAC environment and CFDI enabled fields. Posted sales and transfer documents carry digital stamp, signed XML and cancellation fields, with ExportEDocument, RequestStampEDocument and CancelEDocument procedures. DIOT is handled by codeunits 27020 to 27022 and vendor and setup page extensions. Electronic accounting uses the Export Accounts codeunits.

Learn documents the features in pages for electronic invoicing, PAC web services, Carta de Porte, DIOT, electronic accounting, tax identification types and VAT recalculation. Several objects (Yodlee, Ceridian payroll, Shopify tax matching, PEPPOL NA) are present as additional layers.

Key points

  • CFDI 4.0 electronic invoicing: SAT certificate, PAC code and environment on General Ledger Setup, digital stamp and cancellation fields on posted sales documents.
  • PAC web services are set up with pages 10455 and 10456, and the Mexican CFDI Wizard guides setup.
  • Carta de Porte: transport, vehicle, trailer, insurer and customs fields on sales and transfer documents, with SAT catalogs for fixed assets and items.
  • DIOT report: setup through Assisted Setup, vendor type of operation, optional withholding tax reporting.
  • Electronic accounting export of chart of accounts, trial balance and journal transactions to SAT using SAT Account Code on G/L Account.
  • RFC and CURP tax identification types on customers, vendors and company information, with an RFC No. field also added on employees.
  • VAT recalculation and unrealized VAT handling for foreign currency payments, added in Gen. Jnl.-Post Line.
  • EFT export codeunits (ACH, RB, Cecoban, IAT) and bank deposits and reconciliation, plus North American sales tax calculation with external tax engine hooks.

Narrative written by Sonnet from the code diff and 12 Learn page summaries. In numbers: Mexico (MX) localization of Business Central in BC29: 611 objects of its own, 147 W1 objects changed (526 fields and 103 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
Finance 28 104 84
eServices 0 124 0
Bank 14 108 22
Sales 35 74 237
Purchases 24 42 66
Inventory 10 31 75
Service 8 31 0
Integration 0 24 0
(no namespace) 0 22 0
Projects 2 15 4
Foundation 10 6 26
Payroll 0 14 0
Utilities 6 5 0
Peppol 0 5 0
IO 4 0 1
Microsoft 0 4 0
Security 4 0 0
HumanResources 1 2 2
FixedAssets 1 0 9

Finance

Adds the sales tax engine (Tax Area, Tax Jurisdiction, Sales Tax Calculate with external tax engine procedures), the sales tax journal, and DIOT codeunits. Adds SAT account code fields on G/L Account and CFDI exemption fields on VAT Posting Setup. General Ledger Setup holds the CFDI and PAC settings, and Gen. Jnl.-Post Line gets unrealized VAT and realized gain/loss procedures.

Why: Learn describes DIOT reporting of VAT from vendor purchases to SAT and VAT recalculation on foreign currency payments.

Objects: table/98 “General Ledger Setup”, codeunit/12 “Gen. Jnl.-Post Line”, codeunit/398 “Sales Tax Calculate”, table/15 “G/L Account”, table/325 “VAT Posting Setup”, codeunit/27020 “DIOT - Initialize” (own), codeunit/27021 “DIOT Data Management” (own), table/254 “VAT Entry”.

All 132 objects of Finance in the diff

eServices

Own objects for CFDI electronic invoicing: E-Invoice management, on-premises and SaaS communication, cancel request batches, and a V2 communication interface. Includes SAT catalog pages, the Mexican CFDI Wizard, PAC web service pages, and export of accounts for electronic accounting.

Why: Learn explains that CFDI XML invoices must be stamped through a PAC and that accounting data is exported to SAT.

Objects: codeunit/10145 “E-Invoice Mgt.” (own), codeunit/10146 “EInvoice Communication” (own), codeunit/10174 “EInvoice OnPrem Communication” (own), codeunit/10175 “EInvoice SaaS Communication” (own), page/10455 “PAC Web Services” (own), page/10457 “MX Electronic Invoice Setup” (own), page/27010 “Mexican CFDI Wizard” (own), codeunit/27000 “Export Accounts” (own).

All 124 objects of eServices in the diff

Bank

Adds EFT export codeunits for ACH, RB, Cecoban and IAT formats with Mexico mapping codeunits, bank reconciliation, deposits and check printing support. Bank Account gets export format and e-payment fields, and vendor and customer bank accounts get electronic payment flags.

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

Objects: table/270 “Bank Account”, codeunit/10092 “Export Payments (Cecoban)” (own), codeunit/10096 “Export EFT (Cecoban)” (own), codeunit/10333 “Exp. Mapping Head EFT MX” (own), codeunit/10335 “Exp. Mapping Det EFT MX” (own), codeunit/10098 “Generate EFT” (own), codeunit/10130 “Bank Reconciliation Mgt.” (own), page/370 “Bank Account Card”.

All 122 objects of Bank in the diff

Sales

Adds CFDI, digital stamp, cancellation and Carta de Porte transport fields on Sales Header, posted shipment, invoice and credit memo headers and Cust. Ledger Entry. Customer gets RFC, CURP and CFDI fields. Adds sales tax posting events in Sales-Post and own sales status pages and posting codeunits.

Why: Learn documents electronic invoice generation, foreign trade complement and Carta de Porte for sales documents.

Objects: table/112 “Sales Invoice Header”, table/114 “Sales Cr.Memo Header”, table/110 “Sales Shipment Header”, table/36 “Sales Header”, table/18 “Customer”, table/21 “Cust. Ledger Entry”, codeunit/80 “Sales-Post”, table/37 “Sales Line”.

All 109 objects of Sales in the diff

Purchases

Adds sales tax and provincial tax handling, events and procedures in Purch.-Post and Purchase Line. Vendor gets RFC, CURP and tax identification fields. DIOT page extensions on Purchases setup, vendor card and purchase invoice. Includes many NA purchasing reports.

Why: Learn documents DIOT setup with vendor type of operation and RFC number.

Objects: codeunit/90 “Purch.-Post”, table/39 “Purchase Line”, table/23 “Vendor”, table/38 “Purchase Header”, pageextension/27030 “DIOT Purch. & Payables Setup” (own), pageextension/27031 “DIOT Vendor Card” (own), pageextension/27033 “DIOT Purchase Invoice” (own), table/288 “Vendor Bank Account”.

All 66 objects of Purchases in the diff

Inventory

Transfer Shipment Header gets CFDI stamp fields and Transfer Header gets Carta de Porte transport fields. Item, Item Templ. and Item Charge get SAT classification, hazardous material and packaging fields. Adds vendor locations and NA inventory reports.

Why: Learn describes Carta de Porte packing slips and transfer orders as signed CFDI files.

Objects: table/5744 “Transfer Shipment Header”, table/5740 “Transfer Header”, table/27 “Item”, table/1382 “Item Templ.”, table/5741 “Transfer Line”, table/5745 “Transfer Shipment Line”, codeunit/10461 “Transfer Shpt. Header - Edit” (own), table/5800 “Item Charge”.

All 41 objects of Inventory in the diff

Service

Adds sales tax calculation events in service posting codeunits, NA page and table extensions for service documents, statistics pages and sales tax reports for service orders and quotes.

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

Objects: codeunit/5988 “Serv-Documents Mgt.”, codeunit/5987 “Serv-Posting Journals Mgt.”, codeunit/10288 “Serv-Documents Mgt. NA” (own), report/10470 “Service Order-Sales Tax” (own), report/10471 “Service Quote-Sales Tax” (own), table/5902 “Service Line”, report/5915 “Service Document - Test”.

All 39 objects of Service in the diff

Integration

Shopify tax matching objects (TMA) that map Shopify order tax lines to tax areas and jurisdictions, with review pages, setup extensions and a permission set.

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

Objects: codeunit/30471 “Shpfy TMA Matcher” (own), codeunit/30472 “Shpfy Tax Area Builder” (own), page/30471 “Shpfy TMA Review” (own), tableextension/30470 “Shpfy TMA Shop” (own), tableextension/30481 “Shpfy TMA Tax Jurisdiction” (own), permissionset/30470 “Shpfy TMA” (own).

All 24 objects of Integration in the diff

(no namespace)

Holds the CFDI Subject to Tax table, page and XML port, DIOT type of operation enum, bank reconciliation permission sets and profiles. Also holds upgrade codeunits for CFDI, EFT, sales tax and RFC numbers.

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

Objects: table/27008 “CFDI Subject to Tax” (own), page/27008 “CFDI Subjects to Tax” (own), xmlport/27008 “CFDI Subject to Tax” (own), enum/27030 “DIOT Type of Operation” (own), report/10408 “Bank Reconciliation” (own), permissionset/27004 “BANKREC-POST” (own).

All 22 objects of (no namespace) in the diff

Projects

Adds NA job and resource reports and extends Job Difference Buffer with budget fields.

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

Objects: table/1019 “Job Difference Buffer”, report/10210 “Job Actual to Budget (Cost)” (own), report/10211 “Job Actual to Budget (Price)” (own), report/10215 “Job Cost Budget” (own), report/10219 “Job Cost Suggested Billing” (own).

All 17 objects of Projects in the diff

Foundation

Company Information gets RFC, CURP, tax scheme, SAT tax regime and postal code fields. Payment Terms, Country/Region and Unit of Measure get SAT code fields. No. Series Line gets series and authorization fields and Source Code Setup gets bank rec and deposit codes.

Why: Learn requires company information and SAT codes to be set up for electronic invoicing.

Objects: table/79 “Company Information”, table/204 “Unit of Measure”, table/309 “No. Series Line”, table/3 “Payment Terms”, table/9 “Country/Region”, table/242 “Source Code Setup”.

All 16 objects of Foundation in the diff

Payroll

Ceridian payroll import: setup table and page, import XML port, management codeunits and permission set extensions.

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

Objects: codeunit/1668 “MS Ceridian Payroll Mgt.” (own), page/1665 “MS - Ceridian Payroll Setup” (own), table/1665 “MS Ceridian Payroll Setup” (own), xmlport/1661 “Import Ceridian Payroll” (own).

All 14 objects of Payroll in the diff

Utilities

Adds sales tax aware procedures in Document Totals and Copy Document Mgt., including retention lines. Includes a DIOT data classification procedure and tax setup assisted wizard changes.

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

Objects: codeunit/57 “Document Totals”, codeunit/6620 “Copy Document Mgt.”, codeunit/1814 “Assisted Setup Subscribers”, codeunit/1752 “Data Class. Eval. Data Country”, page/1803 “Assisted Company Setup Wizard”.

All 11 objects of Utilities in the diff

Peppol

North American PEPPOL 3.0 codeunits with install, upgrade and subscribers, plus a format enum extension.

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

Objects: codeunit/37350 “PEPPOL30 NA” (own), codeunit/37353 “PEPPOL30 NA Subscribers” (own), enumextension/37350 “PEPPOL 3.0 Format NA” (own).

All 5 objects of Peppol in the diff

IO

Data Exch. Def gets EFT export procedures, and Config. Setup gets a Tax Area Code field.

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

Objects: table/1222 “Data Exch. Def”, table/8627 “Config. Setup”, enum/1222 “Data Exchange Definition Type”, table/1224 “Data Exch. Mapping”.

All 4 objects of IO in the diff

Microsoft

B10 Adjustment table and page and Declaration 347 and 349 label reports.

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

Objects: table/10240 “B10 Adjustment” (own), page/10240 “B10 Adjustments” (own), report/14022 “Declaration 347 Labels” (own), report/14023 “Declaration 349 Labels” (own).

All 4 objects of Microsoft in the diff

Security

Changes the LOCAL and LOCAL READ permission sets and the payables journal permission 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”, permissionset/3602 “Payables Journals - Post”, permissionset/8824 “Payables Journals - Edit”.

All 4 objects of Security in the diff

HumanResources

Employee gets RFC No. and License No. fields. Adds Human Resources and Payroll role centers.

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

Objects: table/5200 “Employee”, page/36600 “Human Resources Role Center” (own), page/36601 “Payroll Role Center” (own).

All 3 objects of HumanResources in the diff

FixedAssets

Fixed Asset gets vehicle and SAT autotransport fields: plate, year, gross weight, trailer type and SCT permission fields.

Why: Learn covers vehicle configuration and SCT permission setup for Carta de Porte.

Objects: table/5600 “Fixed Asset”.

All 1 objects of FixedAssets in the diff

Objects of its own

611 objects only this country has.

Other versions

  • BC30: 758 objects differ from W1 (526 fields, 104 events added)

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