fix: align pricing with strategy — Basic free, card color €59, BP PDF €149

- supplier_basic: monthly_price/yearly_price → 0 (free tier, no Paddle subscription)
- boost_card_color: price 19 → 59 (aligns with MARKETING.md)
- setup_paddle.py: Basic products commented out, card_color 1900→5900, business_plan 9900→14900
- export.html: business plan PDF price €99 → €149

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Deeman
2026-02-26 15:08:41 +01:00
parent a35036807e
commit 82567b53ff
3 changed files with 16 additions and 24 deletions

View File

@@ -43,7 +43,7 @@
<p>{{ t.export_subtitle }}</p> <p>{{ t.export_subtitle }}</p>
</div> </div>
<div class="exp-price">&euro;99 <span>one-time</span></div> <div class="exp-price">&euro;149 <span>one-time</span></div>
<ul class="exp-features"> <ul class="exp-features">
{% for key in ['planner_export_f1','planner_export_f2','planner_export_f3','planner_export_f4','planner_export_f5','planner_export_f6','planner_export_f7','planner_export_f8'] %} {% for key in ['planner_export_f1','planner_export_f2','planner_export_f3','planner_export_f4','planner_export_f5','planner_export_f6','planner_export_f7','planner_export_f8'] %}

View File

@@ -40,23 +40,15 @@ if not PADDLE_API_KEY:
# Maps our internal key -> product name in Paddle. # Maps our internal key -> product name in Paddle.
# The name is used to match existing products on sync. # The name is used to match existing products on sync.
PRODUCTS = [ PRODUCTS = [
# Subscriptions — Basic tier (new) # NOTE: Basic tier is free — no Paddle subscription product needed.
{ # Suppliers select Basic during signup without a payment flow.
"key": "supplier_basic_monthly", # These entries are kept as dead/legacy references only; do not create them.
"name": "Supplier Basic (Monthly)", # {
"price": 3900, # "key": "supplier_basic_monthly",
"currency": CurrencyCode.EUR, # "name": "Supplier Basic (Monthly)",
"interval": "month", # "price": 0,
"billing_type": "subscription", # ...
}, # },
{
"key": "supplier_basic_yearly",
"name": "Supplier Basic (Yearly)",
"price": 34900,
"currency": CurrencyCode.EUR,
"interval": "year",
"billing_type": "subscription",
},
# Subscriptions — Growth tier (existing monthly + new yearly) # Subscriptions — Growth tier (existing monthly + new yearly)
{ {
"key": "supplier_growth", "key": "supplier_growth",
@@ -119,7 +111,7 @@ PRODUCTS = [
{ {
"key": "boost_card_color", "key": "boost_card_color",
"name": "Boost: Custom Card Color", "name": "Boost: Custom Card Color",
"price": 1900, "price": 5900,
"currency": CurrencyCode.EUR, "currency": CurrencyCode.EUR,
"interval": "month", "interval": "month",
"billing_type": "subscription", "billing_type": "subscription",
@@ -172,7 +164,7 @@ PRODUCTS = [
{ {
"key": "business_plan", "key": "business_plan",
"name": "Padel Business Plan (PDF)", "name": "Padel Business Plan (PDF)",
"price": 9900, "price": 14900,
"currency": CurrencyCode.EUR, "currency": CurrencyCode.EUR,
"billing_type": "one_time", "billing_type": "one_time",
}, },

View File

@@ -36,9 +36,9 @@ bp = Blueprint(
PLAN_FEATURES = { PLAN_FEATURES = {
"supplier_basic": { "supplier_basic": {
"name": "Basic", "name": "Basic",
"monthly_price": 39, "monthly_price": 0,
"yearly_price": 349, "yearly_price": 0,
"yearly_monthly_equivalent": 29, "yearly_monthly_equivalent": 0,
"monthly_credits": 0, "monthly_credits": 0,
"paddle_key_monthly": "supplier_basic_monthly", "paddle_key_monthly": "supplier_basic_monthly",
"paddle_key_yearly": "supplier_basic_yearly", "paddle_key_yearly": "supplier_basic_yearly",
@@ -112,7 +112,7 @@ BOOST_OPTIONS = [
"key": "boost_card_color", "key": "boost_card_color",
"type": "card_color", "type": "card_color",
"name_key": "sd_boost_card_color_name", "name_key": "sd_boost_card_color_name",
"price": 19, "price": 59,
"desc_key": "sd_boost_card_color_desc", "desc_key": "sd_boost_card_color_desc",
}, },
] ]