Skip to documentation content

Troubleshooting

Resolve tax and total mismatches

Compare the server quote, tax-line rounding, currency settings and immutable booking snapshot before changing a published rule.

Separate a live quote problem from a historical snapshot difference. The canonical pricing order is room_subtotal, room discount, services subtotal, exclusive taxes and grand total. Room-only coupons do not discount services. Each tax line is rounded to two decimal places before aggregation, and the inclusive or exclusive formula follows the site setting. Compare the room quantity, nights, guests, service quantities, coupon, tax labels, rates and currency from the server response; never calculate a replacement total in the browser.

For an existing booking, read the immutable booking snapshot and tax lines. A later rule edit must not reprice that confirmation, payment or invoice. Do not invent a historical tax row or “correct” a ledger by editing database values. Historical records never consult live rules. For a new booking, confirm the active Free rule or licensed Pro provider, effective dates, scope and priority. If the provider is unavailable, the contract may fail closed for new creation while existing snapshots remain readable.

Check WooCommerce currency and number of decimals when that bridge is used; fractional minor units must not be silently rounded. Record the booking code, sanitized quote inputs, expected line order and actual snapshot values. If the mismatch is configuration, correct settings and retest a new synthetic booking; if it is deterministic under a supported configuration, escalate without mutating production history.

Was this article helpful?

Your feedback helps us improve the documentation.