Creer votre Premiere Facture
Bienvenue dans ce guide pas-a-pas. En quelques minutes, vous allez creer votre premiere facture electronique conforme aux normes francaises et europeennes (Factur-X, UBL ou CII), puis la telecharger au format PDF.
Pas besoin d'etre un expert en facturation electronique : Scell.io s'occupe de toute la complexite technique pour vous.
Ce que vous allez apprendre
A la fin de ce tutorial, vous saurez :
- Creer une facture electronique conforme via le dashboard ou via l'API
- Choisir le bon format (Factur-X, UBL, CII)
- Soumettre votre facture au portail public de facturation
- Telecharger le PDF genere
- Verifier le statut de votre facture
Prerequis
Avant de commencer, assurez-vous d'avoir :
- Un compte Scell.io actif -- Si ce n'est pas encore fait, inscrivez-vous sur scell.io (2 minutes)
- Une entreprise configuree -- Votre SIRET doit etre verifie dans votre espace. Si vous venez de creer votre compte, cette verification est automatique
- Des credits sur votre solde -- Chaque facture coute 0,04 EUR en production. En mode sandbox (test), c'est gratuit
- Une cle API (si vous utilisez l'API) -- Generee depuis le dashboard, section "Cles API"
Astuce : Commencez toujours en mode sandbox pour tester sans consommer de credits. Les factures sandbox fonctionnent exactement comme en production, mais sans debit.
Methode 1 : Via le Dashboard
Cette methode est ideale si vous debutez ou si vous avez quelques factures a creer manuellement.
Etape 1 : Acceder a la section Factures
- Connectez-vous a votre dashboard sur app.scell.io
- Dans le menu lateral, cliquez sur Factures
- Cliquez sur le bouton Nouvelle facture en haut a droite
Etape 2 : Remplir les informations de l'emetteur
Les informations de votre entreprise (l'emetteur) sont pre-remplies a partir de votre profil :
- Nom de l'entreprise : le nom tel qu'enregistre aupres de l'INSEE
- SIRET : les 14 chiffres de votre SIRET (verifie automatiquement)
- Adresse : adresse complete du siege social
- Numero de TVA : votre numero de TVA intracommunautaire (optionnel)
Astuce : Si vos informations d'emetteur sont incorrectes, modifiez-les dans Parametres > Entreprise avant de creer la facture.
Etape 3 : Remplir les informations du destinataire
Renseignez les coordonnees de votre client :
- Nom : raison sociale du destinataire
- SIRET : 14 chiffres obligatoires (format B2B)
- Adresse : adresse complete (rue, code postal, ville)
- Numero de TVA : numero intracommunautaire si applicable
Attention : Le SIRET du destinataire est obligatoire pour les factures B2B en France. Verifiez-le sur annuaire-entreprises.data.gouv.fr en cas de doute.
Etape 4 : Ajouter les lignes de facture
Pour chaque ligne de votre facture, renseignez :
| Champ | Description | Exemple |
|---|---|---|
| Description | Ce que vous facturez | "Prestation de conseil - Mars 2026" |
| Quantite | Nombre d'unites | 5 |
| Prix unitaire HT | Prix par unite, hors taxes | 200,00 EUR |
| Taux de TVA | Pourcentage de TVA applicable | 20% |
Le total HT, la TVA et le total TTC sont calcules automatiquement pour chaque ligne et pour l'ensemble de la facture.
Pour ajouter une ligne supplementaire, cliquez sur Ajouter une ligne.
Etape 5 : Completer les informations complementaires
- Numero de facture : votre numerotation interne (ex: FACT-2026-001)
- Date d'emission : la date du jour par defaut
- Date d'echeance : doit etre posterieure ou egale a la date d'emission
- Devise : EUR par defaut
- Conditions de paiement : texte libre (ex: "Paiement a 30 jours fin de mois")
- Notes : commentaires visibles sur la facture
Etape 6 : Choisir le format de sortie
Scell.io prend en charge trois formats de facturation electronique :
| Format | Usage recommande | Description |
|---|---|---|
| Factur-X | France (recommande) | PDF lisible par un humain + donnees XML integrees. C'est le format impose par la reforme francaise 2026 |
| UBL | International | Format XML pur, utilise par de nombreux pays europeens et par le reseau PEPPOL |
| CII | Europeen | Format XML de la norme EN 16931, utilise pour les echanges transfrontaliers |
Astuce : Si vous ne savez pas lequel choisir, prenez Factur-X. C'est le format le plus courant en France et il produit un PDF/A-3 classique avec les donnees structurees integrees.
Etape 7 : Valider et soumettre
- Verifiez le recapitulatif de votre facture
- Cliquez sur Creer la facture
- Votre facture est creee avec le statut
draft(brouillon) - Pour la soumettre au portail public de facturation, cliquez sur Soumettre
- Le statut passe a
transmitted(en cours de transmission)
Etape 8 : Telecharger le PDF
Une fois la facture creee, vous pouvez telecharger trois types de fichiers :
- PDF : le document lisible, que vous pouvez envoyer a votre client
- Original : le fichier source tel qu'il a ete genere
- Converti : la version convertie dans le format choisi (Factur-X, UBL, CII)
Pour telecharger, cliquez sur l'icone de telechargement a cote de la facture dans la liste, ou sur le bouton Telecharger depuis la page de detail.
Methode 2 : Via l'API
Cette methode est faite pour les developpeurs qui veulent automatiser la creation de factures depuis leur application.
Etape 1 : Recuperer votre cle API
Si vous n'avez pas encore de cle API :
- Allez dans Dashboard > Cles API
- Cliquez sur Nouvelle cle API
- Choisissez l'environnement :
sandboxpour tester,productionpour les vraies factures - Notez la cle affichee -- elle ne sera plus visible ensuite
La cle ressemble a ceci : sk_test_x8z9... (sandbox) ou sk_live_a3b4... (production).
Attention : Stockez votre cle API dans une variable d'environnement, jamais en dur dans votre code. Exemple :
SCELL_API_KEY=sk_live_...
Etape 2 : Creer une facture simple (1 ligne)
Voici un exemple complet pour creer une facture avec une seule ligne de prestation :
curl -X POST https://api.scell.io/api/v1/invoices \
-H "X-API-Key: sk_live_VOTRE_CLE_API" \
-H "Content-Type: application/json" \
-d '{
"invoice_number": "FACT-2026-001",
"direction": "outgoing",
"output_format": "facturx",
"issue_date": "2026-03-03",
"due_date": "2026-04-02",
"currency": "EUR",
"total_ht": 1000.00,
"total_tax": 200.00,
"total_ttc": 1200.00,
"seller_siret": "12345678901234",
"seller_name": "Ma Societe SAS",
"seller_address": {
"line1": "10 rue de la Paix",
"postal_code": "75002",
"city": "Paris",
"country": "FR"
},
"buyer_siret": "98765432109876",
"buyer_name": "Client SARL",
"buyer_address": {
"line1": "25 avenue des Champs-Elysees",
"postal_code": "75008",
"city": "Paris",
"country": "FR"
},
"lines": [
{
"description": "Prestation de conseil - Mars 2026",
"quantity": 1,
"unit_price": 1000.00,
"tax_rate": 20.00,
"total_ht": 1000.00,
"total_tax": 200.00,
"total_ttc": 1200.00
}
]
}'Astuce : Pour tester en sandbox sans depenser de credits, remplacez l'URL par
https://api.scell.io/api/v1/sandbox/invoices. Le comportement est identique, mais aucun credit n'est debite.
Etape 3 : Comprendre la reponse
Si tout s'est bien passe, vous recevez une reponse HTTP 201 :
{
"message": "Facture creee avec succes",
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"invoice_number": "FACT-2026-001",
"direction": "outgoing",
"output_format": "facturx",
"issue_date": "2026-03-03",
"due_date": "2026-04-02",
"currency": "EUR",
"total_ht": 1000.00,
"total_tax": 200.00,
"total_ttc": 1200.00,
"seller": {
"siret": "12345678901234",
"name": "Ma Societe SAS",
"address": {
"line1": "10 rue de la Paix",
"postal_code": "75002",
"city": "Paris",
"country": "FR"
}
},
"buyer": {
"siret": "98765432109876",
"name": "Client SARL",
"address": {
"line1": "25 avenue des Champs-Elysees",
"postal_code": "75008",
"city": "Paris",
"country": "FR"
}
},
"lines": [
{
"line_number": 1,
"description": "Prestation de conseil - Mars 2026",
"quantity": 1,
"unit_price": 1000.00,
"tax_rate": 20.00,
"total_ht": 1000.00,
"total_tax": 200.00,
"total_ttc": 1200.00
}
],
"status": "draft",
"environment": "production",
"amount_charged": 0.04,
"created_at": "2026-03-03T10:30:00Z"
}
}Gardez bien le champ id -- c'est l'identifiant unique de votre facture, vous en aurez besoin pour la suite.
Etape 4 : Soumettre la facture
Une fois la facture creee (statut draft), soumettez-la au portail public de facturation :
curl -X POST https://api.scell.io/api/v1/invoices/550e8400-e29b-41d4-a716-446655440000/submit \
-H "X-API-Key: sk_live_VOTRE_CLE_API"Reponse :
{
"message": "Facture soumise avec succes",
"invoice_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "transmitted",
"superpdp_id": "SPDP-2026-ABC123"
}Les statuts possibles de votre facture sont :
| Statut | Signification |
|---|---|
draft | Brouillon -- la facture est creee mais pas encore envoyee |
validated | Validee -- prete a etre soumise |
transmitted | En cours de transmission vers le portail public |
completed | Acceptee par le portail public de facturation |
rejected | Rejetee -- verifiez le message d'erreur |
Etape 5 : Telecharger le PDF
Pour telecharger le PDF de votre facture :
curl -X GET https://api.scell.io/api/v1/invoices/550e8400-e29b-41d4-a716-446655440000/download/pdf \
-H "X-API-Key: sk_live_VOTRE_CLE_API"Reponse :
{
"url": "https://storage.scell.io/invoices/prod/.../facture.pdf?token=...",
"expires_at": "2026-03-03T10:45:00Z"
}Le lien de telechargement est temporaire (15 minutes). Utilisez-le immediatement ou regenerez-le en refaisant la requete.
Les types de fichiers disponibles sont :
pdf: le document PDF lisibleoriginal: le fichier original genereconverted: la version dans le format cible (Factur-X XML, UBL, CII)
Etape 6 : Consulter la piste d'audit
Chaque facture dispose d'une piste d'audit complete. Pour la consulter :
curl -X GET https://api.scell.io/api/v1/invoices/550e8400-e29b-41d4-a716-446655440000/audit-trail \
-H "X-API-Key: sk_live_VOTRE_CLE_API"Reponse :
{
"data": [
{
"action": "invoice.created",
"details": "Creation",
"actor_ip": "203.0.113.42",
"created_at": "2026-03-03T10:30:00Z"
},
{
"action": "invoice.submitted",
"details": "Soumission",
"actor_ip": "203.0.113.42",
"created_at": "2026-03-03T10:35:00Z"
}
],
"integrity_valid": true
}Le champ integrity_valid confirme que la chaine de hachage de la piste d'audit est intacte -- personne n'a modifie l'historique.
Exemples de payloads
Facture avec plusieurs lignes et taux de TVA differents
{
"invoice_number": "FACT-2026-002",
"direction": "outgoing",
"output_format": "facturx",
"issue_date": "2026-03-03",
"due_date": "2026-04-02",
"currency": "EUR",
"total_ht": 3500.00,
"total_tax": 620.00,
"total_ttc": 4120.00,
"seller_siret": "12345678901234",
"seller_name": "Ma Societe SAS",
"seller_address": {
"line1": "10 rue de la Paix",
"postal_code": "75002",
"city": "Paris",
"country": "FR"
},
"buyer_siret": "98765432109876",
"buyer_name": "Client SARL",
"buyer_address": {
"line1": "25 avenue des Champs-Elysees",
"postal_code": "75008",
"city": "Paris",
"country": "FR"
},
"lines": [
{
"description": "Developpement application web",
"quantity": 10,
"unit_price": 250.00,
"tax_rate": 20.00,
"total_ht": 2500.00,
"total_tax": 500.00,
"total_ttc": 3000.00
},
{
"description": "Formation utilisateurs (taux reduit)",
"quantity": 2,
"unit_price": 500.00,
"tax_rate": 5.50,
"total_ht": 1000.00,
"total_tax": 55.00,
"total_ttc": 1055.00
},
{
"description": "Hebergement annuel (exonere)",
"quantity": 1,
"unit_price": 0.00,
"tax_rate": 0.00,
"total_ht": 0.00,
"total_tax": 0.00,
"total_ttc": 0.00
}
]
}Facture au format UBL (international)
Changez simplement le champ output_format :
{
"invoice_number": "INV-2026-001",
"direction": "outgoing",
"output_format": "ubl",
"issue_date": "2026-03-03",
"due_date": "2026-04-02",
"currency": "EUR",
"total_ht": 5000.00,
"total_tax": 1000.00,
"total_ttc": 6000.00,
"seller_siret": "12345678901234",
"seller_name": "Ma Societe SAS",
"seller_address": {
"line1": "10 rue de la Paix",
"postal_code": "75002",
"city": "Paris",
"country": "FR"
},
"buyer_siret": "98765432109876",
"buyer_name": "Acme GmbH",
"buyer_address": {
"line1": "Friedrichstrasse 123",
"postal_code": "10117",
"city": "Berlin",
"country": "DE"
},
"lines": [
{
"description": "Consulting services - Q1 2026",
"quantity": 1,
"unit_price": 5000.00,
"tax_rate": 20.00,
"total_ht": 5000.00,
"total_tax": 1000.00,
"total_ttc": 6000.00
}
]
}Resolution des problemes courants
Erreur "Le SIRET du vendeur est invalide"
Cause : Le SIRET doit contenir exactement 14 chiffres, sans espaces ni tirets.
Solution :
- Verifiez que votre SIRET contient bien 14 chiffres :
12345678901234 - Pas de separateurs :
ni123 456 789 01234123-456-789-01234 - Verifiez votre SIRET sur annuaire-entreprises.data.gouv.fr
Erreur "Solde insuffisant"
Cause : Votre solde est trop bas pour couvrir le cout de la facture (0,04 EUR).
Solution :
- Allez dans Dashboard > Solde
- Cliquez sur Recharger
- Choisissez un montant (minimum 10 EUR)
- Reessayez la creation de facture
Astuce : Activez le rechargement automatique dans les parametres de votre solde pour ne jamais etre bloque. Vous definissez un seuil (ex: 5 EUR) et un montant de recharge (ex: 50 EUR), et votre solde se recharge tout seul.
Erreur "Format non reconnu" (output_format)
Cause : Le champ output_format ne contient pas une valeur valide.
Solution : Utilisez une de ces trois valeurs exactes (en minuscules) :
facturxublcii
Erreur de validation (HTTP 422)
Cause : Un ou plusieurs champs obligatoires sont manquants ou mal formates.
Solution : La reponse d'erreur contient le detail des champs en erreur :
{
"message": "The given data was invalid.",
"errors": {
"seller_address.line1": ["Le champ adresse ligne 1 est requis."],
"lines.0.description": ["La description de la ligne est requise."]
}
}Corrigez chaque champ indique puis renvoyez la requete.
La facture reste en statut "draft"
Cause : La facture a ete creee mais pas encore soumise au portail.
Solution : Appelez l'endpoint de soumission :
curl -X POST https://api.scell.io/api/v1/invoices/{id}/submit \
-H "X-API-Key: sk_live_VOTRE_CLE_API"La facture est rejetee (statut "rejected")
Cause : Le portail public de facturation a rejete votre facture.
Solution :
- Consultez le champ
status_messagedans les details de la facture pour comprendre la raison du rejet - Corrigez les informations erronees
- Creez une nouvelle facture avec les bonnes informations
- Soumettez-la a nouveau
Combien ca coute ?
| Action | Cout |
|---|---|
| Creer une facture en sandbox | Gratuit |
| Creer une facture en production | 0,04 EUR |
| Soumettre la facture au portail | Inclus |
| Telecharger le PDF | Inclus |
| Consulter la piste d'audit | Inclus |
Et ensuite ?
Maintenant que vous savez creer des factures, voici les prochaines etapes :
- Creer un avoir : Si vous devez annuler ou corriger une facture, consultez la documentation sur les avoirs (credit notes)
- Automatiser avec les webhooks : Recevez des notifications en temps reel quand le statut de vos factures change. Voir le tutorial Integrer l'API Scell.io
- Signer vos documents : Besoin de faire signer un contrat ? Voir le tutorial Votre Premiere Signature Electronique
- Consulter votre solde : Suivez votre consommation et activez la recharge automatique depuis le dashboard
Besoin d'aide ? Contactez notre equipe sur support@scell.io ou consultez la documentation API complete.