subkit· Abonnements et factures

Des abonnements qui se facturent tout seuls.

subkit apporte plans, périodes d’essai, prorata et factures dans votre app TypeScript. Vos clientes et clients paient par TWINT, carte ou facture QR ; subkit renouvelle, envoie les rappels et rapproche les paiements avec la banque. Les données restent dans votre base de données.

Essayer la démo
$npm i @agentkit.ch/subkit
MensuelAnnuel

Pro

CHF 19.00

/ mois

14 jours gratuits
Choisir Pro
TWINTVISAMASTERCARDQR
3
Moyens de paiement : TWINT, carte et facture QR
4
Langues pour le portail, les e-mails et les factures
CHF 0
De frais par transaction pour nous
MIT
Open source sur GitHub, paquets sur npm

Pour qui

Pour tout ce qui se paie chaque mois ou chaque année.

subkit s’occupe des paiements récurrents – du SaaS avec équipes et limites à l’association dont les membres paient en e-banking.

01

SaaS

Plans avec fonctions et limites, périodes d’essai et passages au plan supérieur au prorata. hasFeature() et getLimit() décident dans votre code de ce qu’une équipe peut faire.

02

Adhésions

Abonnements mensuels ou annuels par TWINT ou carte, enregistrés une fois et renouvelés automatiquement. Quittances et rappels en quatre langues.

03

Cotisations d’associations

Une facture QR plutôt qu’une carte : les membres paient en e-banking, le camt.054 de votre banque marque la facture comme payée.

Self-service

La page de facturation est déjà prête.

Avec <BillingPortal />, vos clientes et clients changent de plan, enregistrent TWINT ou une carte et téléchargent leurs factures. Chaque paiement arrive comme une ligne dans votre base de données.

acme.ch/account/billing
Votre application<BillingPortal />

Abonnement et factures

Acme AG

Basic

actif

CHF 9.00 / mois

Pro

CHF 19.00 / mois

Passer à Pro
Moyen de paiementTWINT

Factures

2026-0142

15.10.2026 · TWINT

CHF 9.00payée

2026-0141

15.09.2026 · QR

CHF 9.00payée

Fonctionnalités

Tout ce qu’il faut à un abonnement.

Issu du code qui tourne en production chez Membear : plans, paiements, factures et les cas qui n’apparaissent qu’en production.

Plans et périodes d’essai

Mensuel ou annuel, avec période d’essai et plan gratuit. Les plans masqués restent chez leurs abonnés, mais ne sont plus vendus.

Prorata au centime près

Quand une équipe passe à un plan supérieur en cours de mois, subkit calcule la différence et la débite tout de suite.

TWINT, carte ou facture

Enregistrer un moyen de paiement une fois et le débiter à chaque période – ou faire payer par facture avec facture QR.

Rappels et nouvelles tentatives

Délais de paiement, nouvelles tentatives automatiques et e-mails de rappel. Les niveaux de rappel avec frais suivent prochainement.

Droits d’accès et limites

hasFeature() et getLimit() lisent le plan actuel – sans table à vous pour les fonctions.

Rapprochement bancaire

Importer les camt.053 et camt.054 de la banque, attribuer les références QR aux factures ouvertes, les marquer comme payées.

E-mails et factures

Quittances, rappels et renouvellements en HTML et en texte, factures imprimables avec section paiement QR – en quatre langues.

TVA sur chaque facture

Ligne de TVA et numéro CHE sur chaque facture, calculés en centimes entiers plutôt qu’en virgule flottante.

MCP pour votre équipe

Trouver des clients, changer de plan, résilier, marquer des factures comme payées – depuis Claude ou ChatGPT, protégé par votre connexion.

Des webhooks qui ne comptent qu’une fois

Webhooks idempotents et mises à jour compare-and-set : si le même paiement arrive deux fois, il n’est comptabilisé qu’une seule fois.

Quand

Un paiement TWINT arrive

CHF 19.00 · 2026-0143

Alors

  • Marquer la facture comme payée
  • Activer le plan Pro
  • Envoyer la quittance en français
200Le même webhook, à nouveauignoré, déjà comptabilisé

Chaque e-mail, en quatre langues

Quittances, rappels et confirmations de commande en HTML et en texte, avec votre service d’envoi.

de

Deine Quittung für Pro

Acme AG

fr

Votre commande #1042 est confirmée

