As a general rule, the unit price of a product, shall always contain the net price. When our
products show up in the catalog, their method
get_price(request) is consulted by the framework.
Its here where you add tax, depending on the tax model to apply. See below.
3.1. Use Cart Modifiers to handle tax
3.1.1. American tax model
3.1.2. European tax model
3.2. Other considerations
Try to not reinvent the wheel: Other shop systems / frameworks will
contain solutions to this problem. But also ERP-Systems will contain
solutions to this problem.
Maybe it is wise to have a look at projects like Tryton