Order and Invoice: Tax Lookup Interface
Goal: Development
Developer: Hengsin (talk)
Feature Ticket: IDEMPIERE-5056
Description:
Implement a new tax lookup interface to allow plugin to override the relation between bp/location/product and tax code without changing core.
Changes:
- Add org.adempiere.base.ITaxLookup interface.
- *Add TAX_LOOKUP_SERVICE tenant level system configurator record. This define the OSGi component name for tax lookup service and default to org.adempiere.base.DefaultTaxLookup. *

TAX_LOOKUP_SERVICE System Configurator record
- *Add new lookup rule for Delivery Via rule. When Delivery Via rule is PickUp, Warehouse Location instead of Billing To Location is use as Tax Location To. *
Usage:
- Create new OSGI component that implement the org.adempiere.base.ITaxLookup interface.
- If the new service is for all tenant, change the System tenant's TAX_LOOKUP_SERVICE system configurator record value to the new OSGI component name.
- If the new service is for a particular tenant, create a new TAX_LOOKUP_SERVICE system configurator record for that particular tenant with the new OSGI component name as value.
Source: Wiki