diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/cart/CartSetCartTotalTaxAction.java b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/cart/CartSetCartTotalTaxAction.java
index a89aa80e6ed..c102be0b209 100644
--- a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/cart/CartSetCartTotalTaxAction.java
+++ b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/cart/CartSetCartTotalTaxAction.java
@@ -17,7 +17,7 @@
import io.vrap.rmf.base.client.utils.Generated;
/**
- *
This update action results in the taxedPrice
field being added to the Cart when the ExternalAmount
TaxMode is used.
+ * Can be used if the Cart has the ExternalAmount
TaxMode. This update action adds the taxedPrice
field to the Cart and must be used after any price-affecting change occurs within the Cart.
*
*
* Example to create an instance using the builder pattern
diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/cart/CartSetCartTotalTaxActionImpl.java b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/cart/CartSetCartTotalTaxActionImpl.java
index 2901f557f75..d295a8e7408 100644
--- a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/cart/CartSetCartTotalTaxActionImpl.java
+++ b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/cart/CartSetCartTotalTaxActionImpl.java
@@ -17,7 +17,7 @@
import org.apache.commons.lang3.builder.ToStringStyle;
/**
- * This update action results in the taxedPrice
field being added to the Cart when the ExternalAmount
TaxMode is used.
+ * Can be used if the Cart has the ExternalAmount
TaxMode. This update action adds the taxedPrice
field to the Cart and must be used after any price-affecting change occurs within the Cart.
*/
@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen")
public class CartSetCartTotalTaxActionImpl implements CartSetCartTotalTaxAction, ModelBase {
diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/cart/CartSetLineItemTaxAmountAction.java b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/cart/CartSetLineItemTaxAmountAction.java
index fcdf34e0282..325c95ff35c 100644
--- a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/cart/CartSetLineItemTaxAmountAction.java
+++ b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/cart/CartSetLineItemTaxAmountAction.java
@@ -14,7 +14,7 @@
import io.vrap.rmf.base.client.utils.Generated;
/**
- * Can be used if the Cart has the ExternalAmount
TaxMode.
+ * Can be used if the Cart has the ExternalAmount
TaxMode. This update action sets the taxedPrice
and taxRate
on a Line Item and must be used after any price-affecting change occurs.
*
*
* Example to create an instance using the builder pattern
diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/cart/CartSetLineItemTaxAmountActionImpl.java b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/cart/CartSetLineItemTaxAmountActionImpl.java
index edb5fe5620d..6b1aa34c72b 100644
--- a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/cart/CartSetLineItemTaxAmountActionImpl.java
+++ b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/cart/CartSetLineItemTaxAmountActionImpl.java
@@ -17,7 +17,7 @@
import org.apache.commons.lang3.builder.ToStringStyle;
/**
- * Can be used if the Cart has the ExternalAmount
TaxMode.
+ * Can be used if the Cart has the ExternalAmount
TaxMode. This update action sets the taxedPrice
and taxRate
on a Line Item and must be used after any price-affecting change occurs.
*/
@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen")
public class CartSetLineItemTaxAmountActionImpl implements CartSetLineItemTaxAmountAction, ModelBase {
diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/cart/TaxMode.java b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/cart/TaxMode.java
index 696a349e46b..d3de4dbe3a8 100644
--- a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/cart/TaxMode.java
+++ b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/cart/TaxMode.java
@@ -17,20 +17,39 @@
public interface TaxMode extends JsonEnum {
/**
- Tax Rates are selected automatically from the TaxCategories based on the Cart shippingAddress
. This is the default tax mode for a new Cart.
- totalNet
, totalGross
, and taxPortions
fields are calculated based on the taxRoundingMode
.
*/
+
+ Tax Rates are selected automatically from the TaxCategories based on the Cart shippingAddress
. This is the default tax mode for a new Cart.
+ The totalNet
, totalGross
, and taxPortions
fields are calculated based on the taxRoundingMode
.
+
*/
TaxMode PLATFORM = TaxModeEnum.PLATFORM;
/**
- Tax Rates are set externally per ExternalTaxRateDraft. A Cart can be ordered only if all Line Items, Custom Line Items, and the Shipping Method have an external Tax Rate set.
- totalNet
, totalGross
, and taxPortions
fields are calculated based on the taxRoundingMode
.
*/
+
+ Tax Rates are set externally with ExternalTaxRateDraft. A Cart can be ordered only if all Line Items, Custom Line Items, and the Shipping Method have an external Tax Rate set.
+ The totalNet
, totalGross
, and taxPortions
fields are calculated based on the taxRoundingMode
.
+
*/
TaxMode EXTERNAL = TaxModeEnum.EXTERNAL;
/**
- Tax amounts, Tax Rates, and tax portions are set externally per ExternalTaxAmountDraft. A Cart can be ordered only if the Cart and all Line Items, Custom Line Items, and the Shipping Method have an external tax amount and rate set.
- Price-specific update actions on Carts require external recalculation of the total gross price. Hence, the externalTaxAmount
is removed in these cases and must be reset with Set LineItem TaxAmount, Set CustomLineItem TaxAmount, or Set ShippingMethod TaxAmount update actions. Also the Cart taxedPrice
field must be explicitly set via Set Cart Total Tax. Since the API currently does not offer an update action for setting the taxedShippingPrice
field of a Cart with ExternalAmount
tax mode, it will always be empty.
*/
+
+ Tax amounts, Tax Rates, and tax portions are set externally with ExternalTaxAmountDraft. A Cart can be ordered only if the Cart and all Line Items, Custom Line Items, and the Shipping Method have an external tax amount and rate set.
+ The Cart taxedPrice
field must be set using Set Cart Total Tax. The Cart taxedShippingPrice
field is always empty in this tax mode.
+ Price-affecting update actions on Carts require external recalculation of the total gross price. In these cases, taxedPrice
and taxRate
are removed and must be set again. The order in which the individual update actions are issued is important:
+
+ Issue the price-affecting update action(s).
+ Update the tax amounts using Set LineItem TaxAmount, Set CustomLineItem TaxAmount, or Set ShippingMethod TaxAmount.
+
+ If the update action changes the Line Item price, for Line Items with Platform
LineItemPriceMode, you must issue Set LineItem TaxAmount in a separate request.
+ If the update action removes the externally set tax amount for the Shipping Method, you must issue Set ShippingMethod TaxAmount in a separate request.
+
+ Update the taxedPrice
on Cart using Set Cart Total Tax.
+
+ Tax-inclusive pricing should be avoided when using TaxMode ExternalAmount
because taxedItemPrice.totalNet
is automatically set by the platform to the Line Item's totalPrice
.
+
*/
TaxMode EXTERNAL_AMOUNT = TaxModeEnum.EXTERNAL_AMOUNT;
/**
- No taxes are added to the Cart.
- Note that this tax mode cannot be set on the My Carts API.
*/
+
+ - No taxes are added to the Cart.
+ - This tax mode cannot be set on the My Carts API.
+
*/
TaxMode DISABLED = TaxModeEnum.DISABLED;
/**
diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/order_edit/StagedOrderSetLineItemTaxAmountAction.java b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/order_edit/StagedOrderSetLineItemTaxAmountAction.java
index 6e35e9ca684..1315d8a1bd4 100644
--- a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/order_edit/StagedOrderSetLineItemTaxAmountAction.java
+++ b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/order_edit/StagedOrderSetLineItemTaxAmountAction.java
@@ -16,7 +16,7 @@
import io.vrap.rmf.base.client.utils.Generated;
/**
- * Can be used if the Cart has the ExternalAmount
TaxMode.
+ * Can be used if the Cart has the ExternalAmount
TaxMode. This update action sets the taxedPrice
and taxRate
on a Line Item and must be used after any price-affecting change occurs.
*
*
* Example to create an instance using the builder pattern
diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/order_edit/StagedOrderSetLineItemTaxAmountActionImpl.java b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/order_edit/StagedOrderSetLineItemTaxAmountActionImpl.java
index 6aaea7d1446..d8c745a9388 100644
--- a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/order_edit/StagedOrderSetLineItemTaxAmountActionImpl.java
+++ b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/order_edit/StagedOrderSetLineItemTaxAmountActionImpl.java
@@ -17,7 +17,7 @@
import org.apache.commons.lang3.builder.ToStringStyle;
/**
- * Can be used if the Cart has the ExternalAmount
TaxMode.
+ * Can be used if the Cart has the ExternalAmount
TaxMode. This update action sets the taxedPrice
and taxRate
on a Line Item and must be used after any price-affecting change occurs.
*/
@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen")
public class StagedOrderSetLineItemTaxAmountActionImpl implements StagedOrderSetLineItemTaxAmountAction, ModelBase {
diff --git a/references.txt b/references.txt
index 8fad15c62aa..923a504c0c5 100644
--- a/references.txt
+++ b/references.txt
@@ -238,3 +238,4 @@ cdb527e0fe5524d6c7411066fca556e1b3403003
f1d13dc3acf6960cda08494da701d04a46f9eb3f
eac13cfcb88a83f4f4e977ba51c0b11e458cff61
6abab3f555aab9f5aa5b8a1b551235188fbb9201
+1b650bc8eb1a78c3487484900b1e36d06226c6e2