Gå til indholdet

09 — Billing & betaling: MobilePay, abonnement + Dinero

Status: DISKUSSIONSOPLÆG — til fælles gennemgang. Selve tekniske valg er ikke endeligt besluttet, men kravene nedenfor (§1) er ufravigelige og styrer resten.

Hvor det hører til (lag): delsystem under Website OS (07-website-os-multi-tenant-arkitektur.md); tæt koblet til modul-systemet (08-modul-system.md) via tenant_modules-entitlements. Kommerciel model i ../administration/forretningsmodel-og-pricing.md; drifts-/økonomioverblik i interne-systemer.md.

Holdt som særskilt dokument fra modul-systemet, så billing kan opdateres uafhængigt. Bygger på webresearch juli 2026 — gebyrer/produkter skifter, verificér før beslutning.

1. Ufravigelige krav (fastlagt)

  1. MobilePay skal understøttes som betalingsmåde — både engangs (opsætningsgebyr) og tilbagevendende månedligt abonnement (recurring).
  2. Kunde-konfiguration (hvilke moduler/abonnement en kunde har) skal styres og holdes i sync med billing.
  3. Håndtér både engangs- og månedlige subscription-betalinger.
  4. Synlig relation ind til Dinero — betalinger og fakturaer skal kunne ses/bogføres i Dinero.
  5. Levér fakturaer (med moms) til brug i kundernes moms-/regnskab.
  6. Internationale kunder skal kunne understøttes — ud over danske kunder (kort/Apple Pay/PayPal/SEPA + multi-currency). Se §6.

2. Den afgørende konsekvens: Stripe er ude, dansk motor ind

Stripe kan IKKE lave recurring MobilePay — hos Stripe er MobilePay kun engangsbetaling ("Recurring payments: No"). Da månedligt MobilePay-abonnement er et ufravigeligt krav (§1.1), er Stripe udelukket som primær motor. Kravet peger entydigt mod en dansk motor.

Motor Engangs MobilePay Recurring MobilePay Fuld faktura/abonnement Native Dinero
Frisbii (Reepay/Billwerk+) ✅ (motor)
Quickpay ❌ (kun gateway — byg selv)
Stripe ✅ (men uden recurring MobilePay)
OnPay ⚠️ kun kort-token (ikke ægte MobilePay-mandat)
Nexi Checkout

3. Anbefaling: Frisbii (Reepay/Billwerk+) som billing-motor

Den eneste kombination der samtidig opfylder alle de ufravigelige krav med mindst udvikling for et 2-mands-team:

  • Engangs MobilePay (opsætningsgebyr) + recurring MobilePay (Vipps MobilePay Recurring)
  • ✅ Kort (Dankort/Visa/Mastercard) som alternativ betalingsmåde
  • Fuld abonnementsmotor (proration, retries, dunning) — vi slipper for at bygge charge-scheduling selv
  • Native Dinero-integration → faktura + bogføring + moms oprettes automatisk ved fornyelse
  • ⚠️ Betalingsservice: historisk understøttet via Reepay/Nets — verificér i den konkrete Frisbii-aftale

Alternativ (kun hvis transaktionsgebyr skal minimeres og I har udviklingskapacitet): Quickpay som gateway (recurring MobilePay ✅, billigere pr. transaktion) — men I skal selv bygge fakturering + abonnementslogik OG selv løse Dinero-bogføring (ingen native connector). Dårligt bytte for et 2-mands-team der vil have Dinero-automatik. Derfor: Frisbii er førstevalget.

4. MobilePay recurring — sådan virker det (vigtige detaljer)

  • Ny platform: "MobilePay Subscriptions" udfases og erstattes af Vipps MobilePay Recurring (fælles nordisk platform). Migrering kører merchant-for-merchant april → ~sep 2026; legacy kan bruges til udgangen af 2026. → Byg direkte mod nye Vipps MobilePay Recurring, ikke legacy.
  • Mandat-model: kunden godkender en agreement én gang i MobilePay-app'en. Derefter opretter motoren (Frisbii) charges mod aftalen. Bemærk: charges oprettes ikke af MobilePay selv — billing-motoren står for at trække hver måned (én af grundene til at bruge en motor frem for en ren gateway).
  • Gebyr (DK, størrelsesorden): ~0,99 % + 1 DKK pr. transaktion (planlagt 0,89 % + 1 DKK fra 2027), oveni Frisbiis egne motor-/gateway-gebyrer. Ingen oprettelses-/månedsgebyr på selve MobilePay. Verificér i jeres egen aftale.

