shopkit· E-Commerce

Verkaufen mit TWINT und QR-Rechnung.

shopkit bringt Katalog, Warenkorb, Checkout und Backoffice in deine TypeScript-App. Bezahlt wird per TWINT, Karte oder auf Rechnung, Lager, Versand und MWST rechnet shopkit, die Etiketten kommen von der Post. Die Daten bleiben in deiner Datenbank.

Demo ausprobieren
$npm i @agentkit.ch/shopkit

Warenkorb

Vereinsschal29.00
Trikot Heim, M89.00
Versand9.00
TotalCHF 127.00
Mit TWINT bezahlen
3
MWST-Sätze pro Produkt: 8.1, 2.6 und 3.8 %
4
Sprachen für Shop, E-Mails und Quittungen
CHF 0
Gebühr pro Bestellung an uns
MIT
Open Source auf GitHub, Pakete auf npm

Für wen

Für Shops, die Schweizer Kundschaft bedienen.

Vom Fanshop eines Vereins bis zur Bäckerei mit Abholung: shopkit kennt TWINT, die QR-Rechnung, die Post und die MWST-Sätze der Schweiz.

01

Vereinsshops & Merch

Trikots in Grössen, Schals und Gutscheine – bezahlt per TWINT oder auf Rechnung, verschickt mit der Post oder abgeholt.

02

Bäckereien & Hofläden

Abholtag mit Zeitfenster, Bestellschluss und geschlossenen Tagen. Mit WaWiAssist von HS-Soft kommen die Artikel samt Allergenen aus der Warenwirtschaft.

03

Röstereien & KMU

Varianten, Lager, Versand nach Gewicht und das Etikett der Post mit einem Klick. Stammkundinnen bestellen sogar über ihren KI-Agent.

Neu in shopkit 0.2 · Bestellen per KI-Agent

Deine Kundschaft bestellt im Chat.

Dein Shop wird zum MCP-Server. Der Agent deiner Kundinnen und Kunden – Claude, ChatGPT oder Cursor – sucht Produkte, rechnet die Bestellung mit MWST und Versand und bestellt. Bezahlt wird per zahls.ch-Link oder direkt mit dem gespeicherten TWINT. Für jeden shopkit-Shop, ohne zusätzlichen Dienst.

  • Anmeldung per OAuth – Claude und ChatGPT verbinden sich ohne Token
  • Belastet wird nur der Betrag, den die Kundin bestätigt hat
  • Versand, Abholung oder Liefertag mit Zeitfenster – der Agent fragt nach
  • Zahlungs-Tokens erreichen das Modell nie
import { createShopCustomerMcpHandler } from '@agentkit.ch/shopkit/mcp'Anleitung im README
AgentMCP · Rösterei Aare

Zweimal die Hausmischung und einen Entkalker, bitte per Post.

search_productshausmischung, entkalker

quote_order

2 × Hausmischung 500 g37.00

Entkalker12.90

PostPac Priority9.00

TotalCHF 58.90

CHF 58.90 mit deinem gespeicherten TWINT bezahlen?

Ja, bitte.

place_orderexpectedAmount: 5890

TWINT …

Neu in shopkit 0.2 · Für Bäckereien

HS-Soft (WaWiAssist) angebunden.

Für Bäckereien und Konditoreien mit WaWiAssist: Die Produkte kommen aus WaWiAssist, jede Bestellung geht dort als Auftrag ein – mit dem Abholtag als Bestelldatum. Egal, ob im Webshop oder per Agent bestellt.

  • Import mit Preiskategorie, Aktionspreis, Bild, Deklaration, Allergenen und Nährwerten
  • Nur Abholtage, an denen jeder Artikel im Warenkorb erhältlich ist
  • Ist HS-Soft nicht erreichbar, sendet shopkit die Bestellung später nochmals
  • Status und erneutes Senden im Backoffice und per MCP
import { createHsSoftSync } from '@agentkit.ch/shopkit/hssoft'Anleitung im README

Artikel → Produkte

WaWiAssist

  • A1Zopf 500 g6.80
  • A7Bauernbrot5.20
  • A12Grittibänz4.50

shopkit

  • Zopf 500 gimportiert
  • Bauernbrotimportiert
  • Grittibänzab 1.11.

Bestellung → WaWiAssist

shopkit

#2187 · CHF 18.80

