API REST · v2026-09-01 147 endpoints

Documentation développeurs

Intégrez la facturation électronique conforme EN 16931 à votre application. Créez, finalisez et envoyez des factures Factur-X via une API REST simple et prévisible, inspirée de Stripe.

Guides dédiés

Pages détaillées par concept et par ressource — chacune avec exemples Node / Python / PHP / Go.

REST
JSON natif
PATCH
Mises à jour partielles
Cursor
Pagination stable
HMAC
Webhooks signés SHA-256
ISO 8601
Timestamps UTC
OpenAPI
Spec 3.1 complète

SDKs officiels

Bibliothèques client pour les langages les plus populaires. Typage complet, gestion d'erreurs intégrée, pagination automatique.

Node.js v2.10.0
GitHub
npm install @facturino/node
Runtime requis : Node 18+
Python v2.10.0
GitHub
pip install facturino
Runtime requis : Python 3.10+
PHP v2.10.0
GitHub
composer require facturino/facturino-php
Runtime requis : PHP 8.1+
Go v2.10.0
GitHub
go get github.com/facturino/facturino-go/v2
Runtime requis : Go 1.21+

Démos end-to-end

Open source

Cinq applications complètes exécutant le même scénario SaaS B2B (devis, factures, dépôt e-invoicing, encaissement, avoirs, webhooks, exports comptables) — une par langage, plus une version sans SDK en HTTP brut, à comparer côte à côte.

Node.js · Go · Python · PHP · HTTP brut — clé fac_test_… requise.

Voir les démos sur GitHub

Référence API

147 endpoints organisés par ressource. Format JSON, réponses structurées, pagination par curseur.

Santé

1 endpoints

GET /v1/health

Factures

25 endpoints

GET /v1/invoices
POST /v1/invoices
GET /v1/invoices/incoming
POST /v1/invoices/incoming
GET /v1/invoices/:id
PATCH /v1/invoices/:id
DELETE /v1/invoices/:id
POST /v1/invoices/:id/bind-tax-decision
POST /v1/invoices/:id/finalize
POST /v1/invoices/:id/send
POST /v1/invoices/:id/cancel
POST /v1/invoices/:id/email
POST /v1/invoices/:id/remind
POST /v1/invoices/:id/clone
GET /v1/invoices/:id/pdf
GET /v1/invoices/:id/facturx
GET /v1/invoices/:id/xml
GET /v1/invoices/:id/status
GET /v1/invoices/:id/verify
GET /v1/invoices/:id/events
GET /v1/invoices/:id/audit-trail
POST /v1/invoices/:id/audit-trail/pdf
POST /v1/invoices/:id/portal-link
POST /v1/invoices/:id/payment-link
POST /v1/invoices/:id/payment-token

Clients

6 endpoints

POST /v1/customers/lookup
GET /v1/customers
POST /v1/customers
GET /v1/customers/:id
PATCH /v1/customers/:id
DELETE /v1/customers/:id

Produits

5 endpoints

GET /v1/products
POST /v1/products
GET /v1/products/:id
PATCH /v1/products/:id
DELETE /v1/products/:id

Devis

13 endpoints

GET /v1/quotes
POST /v1/quotes
GET /v1/quotes/:id
PATCH /v1/quotes/:id
DELETE /v1/quotes/:id
POST /v1/quotes/:id/send
POST /v1/quotes/:id/email
POST /v1/quotes/:id/accept
POST /v1/quotes/:id/refuse
POST /v1/quotes/:id/convert
POST /v1/quotes/:id/clone
GET /v1/quotes/:id/pdf
GET /v1/quotes/:id/signature-proof

Avoirs

12 endpoints

GET /v1/credit-notes
POST /v1/credit-notes
GET /v1/credit-notes/:id
PATCH /v1/credit-notes/:id
DELETE /v1/credit-notes/:id
POST /v1/credit-notes/:id/finalize
POST /v1/credit-notes/:id/send
POST /v1/credit-notes/:id/refund
POST /v1/credit-notes/:id/email
GET /v1/credit-notes/:id/pdf
GET /v1/credit-notes/:id/facturx
GET /v1/credit-notes/:id/xml

