Tax-exempt customers — B2B wholesale, resale certificates, government
Last updated: April 2026
Sync supports three independent tax-exemption modes per customer so a single platform serves both retail and B2B wholesale buyers correctly. Most B2B wholesale customers fit one specific pattern, so pick the mode that matches the exemption certificate they showed you.
The three modes
- All taxes exempt — blanket. Skips every tax line at checkout. Use only when the customer has a true full exemption (rare).
- GST/HST exempt — federal-side only. Removes GST 5% in non-HST provinces, removes the entire HST line in ON / NB / NS / PE / NL (since HST is GST-blended). Use for: status holders under section 87 of the Indian Act (with goods delivered to a reserve), diplomatic missions, certain government entities.
- PST / RST / QST exempt — provincial-side only. Removes BC PST 7%, SK PST 6%, MB RST 7%, QC QST 9.975%. Does NOT remove HST in ON/NB/NS/PE/NL — see note below. Use for: B2B buyers with a valid resale certificate (the most common wholesale case — they pay GST normally and recover via input tax credits, but skip the provincial sales tax).
Why PST exemption doesn't touch HST: HST is a single blended tax (federal + provincial) collected by the CRA, not by the province. The CRA's point-of-sale rebate rules technically allow splitting HST into a 5% GST charge plus a provincial-portion rebate — but that's confusing on invoices and rarely matches what buyers expect to see. If a customer needs to escape HST, use the "GST/HST exempt" mode instead, which removes the full HST line.
Setting a customer as exempt
- Open the customer's detail page (Customers → click the customer).
- Click the pencil icon next to "Tax details" in the right sidebar.
- Tick the appropriate exemption box(es). "All taxes exempt" greys out the per-component options.
- Type the customer's exemption ID — their PST registration number, GST/HST number, status card number, etc. This appears on every invoice as proof of why tax wasn't charged.
- Optionally type an internal staff note (why this customer is exempt, who approved it, expiry date if any). The note is NOT printed on invoices — staff-only.
- Click Save.
What the buyer sees at checkout
When a buyer with their email matching an exempt customer record reaches the storefront checkout, the tax lines are filtered before display. Their order summary shows just the tax lines that still apply, and the invoice PDF prints an italic footnote under the tax block: e.g. "PST/RST/QST exempt — Customer exemption ID: MBR-12345" so any auditor can verify the exemption.
Combining flags
You can combine GST + PST flags for a customer who's exempt from both (e.g. some Crown corporations). This is functionally equivalent to "All taxes exempt" in non-HST provinces, but in HST provinces, only the GST flag removes HST — the PST flag alone has no effect on HST.
Bulk-setting via CSV import
The customer CSV import template now includes four new columns: tax_exempt, gst_exempt, pst_exempt, tax_id, tax_exempt_note. Set any of the booleans to 1 and import — your wholesale buyer list comes in pre-flagged. Re-importing a customer with the same email updates their flags rather than creating a duplicate.
Tax filing report
Tax-exempt orders still appear in your monthly tax report (downloaded from Settings → Taxes), but with zero tax collected. Net sales for the month include exempt orders — that's correct, since the CRA still wants to know your gross taxable sales even if the buyer was exempt.
Audit trail
Every change to a customer's exemption flags writes a profile.updated event to their timeline (Customers → customer → Activity tab) with the actor name, the field that changed, and the old/new values. If a CRA audit ever asks "when did you start treating this buyer as exempt?", the timeline answers it.
Was this article helpful?