Understand what the connection does
Sales-tax reporting is configured only under Account → Sales Tax. TaxJar is the supported provider path described here. Account may also display TaxCloud fields, but the TaxCloud adapter's exact production request and response contract has not yet completed live verification; do not connect or rely on TaxCloud until EZFormz explicitly confirms that provider is enabled. Your tax provider calculates tax and owns the tax totals and reports; EZFormz does not calculate or store a tax rate, amount, jurisdiction, nexus setting, or filing result.
This connection does not add tax to checkout and does not collect tax from buyers. A payment-method surcharge is not a sales-tax field. Configure buyer pricing and any amount you collect separately, and configure nexus, taxability, registrations, filing, and payment obligations in your provider account with appropriate professional advice.
Connect and choose when to record
Before saving a connection, understand the scope: form tax-sync switches default to on, including for new forms. Saving verified credentials allows eligible orders from those forms to be sent automatically. This is not a default-off, form-by-form opt-in. The Forms to sync controls appear after connection; turning one off stops later syncs but cannot undo data already sent. If that initial scope is not acceptable, contact support before connecting.
- Open Account, then choose Sales Tax in its sidebar.
- Choose TaxJar and enter its API token. Do not use the visible TaxCloud option until EZFormz explicitly confirms production availability.
- Choose Verify. EZFormz refuses credentials the provider cannot verify.
- Choose when to record an order: marked paid / confirmed is recommended, as soon as placed includes submitted sales, and shipped / completed waits for fulfillment.
- Choose Save Tax Settings only after reviewing the default-on scope above. In Forms to sync, turn off any form you do not want to report. Review these switches again when creating a new form; each form switch saves its change immediately.
The saved API key is encrypted and never returned to the browser; Account shows only a masked hint. Removing the integration deletes the saved EZFormz credential, but it does not remove transactions already retained by the provider.
Know what EZFormz sends
For each eligible order, EZFormz sends:
- The EZFormz order ID as the provider transaction ID, making repeated record or update attempts idempotent.
- The order creation date.
- A usable US destination with state and ZIP, and available street and city.
- Net merchandise after saved product discounts and seller adjustments, including saved seller price reductions.
- Net shipping after saved shipping discounts.
- Zero sales tax collected.
- An available shipping-integration origin address; otherwise the provider uses its account configuration.
Payment surcharges are part of the saved invoice reconciliation but are not sent as merchandise or shipping. Non-US orders, orders without a usable US destination, and orders with no positive merchandise or shipping value are recorded as legitimate skips. Malformed saved JSON, invalid money, or a saved breakdown that does not match the stored total is a failure for correction and retry—not a silent skip.
Understand updates, reversals, and retries
When an order first reaches the selected trigger, EZFormz records it. A later eligible edit or status change can update the same provider transaction. Cancelled, refunded, and legacy failed orders are not sales; if one was already synced, reconciliation requests a provider void or return. That provider-side reversal is not an EZFormz buyer refund.
Sync outcomes compare the exact order status, updated time, saved items, total, shipping address, paid time, and prior sync state that produced the provider request. If the order changes while the request is in flight, EZFormz leaves it pending for a fresh reconcile rather than stamping an older result as current.
The five-minute reconciliation worker retries eligible failures with bounded backoff—about 1 minute, 5 minutes, 30 minutes, 2 hours, then 12 hours—and works oldest eligible orders first. EZFormz stores only this operational status, error, retry count, and timestamps. It still stores no tax calculation.
Backfill past orders
After the connection verifies, find the Backfill past orders card in Account → Sales Tax. Choose 30 days, 90 days, 1 year, or 3 years from Last, then click Run Backfill. The browser processes a frozen date window in 50-order pages until no page remains, so orders created after the run starts are not mixed into its historical boundary.
The running and final result reports recorded, updated, voided, skipped, failed, and changed-during-sync counts. A changed-during-sync order remains retryable. Repeating the same range is safe because the EZFormz order ID is the provider transaction identity; the provider record is updated or left current rather than duplicated.
If the browser closes before all pages finish, run the backfill again for that range. Already accepted provider transactions remain idempotent, and unsent or changed rows are reconsidered.
Find the tax numbers
Tax totals and filing reports live in your tax provider's dashboard, not in EZFormz. For TaxJar, review its transaction records and Expected Sales Tax Due reporting where available. EZFormz Account shows the connection and the current backfill result, not a calculated tax ledger.
Review the final provider record before relying on it for reporting or filing. EZFormz provides a one-way operational reporting convenience, not tax, accounting, or legal advice.