Taxes
Tax settings control how tax is applied to what you sell and what your invoices say. Because buyers pay through your own account and you're the seller of record, the tax position on your sales is yours to set — PersonaCart gives you the controls.
Where to find it
Sidebar → SETTINGS → Settings → Taxes.

Tax on payments and payment links
Individual payment links carry their own tax decision — you choose whether tax applies, the type (Sales Tax, VAT, or GST), whether it's added on top or included in the price, and the rate. A link is never created without a tax decision, and the buyer's total always matches what's charged.
If you're not registered to collect tax, you can mark tax not applicable — the link and invoice say so plainly, and no tax is added.
What happens — and what doesn't
- You choose the rate. PersonaCart doesn't second-guess it — picking the correct rate for your goods and location is your responsibility.
- Invoices name your business as the seller of record, so the tax you charge is attributed to you, not PersonaCart.
- Your registration details (like a tax ID) appear on invoices when you provide them.
- A legitimate 0% rate and "not applicable" are different: 0% is a registered seller charging nothing; not applicable means you're not collecting tax at all.
How do I add sales tax to what I sell?
Set it per payment link (in the link's Settings tab) or configure your tax handling here. Choose the type — Sales Tax, VAT, or GST — the mode, and the rate.
Who's responsible for the tax rate I charge?
You are. Buyers pay through your own account and you're the seller of record, so choosing and remitting the correct tax is your responsibility. The invoice lists you as the seller.
What if I'm not registered to collect tax?
Mark tax not applicable. The payment link and invoice state that plainly, and no tax is added — the honest option for an unregistered seller.
Every field on this screen
Every field for your tax registration and legal identity. Read straight from the live app, so it matches what you see.
| Field | Type | What it accepts | What it does |
|---|---|---|---|
| Privacy Policy URL | Text | — | e.g. https://yoursite.com/privacy |
| Terms of Service URL | Text | — | e.g. https://yoursite.com/terms |
2 fields, read from the live app. Which ones you see depends on the product type and your plan.
What this screen looks like in every state
| State | When you'll see it | What you see, and what to do |
|---|---|---|
| Loading | The screen is fetching your data | A skeleton in the shape of the finished page. It should be brief — if it persists, the load has failed rather than stalled. |
| Error | The data couldn't be loaded | A message with a retry. Retry first: most of these are a dropped request, not a broken store. If it repeats, the outage is upstream and reloading won't help. |
| No access | Your role doesn't include this screen | A permission notice instead of the page. An owner or admin can grant access under Settings → Team. |
When something goes wrong
These are the messages this screen can show you, and what each one means.
| If you see | What to do |
|---|---|
| At least one payment method must remain enabled | The payment provider rejected it. Check your gateway connection under Settings → Payments. |
| Copy failed — please copy manually | Retry the action. If it keeps happening, contact support with what you were doing. |
| Copy failed — select the URL manually | Retry the action. If it keeps happening, contact support with what you were doing. |
| Could not start Stripe onboarding. Backend returned no authorization URL. Please try again or contact support. | The payment provider rejected it. Check your gateway connection under Settings → Payments. |
| Could not switch Stripe environment. Please try again. | The payment provider rejected it. Check your gateway connection under Settings → Payments. |
| Enter your test or live credentials first. | Do what the message asks, then try again — it names exactly what's missing. |
| Failed to disconnect. Please try again. | The change didn't save. Retry — if it keeps failing, the request isn't reaching the server. |
| Failed to generate Stripe link | The payment provider rejected it. Check your gateway connection under Settings → Payments. |
| Failed to save | The change didn't save. Retry — if it keeps failing, the request isn't reaching the server. |
| Failed to update auto-convert setting | The change didn't save. Retry — if it keeps failing, the request isn't reaching the server. |
| Failed to update payment method | The payment provider rejected it. Check your gateway connection under Settings → Payments. |
| Please fix the tax-ID format errors before saving. | Do what the message asks, then try again — it names exactly what's missing. |
| You set … as the active mode but did not enter … credentials. | Retry the action. If it keeps happening, contact support with what you were doing. |