Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DEVDOCS-6056 [new]: Price Lists / MSF International Enhancements, add tax inclusive price lists #550

Open
wants to merge 12 commits into
base: main
Choose a base branch
from

Conversation

bc-andreadao
Copy link
Collaborator

@bc-andreadao bc-andreadao commented Sep 25, 2024

DEVDOCS-6056 DEVDOCS-6096

What changed?

  • Add a net new doc for tax-Inclusive and exclusive price lists
  • Update Price List schemas for with new field
  • Add links between relevant docs (Price Lists, Pricing, Tax Settings)

Release notes draft

Anything else?

Merge before PR 1013 (menu change)

@bc-andreadao bc-andreadao changed the title DEVDOCS-6056 [new]: Price Lists / MSF International Enhancements, ax incl DEVDOCS-6056 [new]: Price Lists / MSF International Enhancements, add tax inclusive price lists Sep 25, 2024
## Limitations

- Stores using [Catalog V2](/docs/store-operations/catalog/migration) have fixed pricing and will use global store settings.
- You cannot enter price changes due to product modifier rules, gift wrapping features, and fixed shipping prices into a price list. These inherit global settings and always apply on top of the price list.
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if this sentence is accurate

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we need to change the wordings here - modifier rules, gift wrapping features, and fixed shipping prices into a price list. These inherit global settings because we apply the prices from modifier rules, gift wrapping features, and fixed shipping on top of the prices in price list true, but it doesnt inherit global settings, its inherits the tax inc/ex setting from the price list that will apply for that instant of channel and customer, even though its not part of the price list yet. I think giving this clarity might help merchants less confused how the global setting prices will apply with price list inc/ex.
cc @megdesko

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bc-vinbase is correct. These will inherit the setting from the price list and will not be treated as the global setting.

Maybe These inherit global settings and always apply on top of the price list. should be changed to These prices will be applied as-is with with the prices entered with tax setting for the current shopper applied or similar?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we need an example here like

Your store has (in USD)

  • $5 modifier rule
    $1.99 fixed shipping
    +$3 for gift wrapping

Those are entered global (ex tax)

You add an inc tax price list that has prices in Australian dollars- for simplicity, let's say it's 2 AUD to 1 USD
So maybe $55.97 AUD for the price of the product
We will currency convert the $5 modifier rule to $10 AUD
$3.98 for fixed shipping
$6 for gift wrapping

These prices will inherit the price list setting, so they'll be added as is, so the cart total for that item with the modifier rule selected will be
55.97 + 5 + 6 + 3.98 = $70.95 AUD

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@megdesko Thanks, clarified it and added an example. I assume you meant to use the $10 modifier rule in your final calculation (to total $75.95)

@bigcommerce bigcommerce deleted a comment from github-actions bot Sep 26, 2024
@bigcommerce bigcommerce deleted a comment from github-actions bot Sep 26, 2024
@bigcommerce bigcommerce deleted a comment from github-actions bot Sep 26, 2024
@bc-andreadao bc-andreadao marked this pull request as ready for review September 26, 2024 23:20
@bc-andreadao
Copy link
Collaborator Author

cc @bigcommerce/team-multi-storefront @bigcommerce/team-pricing, @bigcommerce/team-tax

benpratt77
benpratt77 previously approved these changes Sep 26, 2024
Copy link
Contributor

@benpratt77 benpratt77 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good from a tax perspective

docs/store-operations/tax/index.mdx Show resolved Hide resolved
Copy link

@bc-vinbase bc-vinbase left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for the late review, looks great just a minor comment and clarification 💯


To localize your storefronts, you can do the following:
- Specify whether a price list has prices that include or exclude tax when entered.
- Assign the price list to storefront channels (or customer groups).

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

at this point is it understood that the store needs to be MSF enabled?

## Limitations

