Skip to content
Log in

Theory

The total price up front

Fees, taxes, currency, renewals and an easy way out: show what a family will really pay before it commits, and make leaving as easy as joining.

~9 min read · 9 exercises · 250 points

Before you start

Just 2.5%

Still on Klasna's growth team: the January price page has its prices, and Hanna wants to add a 2.5% fee at the last step of checkout.

The question of this lesson: what does a family really pay in the end, with fees, taxes, currency and renewals, and how easy is it to leave?

The total price up front

Buyers compare offers by the first price they see. If unavoidable charges appear only later, step by step, that comparison is false. This is drip pricing: a low headline price with fees revealed on the way to payment. Hanna's idea, 12,400 on the page and a 2.5% “service fee” at the last step, is a textbook case: the family compares 12,400 with other offers, then pays 12,710.

The rules point the same way. As of October 2026, EU consumer law requires the total price, including taxes and every unavoidable charge, before a buyer commits online. Ukrainian law requires clear price information before purchase.

Klasna's house rule is simpler and stricter: the first price a family sees is the price it pays. Optional extras a family chooses can be priced separately; anything every buyer has to pay belongs in the number on the page.

This lesson applies that rule to payment fees, currency, renewals and leaving.

  • Do
    “NMT Sprint: 12,400 UAH, the full amount you pay.”
  • Don't
    “12,400*” with “*plus 2.5% service fee” at checkout.

    An unavoidable fee revealed at the end is drip pricing.

Why a surcharge on top doesn't cover the fee

Hanna's plan has a second problem besides honesty: the arithmetic. The provider takes 2.5% of the whole payment, including the surcharge itself.

  • The family pays 12,400 × 1.025 = 12,710.
  • The fee is 2.5% of 12,710 = 317.75.
  • Klasna keeps 12,710 − 317.75 = 12,392.25, 7.75 short of 12,400.

A percentage added on top and a percentage taken off the total aren't the same size, because they're calculated on different bases. To keep exactly 12,400 you'd have to divide: 12,400 ÷ 0.975 = 12,717.95.

So the surcharge annoys families at the last step and still doesn't do its job. Either way the honest page shows one number up front, which is where the next cards go: absorb the fee, or build it into one shown price.

The same trap appears wherever a percentage cost is “passed on”: check the base the percentage is taken from before trusting “2.5% on, 2.5% off”.

  • Do
    “12,710 minus 2.5% of 12,710 leaves 12,392.25, not 12,400.”
  • Don't
    “2.5% on top, 2.5% taken off: it cancels out.”

    The two percentages are taken from different bases.

Building a fee into the price

If a cost is real, the price is how buyers pay it. The question is only whether it's visible from the start.

To build a percentage fee into one shown price, remember that the provider takes its share of the whole payment, including the part you added. So you divide, not multiply:

shown price = what you want to keep ÷ (1 − fee rate)

For NMT Sprint: 12,400 ÷ 0.975 = 12,717.95, rounded to a clean 12,720. Multiplying, 12,400 × 1.025 = 12,710, falls short, because the 2.5% is taken from 12,710, not from 12,400.

The same logic works for any cost taken as a share of revenue: marketplace commissions, platform fees, a revenue share with a partner school.

Once the fee is inside the price, show that one number everywhere: on the page, in the basket and on the receipt. Same money as a checkout surcharge, no surprise at the last step.

  • Do
    “12,400 ÷ 0.975 = 12,717.95, so we show 12,720 everywhere.”
  • Don't
    “Add 2.5% on top and the fee is covered.”

    The fee is taken from the bigger total, so multiplying falls short.

Absorb the fee or show it in one price

A payment fee is a real cost: 310 UAH on every NMT Sprint at 2.5%. Someone has to pay it, and the price is how they pay it. There are two honest ways to handle it, and one rule both share.

  • Absorb it. Keep 12,400 and treat the fee as part of the cost of selling, as Klasna does today. The Sprint's floor already includes it.
  • Build it into one shown price. Raise the price so it covers the fee, for example to 12,720, and show that number everywhere.

The shared rule: one price, shown from the first screen to the last, with every unavoidable cost inside it.

The dishonest versions all split the price: 12,400 on the page and a “service fee 2.5%” at payment; “fees may apply” buried in the terms; a fee added only for parents who pay from abroad, without warning. Each one makes the family compare one number and pay another.

  • Do
    “NMT Sprint: 12,720 UAH” on the page, in the basket and on the receipt.
  • Don't
    “Fees may apply” in the terms and conditions.

    An unavoidable charge hidden in the terms still splits the price.

