Aller au contenu principal
Scell.io API — Factur-X & eIDAS EU-SES

API Factur-X pour les développeurs

Un seul endpoint. Un PDF/A-3b avec XML CII conforme EN16931. Ledger ISCA SHA-256 inclus. Sans lire les 400 pages de la norme.

SDK PHP + TS + MCP135 endpoints Swagger UISandbox sk_test_* isoléIntégration en 1 journée
POST /api/v1/invoices — Factur-X EN16931
PHPTypeScriptMCPcURL
$api = ScellApiClient::withApiKey('sk_live_...');

$invoice = $api->invoices()->builder()
    ->outgoing()
    ->facturX()
    ->issueDate('2026-05-16')
    ->dueDate('2026-06-15')
    ->buyer('98765432109876', 'Acme SARL',
        new Address('2 av Client', '75002', 'Paris'))
    ->addLine('Consultation', 10, 150.00, 20.0)
    ->create();

echo $invoice->invoice_number; // FAC-202605-00123

FAC-202605-00123 — PDF/A-3b + XML CII EN16931

Contexte client typique

C

Camille Martin

CTO ISV B2B

5–50 ETP · Laravel / Node.js

Camille développe un ERP vertical pour le secteur logistique. Ses 150 clients B2B français exigent des factures Factur-X depuis janvier 2026. Elle a 2 semaines pour implémenter la conformité sans recruter de spécialiste EN16931.

Blocages courants

  • 1La norme EN16931 impose 400 pages de spécifications que personne ne veut lire ni maintenir
  • 2Un seul champ manquant dans le XML CII suffit pour un rejet Peppol en production
  • 3La conformité réforme 2026 (LFR 2022) n'est pas optionnelle pour les émetteurs B2B français
  • 4Maintenir les mises à jour de normes (Factur-X V2.2, schematron FNFE) en interne coûte 200–400h/an
  • 5Tester en sandbox sans risquer de déclencher des chaînes fiscales réelles est difficile
  • 6Implémenter un ledger fiscal ISCA SHA-256 en interne prend 3–6 mois de développement

La réponse Scell.io

135 endpoints documentés Swagger UI. Trois SDKs : PHP (`composer require scell/sdk`), TypeScript (`npm i @scell/sdk`), MCP (`@scell/mcp-client` pour les agents IA). Sandbox isolé via préfixe de clé `sk_test_*` — même endpoint, base PostgreSQL distincte, zéro effet Peppol. Un appel API génère le PDF/A-3b avec les balises BT-84 (IBAN), BG-22 (déductions acompte) et les types 386/380 calculés automatiquement. Le ledger ISCA SHA-256 tourne en arrière-plan — ancré sur Bitcoin via OpenTimestamps sans configuration.

SDK PHP `scell/sdk`

`composer require scell/sdk`, builder pattern fluent, classes typées, premier appel en 30 min

SDK TypeScript `@scell/sdk`

types stricts, promesses, Node.js et Deno, même API que le SDK PHP

44 tools MCP `@scell/mcp-client`

Claude, GPT-4o, Cursor créent des factures en langage naturel, zéro glue code

Sandbox `sk_test_*`

même endpoint `api.scell.io`, base PostgreSQL isolée, pas de transmission Peppol

OpenAPI 3.0 + Swagger UI

135 endpoints avec exemples curl, PHP, TypeScript prêts à copier

PDF/A-3b + XML CII conforme schematron FNFE

zéro rejet Peppol, types 386/380/avoir gérés automatiquement

Contexte & enjeux

La norme EN16931 représente 400 pages de spécifications. Chaque type de transaction — acompte type 386, solde type 380, avoir, adresse de livraison BG-13 — impose ses propres balises obligatoires dans le XML CII embarqué. Un seul champ manquant suffit pour un rejet Peppol en production. Scell.io expose une API REST qui absorbe cette complexité : vous envoyez les données métier, vous recevez un PDF/A-3b avec XML CII conforme au schematron FNFE, prêt pour le réseau Peppol. Le ledger fiscal ISCA SHA-256 est automatique — une `FiscalEntry` est créée par trigger PostgreSQL `SECURITY DEFINER` à chaque émission, même si votre code bypasse le chemin normal. Ancrage Bitcoin via OpenTimestamps sur chaque clôture quotidienne.

