Sales Tax Address Resolution Hierarchy
Purpose
This document defines the hierarchy for address resolution used by the Sales Tax Engine when determining the applicable tax jurisdiction for a transaction. The hierarchy ensures: - Deterministic and auditable address selection - Consistent behavior across integrations - Graceful fallback when preferred address data is unavailable The engine must evaluate addresses strictly in the order defined below and select the first available address encountered. If an address at a given level is unavailable or invalid, the engine proceeds to the next level.Address Resolution Order (Highest → Lowest Priority)
1. Invoice Shipping Address
- Explicit shipping address provided at invoice level
- Considered the most accurate representation of where goods/services are delivered
2. Customer Shipping Address (Default or Single)
- Use the customer’s default shipping address if available
- If no default is set, but only one shipping address exists, use that address
- If multiple shipping addresses exist and no default is defined, skip this level
3. Invoice Billing Address
- Billing address explicitly attached to the invoice
4. Customer Shipping Address (Any – Arbitrary)
- Select any available shipping address
- Used only when no invoice-level or default shipping address is available but there are few shipping address associated with the customer, just take the first one.
5. Customer Billing Address (Default or Single)
- Use the customer’s default billing address
- If no default is set, but only one billing address exists, use that address
- If multiple billing addresses exist and no default is defined, skip this level
6. Payment Metadata Address
Source: Payment provider metadata- Address obtained from payment instruments (e.g., card billing address)
- Considered lower confidence due to potential mismatch with delivery location
7. Customer Billing Address (Any – Arbitrary)
Source: Customer profile- Select __any available billing address __associated with the customer.
8. IP Address (Geolocation)
- Infer location via IP-based geolocation
- Lowest confidence signal
- Should be used only when no explicit address data is availab