We are building a connector to the tax management platform Avalara. This will allow our customers to more easily use Avalara to estimate and manage sales tax.
As part of this connector, we need to support address validation. Currently, we do not support address validation with Liferay.
Valid addresses are a critical component of accurate tax calculation. I know what you’re thinking – I have the ZIP code, isn’t that enough? Not really. Why? ZIP codes are generally too broad for tax determination because zones are set at the federal level for mail delivery. State and local tax authorities often use other criteria for bounding their tax jurisdictions, such as a special stadium or restaurant tax district.
So, what’s the best way to ensure your organization has up-to-date, roof-top accurate addresses?
We need to modify the existing flows which manage addresses to incorporate address validation when the address validation functionality is enabled.
- Design the flow of checking out when address validation is enabled from the buyer's point of view
- After a buyer inputs a "dirty" address, either in the shipping or billing address checkout step, there should be a new checkout step which asks them to accept or reject the clean address
- This step shows the address they inputted and a verified, clean version of the address that Avalara suggests
- The user can accept the cleaned up version of the address or reject it and keep their dirty version.
- Design the flow of adding a new address to the account when address validation is enabled
- Similar functionality as above, except the flow starts when a user is adding an address via the account management widget.
- Design the flow of adding a new address to the account from the Control Panel
- Similar functionality as above, except the flow starts when an admin is adding an address via the account management section of the admin UI or in the context of managing an order in the admin UI