- Stores using [Catalog V2](/docs/store-operations/catalog/migration) have fixed pricing and will use global store settings.
- You cannot enter price changes due to product modifier rules, gift wrapping features, and fixed shipping prices into a price list. These inherit global settings and always apply on top of the price list.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we need to change the wordings here - modifier rules, gift wrapping features, and fixed shipping prices into a price list. These inherit global settings because we apply the prices from modifier rules, gift wrapping features, and fixed shipping on top of the prices in price list true, but it doesnt inherit global settings, its inherits the tax inc/ex setting from the price list that will apply for that instant of channel and customer, even though its not part of the price list yet. I think giving this clarity might help merchants less confused how the global setting prices will apply with price list inc/ex.
cc @megdesko

- You cannot mix inclusive and exclusive pricing within a single price list.
- You must [set the display price](https://support.bigcommerce.com/s/article/Product-Display-Settings?language=en_US#settings) to the lowest variant price when a shopper's preselected options don't match to a price.

If your store doesn't have multiple storefronts, you can still create tax-inclusive or exclusive price lists and assign them to customer groups.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given MSF feature is turned on :) just clarifying it for myself too

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They can still do it via API, no?

reference/price_lists.v3.yml Show resolved Hide resolved
reference/price_lists.v3.yml Show resolved Hide resolved
- You must [set the display price](https://support.bigcommerce.com/s/article/Product-Display-Settings?language=en_US#settings) to the lowest variant price when a shopper's preselected options don't match to a price.

If your store doesn't have multiple storefronts, you can still create tax-inclusive or exclusive price lists and assign them to customer groups.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should also add something about going into Settings > Tax > Store Tax Settings and turning on Keep prices as entered for When calculating the taxes on sales made outside the pricing tax zone

especially for folks on default ex tax stores

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see this below now :-)


Price lists will have a `prices_entered_with_tax` setting, which overrides the (default) global store setting. Use this setting to choose whether the price list is tax-inclusive or exclusive, or inherits the global settings. For details, see the [Price List endpoints](/docs/rest-management/price-lists) in the REST Management APIs.

When you're using tax-inclusive price lists, tax-inclusive prices remain the same across all tax zones; the tax amount will vary based on the shopper's location.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is only true if they turn on the setting I mentioned above- otherwise tax unwinding will kick in and sadness will ensue.

I think this is being changed to make it the default for ex tax stores, but depending on when someone sees this doc that may not be completed/ totally rolled out.

Copy link
Collaborator Author

@bc-andreadao bc-andreadao Oct 10, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, I added a sentence about the setting, but I believe my doc could be further clarified.

I rethought about the feature, and my current understanding is:

  • When calculating the taxes on sales made outside the pricing tax zone setting is only important when you want tax-inclusive prices (the setting doesn't matter if you want tax-exclusive prices).
  • When you want a tax-inclusive price list, there's noWhen calculating the taxes on sales made outside the pricing tax zone setting for the price list. So I'm guessing this pretty-pricing setting would inherit the global value (assuming the global store is also set to tax-inclusive).
  • If you want a tax-inclusive price list and the global store is tax-exclusive, we'll have to confirm with @bigcommerce/team-tax what the default is. I'm actually taking a closer look at the Tax Settings API reference, and now I'm thinking the setting actually defaults to non-pretty pricing. But people can still choose if they want pretty pricing or not, is that correct? And they would have to do so through the global tax setting?

^ @benpratt77 can you comment on the default value?


### Update Cornerstone theme

If you have an empty price for a product (or variant) in a inclusive or exclusive price list, [update to Cornerstore](https://support.bigcommerce.com/s/article/Marketplace-Theme-Updates) version 6.15 or make adjustments to your current theme to handle `null` prices. You can view the changes required in the [Cornerstone reference PR](https://github.com/bigcommerce/cornerstone/pull/2486/files).

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [remark-lint] reported by reviewdog 🐶
Use an before inclusive, not a retext-indefinite-article retext-indefinite-article


### Update Cornerstone theme

If you have an empty price for a product (or variant) in a inclusive or exclusive price list, [update to Cornerstore](https://support.bigcommerce.com/s/article/Marketplace-Theme-Updates) version 6.15 or make adjustments to your current theme to handle `null` prices. You can view the changes required in the [Cornerstone reference PR](https://github.com/bigcommerce/cornerstone/pull/2486/files).

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [remark-lint] reported by reviewdog 🐶
Cornerstore is misspelt; did you mean Cornerstone? retext-spell retext-spell

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants