Showing results for 
Search instead for 
Did you mean: 

Decouple Customer Taxability from Customer Groups

Decouple Customer Taxability from Customer Groups

It is frequently the case that, in a B2B scenario, there is a significant amount of divergence between pricing groups and customers who are / aren't taxable.


For example, a supplier who has wholesale customers, some of which are non-profits, may want to put many companies in a single pricing band but then only charge tax to the for-profit companies.


Because Magento currently overlaps these concepts completely (customer groups are how you define customer tax class) it is impossible to manage the concept of prices separate from the concept of taxability.


This can be worked around by creating a taxable and non-taxable version of each price tier but this is conceptually duplication for the purpose of pricing and can become challenging to manage.


Also, depending on the number of price tiers, this can take a scenario that fits into a manageable number of customer groups and cause it to explode (double?) into MANY groups. 25 price tiers isn't so bad. 50 tiers (taxable / non-taxable versions) is a LOT more painful, including from a UI perspective in the admin.


Ideally, in my opinion, a customer's taxability status would be something that is set on the customer account independent of their customer group. This is conceptually proper and prevents the pricing group duplication issue.


Also, though I'm not the best developer, this seems like a sane way to handle things to me because taxability seems to not need the same level of indexing that pricing does. It's a "figure in real time in the cart" value and therefore (I would think) could just be looked up on the customer record when needed.


Thoughts / feedback appreciated but it would be nice to see Magento go this direction, especially with focus on B2B.


++version would be support for taxability as a discrete option on a company record that populates down to children accounts if/when company/child account become a thing