Billing — Facturation Factur-X & eIDAS
Facturation conforme Factur-X (PDF/A-3 + XML EN16931), signature électronique qualifiée eIDAS QES via Scell.io, gestion des avoirs et TVA EU (OSS).
Conformité
- Factur-X : chaque facture émise est un PDF/A-3 contenant un XML structuré EN16931 (profil BASIC, EN16931 ou EXTENDED) embarqué — lisible humain et machine. Réglementation française e-invoicing 2026-2027.
- eIDAS QES : signature électronique qualifiée appliquée à l’émission via Scell.io. Niveau de preuve maximal opposable en cas de litige.
- TVA EU : support OSS (One Stop Shop) pour facturation intra-UE, taux multiples par ligne, mentions automatiques (exonération, autoliquidation).
Endpoints détaillés
/api/v1/billing/invoicesLister les factures
Liste paginée des factures du tenant. Filtrable par statut, intervalle de dates et client.
- Billing
Paramètres
| Nom | Type | Requis | Exemple | Description |
|---|---|---|---|---|
| page | query | non | 1 | Numéro de page (défaut : 1) |
| perPage | query | non | 20 | Éléments par page (max 100) |
| status | query | non | ISSUED | DRAFT | ISSUED | PAID | CANCELLED | OVERDUE |
| fromDate | query | non | 2026-01-01 | Date d’émission ≥ (ISO 8601) |
| toDate | query | non | 2026-12-31 | Date d’émission ≤ (ISO 8601) |
| clientId | query | non | cli_abc123 | Filtrer par client |
Réponses
- 200Liste paginéeRéponse 200 · JSON
- 401Non authentifié
- 403Rôle insuffisant (ADMIN ou FINANCIER)
Exemples
/api/v1/billing/invoices/:idDétail d’une facture
Retourne tous les champs (lignes, taxes, mentions Factur-X, statut de signature eIDAS).
- Billing
Paramètres
| Nom | Type | Requis | Exemple | Description |
|---|---|---|---|---|
| id | path | oui | inv_abc123 | Identifiant de la facture |
Réponses
- 200OKRéponse 200 · JSON
- 404Facture introuvable
Exemples
/api/v1/billing/invoicesCréer une facture (manuelle)
Crée une facture au statut DRAFT. Les montants sont en centimes. La numérotation officielle est attribuée à l’émission (POST /:id/issue).
- Billing
Corps de requête
Content-Type : application/json
Réponses
- 201Facture créée (DRAFT)Réponse 201 · JSON
- 422Validation échouée (montants, TVA, client inexistant)
Exemples
/api/v1/billing/invoices/:id/issueÉmettre une facture (DRAFT → ISSUED)
Génère un PDF Factur-X (PDF/A-3 avec XML EN16931 embarqué), applique la signature eIDAS QES via Scell.io et attribue le numéro de séquence officiel. Action irréversible.
- Billing
- Factur-X
- eIDAS
Paramètres
| Nom | Type | Requis | Exemple | Description |
|---|---|---|---|---|
| id | path | oui | inv_abc123 | — |
Réponses
- 200Facture émise et signéeRéponse 200 · JSON
- 409Facture déjà émise ou annulée
Exemples
/api/v1/billing/invoices/:id/cancelAnnuler une facture
Annule une facture émise. Recommandé : émettre un avoir (credit note) plutôt qu’annuler. Cancellation traçable dans l’audit log.
- Billing
Paramètres
| Nom | Type | Requis | Exemple | Description |
|---|---|---|---|---|
| id | path | oui | inv_abc123 | — |
Corps de requête
Content-Type : application/json
Réponses
- 200Facture annuléeRéponse 200 · JSON
- 409Facture déjà payée (avoir requis)
Exemples
/api/v1/billing/invoices/:id/pdfTélécharger le PDF Factur-X
Retourne le PDF/A-3 contenant le XML structuré EN16931 (profil Factur-X) signé eIDAS. Content-Type : application/pdf.
- Billing
- Factur-X
Paramètres
| Nom | Type | Requis | Exemple | Description |
|---|---|---|---|---|
| id | path | oui | inv_abc123 | — |
Réponses
- 200Binary PDF/A-3 (Factur-X)
- 404Facture non émise (DRAFT sans PDF)
Exemples
/api/v1/billing/invoices/:id/sendEnvoyer la facture par email
Envoie la facture (PDF Factur-X en pièce jointe) à l’adresse email du client. Trace l’envoi dans l’historique.
- Billing
Paramètres
| Nom | Type | Requis | Exemple | Description |
|---|---|---|---|---|
| id | path | oui | inv_abc123 | — |
Corps de requête
Content-Type : application/json
Réponses
- 200Email envoyéRéponse 200 · JSON
- 422Email destinataire invalide
Exemples
/api/v1/billing/credit-notesLister les avoirs
Liste paginée des avoirs (credit notes) du tenant, liés à leur facture d’origine.
- Billing
Paramètres
| Nom | Type | Requis | Exemple | Description |
|---|---|---|---|---|
| page | query | non | 1 | — |
| perPage | query | non | 20 | — |
| invoiceId | query | non | inv_abc123 | Filtrer par facture d’origine |
Réponses
- 200Liste paginéeRéponse 200 · JSON
Exemples
/api/v1/billing/credit-notesCréer un avoir
Génère un avoir partiel ou total lié à une facture émise. Émission immédiate avec PDF Factur-X (profil CREDIT_NOTE) et signature eIDAS.
- Billing
Corps de requête
Content-Type : application/json
Réponses
- 201Avoir créé et émisRéponse 201 · JSON
- 422Facture d’origine non émise ou montant invalide