Abholung 31.10.2026

WaWiAssist

—

Neu in shopkit 0.4 · Die Post

Etiketten und Adressen der Post.

Ein Klick in der Bestellung und das Etikett mit Barcode ist da – mit der Versandart der Bestellung, abgerechnet über deine Frankierlizenz. Im Checkout schlägt die Post PLZ, Ort, Strasse und Hausnummer vor und prüft die Adresse, bevor bestellt wird.

  • PostPac Economy und Priority, Sperrgut, Swiss-Express «Mond», VinoLog und A-Post Plus
  • A5, A6 oder A7 als PDF oder ZPL2 für den Etikettendrucker
  • Zusatzleistungen wie Unterschrift, Fragil oder Samstagszustellung
  • Sendungsnummer mit Track & Trace in der Versand-E-Mail
import { createSwissPost } from '@agentkit.ch/shopkit/swisspost'Anleitung im README

<Checkout />

Strasse und Nr.

Bahnhofst

PLZ und Ort

8001 Zürich

Adresse von der Post bestätigt

#1044

A6 · PRI

1.2 kg

Etikett erstellen

Rösterei Aare

Aarstrasse 12

3011 Bern

PRI

Anna Muster

Bahnhofstrasse 12

8001 Zürich

99.60.123456.00000001

Sendungsnummer —

Funktionen

Alles, was ein Shop braucht.

Katalog, Kasse und Backoffice, mit den Schweizer Details, die generische Shop-Systeme als Plugin nachliefern.

Produkte & Varianten

Physische Produkte und Geschenkkarten, Varianten mit eigenem Preis und Lager, Streichpreise, Bilder und Texte in vier Sprachen.

Lager, das stimmt

Der Bestand wird beim Checkout reserviert: Den letzten Artikel verkauft shopkit nur einmal, auch unter Last.

TWINT, Karte oder Rechnung

Online über zahls.ch oder auf Rechnung mit QR-Rechnung. Wer auf Rechnung kaufen darf, entscheidest du.

MWST pro Produkt

8.1, 2.6 oder 3.8 % pro Produkt, der Versand anteilig verteilt, jede Quittung mit allen Sätzen. Auf Wunsch auf 5 Rappen gerundet.

Versand & Abholung

Pauschal, nach Gewicht, gratis ab einem Betrag oder Abholung. Abhol- und Liefertag mit Zeitfenster und Bestellschluss.

Rabattcodes & Gutscheine

Prozent, Betrag oder Gratisversand mit Bedingungen. Geschenkkarten verkaufen und über mehrere Bestellungen einlösen.

Bestellungen & Rückerstattungen

Bestellnummern, Links für Gäste, Status für Zahlung und Versand, Rückerstattungen in Teilen mit Rückbuchung ins Lager.

Backoffice zum Einbauen

<ShopAdmin /> mit Bestellungen, Produkten, Lager, Rabattcodes, Gutscheinen und Bankimport – geschützt durch deine Anmeldung.

E-Mails in deinem Look

Bestätigung, Zahlung erhalten, versendet, Erinnerung, Gutscheincode – in vier Sprachen, mit deinem Logo und deinen Farben.

Deine Datenbank, deine Tabellen

Die Kits schreiben über Adapter in deine Datenbank. Verknüpfe sie per JOIN – ohne Sync, ohne Silo.

select o.*, c.name from shop_orders o
join customers c on c.id = o.customer_external_id
numberpayment_statuspayment_methodtotal
1039refundedonline2900

Jede E-Mail, in vier Sprachen

Quittungen, Erinnerungen und Bestellbestätigungen als HTML und Text, mit deinem Mailer.

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

Standardmässig Schweiz

Nicht nachträglich lokalisiert. Schweizerisch ab der ersten Zeile.

Generische Billing-Libraries denken in Stripe, Cents und einer Sprache. Schweizer Kundinnen und Kunden zahlen per QR-Rechnung und TWINT, erwarten die MWST auf jeder Rechnung und lesen sie auf Deutsch, Französisch oder Italienisch. Genau dort setzt agentkit an.

Zahlteil

Währung

CHF

Betrag

228.00

Konto / Zahlbar an

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

Referenz

21 00000 00003 13947 14300 09017

Zusätzliche Informationen

