Fixes
The topics below describe previously known issues fixed with this release.
Cross Contamination of Reporting Data (542253)
An issue was identified in Determination where a transaction from one customer updated the transaction of another customer in a different hosted tenant. This affected only the reporting database tables, not the audited transactions.
Uniqueness of an invoice is based on the combination of HOST_SYSTEM, CALLING_SYSTEM_NUMBER, and UNIQUE_INVOICE_NUMBER. This failed to consider cases where similar values could be contained in the transaction belonging to a customer hosted in a different tenant. A customer hosted in one tenant could have unintentionally updated a transaction for a different tenant and caused the invoice to be reported as a reversal transaction.
To ensure uniqueness in transactions across all tenants, MERCHANT_ID is additionally included as a parameter to uniquely identify transactions within Determination.
Audited Data Missing in Reports if LINE_NUMBER Is Repeated – Revised Error Messaging (508632)
In the previous release, an error message was added that was generated from the tax engine if a line number (<LINE_NUMBER> within <LINE ID = >) was repeated for an invoice. The ERP is responsible to ensure that the LINE_NUMBER in the tax request is unique.
In the previous release, the transaction was blocked from processing by the tax engine if the LINE_NUMBER was repeated. An error message was returned by the tax engine but the message did not clearly identify the invoice. Information that clearly identifies the invoice is now added and should display as follows:
<faultstring>com.sabrix.error.DeterminationRuntimeException: Could not save audit having [Invoice UUID: null, UniqueInvoiceNumber: UNIQUE_INVOICE_NUMBER present in the request or else automatically generated, Merchant ID: Database ID of the company, Merchant Name: company name] as a result of [type: PSQLException, message: ERROR: duplicate key value violates unique constraint "table name"
Detail: Key (invoice_id, line_num)=(Database ID of the invoice, line number that is repeating) already exists.]. Line number line number repeats in invoice number transaction invoice number with invoice date date of the invoice</faultstring>
Tax Amount Rounding Issues with Reverse From Tax Calculations (522792 and 616145)
For the
Reverse From Tax
calculation method, the invoice already includes the line Gross Amount and the line Tax Amount, and Determination is supposed to recalculate the invoice Total Gross Amount and Total Tax Amount based on those input elements. There was an issue where the input line Tax Amount and the recalculated invoice Total Tax Amount did not match (a penny difference in some cases). This is now corrected.
The recalculated invoice Total Gross Amount may not always match with the input line Gross Amount due to the calculation logic followed by Determination for Reverse From Tax calculations. This is a known fact that is already documented in the ONESOURCE Determination help.
Incorrect Document Rounding for Reverse Charge Transactions (351246)
The Determination tax engine was incorrectly rounding reverse charge lines when a reverse charge line was included along with other forward charge lines in a document. This occurred when document rounding was enabled and impacted both input and output tax blocks of the line(s) subject to reverse charge (RC).
This issue is fixed. Determination now correctly applies rounding to only the forward charge tax amounts.
Related Line Functionality for Exemption Certificates (464958)
When using the Related Line functionality (where a line, such as line 2, is related to another line, such as line 1) the expectation is that the taxability of line 1 is followed by line 2. This should be the same case when an exemption certificate is applied to line 1 (even if it is condition-based) so that the exemption conditions are applied to line 2.
Zone Alias Performance Improvements (511757)
Improvements were made to the Zone Alias functionality where the tax engine reduces the number of database calls made. This results in better performance when the Zone Alias functionality is used in a transaction.
Inclusive_Tax_Indicator Not Working Correctly (334783)
In a transaction, when the value of LINE.INCLUSIVE_TAX_INDICATOR is passed as Yes (Y), or setup as Yes (Y) using configurations, then tax engine should calculate and separate the line Taxable_Amount and Tax_Amount correctly as per applicable tax rates. This was not working and returned incorrect results.
Null Pointer Exception if Country Not Part of Standard Tax Content Support (445499)
If the transaction includes a country name that is not support in the standard tax content (meaning there is no 2 CHAR, 3 CHAR or ISO codes) and the terminate processing check box is also not selected, then tax engine returned a Null Pointer Exception error for those transactions.
This issue is fixed. The transaction will not cause an NPE error even if it failed to return a tax result.
TransEditor Condition to Copy Buyer Registration Number from Invoice to Line Level Was Not Triggered (482815 and 498172)
The following TransEditor was set up to copy a buyer registration number from the invoice level to the line level:
LINE.REGISTRATIONS.BUYER_ROLE = INVOICE.REGISTRATIONS.BUYER_ROLE
It was not triggered within a transaction. This is fixed.
Brazil - Calculation of Brazil ISS Authority for Services Transactions with Brazil - Alternative Taxable Basis (523857)
When the Brazil - Alternative Taxable Basis company admin option is set to ICMS_EXCLUDE, it should not impact the taxable basis for PIS and COFINS for operations different from Goods transactions.
The following fix was made to the factor formula used for calculating the taxes in services transaction: Factor = 100% - PIS rate - COFINS rate - ISS rate
Brazil - Null Pointer Exception when Calculation Direction Switched from Forward to Reverse from Total (499554)
A blank page was caused by a null pointer exception, which occurred due to the gross amount used for the ICMS-ST calculation being zero after switching to a reverse from total. This error is fixed.
Brazil Reduction Basis in ICMS RD Rule Brings Wrong FCEP Tax Amount with Alternative Company Admin Option Set (499765)
A fix was made for the FCEP tax amount for the interstate operation when the ICMS-RD has a reduction basis with Brazil - Alternative Taxable Basis company admin option.
Brazil - Displaying Incorrect FCEP-ST Tax Amount when There Is a Reduction Basis for that Authority (521538)
A fix was made for the FCEP-ST tax amount formula during intrastate scenarios when the FCEP II has a reduction basis percentage.
The corrected formula is: FCEP-ST tax amount = (FCEP-ST tax rate x FCEP-ST taxable basis) - FCEP II tax amount where FCEP II tax amount = FCEP II taxable basis amount FCEP II tax rate percentage.
Brazil - Incorrect Result for ICMS-ST and FCEP-ST when There Is a Reduction in FCEP II and ICMS (Ship From) for Intrastate Scenarios (708913)
A fix was made to correct the ICMS-ST and FCEP-ST tax amounts for intrastate scenarios when FCEP II has a reduction basis percentage added and the FCEP -ST tax amount was incorrect.
FCEP-ST tax amount = (FCEP-ST percentage rate x FCEP-ST taxable basis amount) - ((Gross amount x FCEP II taxable basis percentage) x FCEP II percentage rate)
ICMS-ST tax amount = (ICMS-ST percentage rate x ICMS-ST taxable basis amount) - ((Gross amount x ICMS taxable basis percentage) x ICMS percentage rate)
If the Brazil - Alternative Taxable Basis company admin option is not set or is blank and for the alternative taxable basis and PIS and COFINS taxable basis
The inclusive and standard calculation methods
Brazil - Cases with Reduction in Any Authority Provides Wrong Result with Desonerado (477144)
A fix was made for all the cases when a reduction basis percentage is configured in ICMS, FCEP II, ICMS-RD or ICMS-RD ST authorities as part of Desonerado calculations.
Brazil - Model Scenarios Import/Export Functionality - Values in Overrides - Calcs (PMPF, PMC) Are Not Retained (369299)
With this fix, the values of PF, PMPF, PMC or PMVG provided in the line level are retained after exporting the same company to a different environment.
Tax Jurisdiction Flow for Non-U.S. Child Companies (456861)
We updated the flow for adding an establishment for non-U.S. child companies. A warning, which indicates the child company is inheriting data from parent company, displays then the Tax Jurisdiction page of the parent company displays.
Returning User Recently Searched Data (493900 and 493902)
In custom fields and on the Products and Services page where the new search and filter box was added, the applied and unapplied filter tags and the filtered records from the most recently performed search and filter are retained when a user returns to the page from another application page or a tab on the same page.
Performance Improvement on the Tax Jurisdiction Pages (390652, 523007, 523008, 523009, 523010 and 690563)
For many companies, the amount of time that elapsed when displaying results in the user interface was significantly reduced after the logic was optimized in the tax engine code and the API calls associated with the Tax Jurisdiction pages.
Performance Improvement on Users Pages (520732, 522999 and 660073)
With this release, performance improved on the Users and Roles page (which lists users) and the Assign and Manage Roles page (which is used for editing users) by optimizing the code and the API calls.
Performance Improvement on the Model Scenario Page (521834)
As part of the performance enhancements implemented with this release and to enhance the user experience, the amount of time that elapsed when loading the Model Scenario page (which lists the Model Scenarios) was significantly reduced.
Performance Improvement for Mappings (810625)
As part of the performance enhancements implemented with this release and to enhance the user experience, the amount of time that elapsed when loading the
Standard Mappings, Conditional Mappings and Custom Product Categories
tabs was significantly reduced.