Setting up VAT-inclusive pricing & discount codes for your paid app

Selling in euros, pounds, or kronor? Build VAT into your price instead of adding it on top — plus how to create discount codes for your plans.

Two things creators selling in Europe and the UK ask us about a lot: making sure tax is handled the way local law expects, and offering a discount code. Both are quick to set up yourself — here's how.

Part 1 — VAT-inclusive vs. tax-on-top pricing

Why this matters

When you set a price, there are two ways tax can be applied at checkout:

  • Tax on top (exclusive) — the buyer sees your price, then tax is added on top. The total they pay is higher than the price you displayed. This is the norm in the US and Canada.
  • Tax included (inclusive) — the price you display is the final price. The applicable VAT/GST is carved out of that amount. This is the norm — and usually a legal requirement — in the EU, UK, and most VAT/GST countries, where the displayed price has to be the final price.

New payment accounts default to tax on top. That's correct for US/Canada sellers, but if you're selling to EU/UK customers it means your buyers get charged more than the price they saw (for example, +25% VAT added on top of a Swedish krona price). For those markets you almost always want tax included.

How to switch to tax-included pricing

It's a one-time, account-level setting:

  1. Go to Payments → Settings in your OverSkill account. If you're selling in a VAT/GST currency, you'll see a Check your VAT setting note with a direct link.
  2. That link opens your payouts dashboard to Payouts → Business and tax details.
  3. Find the pricing strategy setting and switch it from Exclusive to Inclusive.
  4. Save. From then on, the price you set is the final price your customers pay, with VAT carved out of it.

Good to know

  • This is a single setting for your whole account, not something you set per plan.
  • Switching to inclusive means your net proceeds per sale are a bit lower at the same displayed price, because the tax now comes out of the amount you set rather than being added on top. If most of your sales are in VAT/GST countries, factor that into the prices you choose.
  • You're still responsible for registering for, filing, and remitting tax where required — this setting only controls how tax is displayed and collected at checkout.

Part 2 — Discount codes

Want to run a launch promo, reward early customers, or win back people who cancelled? Create a discount code that buyers apply at checkout.

How to create one

  1. Go to Payments → Settings and find the Discount codes card.
  2. Click Manage discount codes — this opens your dashboard to Marketing → Promo codes.
  3. Click Create promo code and set it up:
    • Code — what customers type at checkout (e.g. LAUNCH20).
    • Discount — a percentage (like 20% off) or a fixed amount (like $10 off).
    • Duration — one-time, for a set number of months, or forever.
    • Who can use it — everyone, new customers only, or churned customers only.
    • Expiry & usage limit — set an end date and a maximum number of redemptions.
    • Specific plans — optionally limit the code to certain plans instead of all of them.
  4. Save, and the code is live. Customers will see a field at checkout to enter it.

Good to know

  • Promo codes are case-insensitive, so keep them short and memorable.
  • You can expire a code early anytime if you need to shut a promo down.
  • Announce your code wherever your customers are — social posts, an email, or your ad copy.

Was this helpful?

Thanks for the signal — it helps us improve the docs.

More in Payments and selling

Selling your app

Charge for access. Monthly subs, one-time purchases, or a marketplace listing. Set it up in minutes.

Setting prices and subscriptions

Pick a price model that fits your app — monthly, yearly, one-time, tiered, or all of the above.

Identity verification — what and why

Before you can cash out, you'll verify your identity. Standard banking compliance. About 5 minutes.

Still need help?

If this didn't answer your question, our team is one click away.