shopkit· Commerce

Vendre avec TWINT et facture QR.

shopkit apporte catalogue, panier, paiement et back-office dans votre app TypeScript. On paie par TWINT, carte ou sur facture ; shopkit calcule le stock, l’envoi et la TVA, les étiquettes viennent de La Poste. Les données restent dans votre base de données.

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

Panier

Écharpe du club29.00
Maillot domicile, M89.00
Livraison9.00
TotalCHF 127.00
Payer avec TWINT
3
Taux de TVA par produit : 8.1, 2.6 et 3.8 %
4
Langues pour la boutique, les e-mails et les quittances
CHF 0
De frais par commande pour nous
MIT
Open source sur GitHub, paquets sur npm

Pour qui

Pour les boutiques qui servent une clientèle suisse.

De la boutique d’un club à la boulangerie avec retrait : shopkit connaît TWINT, la facture QR, La Poste et les taux de TVA suisses.

01

Boutiques de clubs et merch

Maillots en plusieurs tailles, écharpes et bons cadeaux – payés par TWINT ou sur facture, envoyés par La Poste ou retirés sur place.

02

Boulangeries et magasins à la ferme

Jour de retrait avec créneau, heure limite de commande et jours de fermeture. Avec WaWiAssist de HS-Soft, les articles et leurs allergènes viennent de la gestion des marchandises.

03

Torréfactions et PME

Variantes, stock, envoi selon le poids et l’étiquette de La Poste en un clic. Les habitués commandent même via leur agent IA.

Nouveau dans shopkit 0.2 · Commander via un agent IA

Votre clientèle commande dans le chat.

Votre boutique devient un serveur MCP. L’agent de vos clientes et clients – Claude, ChatGPT ou Cursor – cherche les produits, calcule la commande avec TVA et frais d’envoi, puis commande. Le paiement se fait par un lien zahls.ch ou directement avec le TWINT enregistré. Pour toute boutique shopkit, sans service supplémentaire.

  • Connexion par OAuth – Claude et ChatGPT se connectent sans jeton
  • Seul le montant confirmé par la cliente est débité
  • Envoi, retrait ou jour de livraison avec créneau – l’agent demande
  • Les jetons de paiement n’atteignent jamais le modèle
import { createShopCustomerMcpHandler } from '@agentkit.ch/shopkit/mcp'Guide dans le README
AgentMCP · Rösterei Aare

Deux fois le mélange maison et un détartrant, par la poste svp.

search_productsmélange maison, détartrant

quote_order

2 × Mélange maison 500 g37.00

Détartrant12.90

PostPac Priority9.00

TotalCHF 58.90

Payer CHF 58.90 avec votre TWINT enregistré ?

Oui, volontiers.

place_orderexpectedAmount: 5890

TWINT …

Nouveau dans shopkit 0.2 · Pour les boulangeries

HS-Soft (WaWiAssist) connecté.

Pour les boulangeries et confiseries équipées de WaWiAssist : les produits viennent de WaWiAssist, chaque commande y arrive – avec le jour de retrait comme date de commande. Qu’elle soit passée dans la boutique en ligne ou via un agent.

  • Import avec catégorie de prix, prix promotionnel, image, déclaration, allergènes et valeurs nutritives
  • Seulement les jours de retrait où chaque article du panier est disponible
  • Si HS-Soft est injoignable, shopkit renvoie la commande plus tard
  • Statut et renvoi dans le back-office et via MCP
import { createHsSoftSync } from '@agentkit.ch/shopkit/hssoft'Guide dans le README

Articles → produits

WaWiAssist

  • A1Tresse 500 g6.80
  • A7Pain paysan5.20
  • A12Grittibänz4.50

shopkit

  • Tresse 500 gimporté
  • Pain paysanimporté
  • Grittibänzdès le 1.11.

Commande → WaWiAssist

shopkit

#2187 · CHF 18.80

Retrait le 31.10.2026

WaWiAssist

—

Nouveau dans shopkit 0.4 · La Poste

Étiquettes et adresses de La Poste.

Un clic dans la commande et l’étiquette avec code-barres est prête – avec le mode d’envoi de la commande, facturée sur votre licence d’affranchissement. Au checkout, La Poste propose NPA, localité, rue et numéro et vérifie l’adresse avant la commande.

  • PostPac Economy et Priority, envois encombrants, Swiss-Express « Lune », VinoLog et Courrier A Plus
  • A5, A6 ou A7 en PDF ou ZPL2 pour l’imprimante d’étiquettes
  • Prestations complémentaires comme signature, fragile ou distribution le samedi
  • Numéro d’envoi avec Track & Trace dans l’e-mail d’expédition
import { createSwissPost } from '@agentkit.ch/shopkit/swisspost'Guide dans le README

<Checkout />

Rue et numéro