Cas d'usage réels

  • ERP vertical B2B qui émet des factures Factur-X pour 150+ clients français depuis la réforme 2026
  • SaaS de gestion de projets qui gère le cycle complet devis → acompte → solde sans outil tiers
  • Marketplace B2B qui génère une facture Factur-X par transaction entre vendeurs et acheteurs
  • Application mobile de facturation qui signe les devis avec eIDAS avant conversion en facture
  • Agent Claude/GPT qui crée des factures via 44 tools MCP (`scell_create_invoice`, `scell_send_quote`)
  • Pipeline CI/CD qui génère automatiquement les factures récurrentes mensuelles avec ledger ISCA

Questions fréquentes

Combien de temps pour intégrer Scell.io dans un projet Laravel existant ?

En moyenne 1 journée de développement : `composer require scell/sdk`, configuration de la clé `sk_test_*`, premier appel à `$api->invoices()->builder()->create()`. Le SDK PHP gère les balises EN16931 obligatoires (BT-84, BG-22, type 386/380) sans configuration supplémentaire. La documentation Swagger UI est accessible sur `api.scell.io/api/documentation`.

Doit-on maintenir les mises à jour de la norme Factur-X après l'intégration ?

Non. Scell.io maintient la conformité Factur-X (V1.0 / V2.2), schematron FNFE, et EN16931:2017+A1:2019 côté serveur. Les mises à jour de normes sont déployées sans changement d'API côté client. Le SDK est versionnant SemVer : une mise à jour minor ou patch ne casse jamais l'interface.

Le sandbox Scell.io est-il vraiment isolé de la production ?

Oui. La clé `sk_test_*` pointe vers une base de données PostgreSQL distincte (`rdb_sandbox`). Aucune donnée de sandbox ne touche la base de production. Le même endpoint `api.scell.io` est utilisé — seul le préfixe de clé change. Les factures sandbox ne sont pas transmises au réseau Peppol.

Comment fonctionne le ledger fiscal ISCA SHA-256 ?

Chaque facture, avoir ou devis émis déclenche l'enregistrement d'une `FiscalEntry` avec un `chain_hash` SHA-256 calculé depuis le hash précédent. La chaîne est isolée par paire `(tenant_id, sub_tenant_id)`. Les triggers PostgreSQL `SECURITY DEFINER` garantissent l'enregistrement même si le code applicatif bypasse le chemin normal. Un ancrage OpenTimestamps Bitcoin gratuit est effectué sur chaque clôture quotidienne.

Les 44 tools MCP fonctionnent-ils avec Claude et GPT-4o ?

Oui. Le package `@scell/mcp-client` implémente le protocole MCP (Model Context Protocol). Les agents Claude (via claude-code ou API Anthropic), GPT-4o (via le client MCP OpenAI) et Cursor peuvent appeler `scell_create_invoice`, `scell_send_quote`, `scell_create_buyer` directement en langage naturel. Aucun glue code n'est nécessaire.

Scell.io supporte-t-il les factures d'acompte (type 386) et les factures de solde (type 380) ?

Oui. Le cycle complet est géré via l'API : devis `DEV-YYYY-NNNN` → `POST /quotes/{id}/convert-to-deposit` (type 386, TVA immédiatement exigible CGI art. 289) → `POST /quotes/{id}/convert-to-balance` (type 380, déduction BG-22 automatique depuis `parent_invoice_ids`). Chaque étape génère un Factur-X conforme EN16931 et une entrée dans la chaîne ISCA.

Sandbox illimité · Sans carte bancaire

Votre première facture Factur-X en moins d'1 journée

`composer require scell/sdk` ou `npm i @scell/sdk`. Clé sk_test_* en 60 secondes. 135 endpoints documentés Swagger UI. Ledger ISCA SHA-256 automatique.

Factur-X V1.0 / V2.2EN16931:2017+A1:2019eIDAS UE/910/2014LFR 2022 — réforme 2026ISCA SHA-256 + OpenTimestamps

Vos préférences cookies

Nous utilisons des cookies pour améliorer votre expérience. Les cookies essentiels sont toujours actifs. Politique cookies.