agentkit

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.

npx agentkit init

Fattura

subkit

RiferimentoPagabile dafornitore di pagamentoImporto CHF
2026-0142FC SeebachTWINT228.00
2026-0141Chor Bern-NordFattura QR1'240.00
2026-0140Turnverein WilMastercard96.50
2026-0139Club alpin SionFattura QR1'900.00
2026-0138Società ginnastica LuganoVisa340.00

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
  • Diritti di accesso e limiti
  • Portale di fatturazione
npm i @agentkit/subkit

membershipkit

In corso

Soci e rinnovi

  • Categorie di socio e stagioni
  • Economie domestiche e famiglie
  • Campagne di rinnovo
  • Moduli d’iscrizione e campi personalizzati
  • Fatture delle quote tramite subkit
  • Tessere sociali ed esportazione
npm i @agentkit/membershipkit

shopkit

pianificato

Commercio

  • Prodotti e varianti
  • Carrello e checkout con TWINT
  • Ordini e rimborsi
  • Magazzino e spedizione con la Posta
  • Codici sconto
  • Buoni regalo
npm i @agentkit/shopkit

eventkit

Eventi, iscrizioni, biglietti, liste d’attesa

bookingkit

Appuntamenti, risorse, prenotazioni

invoicekit

Fatture singole con fattura QR, senza abbonamento

mailkit

Newsletter, liste, double opt-in

Svizzero per impostazione

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 o italiano. agentkit parte da qui.

Rechnung deFacture frFattura itInvoice en

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

live

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 tramite zahls.ch

live

Pagamenti tramite zahls.ch con TWINT e carte di credito. I dati delle carte non passano mai dal tuo server. Altri provider si collegano tramite un’unica interfaccia.

IVA fatta bene

live

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

live

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 ß.

Riconciliazione bancaria

prossimamente

Importa camt.054 / camt.053 dalla tua banca, abbina i riferimenti QR alle fatture aperte e contrassegnale come pagate. Basta con l’abbinamento manuale degli estratti conto.

Solleciti alla svizzera

prossimamente

Oggi: termini di pagamento, nuovi tentativi automatici ed e-mail di sollecito. Prossimamente: 1°, 2° e 3° sollecito con spese, PDF di sollecito con una nuova fattura QR, esportazione per l’esecuzione.

Conforme alla nLPD (revDSG)

per concezione

I kit girano nella tua app e scrivono nella tua banca dati. Nessun responsabile del trattamento aggiuntivo per i dati dei tuoi clienti – se vuoi, ospitali in un centro di calcolo svizzero.

eBill

pianificato

Recapita le fatture direttamente nell’e-banking dei tuoi clienti tramite la rete svizzera eBill, con la fattura QR come alternativa.

Una libreria nella tua app. Non un servizio davanti a essa.

La tua app

  • Next.js · Laravel · Symfony · Hono
  • <BillingPortal /> · <ak-cart>
  • la tua auth → authorize()

agentkit · nel tuo processo · TS o PHP

  • subkit · membershipkit · shopkit
  • core · schema · events · i18n
  • adapter della banca dati · fornitore di pagamento

Tuo

  • Il tuo Postgres · MySQL · SQLite
  • zahls.ch · TWINT
  • La tua banca · camt.054
  • Il tuo mailer

Una specifica. Nativo in ogni stack.

Ogni kit è definito una sola volta – schema, regole, API HTTP, e-mail, traduzioni – e implementato in modo nativo per ogni linguaggio di programmazione. Una suite di conformità comune esegue gli stessi scenari di fatturazione su ogni implementazione, così un rinnovo in PHP produce esattamente le stesse righe di un rinnovo in TypeScript. L’interfaccia React dialoga con entrambi.

TypeScript

Next.js · Hono · SvelteKit · Nuxt · Express · Workers

Drizzle · Prisma · Kysely

riferimento

PHP

Laravel · Symfony · PHP 8.3+

Eloquent · Doctrine · PDO

prossimamente

Python

Django · FastAPI · Flask

Django ORM · SQLAlchemy

più avanti

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

La tua banca dati

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.

DrizzlePrismaEloquentDoctrinePDO

Qualsiasi stack

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.

Next.jsHonoLaravelSymfonyOpenAPI

Hosting ovunque

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.

InfomaniakExoscaleSwisscomVercelon-prem

Interfaccia inclusa

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.

<BillingPortal />useBilling()<ak-cart>

E-mail e documenti

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.

ResendSMTPPostmarkPDF

Pensato per gli agenti

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.

llms.txtMCPSkillsAGENTS.md

Corretto per concezione

I flussi di denaro sono noiosi di proposito.

Aggiornamenti compare-and-set, webhook idempotenti, transazioni dove contano. Un’unica suite di conformità per ogni linguaggio e banca dati.

CASIdempotencyTransactions

Componibile

Kit che si conoscono a vicenda.

Un cliente, un fornitore di pagamento, un sistema di fatturazione per tutti i kit. Quote sociali e ordini dello shop finiscono sulla stessa fattura QR.

Shared customerTyped eventsPlugins

Open source

MIT. Ogni riga leggibile – dalla v0.1.

Il codice sarà pubblicato su GitHub con la versione 0.1. Nessuna commissione per transazione a noi, nessun lock-in. Una dashboard ospitata e un relay di webhook saranno opzionali, non obbligatori.

MITTypeScriptPHPTested

Dichiarato nel codice. Verificato nelle pull request.

I kit descrivono le loro tabelle in modo dichiarativo. La CLI le trasforma in uno schema o in una migrazione per l’ORM che usi già – Drizzle, Prisma, Eloquent, Doctrine – e ogni adapter supera la stessa suite di conformità.

import { agentkit } from '@agentkit/core';
import { drizzleAdapter } from '@agentkit/drizzle';
import { subkit } from '@agentkit/subkit';
import { shopkit } from '@agentkit/shopkit';
import { membershipkit } from '@agentkit/membershipkit';
import { zahls } from '@agentkit/zahls';

export const kit = agentkit({
  database: drizzleAdapter(db, { tablePrefix: 'ak_' }),
  payments: zahls({ instance: 'acme', apiKey: env.ZAHLS_KEY }),
  kits: [
    subkit({ plans, defaultPlanId: 'free' }),
    shopkit({ currency: 'CHF', vat: { rateBps: 810 } }),
    membershipkit({ seasons: 'yearly', invoiceWith: 'subkit' }),
  ],
});

kit.on('shop.order.paid', async ({ order }) => fulfil(order));

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. Q4 2026 · ora

    core + subkit

    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. Q1 2027

    subkit per PHP

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

  3. Q1 2027

    membershipkit

    Fatture delle quote tramite subkit. Riconciliazione bancaria camt.054.

  4. 2027

    shopkit e altro

    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.