Comptabilisation du chiffre d'affaires SaaS selon la norme IFRS 15, avec écritures comptables commentées
Chaque étape d'IFRS 15 pour un contrat SaaS, présentée sous forme d'écritures de journal avec des chiffres réels, et les appels API qui les génèrent automatiquement.
Selon la norme IFRS 15, un abonnement SaaS constitue une obligation de prestation satisfaite au fil du temps. Son chiffre d'affaires est donc comptabilisé de manière linéaire sur la période de service, tandis que le montant facturé est inscrit en passif contractuel jusqu'à son acquisition. La créance et la TVA sont enregistrées pour leur montant total le jour de l'émission de la facture. Seul le chiffre d'affaires est différé.
C'est toute la règle. Le reste de cet article montre à quoi cela ressemble dans un grand livre, avec les débits et crédits correspondant aux situations qu'une entreprise par abonnement rencontre réellement : un forfait annuel, un bundle avec remise, un projet facturé par jalons, un remboursement estimé et un contrat modifié en cours de route. Chaque écriture utilise le plan comptable lituanien fourni par défaut par Nordlet, et la dernière section présente les appels API qui permettent de passer ces écritures automatiquement.
Les cinq étapes appliquées à un contrat
Un client souscrit le 1er janvier 2026 à douze mois d'accès à la plateforme pour 2 400 € hors taxes. La TVA lituanienne de 21 % s'élève à 504 €, ce qui donne une facture TTC de 2 904 €.
| Étape | Application à ce contrat |
|---|---|
| 1. Contrat | La commande acceptée pour douze mois d'accès |
| 2. Obligations de prestation | Une seule : l'accès à la plateforme du 1er janvier au 31 décembre 2026 |
| 3. Prix de transaction | 2 400 € (pas de contrepartie variable dans ce premier exemple) |
| 4. Répartition | Non nécessaire : une seule obligation absorbe la totalité du prix |
| 5. Comptabilisation | Au fil du temps, au fur et à mesure que les jours d'accès s'écoulent |
Le même modèle est présenté sur le plan conceptuel dans l'article Comptabilité SaaS expliquée. Passons ici directement aux écritures.
Cas 1 : un forfait annuel
À l'émission, le 1er janvier 2026. La créance et la TVA sont certaines à cette date, mais pas le chiffre d'affaires.
| Compte | Débit | Crédit |
|---|---|---|
| 2410 Clients et comptes rattachés | 2 904,00 | |
| 4492 TVA collectée à payer | 504,00 | |
| 4910 Produits constatés d'avance (passif contractuel) | 2 400,00 |
Aucun compte de produits n'a été touché. La TVA est toutefois exigible à la date d'émission selon les règles habituelles. La déclaration de TVA de janvier inclut ces 504 €, que le service ait été rendu ou non.
Au paiement par le client.
| Compte | Débit | Crédit |
|---|---|---|
| 2710 Banque | 2 904,00 | |
| 2410 Clients et comptes rattachés | 2 904,00 |
À la fin de chaque mois. La version académique attribue 200 € par mois. Un échéancier pondéré par les jours, méthode d'avancement fondée sur le temps écoulé autorisée par la norme IFRS 15 (§B15) pour un service consommé en continu, attribue à chaque mois sa quote-part des 365 jours de l'année :
| Mois | Jours | Tranche |
|---|---|---|
| Janvier | 31 | 203,84 |
| Février | 28 | 184,11 |
| Mars | 31 | 203,84 |
| Avril | 30 | 197,26 |
| … | ||
| Décembre | 31 | 203,81 |
| Total | 365 | 2 400,00 |
La dernière tranche absorbe les centimes d'arrondi de sorte que le total de l'échéancier corresponde exactement au montant différé. L'écriture pour janvier est la suivante :
| Compte | Débit | Crédit |
|---|---|---|
| 4910 Produits constatés d'avance | 203,84 | |
| 5001 Chiffre d'affaires prestations de services | 203,84 |
Après douze écritures de ce type, le solde du compte 4910 pour cette facture est nul, et les 2 400 € ont été comptabilisés en produits sur l'exercice au cours duquel ils ont été acquis.
Cas 2 : un bundle avec remise
Le même client achète l'abonnement en même temps qu'une prestation d'intégration (onboarding). La facture indique l'abonnement à 2 400 € et l'intégration à 600 €, soit un total net de 3 000 €. Vendus séparément, l'abonnement coûte 3 000 € et l'intégration 1 000 €, de sorte que le bundle bénéficie d'une remise de 1 000 €.
Les paragraphes 76 à 80 d'IFRS 15 exigent que la remise soit répartie entre les obligations proportionnellement à leurs prix de vente unitaires de référence (standalone selling prices), et non laissée là où l'équipe commerciale l'a imputée.
| Ligne | Prix affiché | Prix de vente de référence | Part | Montant alloué |
|---|---|---|---|---|
| Abonnement (au fil du temps) | 2 400 | 3 000 | 75 % | 2 250,00 |
| Intégration (à une date donnée) | 600 | 1 000 | 25 % | 750,00 |
| Total | 3 000 | 4 000 | 3 000,00 |
La TVA s'applique aux prix indiqués sur les lignes, la facture tenant lieu de document fiscal : 21 % de 3 000 € représentent 630 €. La répartition modifie uniquement la ventilation du montant net entre les produits immédiats et les produits différés.
À l'émission.
| Compte | Débit | Crédit |
|---|---|---|
| 2410 Clients et comptes rattachés | 3 630,00 | |
| 4492 TVA collectée à payer | 630,00 | |
| 5001 Chiffre d'affaires prestations de services (intégration, réalisée) | 750,00 | |
| 4910 Produits constatés d'avance (abonnement) | 2 250,00 |
L'intégration génère 750 € de chiffre d'affaires à l'émission, et non les 600 € indiqués sur la ligne. L'abonnement fait l'objet d'un produit constaté d'avance de 2 250 €, et sa tranche de janvier s'élève à 2 250 × 31 ÷ 365 = 191,10 €.
Sans ventilation, l'écriture aurait fait apparaître 600 € de chiffre d'affaires et 2 400 € de produits constatés d'avance. La différence est de 150 € de chiffre d'affaires comptabilisés sur le mauvais exercice.
Cas 3 : un projet facturé par jalons
Un projet de déploiement est facturé 10 000 € HT (12 100 € TTC) selon trois jalons : conception 30 %, réalisation 50 %, mise en service 20 %. Chaque jalon correspond à la date d'acceptation d'une partie distincte des travaux, attestée par un procès-verbal de recette.
À l'émission.
| Compte | Débit | Crédit |
|---|---|---|
| 2410 Clients et comptes rattachés | 12 100,00 | |
| 4492 TVA collectée à payer | 2 100,00 | |
| 4910 Produits constatés d'avance | 10 000,00 |
À la signature du procès-verbal de conception.
| Compte | Débit | Crédit |
|---|---|---|
| 4910 Produits constatés d'avance | 3 000,00 | |
| 5001 Chiffre d'affaires prestations de services | 3 000,00 |
La date prévisionnelle d'un jalon relève de la planification. Le chiffre d'affaires est comptabilisé lorsque l'événement se réalise, et non à la date prévue par le calendrier.
Cas 4 : une estimation de remboursement
Imaginons que les données historiques montrent que 5 % des forfaits annuels font l'objet d'un remboursement au cours du premier mois. Les paragraphes 55 à 58 d'IFRS 15 qualifient ces remboursements attendus de contrepartie variable : ils sont exclus du prix de transaction et comptabilisés en passif au titre des remboursements jusqu'à la levée de l'incertitude.
Prenons la vente ponctuelle d'un produit pour un montant de 1 000 € HT (1 210 € TTC) avec une estimation de remboursement de 5 %, comptabilisée à une date donnée.
À l'émission.
| Compte | Débit | Crédit |
|---|---|---|
| 2410 Clients et comptes rattachés | 1 210,00 | |
| 4492 TVA collectée à payer | 210,00 | |
| 4450 Passif pour remboursements | 50,00 | |
| 5001 Chiffre d'affaires prestations de services | 950,00 |
Un client est remboursé à hauteur de 40 € net. Le remboursement fait l'objet d'un avoir, qui diminue la TVA et la créance, et apure le passif au lieu de réduire le chiffre d'affaires.
| Compte | Débit | Crédit |
|---|---|---|
| 4450 Passif pour remboursements | 40,00 | |
| 4492 TVA collectée à payer | 8,40 | |
| 2410 Clients et comptes rattachés | 48,40 |
La période de remboursement expire. Seuls 40 € de l'estimation initiale de 50 € ont été utilisés, de sorte que les 10 € restants sont transférés en produits.
| Compte | Débit | Crédit |
|---|---|---|
| 4450 Passif pour remboursements | 10,00 | |
| 5001 Chiffre d'affaires prestations de services | 10,00 |
Pour une ligne comportant également un échéancier de reconnaissance en cours, l'ordre d'imputation est le suivant : d'abord les produits constatés d'avance (l'échéancier est réduit à partir de sa fin), puis le passif pour remboursements, et enfin le chiffre d'affaires.
Cas 5 : la modification du contrat
Au milieu du forfait annuel du cas 1, le client négocie une prolongation de six mois sans frais supplémentaires. Six mois ont été comptabilisés (1 200 € calculés en montants mensuels égaux pour plus de lisibilité ; le moteur utilise la pondération journalière) et 1 200 € restent à comptabiliser.
Les paragraphes 20 et 21 d'IFRS 15 proposent deux traitements selon que les services restants sont ou non distincts de ceux déjà fournis.
Traitement prospectif (§21(a)). Les biens ou services restants étant distincts, les 1 200 € non reconnus sont étalés sur la nouvelle durée restante de douze mois, soit 100 € par mois. Aucune écriture de rattrapage n'est passée ; la tranche suivante est simplement moins élevée.
Rattrapage cumulatif (§21(b)). L'obligation est traitée comme une obligation unique partiellement satisfaite. Le chiffre d'affaires est recalculé comme si la durée de dix-huit mois s'était appliquée dès l'origine, soit 2 400 € ÷ 18 = 133,33 € par mois, soit 800 € acquis au 30 juin. 1 200 € ayant déjà été comptabilisés, une régularisation de 400 € est opérée :
| Compte | Débit | Crédit |
|---|---|---|
| 5001 Chiffre d'affaires prestations de services | 400,00 | |
| 4910 Produits constatés d'avance | 400,00 |
Le solde de 1 600 € est ensuite étalé à raison de 133,33 € par mois sur la nouvelle période restante.
L'accès à la plateforme fourni au jour le jour constituant généralement une série de services distincts, l'approche prospective est la solution la plus fréquente. Le choix de la méthode relève d'un jugement comptable ; le grand livre doit être en mesure de passer l'une ou l'autre écriture.
Variations de prix. Une baisse de prix donne lieu à un avoir venant en déduction de la facture initiale et suit l'ordre d'imputation décrit ci-dessus. Une hausse de prix donne lieu à une nouvelle facture dotée de son propre échéancier de reconnaissance, qui est prospectif par nature.
Les mêmes écritures via l'API
Toutes les écritures présentées ci-dessus sont générées par le module de comptabilisation du chiffre d'affaires de Nordlet à partir des données de facturation ordinaires. La méthode de reconnaissance est portée par la ligne de facture.
Cas 1. Créez la facture avec une ligne linéaire, puis émettez-la. L'émission comptabilise la créance, la TVA et les produits constatés d'avance, et génère l'échéancier en douze tranches.
POST /v1/sales/invoices/create
Authorization: Bearer <api key with sales:write>
Idempotency-Key: <your order id>
{
"partnerId": "<customer id>",
"lines": [
{
"description": "Platform subscription 2026",
"unitPriceExclVat": "2400.0000",
"vatRatePercent": "21.00",
"recognition": { "method": "ratable", "startDate": "2026-01-01", "endDate": "2026-12-31" }
}
]
}
POST /v1/sales/invoices/issue
{ "id": "<invoice id>" }
Cas 2. Ajoutez l'attribut standaloneSellingPrice à chaque ligne de la facture. La répartition est calculée à l'émission ; la ligne d'intégration utilise la méthode par défaut point_in_time.
Cas 3. Attribuez à la ligne l'objet "recognition": { "method": "milestone", "milestones": [ { "percent": 30, "description": "Design", "expectedDate": "2026-02-28" }, … ] }. L'émission d'un procès-verbal de recette via sales/acts/issue rattaché à la facture comptabilise les tranches de jalons en attente à la date de l'acte.
Cas 4. Définissez le paramètre refundEstimatePercent sur la ligne. Les avoirs apurent le passif selon l'ordre décrit ; l'appel sales/refund-liability/true-up associé à un montant estimé révisé estimatedTotal comptabilise le complément ou la reprise. Un remboursement émis par un prestataire de paiement et rapproché de la facture est enregistré sur le passif et déclenche un webhook refund_liability.actual, mais n'est pas imputé directement sur le passif, car la réduction du chiffre d'affaires et de la TVA collectée nécessite l'établissement d'un avoir comme pièce justificative de TVA.
Cas 5.
POST /v1/sales/recognition/modify
{ "invoiceLineId": "<line id>", "approach": "prospective", "newEndDate": "2027-06-30" }
Remplacez prospective par cumulative_catch_up pour appliquer le second traitement ; l'écriture de régularisation de 400 € est passée immédiatement et le solde fait l'objet d'un nouvel étalement.
Comptabilisations. La reconnaissance du chiffre d'affaires génère une écriture par exécution. Elle s'effectue de trois manières sans scrutation (polling) : le verrouillage d'une période comptabilise d'abord tous les montants échus à la clôture de la période, l'émission d'un procès-verbal de recette comptabilise les tranches de jalons, et une tâche planifiée programmée à la prochaine échéance comptabilise les tranches linéaires à leur date d'exigibilité. sales/recognition/compute simule le résultat d'une exécution ; sales/recognition/run valide la comptabilisation ; sales/recognition/summary fournit le cumul reconnu à ce jour, le montant restant et la prochaine date d'exigibilité par ligne ; sales/recognition-schedules/list affiche chaque tranche avec son statut.
Ce que le module ne fait pas
Les limites documentées ont autant d'importance que les fonctionnalités lors de la planification d'une clôture comptable :
- Les échéanciers sont exprimés de manière fixe en euros au taux de change du jour de l'émission. Les soldes différés ne font pas l'objet d'une réévaluation en fonction des fluctuations de change après l'émission.
- La répartition requiert un prix de vente de référence sur chaque ligne ou sur aucune. L'approche résiduelle du paragraphe 79(c) n'est pas mise en œuvre.
- Le passif pour remboursements est suivi net de TVA au niveau de la facture. L'actif correspondant au droit de récupérer les marchandises retournées (§B25) n'est pas modélisé.
- Le rattrapage cumulatif s'applique uniquement aux lignes linéaires ; la replanification des jalons est prospective.
- Les composantes de financement significatives (§60 à §65), les contreparties non monétaires et les contreparties à verser au client ne relèvent pas du périmètre.
- Le compte d'actif contractuel (2910) existe dans le plan comptable et comme clé d'imputation, mais la comptabilisation d'un chiffre d'affaires en amont de la facturation nécessite actuellement une écriture manuelle.
Le logiciel est capable d'appliquer les normes IFRS 15 et ASC 606. Le choix de la méthode pour chaque obligation, l'estimation des prix de vente de référence et des taux de remboursement, ainsi que l'évaluation du caractère distinct des services restants demeurent des décisions qui relèvent de l'entité émettrice des états financiers.
FAQ
À quel moment le chiffre d'affaires d'un abonnement SaaS est-il comptabilisé selon la norme IFRS 15 ?
Sur la période de service, car l'accès au logiciel constitue une obligation de prestation satisfaite au fil du temps. Pour un forfait de douze mois facturé d'avance, chaque mois génère sa quote-part du prix. La date de facture détermine le moment où la créance et la TVA sont enregistrées, et non celui du chiffre d'affaires.
Quelle est l'écriture comptable pour les produits constatés d'avance ?
À l'émission : débiter les clients et comptes rattachés pour le montant TTC, créditer la TVA collectée, et créditer les produits constatés d'avance (passif contractuel) pour le montant HT. À chaque période : débiter les produits constatés d'avance et créditer le chiffre d'affaires du montant acquis. La créance est soldée lors du règlement par le client.
La TVA suit-elle l'échéancier du chiffre d'affaires ?
Non. La TVA devient exigible lors de l'émission de la facture ou de l'encaissement de l'acompte, conformément aux règles générales de la directive TVA et de la législation nationale. L'échéancier des produits constatés d'avance et la dette de TVA évoluent de manière indépendante, ce qui explique qu'une facture d'acompte soit une véritable pièce justificative de TVA et non une facture proforma.
Comment une remise sur bundle est-elle répartie selon la norme IFRS 15 ?
Au prorata des prix de vente de référence des obligations incluses dans le bundle (§81). Une remise de 1 000 € sur un bundle de 4 000 € dont les éléments sont tarifés séparément à 3 000 € et 1 000 € réduit chaque composante de 25 %. La TVA reste rattachée aux prix de ligne indiqués.
Quelle est la différence entre le traitement prospectif et le traitement par rattrapage cumulatif ?
Le traitement prospectif répartit le reliquat non reconnu sur les nouvelles conditions à compter de la date de modification, sans ajuster le chiffre d'affaires passé. Le rattrapage cumulatif recalcule le chiffre d'affaires comme si les nouvelles conditions s'étaient appliquées dès l'origine et comptabilise immédiatement la différence. Le choix de la méthode dépend du caractère distinct ou non des services restants par rapport à ceux déjà fournis.
Pour aller plus loin
- Comptabilité SaaS expliquée : reconnaissance du chiffre d'affaires, produits constatés d'avance, MRR
- Produits constatés d'avance pour le SaaS : guide pratique avec écritures comptables
- Guide de comptabilisation du chiffre d'affaires (IFRS 15 / ASC 606)
- Conventions de l'API : structure des requêtes, idécidabilité (idempotency), webhooks