MySQL – How to Store Tax for Products with Changing Tax Rates

database-designMySQL

Product

id
name
price

Tax

id
name
rate

Product_Tax

Product.id
Tax.id
effective date
expiry date

Is this a good design?

How to store Products that are tax-exempted?

Also, how to handle the case when the value of Tax changes for example VAT rate changes from 20% to 30% –> Should I store the value of rate in the Product_Tax table in that case

Best Answer

Don't put tax exempt entries in the Product_Tax table.

Design is good (already endorced by me).

Related Question