Getting started with ResaleProof
This walks you through installing ResaleProof, receiving your first resale certificate, approving it, and confirming that sales tax is now skipped at checkout for that customer. If you follow along with a dev store, it should take around 5 minutes.
1. Install from the Shopify App Store
Click Install from the ResaleProof listing. Shopify asks you to confirm the data scopes — we request the minimum needed for v1:
read_customers,write_customers— to apply the tax exemption flag on the customer record.read_orders— to log exempted sales for audit export.read_files,write_files— to store cert PDFs in Shopify Files.
On install, ResaleProof drops you into a 4-step onboarding wizard.
2. Onboarding wizard (4 steps)
| Step | What you confirm | Why |
|---|---|---|
| 1. Nexus states | Which US states you collect sales tax in | Flags non-nexus rows in future imports with a “state not in your nexus” warning |
| 2. Accepted cert types | Resale / Manufacturing / Government / Nonprofit | Restricts what the portal offers customers |
| 3. Email branding | Sender name, reply-to, logo URL | Every customer-facing email is stamped “via ResaleProof” with your sender name + logo |
| 4. Review | Confirm the above | One-click finish |
Skip any step later with Settings → ResaleProof → Edit.
3. Enable the customer portal block
The Customer Account UI extension is installed by your Shopify app install, but the merchant has to place the block on the account page. Go to:
Settings → Customer accounts → Customize → the third icon top-left (Apps panel) → find “ResaleProof Portal” → Add to Profile → Save.
This is a one-time click. After that, every logged-in customer sees “Tax Exemption” in their account with the 5-screen portal (list / empty / detail / add / renew).
4. Receive your first cert
Two ways:
- Customer-initiated: A B2B customer logs into their account, clicks Tax Exemption → Add certificate, uploads a PDF, enters the state + permit number + signature, and submits. They get a verification code email; entering it confirms email ownership.
- Merchant-initiated (bulk): Go to Apps → ResaleProof → Import and upload a CSV. Auto-detects EXEMPTAX, Avalara CertCapture, and generic spreadsheet layouts. Up to 500 rows per batch.
Either way, certs land as pending in the admin.
5. Approve
Go to Apps → ResaleProof → Certificates, click the pending cert, review the PDF preview + metadata, click Approve. Three things happen in lockstep:
- Supabase row flips to
status = "active",approved_at = now(). - Shopify’s
customerAddTaxExemptionsmutation fires with the state’sUS_<STATE>_RESELLER_EXEMPTIONenum (e.g.,US_FL_RESELLER_EXEMPTION). - An approval email goes to the customer.
6. Confirm it’s working
As the approved customer, place a test order shipping to the state the cert covers. Checkout should show $0 tax on the order total (assuming that state + your nexus + the product’s tax-classifiable category all line up).
If tax still appears:
- Double-check the customer’s shipping address is in the state the cert covers.
- Confirm Shopify Tax (not a third-party app) is your tax engine — ResaleProof plugs into Shopify’s native exemption flags.
- Check the customer’s Shopify profile → Customer → Tax exemptions — should show the state’s reseller exemption.
What’s next
- Merchant weekly digest — every Sunday 08:00 UTC, if there’s activity, you get an email summarizing pending/expiring/expired certs.
- Expiration flow — 60/30/7 days before a cert expires, the customer gets a reminder email with a one-click renewal link.
- Audit export — once you have 10+ active certs, hit Get audit-ready on the overview to generate a PDF bundle with cover sheet + TOC + every cert. This is the artifact your state auditor will ask for.