From 8b4edd715fee64389f41ba7f27788466735f6afd Mon Sep 17 00:00:00 2001 From: Marcus Sung Date: Wed, 6 Sep 2023 12:19:09 +1000 Subject: [PATCH 1/5] feat(tax): TAX-1867 Update tax settings documentation for tax zone based price display for storefront --- reference/tax_settings.v3.yml | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/reference/tax_settings.v3.yml b/reference/tax_settings.v3.yml index a5c30a07d..f6908162f 100644 --- a/reference/tax_settings.v3.yml +++ b/reference/tax_settings.v3.yml @@ -146,7 +146,19 @@ components: should_subtract_store_tax: default: true type: boolean - description: This setting applies only if a merchant enters tax-inclusive prices. When enabled, the store subtracts the itemʼs store tax rate before calculating tax using the shopperʼs tax zone. The tax-exclusive amount will be the same across all tax zones. When disabled, the tax-inclusive price remains the same across all tax zones; only the tax amount will vary based on the shopperʼs location. The tax-exclusive amount may vary among tax zones. These calculations are relevant for tax pricing and tax quotations that use basic tax. + description: This setting applies only if a merchant enters tax-inclusive prices. When enabled, the store subtracts the itemʼs store tax rate before calculating tax using the shopperʼs tax zone. The tax-exclusive amount will be the same across all tax zones. When disabled, the tax-inclusive price remains the same across all tax zones; only the tax amount will vary based on the shopperʼs location. The tax-exclusive amount may vary among tax zones. These calculations are relevant for tax pricing and tax quotations that use basic tax. + should_use_geolocation_to_determine_guest_shopper_tax_zone: + default: false + type: boolean + description: When enabled, the guest shopper's geolocation will be used to determine the relevant country-level tax zone for storefront tax estimation. The geolocation data will be used to determine the corresponding tax zone provided in basic tax - once the corresponding tax zone is found, the tax estimation will be applied to the store. + guest_shopper_tax_zone_id: + default: 1 + type: integer + description: Describes which tax zone is used for guest shoppers when requiring storefront tax estimation. When applicable, the guest shopper's geolocation will be used in favour of the guest shopper tax zone. + store_tax_zone_id: + default: 1 + type: integer + description: This setting applies only if a merchant enters tax-inclusive prices and store tax subtraction is enabled. Describes which tax zone to use for store tax subtraction. Tax_Settings_Req: type: object properties: @@ -169,7 +181,7 @@ components: - EXCLUSIVE fallback_strategy: type: string - description: 'Decribes the fallback behaviour that applies when a tax provider produces an error. A merchant may decide to use a flat 10% fallback tax rate, their basic tax settings, or to block the transaction until a successful result can be achieved.' + description: 'Describes the fallback behaviour that applies when a tax provider produces an error. A merchant may decide to use a flat 10% fallback tax rate, their basic tax settings, or to block the transaction until a successful result can be achieved.' enum: - FIXED - BASIC @@ -178,6 +190,18 @@ components: default: true type: boolean description: This setting applies only if a merchant enters tax-inclusive prices. When enabled, the store subtracts the itemʼs store tax rate before calculating tax using the shopperʼs tax zone. The tax-exclusive amount will be the same across all tax zones. When disabled, the tax-inclusive price remains the same across all tax zones; only the tax amount will vary based on the shopperʼs location. The tax-exclusive amount may vary among tax zones. These calculations are relevant for tax pricing and tax quotations that use basic tax. + should_use_geolocation_to_determine_guest_shopper_tax_zone: + default: false + type: boolean + description: When enabled, the guest shopper's geolocation will be used to determine the relevant country-level tax zone for storefront tax estimation. The geolocation data will be used to determine the corresponding tax zone provided in basic tax - once the corresponding tax zone is found, the tax estimation will be applied to the store. + guest_shopper_tax_zone_id: + default: 1 + type: integer + description: Describes which tax zone is used for guest shoppers when requiring storefront tax estimation. When applicable, the guest shopper's geolocation will be used in favour of the guest shopper tax zone. + store_tax_zone_id: + default: 1 + type: integer + description: This setting applies only if a merchant enters tax-inclusive prices and store tax subtraction is enabled. Describes which tax zone to use for store tax subtraction. MetaOpen: title: Response meta type: object From 337673b2016c2c73a4c6539edf209e9172f56642 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Fri, 29 Sep 2023 10:46:20 -0500 Subject: [PATCH 2/5] remove redundancy --- reference/tax_settings.v3.yml | 45 +---------------------------------- 1 file changed, 1 insertion(+), 44 deletions(-) diff --git a/reference/tax_settings.v3.yml b/reference/tax_settings.v3.yml index f6908162f..00c8246b7 100644 --- a/reference/tax_settings.v3.yml +++ b/reference/tax_settings.v3.yml @@ -51,7 +51,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Tax_Settings_Req' + $ref: '#/components/schemas/Tax_Settings' required: true responses: '200': @@ -159,49 +159,6 @@ components: default: 1 type: integer description: This setting applies only if a merchant enters tax-inclusive prices and store tax subtraction is enabled. Describes which tax zone to use for store tax subtraction. - Tax_Settings_Req: - type: object - properties: - tax_entered_with_prices: - type: boolean - description: Whether prices entered on this store include a tax component or not. - price_display_settings: - type: object - description: Settings that describe how prices display at the global level. - properties: - show_inclusive_in_control_panel: - type: boolean - description: Whether to show prices as tax inclusive or tax exclusive in the BigCommerce control panel. - invoice_price_display_strategy: - type: string - description: 'Whether to show prices as tax inclusive or tax exclusive across all invoices, or use the shopperʼs tax zone for price display on invoices.' - enum: - - ZONE - - INCLUSIVE - - EXCLUSIVE - fallback_strategy: - type: string - description: 'Describes the fallback behaviour that applies when a tax provider produces an error. A merchant may decide to use a flat 10% fallback tax rate, their basic tax settings, or to block the transaction until a successful result can be achieved.' - enum: - - FIXED - - BASIC - - DISABLE - should_subtract_store_tax: - default: true - type: boolean - description: This setting applies only if a merchant enters tax-inclusive prices. When enabled, the store subtracts the itemʼs store tax rate before calculating tax using the shopperʼs tax zone. The tax-exclusive amount will be the same across all tax zones. When disabled, the tax-inclusive price remains the same across all tax zones; only the tax amount will vary based on the shopperʼs location. The tax-exclusive amount may vary among tax zones. These calculations are relevant for tax pricing and tax quotations that use basic tax. - should_use_geolocation_to_determine_guest_shopper_tax_zone: - default: false - type: boolean - description: When enabled, the guest shopper's geolocation will be used to determine the relevant country-level tax zone for storefront tax estimation. The geolocation data will be used to determine the corresponding tax zone provided in basic tax - once the corresponding tax zone is found, the tax estimation will be applied to the store. - guest_shopper_tax_zone_id: - default: 1 - type: integer - description: Describes which tax zone is used for guest shoppers when requiring storefront tax estimation. When applicable, the guest shopper's geolocation will be used in favour of the guest shopper tax zone. - store_tax_zone_id: - default: 1 - type: integer - description: This setting applies only if a merchant enters tax-inclusive prices and store tax subtraction is enabled. Describes which tax zone to use for store tax subtraction. MetaOpen: title: Response meta type: object From d73bc25900e2dcaf4fdcf1b634b3a0e8f5800350 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Thu, 5 Oct 2023 09:46:34 -0500 Subject: [PATCH 3/5] edit --- reference/tax_settings.v3.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/tax_settings.v3.yml b/reference/tax_settings.v3.yml index 00c8246b7..4232b2285 100644 --- a/reference/tax_settings.v3.yml +++ b/reference/tax_settings.v3.yml @@ -150,7 +150,7 @@ components: should_use_geolocation_to_determine_guest_shopper_tax_zone: default: false type: boolean - description: When enabled, the guest shopper's geolocation will be used to determine the relevant country-level tax zone for storefront tax estimation. The geolocation data will be used to determine the corresponding tax zone provided in basic tax - once the corresponding tax zone is found, the tax estimation will be applied to the store. + description: This setting determines which tax zone a store uses to estimate tax for guest shoppers. When enabled, the store identifies a country-level tax zone based on the geolocation of a guest shopper. The store then applies the corresponding tax zone to estimate taxes. When disabled, the store identifies the zone using the provided `guest_shopper_tax_zone_id` field instead. Only the tax zones you configure can be matched to the guest shopper's geolocation. guest_shopper_tax_zone_id: default: 1 type: integer From d1d7288e45fa92453228bd64a36862ff647506bd Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Thu, 5 Oct 2023 09:54:55 -0500 Subject: [PATCH 4/5] copyedit --- reference/tax_settings.v3.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/tax_settings.v3.yml b/reference/tax_settings.v3.yml index 4232b2285..69b98fda3 100644 --- a/reference/tax_settings.v3.yml +++ b/reference/tax_settings.v3.yml @@ -154,7 +154,7 @@ components: guest_shopper_tax_zone_id: default: 1 type: integer - description: Describes which tax zone is used for guest shoppers when requiring storefront tax estimation. When applicable, the guest shopper's geolocation will be used in favour of the guest shopper tax zone. + description: ID for the tax zone a store uses when estimating tax for guest shoppers. The store uses this zone if you disable `should_use_geolocation_to_determine_guest_shopper_tax_zone`. The store also uses this zone if there is no matching country-level tax zone for the geolocation. store_tax_zone_id: default: 1 type: integer From 68677d70fdff66459611d4de22f1c6e8b18728e3 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Thu, 5 Oct 2023 09:59:14 -0500 Subject: [PATCH 5/5] apply suggestion from review --- reference/tax_settings.v3.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/tax_settings.v3.yml b/reference/tax_settings.v3.yml index 69b98fda3..4e608260a 100644 --- a/reference/tax_settings.v3.yml +++ b/reference/tax_settings.v3.yml @@ -158,7 +158,7 @@ components: store_tax_zone_id: default: 1 type: integer - description: This setting applies only if a merchant enters tax-inclusive prices and store tax subtraction is enabled. Describes which tax zone to use for store tax subtraction. + description: ID for the tax zone a store uses when subtracting store tax. This setting applies only if a merchant enters tax-inclusive prices and subtracts store tax before tax calculation. MetaOpen: title: Response meta type: object