One price for every payment method

A fee that depends on how someone pays looks fair on paper: cards cost Klasna more than a bank transfer, so why not pass that on?

Because the rules usually say no. As of October 2026, in the EU a surcharge on consumer card payments is generally not allowed: the payment-services rules forbid it for ordinary consumer cards and for euro bank transfers. Showing the surcharge before payment doesn't change that. Ukraine's rules on this need checking with a lawyer before you rely on them.

The safe default for Klasna: one price for every payment method, with the average payment cost built into it or absorbed.

This is a legal guardrail, dated, not legal advice. The principle behind it matches the rest of the lesson: a buyer shouldn't discover at the payment step that their price depends on something they didn't expect. If a payment method really is much more expensive, the honest options are to build the cost into the one price or to stop offering that method, not to surprise people with a surcharge.

  • Do
    “12,400 UAH, the same whether you pay by card or bank transfer.”
  • Don't
    “Card payments: +2.5%, shown before you pay.”

    In the EU this is generally not allowed for consumer cards, disclosed or not (as of October 2026).

Hryvnia, euros and VAT

The total-price rule applies to currency and tax too.

  • Ukraine: as of October 2026, prices for Ukrainian consumers are set and shown in hryvnia. A dollar price “for convenience” as the main price on the Ukrainian page isn't an option.
  • EU: consumer prices are shown including VAT and other taxes, not “plus VAT at checkout”, which is how some shops price for businesses. Whether VAT is due on live online lessons sold from Ukraine is a question for a tax adviser before selling into a country; whatever the answer, the euro price shown is the price paid.
  • Charging currency: say which currency you charge in, next to the price (“charged in EUR”). A card from abroad may be converted by the family's bank; that conversion is the bank's, but the amount Klasna charges must never change between the page and the receipt.

And for subscriptions, the price is per billing period with how it renews: “450 UAH a month, renews monthly until you cancel”.

  • Do
    “English: 15 EUR a lesson, taxes included, charged in EUR.”
  • Don't
    “About 280 USD” as the main price on the Ukrainian page.

    Ukrainian consumers see prices in hryvnia (as of October 2026).

Renewals and an easy way out

A subscription's price includes how it renews and how you leave. Nazar's original Club flow, two clicks to join and a support message plus a persuasion call to cancel, is a trap, not retention.

The honest standard Klasna adopts:

  • At sign-up: the renewal date and price, stated plainly.
  • Before a big charge: a reminder about a week before the annual plan renews.
  • Leaving: cancelling in the account, in about as many steps as signing up, with a confirmation. Ask why people leave after they've cancelled, not as the price of leaving.
  • Price changes: a member hears about a new price before it applies, never at a silent renewal.

This costs little. People who forget to cancel and then feel cheated leave for good, ask for refunds and warn others; a member who leaves easily may come back. A forced retention call keeps a few people for a month and loses their trust for years.

  • Do
    Say a member joined on 15 January: “Your annual plan renews on 15 January at 4,320 UAH. Cancel in your account any time.”
  • Don't
    “To cancel, write to support; we’ll call you to discuss.”

    A harder way out than in is a trap, not retention.

The right to change your mind

EU families have one more protection. As of October 2026, an EU consumer can withdraw from an online service contract within 14 days, and since 19 June 2026 online sellers must offer a clearly labelled withdrawal button.

If the family expressly asked to start at once and was told about its right to withdraw and what it would then pay, it pays for what it has already used. A family that bought the annual Club and withdrew on day 10 of 365 paid for 10 days and gets back (365 − 10) ÷ 365 = 97.26% of the price. Without that request and information, it would get everything back.

A proportional rule is simple to explain and to automate. And the withdrawal itself should take no more steps than buying did.

These are dated legal guardrails, not legal advice; the details get a lawyer's check before Klasna relies on them.

How it fits together: the first price a family sees should be the full price: fees inside, the right currency and taxes, clear renewals, an easy way out. Next: fake urgency and fake “was” prices, and Dana's own price post.

  • Do
    “Changed your mind within 14 days? Use the withdrawal button; you pay only for the days used.”
  • Don't
    “No refunds after your first lesson.”

    EU consumers have a 14-day withdrawal right (as of October 2026).

Ready to practise?

Answer the lesson's exercises and earn 250 points the first time you finish it.

Start the exercises