Partner billing: implement reseller/wholesale model (match dezky.eu /partners) #1

Open
opened 2026-06-05 12:15:26 +00:00 by ronnibaslund · 0 comments
Owner

Context

The marketing site (apps/website, /partners page) now publicly promises a reseller / wholesale partner billing model. The platform does not implement this yet — the copy is ahead of the product. (Site is not live yet, so no external promise is breached.)

What the /partners page promises

  • Dezky invoices the partner at a wholesale price.
  • The partner invoices their own end customer and sets their own retail price.
  • The partner "owns the customer relationship 100%" — white-label, Dezky invisible to the end customer.
  • Margin = partner retail price − wholesale price. Tier figures are placeholders (flagged "vejledende / indicative" in the UI):
    • Registreret — 15% — from first customer
    • Certificeret — 30% — from 500 users
    • Premier — 40% — from 1000 users

Current platform state

  • Billing is direct per-tenant via Stripe — Dezky bills each tenant directly.
  • No partner-as-billing-entity, no wholesale price tier, no partner-set retail price, no partner-level invoicing.

Work to do

  • Model partner as a billing entity (distinct from tenant)
  • Wholesale pricing per partner / tier
  • Dezky → partner invoicing (aggregated across the partner's tenants)
  • Decide partner → end-customer billing: in-platform, or explicitly "partner bills outside Dezky"
  • Confirm final tier margins & thresholds (currently placeholders)
  • Reconcile with the existing Stripe per-tenant flow

Acceptance

Partner-program billing behaves as the /partners page describes — or the /partners copy is updated to match what is actually built.

## Context The marketing site (`apps/website`, `/partners` page) now publicly promises a **reseller / wholesale** partner billing model. The platform does not implement this yet — the copy is ahead of the product. (Site is not live yet, so no external promise is breached.) ## What the /partners page promises - Dezky invoices the **partner** at a **wholesale** price. - The **partner** invoices their own end customer and **sets their own retail price**. - The partner "owns the customer relationship 100%" — white-label, Dezky invisible to the end customer. - Margin = partner retail price − wholesale price. Tier figures are **placeholders** (flagged "vejledende / indicative" in the UI): - **Registreret** — 15% — from first customer - **Certificeret** — 30% — from 500 users - **Premier** — 40% — from 1000 users ## Current platform state - Billing is **direct per-tenant via Stripe** — Dezky bills each tenant directly. - No partner-as-billing-entity, no wholesale price tier, no partner-set retail price, no partner-level invoicing. ## Work to do - [ ] Model **partner as a billing entity** (distinct from tenant) - [ ] **Wholesale pricing** per partner / tier - [ ] **Dezky → partner** invoicing (aggregated across the partner's tenants) - [ ] Decide partner → end-customer billing: in-platform, or explicitly "partner bills outside Dezky" - [ ] Confirm final **tier margins & thresholds** (currently placeholders) - [ ] Reconcile with the existing Stripe per-tenant flow ## Acceptance Partner-program billing behaves as the `/partners` page describes — or the `/partners` copy is updated to match what is actually built.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ronnibaslund/dezky#1