Open source dalla v0.1 · sviluppato in Svizzera

Il framework di fatturazione per il software svizzero.

Abbonamenti, fatture, shop e soci – come libreria che gira nella tua app. Fattura QR, TWINT, IVA e quattro lingue sono inclusi, i dati restano nel tuo database. Dal progetto associativo al SaaS, in TypeScript e PHP.

4 lingue · 0 dati dei clienti sui nostri server · MIT open source dalla v0.1

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

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

Scegli ciò che serve al tuo prodotto.

Ogni kit funziona da solo, e tutti condividono un unico adapter, un unico cliente e un unico fornitore di pagamento. Stesso kit, stesso comportamento, in ogni linguaggio di programmazione che supportiamo.

subkit

Anteprima

Abbonamenti e fatture

  • Piani, periodi di prova, calcolo pro rata
  • Carta, TWINT o fattura QR
  • Solleciti e nuovi tentativi
  • IVA su ogni fattura

membershipkit

In corso

Soci e rinnovi

  • Categorie di socio e stagioni
  • Economie domestiche e famiglie
  • Campagne di rinnovo
  • Moduli d’iscrizione e campi personalizzati

shopkit

pianificato

Commercio

  • Prodotti e varianti
  • Carrello e checkout con TWINT
  • Ordini e rimborsi
  • Magazzino e spedizione con la Posta

Non localizzato in seguito. Svizzero dalla prima riga.

Le librerie di fatturazione generiche ragionano in Stripe, centesimi e una sola lingua. La clientela svizzera paga con fattura QR e TWINT, si aspetta l’IVA su ogni fattura e la legge in tedesco, francese, italiano o romancio. agentkit parte da qui.

Sezione pagamento

Valuta

CHF

Importo

228.00

Conto / Pagabile a

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

Riferimento

21 00000 00003 13947 14300 09017

Informazioni supplementari

Fattura 2026-0142 · Club Pro, abbonamento annuale
IVA 8.1 % incl. CHF 17.08 · CHE-123.456.789 IVA

Pagabile da

FC Seebach
Dorfstrasse 12
8052 Zürich
Generata da subkit: QR-IBAN con riferimento QR, riga IVA, debitore dalla tua tabella clienti. Dati di esempio.

Fattura QR svizzera

Sezione pagamento secondo le direttive SIX, QR-IBAN con riferimento QR o IBAN con riferimento creditore RF. CHF ed EUR. Scansione e pagamento in ogni app di e-banking svizzera.

TWINT e PSP svizzeri

zahls.ch (Payrexx) con TWINT, PostFinance Card e carte di credito. Datatrans e PostFinance Checkout in arrivo. I dati delle carte non passano mai dal tuo server.

IVA fatta bene

Prezzi IVA inclusa o esclusa, riga IVA e numero IDI su ogni fattura, Rappen interi invece di numeri in virgola mobile. Aliquote per riga (8.1 / 2.6 / 3.8 %) e arrotondamento ai 5 centesimi in arrivo.

de · fr · it · en

Interfaccia, e-mail e fatture in tedesco, francese, italiano e inglese, con i formati svizzeri: 15.10.2026, CHF 1’900.00, «virgolette», ss al posto di ß. Romancio su richiesta.

prossimamente: Riconciliazione bancaria, Solleciti alla svizzera, Conforme alla nLPD (revDSG), eBill

Tutto ciò che ruota attorno al denaro, fatto una volta sola.

I dati non lasciano mai la tua app.

I kit scrivono in tabelle della tua banca dati tramite adapter. Puoi unirle con join, farne il backup, migrare altrove – nessuna sincronizzazione, nessun silo.

TypeScript e PHP, un’unica API HTTP.

Librerie native per ogni linguaggio, montate come route nel tuo framework. Ogni implementazione parla la stessa API, quindi la stessa interfaccia funziona sopra a tutte.

I tuoi server, il tuo centro di calcolo.

Vercel, un cloud svizzero o il server in cantina: i kit vanno ovunque vada la tua app. Non c’è nessun backend agentkit da contattare.

Self-service pronto all’uso.

Componenti pronti per le schermate noiose – React, o un web component per Blade e Twig. Hook headless se vuoi la tua interfaccia.

Ogni e-mail del ciclo di vita, pronta.

Ricevute, pagamenti non riusciti, solleciti, rinnovi, conferme d’ordine – in quattro lingue, HTML e testo, con qualsiasi mailer. Fatture stampabili con fattura QR.

Il tuo agente di programmazione può integrarlo.

llms.txt, skill, un server MCP per ogni kit ed errori che rimandano alla soluzione. Un solo prompt da zero a un checkout funzionante.

MITv0.1

Open source dalla versione 0.1.

Kit, adapter, provider di pagamento e CLI saranno pubblicati su GitHub con licenza MIT a partire dalla versione 0.1. Potrai leggere il codice, adattarlo e gestirlo in proprio – senza commissioni per transazione e senza dipendere da noi.

Licenza MIT

Utilizzabile commercialmente, anche in software proprietario.

Nessun lock-in

Il codice gira nella tua app, i dati restano nel tuo database. Basta un fork per proseguire in modo indipendente.

Sviluppo aperto

Roadmap, issue e pull request saranno pubbliche – i contributi sono benvenuti.

Estratti dalla produzione, un kit alla volta.

Ogni kit nasce da codice già in produzione e viene estratto solo quando ha dato prova di sé.

  1. core + subkit

    Q4 2026 · ora

    Contratto degli adapter e suite di test, adapter Drizzle, subkit 0.1 con fattura QR, IVA e zahls.ch/TWINT su npm. Documentazione in tedesco e inglese.

  2. subkit per PHP

    Q1 2027

    Suite di conformità come fixture indipendenti dal linguaggio, porting PHP con adapter Eloquent, Doctrine e PDO, integrazione Laravel e Symfony.

  3. membershipkit

    Q1 2027

    Fatture delle quote tramite subkit. Riconciliazione bancaria camt.054, Datatrans e PostFinance Checkout.

  4. shopkit e altro

    2027

    Catalogo, carrello, checkout TWINT, spedizione con la Posta, buoni. eBill, poi eventkit e bookingkit.

La tua fatturazione – in minuti, non in mesi.

Pubblica il prodotto. Lascia ai kit abbonamenti, ordini e soci – pronti per la Svizzera, nella tua banca dati, sotto il tuo controllo.

npx agentkit init