Office-as-code · MIT

Vos documents,
décrits une fois.
Générés partout.

Liasse est un toolkit pour développeurs. Décrivez un document de façon déclarative et typée, puis générez-le en Excel, PowerPoint, Word ou PDF — avec votre charte de marque, sans quitter votre code.

4 formats depuis une définition Local-first · RGPD par conception Own-your-code
Pensé pour les équipes
S SaaSF FintechR RegTechP PlateformesE ERP
4 formats · 1 définition
Le problème → la promesse

Générer des documents pro
ne devrait pas être un projet.

À la main ou avec des libs bas niveau, produire un Excel charté ou un PDF propre est pénible, fragile et répétitif. Liasse remplace ce code jetable par une définition déclarative — typée et réutilisable.

// avant — l'artisanat fragile

Du code jetable, par format.

  • Un SDK différent par format, des API verbeuses et impératives.
  • La charte de marque réécrite à la main, cellule par cellule.
  • Largeurs, polices, totaux, styles : ajustés à tâtons.
  • Aucune réutilisation entre Excel, PDF et PowerPoint.
ws.getCell("D6").value = total
ws.getCell("D6").font = { bold: true }
ws.getCell("D6").border = { top: { style: "thin" } }
// …× chaque cellule, × chaque format
// avec liasse — une définition

Décris l'intention. Une fois.

  • Une définition déclarative et typée, validée à la compilation.
  • La charte centralisée, appliquée à tous les rendus.
  • Totaux, formats monétaires et mise en forme déduits.
  • Le même document exporté dans le format voulu.
table({ columns, rows, total: true, format: { money: "EUR" } })
// → .xlsx · .pdf · .pptx · .docx
Comment ça marche

Trois étapes, du code au fichier.

ÉTAPE 01

Décris le document

Structure, tableaux, sections et données — déclarés une fois, en TypeScript typé.

defineDocument({
  title, body: [ table(…) ]
})
ÉTAPE 02

Applique ta charte

Couleurs, logo, polices, formats monétaires : une charte centralisée, partagée par tous les rendus.

charte("acme")
// logo · couleurs · €
ÉTAPE 03

Génère le format

Un même document, exporté dans le format attendu par votre métier — sans réécrire une ligne.

render(doc, "xlsx")
render(doc, "pdf")
Un document, tous les formats

Même contenu.
Formats différents.

La définition ne change pas. Vous choisissez le format de sortie au moment du rendu.

Tableaux financiers natifs

Cellules typées, totaux calculés, formats monétaires et charte appliquée. Un vrai .xlsx, pas une capture.

Registre de composants

Installez un composant.
Il vit dans votre repo.

Façon shadcn : la commande copie le code du composant dans votre projet. Pas de boîte noire, pas de dépendance opaque — vous le possédez.

financial-table · v1.4npx liasse add ↵
Tableau financier charté : totaux, sous-totaux, variations colorées et formats monétaires.
xlsxpdftotals
invoice · v2.0npx liasse add ↵
Facture conforme avec mentions légales et XML Factur-X intégré — prête pour 2026.
pdffactur-xpro
dashboard-export · v1.1npx liasse add ↵
Exporte vos KPI en feuille de synthèse ou slide — chiffres clés et variations.
xlsxpptxkpi
multi-sheet-report · v1.0npx liasse add ↵
Rapport multi-feuilles : synthèse, détail et hypothèses liées, dans un seul classeur.
xlsxmulti-sheetreport
liasse-fiscale · v1.0Pro · clé requise
Liasse fiscale multi-feuilles : synthèse, bilan (actif/passif) et compte de résultat avec totaux et colonnes N/N-1.
xlsxbilanpro
payslip · v1.0Pro · clé requise
Bulletin de paie FR : en-tête employeur/salarié, cotisations salariales/patronales et net à payer calculé.
xlsxpaiepro
Composants Pro

Même modèle « own-your-code », mais le téléchargement est gardé par une clé de licence. Le code acheté vit dans votre repo — aucun phone-home à l'exécution.

Échéance France · e-invoicing

Factur-X conforme,
avant l'échéance.

À partir de septembre 2026, la facturation électronique devient obligatoire en France. Liasse génère des factures Factur-X conformes — le PDF lisible et son XML structuré, dans un seul fichier. Ne soyez pas pris de court.

09 · 2026
Obligation e-invoicingRéception pour toutes les entreprises
Activer le module Factur-X
facture-2026-0412.pdf · validé
PDF/A-3 lisibleISO 19005
XML structuré intégréCII
Profil sémantiqueEN 16931
<ram:GrandTotalAmount>4440.00</…>
<ram:TaxBasisTotalAmount>3700.00</…>
<!-- généré par liasse · profil EN16931 -->
Local-first · RGPD par conception

Vos données ne quittent
jamais votre backend.

En mode librairie, le rendu s'exécute chez vous. Aucune donnée envoyée à un service tiers — la conformité par défaut, pas en option.

  • Exécution dans votre périmètre

    Le moteur tourne dans votre process. Pas d'appel réseau, pas de fuite.

  • Conformité par défaut

    RGPD, secret professionnel, hébergement de données de santé : aucune donnée exfiltrée.

  • Auditable, déterministe

    Code ouvert dans votre repo : même entrée, même fichier. Revue et reproductible.

SantéJuridiqueRHFinanceSecteur public
{ }Vos données métieren base, dans votre backend
Lliasse · rendu localdéfini + chartré, exécuté chez vousin-process
Fichier généréxlsx · pdf · servi à l'utilisateur0 tiers

Aucune flèche ne sort de votre périmètre.

Open-core · Tarifs

Gratuit au cœur.
Premium quand vous montez en charge.

Le moteur et les composants de base sont open source sous licence MIT. Le reste suit votre entonnoir.

Gratuit MIT
Le cœur open source, pour démarrer et auto-héberger.
0 €/ pour toujours
  • Moteur Office-as-code
  • Adaptateurs Excel & PDF
  • Composants de base du registre
  • Rendu local-first, sans limite
Commencer en MIT
Bientôt disponible
Hébergé
L'API de rendu managée : POST ton JSON, reçois ton fichier.
Forfait/ au volume, pas au doc
  • API de rendu POST /render
  • Facturé au forfait, jamais au document
  • Mises à l'échelle & file d'attente gérées
  • SLA & région UE
Code-first · own-your-code

Le code des composants
vit dans votre repo.

À l'opposé des services de template fermés : liasse add copie le code chez vous. Vous le lisez, le versionnez, le modifiez librement. Aucune boîte noire entre vos données et votre fichier.

Template fermé

Un service distant détient la logique. Vous remplissez des champs et espérez.

Liasse

Le composant est du code dans votre projet. Vous le contrôlez entièrement.

src/
  documents/
    rapport-t3.ts
  liasse/  # copié dans votre repo
    components/
      financial-table.ts  # éditez-le
      invoice.ts
    charte/
      acme.ts  # vos couleurs

# versionné, revu, modifiable
$ git add src/liasse

Décrivez-le une fois.
Générez partout.

Installez votre premier composant en une commande. MIT, local-first, prêt pour 2026.