Bahnhofst

NPA et localité

8001 Zürich

Adresse confirmée par La Poste

#1044

A6 · PRI

1.2 kg

Créer l’étiquette

Rösterei Aare

Aarstrasse 12

3011 Bern

PRI

Anna Muster

Bahnhofstrasse 12

8001 Zürich

99.60.123456.00000001

Numéro d’envoi —

Fonctionnalités

Tout ce qu’il faut à une boutique.

Catalogue, caisse et back-office, avec les détails suisses que les systèmes génériques ajoutent après coup sous forme de plugin.

Produits et variantes

Produits physiques et cartes cadeaux, variantes avec prix et stock propres, prix barrés, images et textes en quatre langues.

Un stock fiable

Le stock est réservé au paiement : shopkit ne vend le dernier article qu’une fois, même sous charge.

TWINT, carte ou facture

En ligne via zahls.ch ou sur facture avec facture QR. C’est vous qui décidez qui peut acheter sur facture.

TVA par produit

8.1, 2.6 ou 3.8 % par produit, l’envoi réparti au prorata, chaque quittance avec tous les taux. Arrondi à 5 centimes sur demande.

Envoi et retrait

Forfait, selon le poids, gratuit dès un montant ou retrait. Jour de retrait et de livraison avec créneau et heure limite.

Codes promo et bons cadeaux

Pourcentage, montant ou livraison gratuite avec conditions. Vendre des cartes cadeaux et les utiliser sur plusieurs commandes.

Commandes et remboursements

Numéros de commande, liens pour les invités, statuts de paiement et d’expédition, remboursements partiels avec remise en stock.

Back-office à intégrer

<ShopAdmin /> avec commandes, produits, stock, codes promo, bons cadeaux et import bancaire – protégé par votre connexion.

Des e-mails à votre image

Confirmation, paiement reçu, envoi, rappel, code du bon cadeau – en quatre langues, avec votre logo et vos couleurs.

Votre base de données, vos tables

Les kits écrivent dans votre base via des adaptateurs. Reliez-les par JOIN – sans synchronisation, sans silo.

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

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

Une boutique en dix minutes.

La boutique dans un fichier, une route pour l’API de la boutique et le webhook, des composants prêts pour le paiement et le back-office.

Installer

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

Ajoutez une boutique avec TWINT et facture QR à l’aide de @agentkit.ch/shopkit. Lisez d’abord 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 },
});

L’autre kit

subkit

Abonnements et factures

Pour les SaaS, les adhésions et les cotisations d’associations

Vos clientes et clients choisissent un plan et paient par TWINT, carte ou facture QR. subkit renouvelle, calcule le prorata, envoie les rappels et rapproche les paiements avec la banque.

MensuelAnnuel

Pro

CHF 19.00

/ mois

14 jours gratuits
Choisir Pro
TWINTVISAMASTERCARDQR

Questions

Questions fréquentes.

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

01Pour qui est shopkit ?

Pour toutes celles et ceux qui vendent des produits dans leur propre app : boutiques de clubs, boulangeries avec retrait, torréfactions, PME avec merch ou bons cadeaux. Pour les paiements récurrents, il y a subkit.

02Comment mes clientes et clients paient-ils ?

Par TWINT ou carte via zahls.ch, ou sur facture avec facture QR suisse. Les clientes connectées peuvent enregistrer leur moyen de paiement et payer la commande suivante sans page de paiement. shopkit rapproche les factures avec le camt.054 de votre banque.

03shopkit crée-t-il des étiquettes d’envoi de La Poste ?

Oui, depuis shopkit 0.4 : l’étiquette avec code-barres à partir de la commande, dans le back-office, par l’API ou par MCP, plus le numéro d’envoi avec Track & Trace dans l’e-mail d’expédition. Au paiement, La Poste propose des adresses et les vérifie. Il vous faut une licence d’affranchissement et un accès à la Digital Commerce API de La Poste. Les étiquettes pour l’étranger et les tarifs en direct sont prévus.

04shopkit fonctionne-t-il avec HS-Soft (WaWiAssist) ?

Oui. @agentkit.ch/shopkit/hssoft importe les articles de WaWiAssist comme produits et y renvoie chaque commande, avec le jour de retrait comme date de commande. Il vous faut seulement la clé API de votre WaWiAssist, fournie par HS-Soft.

05Combien coûte shopkit ?

Rien. shopkit est open source sous MIT, sans frais par commande. Vous ne payez que votre prestataire de paiement et La Poste pour vos envois.

Votre boutique, dès aujourd’hui.

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

Prompt d’installation pour votre agent de code

Ajoutez une boutique avec TWINT et facture QR à l’aide de @agentkit.ch/shopkit. Lisez d’abord https://agentkit.ch/llms.txt.

Essayer la démo · shop.agentkit.ch