|
17 | 17 | public interface TaxMode extends JsonEnum {
|
18 | 18 |
|
19 | 19 | /**
|
20 |
| - <p>Tax Rates are selected automatically from the TaxCategories based on the Cart <code>shippingAddress</code>. This is the default tax mode for a new Cart.</p> |
21 |
| - <p><code>totalNet</code>, <code>totalGross</code>, and <code>taxPortions</code> fields are calculated based on the <code>taxRoundingMode</code>.</p> */ |
| 20 | + <ul> |
| 21 | + <li><p>Tax Rates are selected automatically from the TaxCategories based on the Cart <code>shippingAddress</code>. This is the default tax mode for a new Cart.</p></li> |
| 22 | + <li><p>The <code>totalNet</code>, <code>totalGross</code>, and <code>taxPortions</code> fields are calculated based on the <code>taxRoundingMode</code>.</p></li> |
| 23 | + </ul> */ |
22 | 24 | TaxMode PLATFORM = TaxModeEnum.PLATFORM;
|
23 | 25 | /**
|
24 |
| - <p>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.</p> |
25 |
| - <p><code>totalNet</code>, <code>totalGross</code>, and <code>taxPortions</code> fields are calculated based on the <code>taxRoundingMode</code>.</p> */ |
| 26 | + <ul> |
| 27 | + <li><p>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.</p></li> |
| 28 | + <li><p>The <code>totalNet</code>, <code>totalGross</code>, and <code>taxPortions</code> fields are calculated based on the <code>taxRoundingMode</code>.</p></li> |
| 29 | + </ul> */ |
26 | 30 | TaxMode EXTERNAL = TaxModeEnum.EXTERNAL;
|
27 | 31 | /**
|
28 |
| - <p>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.</p> |
29 |
| - <p>Price-specific update actions on Carts require external recalculation of the total gross price. Hence, the <code>externalTaxAmount</code> 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 <code>taxedPrice</code> field must be explicitly set via Set Cart Total Tax. Since the API currently does not offer an update action for setting the <code>taxedShippingPrice</code> field of a Cart with <code>ExternalAmount</code> tax mode, it will always be empty.</p> */ |
| 32 | + <ul> |
| 33 | + <li><p>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.</p></li> |
| 34 | + <li><p>The Cart <code>taxedPrice</code> field must be set using Set Cart Total Tax. The Cart <code>taxedShippingPrice</code> field is always empty in this tax mode.</p></li> |
| 35 | + <li><p>Price-affecting update actions on Carts require external recalculation of the total gross price. In these cases, <code>taxedPrice</code> and <code>taxRate</code> are removed and must be set again. The order in which the individual update actions are issued is important:</p> |
| 36 | + <ol> |
| 37 | + <li><p>Issue the price-affecting update action(s).</p></li> |
| 38 | + <li><p>Update the tax amounts using Set LineItem TaxAmount, Set CustomLineItem TaxAmount, or Set ShippingMethod TaxAmount.</p> |
| 39 | + <ul> |
| 40 | + <li><p>If the update action changes the Line Item price, for Line Items with <code>Platform</code> LineItemPriceMode, you must issue Set LineItem TaxAmount in a <em>separate</em> request.</p></li> |
| 41 | + <li><p>If the update action removes the externally set tax amount for the Shipping Method, you must issue Set ShippingMethod TaxAmount in a <em>separate</em> request.</p></li> |
| 42 | + </ul></li> |
| 43 | + <li><p>Update the <code>taxedPrice</code> on Cart using Set Cart Total Tax.</p></li> |
| 44 | + </ol></li> |
| 45 | + <li><p>Tax-inclusive pricing should be avoided when using TaxMode <code>ExternalAmount</code> because <code>taxedItemPrice.totalNet</code> is automatically set by the platform to the Line Item's <code>totalPrice</code>.</p></li> |
| 46 | + </ul> */ |
30 | 47 | TaxMode EXTERNAL_AMOUNT = TaxModeEnum.EXTERNAL_AMOUNT;
|
31 | 48 | /**
|
32 |
| - <p>No taxes are added to the Cart.</p> |
33 |
| - <p>Note that this tax mode cannot be set on the My Carts API.</p> */ |
| 49 | + <ul> |
| 50 | + <li>No taxes are added to the Cart.</li> |
| 51 | + <li>This tax mode cannot be set on the My Carts API.</li> |
| 52 | + </ul> */ |
34 | 53 | TaxMode DISABLED = TaxModeEnum.DISABLED;
|
35 | 54 |
|
36 | 55 | /**
|
|
0 commit comments