5. Relation til Dinero (krav §4–§5)

  • Frisbii/Billwerk+ → Dinero er en native integration: ved hver abonnements-fornyelse oprettes fakturaen automatisk i Dinero og bogføres, med momslinjer (25 %). Det er den reneste vej til kravet om synlig Dinero-relation + fakturaer til moms-regnskab.
  • Momshåndtering: billing-motoren sender fakturalinjer inkl. moms; Dinero bogfører på de rigtige momskonti og står for momsafregning. Faktura til kunden udstedes fra Dinero-siden, drevet af motorens fornyelsesdata.
  • Hvem fakturerer hvem (afklaring): vi fakturerer vores kunder (SMV'erne) for website-abonnement + moduler → det sker i vores ét Dinero. Kundens faktura fra os er deres udgiftsbilag med moms i deres eget regnskab. (Hvis et modul senere skal lade en kunde fakturere sine egne slutkunder, er det en modul-funktion — en anden sag end denne SaaS-fakturering. Se åbent spørgsmål 4.)

6. Betalingsmetoder & international dækning (Frisbii)

Verificeret mod Frisbii/Billwerk+ docs (juli 2026). Bekræftelse: Frisbii + Dinero dækker både danske kunder (MobilePay) og internationale kunder (kort/Apple Pay/PayPal/SEPA) i samme setup.

Metoder og recurring-status:

Metode Engangs Recurring Note
Kort: Visa, Mastercard, Dankort, Maestro, JCB, UnionPay, Discover Internationale kort kræver rette acquirer (Clearhaus/Frisbii Pay; Nets alene = kun Dankort-scope)
American Express / Diners ⚠️ Kræver separat acquiring-aftale (ikke i standard Clearhaus/Nets)
Apple Pay Wallet til recurring internationalt
Google Pay ⚠️ Dokumenteret kun engangs hos Frisbii — verificér før recurring loves
PayPal Recurring internationalt
SEPA Direct Debit EUR/SEPA-zonen (ikke globalt)
MobilePay (DK) · Vipps (NO) · Swish (SE) ✅ (MobilePay/Vipps) Nationale — virker IKKE for internationale kunder
Betalingsservice (DK) (verificér) National; bekræft recurring-status i Frisbii-aftalen
Klarna, iDEAL, Bancontact, Trustly m.fl. Kun engangs
  • Multi-currency: 140+ valutaer; DKK + EUR/USD/GBP side om side. Men: ét abonnement = én valuta (valutaskift kræver at abonnementet udløbes og genoprettes).
  • Rollefordeling: danske kunder = MobilePay (+ kort); internationale kunder = kort/Apple Pay/PayPal/SEPA. MobilePay-kravet (§1) gælder de danske kunder — internationale falder tilbage på kort/wallets.

International moms (kort — kræver revisor): Frisbii understøtter reverse charge (EU B2B) og OSS (EU B2C); ikke-EU typisk 0 %. VIES-validering af momsnummer er ikke bekræftet indbygget — antag at vi selv validerer og markerer kunden. Momskoderne (EU B2B reverse charge / EU B2C OSS-satser / ikke-EU 0 %) skal konfigureres korrekt i Dinero, og mapping mellem Frisbii og Dinero sættes op. Ikke fuldautomatisk — afklar med revisor.

7. Samlet dataflow

[Admin: kunde til-/fravælger modul · eller onboarding (opsætningsgebyr)] │ ▼ [tenant_modules — ÉN kilde til sandhed] ← modul-registret (doc 08) leverer billing_sku + pris (a) flipper feature-flag (doc 08) (b) opdaterer abonnement i billing-motoren (dette dok.) │ ▼ [Frisbii — billing-motor / system of record] • engangs (opsætningsgebyr) + månedlige abonnementslinjer pr. modul • proration · moms 25 % · dunning/retry │ opkrævning ▼ [Betaling] MobilePay (engangs + recurring) · kort · (Betalingsservice — verificér) │ faktura + betalingsstatus ▼ [Dinero] automatisk faktura + bogføring + moms + revisorvenligt arkiv (native integration)

8. Åbne spørgsmål — til diskussion

  1. Frisbii vs. Quickpay: Frisbii = mindst udvikling + native Dinero (anbefalet); Quickpay = billigere/transaktion men byg-selv fakturering + ingen Dinero-connector. Bekræft valg → ADR.
  2. Betalingsservice hos Frisbii: aktuel status i konkret aftale (tilvalg for lav-churn ud over MobilePay/kort)?
  3. Migreringstiming: går vi live under Vipps MobilePay-migreringen (apr–sep 2026), byg mod ny Recurring-API.
  4. Multi-tenant Dinero: bekræft at vi fakturerer i vores ét Dinero (ikke i mange kunders separate regnskaber) — det er antagelsen; verificér før build.
  5. Fejlet betaling → modul-suspend: hvornår suspenderes modulet efter fejlet MobilePay/kort-træk? (kobler entitlements i doc 08 tilbage til betalingsstatus).
  6. Opsætningsgebyr: fast beløb, og opkræves det via MobilePay engangs ved onboarding?
  7. Gebyrer + moms/kontoplan: verificér aktuelle satser (Vipps MobilePay + Frisbii) og afklar kontoplan/momskoder med revisor.
  8. Amex/Diners: skal vi tilbyde dem? (kræver separat acquiring-aftale). Google Pay recurring: verificér før vi lover det til abonnement.
  9. Acquirer til internationale kort: Clearhaus vs. Frisbii Pay. International moms: reverse charge/OSS/ikke-EU + VIES — momskode-opsætning i Dinero + revisor.

9. Næste skridt

  1. Beslut Frisbii vs. Quickpay (åbent spm. 1) → ADR.
  2. Opret Vipps MobilePay-aftale (Merchant Serial Number) + kobl til billing-motoren.
  3. Byg den tynde billing-adapter (interface) så motoren kan skiftes uden at røre modul-koden.
  4. Aktivér native Dinero-integration; test faktura + moms + bogføring ved fornyelse.
  5. Afklar moms/kontoplan med revisor.

Kilder


Udarbejdet 2026-07-18 som diskussionsoplæg. Krav i §1 er ufravigelige; øvrige valg fanges som ADR i adr/ når truffet.