In many D365FO implementations (especially India GST projects), we often need: Line-wise Other Charges Tax Amount Split into IGST, CGST, and SGST For Posted Customer Invoice Lines (CustInvoiceTrans) By default, D365FO stores: Invoice Lines → CustInvoiceTrans Charges → MarkupTrans Tax → TaxTrans To get accurate charges tax per invoice line, we must follow proper table relation hierarchy. π Table Relationship Structure CustInvoiceTrans → MarkupTrans → TaxTrans Relationship Logic: MarkupTrans.TransTableId == tableNum(CustInvoiceTrans) MarkupTrans.TransRecId == CustInvoiceTrans.RecId TaxTrans.SourceTableId == tableNum(MarkupTrans) TaxTrans.SourceRecId == MarkupTrans.RecId This ensures we fetch only Charges Tax , not Item Tax. π§ Business Requirement For each invoice line, we need: IGST Amount CGST Amount SGST Amount Converted to positive value (if negative) π» X++ Code – Line Wise Charges Tax Calculation Cus...
Entire table caching means that Dynamics 365 F&O keeps a full copy of the table in memory (cache) instead of loading records one by one from the database. So, when the table is used, the system does not go to the database every time . It simply reads the data from the in-memory cache , which is much faster. When is Entire Table Caching used? It is best for: Small tables Parameter or setup tables Tables where data does not change very often Example: A table that stores configuration settings (like number sequences or default parameters) is perfect for entire table caching. Why use Entire Table Caching? Improves performance Reduces database calls Faster read operations