Paiements

3 endpoints

GET /v1/invoices/:invoiceId/payments
POST /v1/invoices/:invoiceId/payments
POST /v1/invoices/:invoiceId/payments/:paymentId/cancel

Établissements

9 endpoints

GET /v1/companies
POST /v1/companies
GET /v1/companies/:id
PATCH /v1/companies/:id
GET /v1/companies/:id/cgv
POST /v1/companies/:id/cgv
DELETE /v1/companies/:id/cgv
GET /v1/pa-providers
POST /v1/companies/:id/milestones

Webhooks

6 endpoints

GET /v1/webhook-endpoints
POST /v1/webhook-endpoints
GET /v1/webhook-endpoints/:id
PATCH /v1/webhook-endpoints/:id
DELETE /v1/webhook-endpoints/:id
POST /v1/webhook-endpoints/:id/test

Événements

3 endpoints

GET /v1/events
GET /v1/events/:id
POST /v1/events/:id/retry

Récurrences

7 endpoints

GET /v1/recurring-invoices
POST /v1/recurring-invoices
GET /v1/recurring-invoices/:id
PATCH /v1/recurring-invoices/:id
DELETE /v1/recurring-invoices/:id
POST /v1/recurring-invoices/:id/pause
POST /v1/recurring-invoices/:id/resume

Factures reçues

6 endpoints

GET /v1/received-invoices
GET /v1/received-invoices/:id
POST /v1/received-invoices/:id/approve
POST /v1/received-invoices/:id/refuse
POST /v1/received-invoices/:id/suspend
POST /v1/received-invoices/:id/record-payment

Exports

4 endpoints

POST /v1/exports/invoices
POST /v1/exports/fec
GET /v1/exports/fec/:id
GET /v1/exports/:id

Rapports

2 endpoints

GET /v1/reporting/vat
GET /v1/reporting/revenue

Archives

2 endpoints

GET /v1/archives
GET /v1/archives/:invoiceId

E-reporting

5 endpoints

GET /v1/ereporting/declarations
POST /v1/ereporting/declarations
GET /v1/ereporting/declarations/:id
POST /v1/ereporting/declarations/:id/submit
POST /v1/ereporting/declarations/:id/retry

Jobs

1 endpoints

GET /v1/jobs/:id

Abonnement Facturino

3 endpoints

GET /v1/billing/subscription
GET /v1/billing/invoices
GET /v1/billing/invoices/:id/pdf

Compte

3 endpoints

POST /v1/account/export
GET /v1/account
GET /v1/account/exports/:id/download

Imports et exports CSV

4 endpoints

POST /v1/customers/import
GET /v1/customers/export
POST /v1/products/import
GET /v1/products/export

Validation

1 endpoints

POST /v1/validate

Sandbox

2 endpoints

POST /v1/sandbox/reset
POST /v1/sandbox/simulate-status/:invoiceId

Référentiels

2 endpoints

GET /v1/reference/legal-forms
GET /v1/reference/naf-codes

Portails client

6 endpoints

GET /v1/portal/:token
GET /v1/pay/:token
POST /v1/pay/:token/checkout
GET /v1/quote-portal/:token
POST /v1/quote-portal/:token/accept
POST /v1/quote-portal/:token/refuse

Quotas et usage

1 endpoints

GET /v1/usage

Décisions fiscales

5 endpoints

POST /v1/tax-decisions
GET /v1/tax-decisions/:id
PATCH /v1/tax-decisions/:id
PUT /v1/tax-decisions/:id
DELETE /v1/tax-decisions/:id

Registre des seuils B2C UE

10 endpoints

POST /v1/eu-threshold-ledgers
GET /v1/eu-threshold-ledgers/:year
PATCH /v1/eu-threshold-ledgers/:year
PUT /v1/eu-threshold-ledgers/:year
DELETE /v1/eu-threshold-ledgers/:year
POST /v1/eu-threshold-ledgers/:year/adjustments
GET /v1/eu-threshold-ledgers/:year/entries
POST /v1/eu-threshold-ledgers/:year/corrections
POST /v1/eu-threshold-ledgers/:year/review
POST /v1/eu-threshold-ledgers/:year/review/resolve
Ouvrir la documentation interactive

