Guide - IOM 3.4 Migration for Tax Enhancements

Product Version

3.4

Product To Version

3.4
Status

final

1 TaxTypeDefDO

The enumeration TaxTypeDefDO has been transformed into to a standard entity and has been moved from package bakery.persistence.dataobject.common to package bakery.persistence.dataobject.configuration.shop.

The previous values are still available, but they are now final static instances of TaxTypeDefDO. You cannot compare them as previously to other instances as they are like copies of the persisted values. Comparison should now be made using the IDs ( taxTypeDefDO.getId() ==  ? ).

The corresponding entities are still part of the initial dump.

  1. INTERMEDIATE_TAX
  2. LOW_TAX
  3. NORMAL_TAX
  4. SERVICE
  5. VERY_LOW_TAX
  6. NO_TAX

Please also check Guide - IOM 3.4 Deprecations and Removals.

2 SupplierDO

The method SupplierDO.getTaxTypeDefDOBySupplierTaxTypeName still exists, but the fallback to the core tax-type names has been removed as it would require a persistence access for types that are not predefined (see list above 1..6).

Also, the NoObjectException is now thrown as soon as no corresponding mapping exists in Supplier2TaxTypeDefDO.

Please also check Guide - IOM 3.4 Deprecations and Removals.

3 ArticleSupplierShopDO and ClassificationTaxMappingDO

The method setTaxTypeDefRef of ArticleSupplierShopDO and ClassificationTaxMappingDO is deprecated and throws an exception if you call it with a ref > 6.

throw new TechnicalException("setTaxTypeDefRef in ArticleSupplierShopDO has been called with a non core taxTypeDefRef(1-6). Should use setTaxTypeDefDO instead.");

4 TaxDO

The now deprecated methods get|setCountryRef() and get|setCountryDefDO() of TaxDO were replaced by a new free location-string. Use get|setLocation() instead.

The attributes validFrom and validUntil (used by getters and setters) are now optional, but you cannot have only one null.

Unknown or non-matching taxes of order REST API-requests (POST) now cause new TaxDO-entries to be created on the fly as long as a rate is provided. In this case validFrom and validUntil are set to null.
When the rate is not provided, the old behavior is used and a predefined TaxDO with a valid time range must exist, otherwise the order is rejected.

Please also check Guide - IOM 3.4 Deprecations and Removals.

5 getTaxesPerCountry()

The methods getTaxesPerCountry at different classes where used to return the taxes tied to a shop's country, and it has became too limited for the new tax improvements. It was apparently only used in context of OMT, hence no impact on projects is expected.

Please also check Guide - IOM 3.4 Deprecations and Removals.

Disclaimer

The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Web site, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.

Customer Support
Knowledge Base
Product Resources
Tickets