
Summary
When converting an in-store cart to Shipment within Square for Retail, the system fails to calculate tax and throws a blocking error.
Environment
- App: Square for Retail
- Version: 7.4.1sw
- Region: Canada
- Tax Setup:
- Canadian tax enrolments enabled
- Automatic tax calculation configured
Steps to Reproduce
- Create a new sale (default: in-store)
- Add taxable items to cart
- Proceed to checkout
- Change fulfillment method to Shipment
- Observe tax calculation
Expected Behaviour
- Tax automatically recalculates based on shipping destination
- Applicable provincial taxes apply correctly
- Checkout proceeds without interruption
Actual Behaviour
Error message appears:
โTax Missing โ There was an error and we were unable to calculate taxes for this cart.โ
User is forced to choose:
- โAdd tax manuallyโ
- โContinue without taxโ
Impact
- Breaks checkout flow at payment stage
- Forces manual tax handling
- Creates risk of incorrect tax collection
- Slows down staff and introduces friction in-store
Key Insight
This only occurs when switching fulfillment mid-transaction.
This suggests:
- The tax engine is not reinitializing correctly when moving from POS (in-store context) โ shipment logic
- Likely not re-referencing Canadian tax enrolments dynamically
Workarounds
- Restart transaction as shipment from the beginning
- Manually apply tax
- Complete without tax (not viable)
Suggested Fix
- Trigger full tax recalculation when fulfillment type changes
- Align shipment tax logic with online checkout engine
- Add retry/fallback instead of hard failure
- Improve error transparency (why tax failed)
Severity
High
Affects live transactions and tax compliance.