Explorez tous les endpoints, testez les requêtes en direct et consultez les schémas OpenAPI 3.1.

Sandbox complète

Testez l'intégralité du cycle de vie sans toucher aux données réelles. La sandbox inclut des fixtures pré-chargées pour démarrer immédiatement.

Fixtures incluses

  • 5 clients (B2B, B2C, intracommunautaire)
  • 10 produits (services, biens, TVA variées)
  • 20 factures à différents stades du cycle

Simulation de statuts PA

Simulez les changements de statut DGFiP sans Plateforme Agréée réelle. Testez les transitions depositedtransmittedapproved, ou les cas d'erreur rejected / refused.

Reset instantané

Réinitialisez toutes les données de test en un appel. Les fixtures sont rechargées automatiquement. Idéal pour les tests automatisés en CI/CD.

Exemples sandbox

terminal
# Mode test — aucun envoi réel, données isolées
$ export FACTURINO_API_KEY=fac_test_xxx

# Réinitialiser les données de test (fixtures incluses)
$ curl -X POST https://facturino.com/api/v1/sandbox/reset \
  -H "Authorization: Bearer fac_test_xxx"

# Simuler un changement de statut PA
$ curl -X POST \
  https://facturino.com/api/v1/sandbox/simulate-status/inv_xxx \
  -H "Authorization: Bearer fac_test_xxx" \
  -H "Content-Type: application/json" \
  -d '{ "status": "deposited" }'

Formats de documents

Factur-X

PDF/A-3b + XML CII

CII D22B

Cross-Industry Invoice

UBL 2.1

Universal Business Language

FEC

Fichier des Écritures Comptables

Plateformes Agréées supportées

Modèle BYOPA : chaque établissement connecte la Plateforme Agréée de son choix avec ses propres identifiants. Facturino route automatiquement le dépôt et les statuts de cycle de vie.

Cas d'intégration

Facturino s'intègre à votre stack existante, quel que soit votre cas d'usage.

E-commerce

Générez une facture conforme à chaque commande. Webhook payment.received pour l'automatisation complète.

SaaS / Abonnements

Factures récurrentes automatiques. Synchronisez vos abonnements et échéances depuis votre système de vente ou de paiement. Export FEC pour le comptable.

ERP / Gestion

Connectez votre ERP existant via l'API REST. Synchronisez clients, produits et factures. Récupérez les statuts DGFiP en temps réel.

Marketplace / Plateforme

Émettez des factures pour chaque vendeur. Conservez votre circuit de paiement habituel ou utilisez Stripe Connect en option. Multi-SIRET natif.

International / UE

Codes VATEX automatiques (reverse charge, export, intracommunautaire). Validation TVA via VIES. E-reporting intégré.

Concepts clés

Pagination cursor-based

Paramètres starting_after et limit. Par défaut 25, max 100. Résultats stables même si la liste change.

Idempotence

Header Idempotency-Key sur les POST. Même clé = même résultat pendant 24h. Indispensable pour les retries.

Opérations asynchrones

PDF, Factur-X et FEC sont générés en arrière-plan. Réponse 202 Accepted + un job avec son id. Polling via /v1/jobs/:id.

Soft-delete

Les DELETE marquent les ressources comme supprimées sans les détruire. Seuls les brouillons sont supprimables. Les factures finalisées exigent un avoir.

IDs préfixés

Chaque type de ressource a un préfixe unique : inv_, cus_, quo_, crn_, prod_.

Archivage légal

Chaîne de hash SHA-256 à la finalisation. Vérification d'intégrité via /verify.

Prêt à intégrer la facturation conforme ?

Créez votre compte, obtenez une clé API test et envoyez votre première facture en quelques minutes. Plan gratuit sans carte bancaire.

Besoin d'aide ? Contacter le support