Boutique Léman

it

Promemoria: fattura 2026-0142

FC Lugano Nord

46° 48′ N · 8° 14′ E

Suisse par défaut

Pas localisé après coup. Suisse dès la première ligne.

Les bibliothèques de facturation génériques pensent en Stripe, en centimes et en une seule langue. La clientèle suisse paie par facture QR et TWINT, attend la TVA sur chaque facture et la lit en allemand, en français ou en italien. agentkit part de là.

Section paiement

Monnaie

CHF

Montant

228.00

Compte / Payable à

CH44 3199 9123 0008 8901 2
Acme AG
Bahnhofstrasse 1
8001 Zürich

Référence

21 00000 00003 13947 14300 09017

Informations supplémentaires

Facture 2026-0142 · Club Pro, abonnement annuel
TVA 8,1 % incl. CHF 17.08 · CHE-123.456.789 TVA

Payable par

FC Seebach
Dorfstrasse 12
8052 Zürich
payée
prochainementRappels à la suisse

Pour les développeurs

Facturé en cinq minutes.

Plans, prestataire de paiement et TVA dans un fichier, une route pour l’API et le webhook, un composant pour la page de facturation.

Installer

$ npm i @agentkit.ch/subkit
Prompt d’installation pour votre agent de code

Ajoutez des abonnements avec facture QR et TWINT à l’aide de @agentkit.ch/subkit. Lisez d’abord https://agentkit.ch/llms.txt.

import { createSubscriptions } from '@agentkit.ch/subkit';
import { drizzleAdapter } from '@agentkit.ch/subkit/drizzle';
import { zahlsProvider } from '@agentkit.ch/subkit/zahls';
import { db, env } from './db';

export const billing = createSubscriptions({
  // your Postgres, your tables
  database: drizzleAdapter(db),
  provider: zahlsProvider({ instance: 'acme', apiKey: env.ZAHLS_KEY }),
  plans: [
    { id: 'free', name: 'Free', features: [], limits: {}, prices: {} },
    {
      id: 'pro',
      name: 'Pro',
      features: ['export'],
      limits: {},
      prices: { month: { amount: 1900, currency: 'CHF' } },
    },
  ],
  defaultPlanId: 'free',
  tax: { rateBps: 810 }, // Swiss VAT 8.1 %
});

L’autre kit

shopkit

Commerce

Pour les boutiques d’associations, les PME, le merchandising et les bons

Produits avec variantes, panier et paiement par TWINT ou sur facture. shopkit réserve le stock, calcule les frais de port et la TVA par produit et envoie la confirmation de commande.

Panier

Écharpe du club29.00
Maillot domicile, M89.00
Livraison9.00
TotalCHF 127.00
Payer avec TWINT

Questions

Questions fréquentes.

Encore un doute ? Les démos montrent les kits avec leurs vraies options.

01Pour quels produits subkit convient-il ?

Pour tout ce qui se paie de manière récurrente : abonnements SaaS, adhésions, cotisations d’associations, cours sur abonnement. Pour vendre des produits, il y a shopkit.

02Comment mes clientes et clients paient-ils ?

Par TWINT ou carte via zahls.ch – le moyen de paiement est enregistré une fois et débité à chaque période – ou par facture avec facture QR suisse. collectionMethods définit ceux que vous proposez.

03Que se passe-t-il si un paiement échoue ?

subkit réessaie automatiquement et envoie un e-mail de rappel. Tant qu’une facture est en retard, subkit ne vend rien de nouveau au client.

04Où sont les données de mes clientes et clients ?

Dans votre base de données. subkit tourne comme bibliothèque dans votre app et écrit dans vos tables Postgres via l’adaptateur Drizzle. Il n’y a pas de backend agentkit ni de sous-traitant supplémentaire.

05Combien coûte subkit ?

Rien. subkit est open source sous MIT, sans frais par transaction. Vous ne payez que votre prestataire de paiement.

Des abonnements dans votre app, dès aujourd’hui.

Copiez le prompt d’installation dans votre agent de code – ou essayez d’abord subkit dans le navigateur.

Prompt d’installation pour votre agent de code

Ajoutez des abonnements avec facture QR et TWINT à l’aide de @agentkit.ch/subkit. Lisez d’abord https://agentkit.ch/llms.txt.

Essayer la démo · sub.agentkit.ch