Rechnung 2026-0142 · Verein Pro, Jahresabo
inkl. 8.1 % MWST CHF 17.08 · CHE-123.456.789 MWST

Zahlbar durch

FC Seebach
Dorfstrasse 12
8052 Zürich
bezahlt
als NächstesMahnwesen auf Schweizer Art

Für Entwickler

In zehn Minuten ein Shop.

Der Shop in einer Datei, eine Route für Storefront-API und Webhook, fertige Komponenten für Checkout und Backoffice.

Installieren

$ npm i @agentkit.ch/shopkit
Setup-Prompt für deinen Coding-Agent

Füge mit @agentkit.ch/shopkit einen Shop mit TWINT und QR-Rechnung hinzu. Lies zuerst https://agentkit.ch/llms.txt.

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

export const shop = createShop({
  // your Postgres, your tables
  database: drizzleAdapter(db),
  provider: zahlsProvider({ instance: 'acme', apiKey: env.ZAHLS_KEY }),
  tax: { inclusive: true, defaultRateBps: 810 }, // Swiss VAT 8.1 %
  shipping: {
    rates: [
      {
        id: 'post',
        name: 'PostPac Economy',
        amount: 900,
        tiers: [
          { maxWeightGrams: 2_000, amount: 900 },
          { maxWeightGrams: 10_000, amount: 1_100 },
        ],
        freeAbove: 10_000,
      },
      { id: 'pickup', name: 'Abholung im Laden', amount: 0, pickup: true },
    ],
  },
  // invoice only for signed-in customers
  invoice: { allow: ({ customerExternalId }) => customerExternalId !== null },
});

Das zweite Kit

subkit

Abos & Rechnungen

Für SaaS, Mitgliedschaften und Vereinsbeiträge

Deine Kundinnen und Kunden wählen einen Plan und zahlen per TWINT, Karte oder QR-Rechnung. subkit verlängert, rechnet pro rata ab, erinnert und gleicht Zahlungen mit der Bank ab.

MonatlichJährlich

Pro

CHF 19.00

/ Monat

14 Tage gratis
Pro wählen
TWINTVISAMASTERCARDQR

Fragen

Oft gefragt.

Noch etwas unklar? Die Demos zeigen die Kits mit echten Optionen.

01Für wen ist shopkit?

Für alle, die Produkte in ihrer eigenen App verkaufen: Vereinsshops, Bäckereien mit Abholung, Röstereien, KMU mit Merch oder Gutscheinen. Für wiederkehrende Zahlungen gibt es subkit.

02Wie zahlen meine Kundinnen und Kunden?

Per TWINT oder Karte über zahls.ch oder auf Rechnung mit Schweizer QR-Rechnung. Angemeldete Kundinnen können ihr Zahlungsmittel speichern und die nächste Bestellung ohne Zahlungsseite bezahlen. Rechnungen gleicht shopkit mit dem camt.054 deiner Bank ab.

03Erstellt shopkit Versandetiketten der Post?

Ja, seit shopkit 0.4: das Etikett mit Barcode aus der Bestellung, im Backoffice, per API oder per MCP, dazu die Sendungsnummer mit Track & Trace in der Versand-E-Mail. Im Checkout schlägt die Post Adressen vor und prüft sie. Du brauchst eine Frankierlizenz und einen Zugang zur Digital Commerce API der Post. Etiketten ins Ausland und Live-Tarife sind geplant.

04Funktioniert shopkit mit HS-Soft (WaWiAssist)?

Ja. @agentkit.ch/shopkit/hssoft importiert die Artikel aus WaWiAssist als Produkte und sendet jede Bestellung als Auftrag zurück, mit dem Abholtag als Bestelldatum. Du brauchst nur den API-Key deines WaWiAssist von HS-Soft.

05Was kostet shopkit?

Nichts. shopkit ist Open Source unter MIT, ohne Gebühr pro Bestellung. Du bezahlst nur deinen Zahlungsanbieter und die Post für deine Sendungen.

Dein Shop, noch heute.

Kopiere den Setup-Prompt in deinen Coding-Agent – oder probiere shopkit zuerst im Browser aus.

Setup-Prompt für deinen Coding-Agent

Füge mit @agentkit.ch/shopkit einen Shop mit TWINT und QR-Rechnung hinzu. Lies zuerst https://agentkit.ch/llms.txt.

Demo ausprobieren · shop.agentkit.ch