Décisions fiscales
Une tax_decision répond à une question précise : pour cette
opération, ce jour-là, quelle TVA s'applique, quels montants doivent être facturés, et
quelles obligations de transmission en découlent ? La réponse est figée. La
facture, l'avoir et la transmission s'y adossent ; aucun de ces documents ne
recalcule quoi que ce soit.
Qui détermine la TVA ?
Deux réponses possibles, au choix, opération par opération. Elles sont de même niveau et
partagent tout le reste : vous déclarez laquelle s'applique avec taxSource.
Prérequis commun. Avant la première décision, renseignez les
informations fiscales du vendeur dans Facturino :
établissement, régime et options déclaratives. Elles servent à contrôler les deux parcours
et à déterminer les obligations de transmission. Elles ne choisissent jamais la valeur de
taxSource.
taxSource: "facturino"
TVA déterminée par Facturino
Vous décrivez l'opération : qui achète, quoi, quand, à quel prix. Facturino conclut le taux et la catégorie.
Choisissez-la si vous n'avez pas de moteur de TVA.
taxSource: "integration"
TVA fournie par votre intégration
Vous transmettez la TVA que votre système a conclue. Facturino la valide et refuse toute contradiction, sans jamais la corriger en silence.
Choisissez-la si un ERP ou un moteur interne décide déjà la TVA.
Ce qui est identique dans les deux cas
Le choix porte sur l'origine du taux, et sur rien d'autre. Dans les deux cas, Facturino décide et fige côté serveur :
- les montants exacts, dont le montant à encaisser ;
- les mentions légales de la facture ;
- les trois axes d'obligation (facturation électronique, e-reporting des transactions, e-reporting des paiements) ;
- le territoire, normalisé à partir du pays déclaré et, quand il l'exige, du code postal.
La décision obtenue est un résultat fiscal figé : elle ne signifie pas que Facturino a choisi le taux, mais que le résultat ne bougera plus. Facture, avoir et transmission s'y adossent à l'identique.
Périmètre. Facturino traite la TVA française et les
obligations françaises correspondantes : facturation électronique, e-reporting des
transactions et des paiements. Facturino ne fournit pas de conformité fiscale mondiale.
Lorsqu'une fiscalité étrangère peut s'appliquer, la décision porte
foreignTaxReviewRequired: true : ce cas doit être vérifié hors Facturino.
Le parcours complet
L'ordre n'est pas indicatif : chaque étape dépend de la précédente.
- Décision — vous décrivez l'opération et sa source TVA ; Facturino valide puis fige le résultat.
- Facture — elle s'adosse à la décision, qu'elle fige dans son
taxSnapshot. - Transmission — plateforme agréée ou e-reporting, selon ce que la décision a arrêté.
- Règlement — avant ou après l'émission selon votre cycle commercial, avec le moyen de paiement de votre choix.
- Encaissement et remboursement — enregistrés à leur date réelle et transmis selon le même arbitrage figé.
1. Décider
taxSource est requis : il déclare laquelle des deux réponses s'applique.
Le territoire n'est jamais accepté pré-normalisé — transmettez le pays déclaré et, quand le
territoire l'exige, le code postal. Corse, DROM et collectivités d'outre-mer ne se déduisent
pas d'un code pays.
Source facturino
Vous décrivez l'opération : qui achète, quoi, quand, à quel prix, dans
quelle base (priceMode). Vous ne décrivez jamais le résultat : taux,
catégorie, code VATEX, mention légale, axe de transmission, montant à débiter et territoire
normalisé sont refusés en entrée et renvoyés en sortie.
$ curl -X POST https://facturino.com/api/v1/tax-decisions \
-H "Authorization: Bearer fac_test_..." \
-H "Idempotency-Key: operation-cus_8f2k4m9n-20260915" \
-H "Content-Type: application/json" \
-d '{
"taxSource": "facturino",
"customerId": "cus_8f2k4m9n",
"effectiveAt": "2026-09-15",
"currency": "eur",
"priceMode": "tax_exclusive",
"lines": [
{
"reference": "abo-pro",
"description": "Abonnement Pro — septembre",
"category": "electronically_supplied_services",
"rateCategory": "standard",
"unitAmount": 2900,
"quantity": "1"
}
],
"locationEvidence": [
{ "kind": "billing_address", "country": "FR", "postalCode": "75002",
"thirdParty": false, "source": "declared", "collectedAt": "2026-09-15" },
{ "kind": "ip_geolocation", "country": "FR",
"thirdParty": true, "source": "network", "collectedAt": "2026-09-15" }
]
}' Source integration
Mêmes données commerciales et territoriales, plus la TVA que votre moteur a conclue :
vatRate (centièmes de pourcent), vatCode (EN 16931 BT-151)
et, pour les catégories exonérées, vatexCode (BT-121) par ligne. Facturino
valide la cohérence taux/code/VATEX et avec l'opération, et
refuse toute contradiction détectable
(422 integration_vat_incoherent) — il ne corrige jamais un taux en silence.
Ces trois champs décrivent la TVA française. Ce contrat ne porte ni juridiction
ni schéma de taxe locale, ni retenue à la source : cette source n'est donc pas un moyen de
faire passer une fiscalité étrangère ou ultramarine. Là où une taxe locale peut changer le
montant à facturer, la décision reste non finale ici comme avec la source
facturino — voir Outre-mer.
La territorialité, elle, est la même des deux côtés. Une décision
integration traverse exactement la même règle B2C dans l'Union : même
couverture, même seuil commun, même option, mêmes preuves, même mécanisme déclaratif. Ce qui
diffère est l'issue — là où la source facturino produit le taux,
la source integration compare celui que vous transmettez au
résultat légal. Égalité : décision finale. Catégorie impossible sur une vente B2C taxée à
destination (AE, K, G, O) ou
placeOfSupply contredisant le lieu tranché : 422
integration_vat_incoherent. Taux différent du taux normal de destination :
eu_b2c_rate_supplied_mismatch, décision non finale et sans montant. La
confrontation vaut pour les deux lieux : à destination le résultat légal
est le taux normal de l'État membre du consommateur, à l'origine ce sont les bandes publiées du
territoire du vendeur. Facturino ne détient ni les taux réduits d'un autre État membre ni toutes
les bandes françaises : il ne peut donc ni confirmer ni corriger le vôtre. À l'origine, ce
refus n'affirme aucune fiscalité étrangère — l'opération est taxée en France.
Une règle qui ne conclut pas bloque à l'identique sous les deux sources, en conservant le sens
de pending_verification (un fait manque) et d'unsupported (aucune
règle ici).
Une conséquence sur le contrat de ligne : goodsMovement est
obligatoire sur une ligne de biens dès que l'acheteur est un particulier d'un
autre État membre. C'est ce mouvement qui décide si la vente à distance intracommunautaire
s'applique, et Facturino ne le suppose jamais.
{
"taxSource": "integration",
"customerId": "cus_8f2k4m9n",
"effectiveAt": "2026-09-15",
"currency": "eur",
"priceMode": "tax_exclusive",
"lines": [
{
"reference": "abo-pro",
"description": "Abonnement Pro — septembre",
"category": "electronically_supplied_services",
"unitAmount": 2900,
"quantity": "1",
"vatRate": 2000,
"vatCode": "S"
}
]
}
// Réponse : même forme, taxSource: "integration". Les montants, les mentions
// et les trois axes d'obligation sont décidés par Facturino dans les deux cas.
// Toute contradiction (ex. vatCode "S" avec vatRate 0, VATEX manquant sur une
// exonération, "AE" vers un consommateur) répond 422 integration_vat_incoherent. La réponse
{
"id": "taxdec_9c1f...",
"object": "tax_decision",
"taxSource": "facturino",
"status": "final",
"currency": "eur",
"priceMode": "tax_exclusive",
"effectiveAt": "2026-09-15",
"expiresAt": "2026-09-16T10:00:00.000Z",
"expired": false,
"roundingPolicy": "fr-line-half-up-v1",
"totals": { "totalHT": 2900, "totalVAT": 580, "totalTTC": 3480 },
"amountToCharge": 3480,
"invoiceChannel": "einvoicing",
"transactionReporting": "none",
"paymentReporting": "fr212",
"foreignTaxReviewRequired": false,
"vies": null,
"lines": [
{
"reference": "abo-pro",
"vatCategoryCode": "S",
"rateCentipercent": 2000,
"amountHT": 2900, "amountVAT": 580, "amountTTC": 3480
}
]
} États d'une décision
| Statut | Signification | Peut-on débiter ? |
|---|---|---|
final | La position est arrêtée. | Oui, pour amountToCharge. |
pending_verification | Une vérification est nécessaire (VIES, preuve de localisation). | Non. |
unsupported | Facturino ne tranche pas ce cas. | Non. |
Sur toute décision non finale, totals et amountToCharge valent
null — jamais 0. « Absent » ne veut pas dire
« rien à débiter ».
Quantités, remises et arrondis
- Les montants sont des centimes entiers (2900 = 29,00 €), en entrée comme en sortie.
- Les quantités sont des chaînes décimales (
"0.5"), jamais des flottants :0.1 + 0.2ne fait pas0.3. - Les remises sont explicites :
percenten centièmes de pourcent (2500 = 25,00 %), ouamounten centimes. - L'arrondi est appliqué ligne par ligne, au demi supérieur, puis sommé. Aucune ré-agrégation ultérieure : la somme des lignes est le total, par construction.
Outre-mer : ce que Facturino tranche, et ce qu'il ne tranche pas
Trois familles de territoires, trois réponses différentes. Guadeloupe, Martinique et Réunion sont dans le territoire français de TVA, avec leurs propres taux. Guyane et Mayotte en sont exclues (CGI art. 294-1). Saint-Pierre-et-Miquelon, Saint-Barthélemy, Saint-Martin, la Polynésie française, la Nouvelle-Calédonie, Wallis-et-Futuna et les TAAF n'appartiennent pas à la France au sens de la TVA (CGI art. 256-0) : pour la TVA française, ce sont des territoires tiers.
Le tableau ci-dessous porte sur un vendeur établi dans le territoire français de TVA
dont l'acheteur est établi dans l'une de ces sept collectivités. Il illustre la règle
générale ; il ne remplace jamais la décision retournée pour l'opération. Les mêmes
réponses valent pour les deux sources fiscales : la source
integration décrit la TVA française, pas une taxe locale.
| Opération | TVA française | Fondement |
|---|---|---|
| Service général ou électronique, acheteur assujetti (B2B), opération située en Nouvelle-Calédonie | Hors champ — décision finale | CGI art. 259-1° ; NC art. Lp. 507-1 |
| Service général ou électronique, acheteur assujetti (B2B), opération située en Polynésie française | Pas de décision finale — com_taaf_payment_withholding_not_modelled | CGI art. 259-1° ; DICP |
| Service général ou électronique, acheteur assujetti (B2B), opération située à PM, BL, MF, WF, TF | Pas de décision finale — com_taaf_local_regime_not_sourced | CGI art. 259-1° |
| Service général, acheteur non assujetti (B2C) | Due, au taux du lieu d'établissement du prestataire | CGI art. 259-2° |
| Service fourni par voie électronique, acheteur non assujetti (B2C) | Pas de décision finale — com_taaf_local_tax_not_determined, et com_taaf_payment_withholding_not_modelled pour la Polynésie française | CGI art. 259 D |
| Bien qui ne quitte pas le territoire du vendeur | Due | Directive 2006/112/CE art. 31 |
| Bien expédié vers la collectivité | Exonérée — exportation | CGI art. 262 I 1° |
| Acompte et frais accessoires | Suivent l'opération principale | CGI art. 269-2-a |
Dans tous ces cas, la transmission est la même : invoiceChannel: "none" et
transactionReporting: "ereporting". Ces documents ne sont jamais déposés sur une
plateforme agréée. Ces deux axes sont décidés à partir des établissements :
quand la décision de TVA est refusée, ils ne disparaissent pas — ils sont publiés comme
valeurs dans settledObligations, en plus des phrases de
obligationReasons. Les trois axes de premier niveau restent null :
on ne lit pas un axe sur une décision qui n'aboutit pas, et settledObligations
n'autorise rien — ni dépôt, ni paiement.
Ce tableau est celui de la règle générale de territorialité. Les
dérogations (immeuble, transport, manifestations, restauration, location de moyens de
transport, services immatériels rendus hors UE…) ne sont pas implémentées :
déclarez-les avec placeOfSupplyRule et la décision répond
unsupported avec place_of_supply_rule_not_implemented, plutôt
qu'un taux qui aurait l'air juste.
Taxe locale : sept collectivités, sept réponses. Ces collectivités lèvent leurs propres taxes indirectes, chacune sous son propre texte. Facturino ne les calcule pas et ne les déguise jamais en TVA française, en taux zéro ni en code VATEX inventé — et ne transpose jamais le régime de l'une à ses voisines. La question qui décide entre une réponse finale et un refus est étroite : cette taxe peut-elle changer ce que vous facturez, ou ce que vous encaissez ?
- Non, et un texte officiel le dit. Nouvelle-Calédonie : l'article
Lp. 507-1 met la taxe générale sur la consommation à la charge du preneur
assujetti lorsque le prestataire n'y est pas établi. Votre facture française est
complète : la décision est finale et porte
foreignTaxReviewRequired: true, signal d'une vérification à mener hors Facturino. Même réponse pour des biens exportés vers l'une des sept : la taxe à l'importation est due par le destinataire (CGI art. 262 I 1°). - Oui, sur le prix. L'acheteur n'est pas assujetti et l'opération est située
dans la collectivité — un service fourni par voie électronique à un particulier
(CGI art. 259 D) : un particulier n'autoliquide rien, seul le fournisseur peut être
appelé à collecter. Ou l'acheteur est assujetti, mais aucun texte officiel de sa collectivité
n'établit qui supporte la taxe (PM, BL, MF, WF, TF). Facturino répond
unsupported—com_taaf_local_tax_not_determinedoucom_taaf_local_regime_not_sourced—, sans montant, plutôt qu'unamountToChargequ'il ne peut pas garantir. - Oui, sur le paiement. Polynésie française : la DICP fait opérer par
votre client une retenue à la source de 10 %, et la prestation y est
soumise à la TVA polynésienne dès lors qu'elle y est utilisée ou que son bénéficiaire y est
établi. Réponse :
com_taaf_payment_withholding_not_modelled.
Vendeur établi dans l'une de ces collectivités ou aux TAAF. La TVA
française n'est pas son régime, et c'est la fiscalité locale qui fixe ce qu'il facture :
Facturino ne conclut pas à sa place et renvoie
seller_com_taaf_local_tax_not_determined. Sa fiche fiscale n'est pas en cause ;
ses obligations françaises de transmission, elles, restent décidées par Facturino.
Aucun de ces refus ne se contourne par la source integration.
Une ligne de décision porte vatRate, vatCode et
vatexCode : trois champs qui décrivent la TVA française. Ce contrat
n'a ni juridiction ni schéma de taxe locale, ni retenue à la source. Y déclarer une TGC, une
taxe de consommation, un droit local ou une retenue reviendrait à les facturer comme de la TVA
française — et, pour la retenue, l'encaissement différerait de toute façon du montant décidé.
Tant qu'il n'existe pas de contrat local distinct et complet, ces opérations restent
non finales sous les deux sources fiscales, avec le même code et sans montant,
et s'établissent hors de Facturino. La seule exception est celle qui est sourcée :
la Nouvelle-Calédonie en B2B (art. Lp. 507-1), finale sous les deux sources. Facturino
garantit la TVA française et la réforme française : il ne prétend couvrir aucune fiscalité
locale, et n'en publie aucun taux.
Conséquence pratique pour la source integration :
placeOfSupply devient obligatoire sur chaque ligne dès que
l'acheteur est établi dans l'une des sept. C'est le lieu de l'opération qui dit si la taxe de la
collectivité est en jeu, et il n'est jamais supposé (sinon
422 integration_vat_incoherent). Un lieu situé en France — un bien qui ne quitte pas
le territoire, un service général B2C — rend la décision finale comme ailleurs.
Ventes à des particuliers de l'Union : quatre décisions, jamais une seule
Un service fourni par voie électronique à un particulier d'un autre pays de l'Union (art. 58) et une vente à distance de biens (art. 33, a) relèvent d'un régime commun. Une prestation de services générale à un particulier n'en relève pas : elle reste taxée là où le prestataire est établi (art. 45). Quatre questions sont tranchées séparément, dans cet ordre :
- l'opération relève-t-elle d'une règle à destination ;
- le seuil de taxation de 10 000 € HT — plafond inclusif — permet-il encore la taxation à l'origine (art. 59 quater §1) ;
- le vendeur a-t-il opté pour la taxation dans le pays du client (art. 59 quater §3) ;
- comment cette taxe est-elle déclarée — guichet unique ou immatriculation locale ?
Le guichet unique répond à la dernière question : c'est un mode de
déclaration, pas une règle de lieu. Ne pas s'y inscrire ne fait jamais revenir la TVA
française : la décision reste sans montant (destination_mechanism_missing).
Le total du seuil vit dans un suivi annuel
(/v1/eu-threshold-ledgers), séparé du profil fiscal parce qu'un chiffre d'affaires
bouge alors qu'une règle figée ne bouge pas. Un second seuil, celui de
100 000 €, décide du nombre de preuves de localisation exigées et ne
compte que les services en ligne, ventes en France comprises : les deux compteurs sont
indépendants, et aucun ne borne l'autre.
Le détail complet — les quatre questions une par une, le suivi annuel, les taux par pays et les régions à taux distinct — est sur la page dédiée : Ventes aux particuliers de l'UE.
Preuves et VIES
Vous transmettez le signal territorial, jamais le signal brut : un pays,
pas une adresse IP ; un pays de carte SIM, pas un numéro. Les preuves réseau
(ip_geolocation, bank_details, sim_mobile_country,
fixed_line) se transmettent avec le pays seul et sont jugées au niveau du pays ;
la décision publie alors territoryId: null sur la preuve. Ce signal national
corrobore l'adresse sans la remplacer : l'adresse de facturation porte le territoire fin —
métropole, Corse ou DROM — et exige son code postal là où le pays compte plusieurs territoires
de TVA. Quand une consultation VIES est
due, la décision porte son statut et sa date — jamais la réponse brute.
Un VIES indisponible produit une décision pending_verification : l'appelant
doit demander une nouvelle décision liée par retryOfTaxDecisionId. Cette reprise
effectue une nouvelle consultation au lieu de rejouer la décision suspendue à l'identique.
2. Facturer et encaisser avec vos propres moyens
Facturino n'impose aucun prestataire ni circuit d'encaissement. Vous pouvez être
réglé par virement, carte, prélèvement, chèque, espèces, portefeuille électronique, lien de
paiement Facturino ou service externe de votre choix. Les moyens non nommés sont enregistrés
avec la catégorie other et leur référence. La décision fiscale reste la même et
ne dépend jamais du fournisseur utilisé pour encaisser.
Deux parcours sont pris en charge : créer et transmettre la facture avant son règlement,
ou percevoir immédiatement le montant d'une décision finale puis créer la facture. Dans le
second cas, conservez taxDecisionId dans votre commande ou la référence externe,
et vérifiez montant, devise et acheteur avant d'adosser la facture.
| Cycle commercial | Ordre recommandé |
|---|---|
| Facture à échéance, virement, chèque ou prélèvement différé | Décision → facture → transmission → encaissement réel |
| Paiement immédiat, en ligne ou au comptoir | Décision finale → encaissement → vérification → facture finalisée avec l'encaissement, un seul appel |
| Acompte puis solde | Décision et facture d'acompte → paiement → décision/facture de solde avec déduction de l'acompte réglé |
// 1. Décider avant de figer la facture ou de percevoir son règlement.
const decision = await facturino.taxDecisions.create({
taxSource: 'facturino',
customerId: 'cus_8f2k4m9n',
effectiveAt: '2026-09-15',
currency: 'eur',
priceMode: 'tax_exclusive',
lines: [{ reference: 'abo-pro', description: 'Abonnement Pro',
category: 'electronically_supplied_services',
rateCategory: 'standard', unitAmount: 2900, quantity: '1' }],
}, { idempotencyKey: 'operation-order-4711' })
// 2. Ne finalisez ni n'encaissez sur une décision non finale.
// « pending_verification » ne veut pas dire « montant nul ».
if (decision.status !== 'final') {
return askForMissingEvidence(decision.issues)
}
// 3. La facture s'adosse à la décision : la TVA n'est pas re-saisie.
const invoice = await facturino.invoices.create({
customerId: decision.customerId,
taxDecisionId: decision.id,
decisionLines: [{ taxLineRef: 'abo-pro', unit: 'month' }],
buyer: buyerSnapshot,
dates: { issued: '2026-09-15', due: '2026-10-15' },
payment: paymentTerms,
}, { idempotencyKey: 'invoice-order-4711' })
await facturino.invoices.finalize(invoice.id)
// 4. Le client règle par le moyen convenu : virement, carte, prélèvement,
// chèque, espèces, portefeuille ou prestataire de votre choix.
const settlement = await yourCollectionProcess.receive({
amount: decision.amountToCharge,
currency: decision.currency,
reference: decision.id,
})
// 5. Enregistrez l'encaissement réel, avec sa vraie date et sa référence.
await facturino.invoices.payments.create(invoice.id, {
amount: settlement.amount,
// transfer, card, check, cash, direct_debit, sepa, paypal ou other
method: toFacturinoPaymentMethod(settlement.method),
reference: settlement.reference,
paidAt: settlement.paidAt,
}, { idempotencyKey: 'payment-order-4711' }) Les secrets éventuels de votre système d'encaissement restent dans votre configuration serveur. Une référence opaque suffit à relier l'encaissement, la décision et la facture.
3. Adosser la facture
taxDecisionId et decisionLines sont requis :
la TVA vient de la décision, et un vatRate transmis à ce stade serait une
affirmation fiscale hors décision — il est refusé. Une décision finale n'adosse
qu'une seule facture ; une seconde tentative répond 409.
La facture porte la source de sa décision :
taxSource: "facturino" ou taxSource: "integration".
Une valeur taxSource: null peut apparaître en lecture : c'est un brouillon
commercial — créé depuis l'application ou par POST /v1/quotes/:id/convert — dont la
TVA n'est pas encore décidée. Son items est vide et son totals est à
zéro parce qu'aucune ligne fiscale n'existe — jamais parce que la TVA serait nulle ; le
montant saisi se lit dans commercialDraft.totalCents, avec sa base dans
commercialDraft.priceMode.
Pour fiscaliser un tel brouillon, décidez son opération puis adossez la décision à
ce même document avec
POST /v1/invoices/:id/bind-tax-decision (taxDecisionId +
decisionLines). Le cycle complet est
convertir → décider → adosser → finaliser : la facture reste un brouillon après
l'adossement, la finalisation est un appel distinct. Ne créez pas une seconde facture — cela
abandonnerait le brouillon converti. Détail : Devis.
4. Suivre — trois axes indépendants
Un document a trois états qui ne se déduisent pas l'un de l'autre. Le champ
status est un résumé dérivé de ces trois axes — un seul mot
cohérent pour qui n'en veut qu'un, jamais une autorité propre.
{
"id": "inv_7a3c...",
"status": "deposited",
"documentStatus": "finalized",
"transmissionStatus": "deposited",
"transmissionDetail": null,
"paymentStatus": "partially_paid",
"taxSource": "facturino",
"taxDecisionId": "taxdec_9c1f...",
"taxSnapshot": {
"invoiceChannel": "einvoicing",
"transactionReporting": "none",
"paymentReporting": "fr212"
}
} | Axe | Valeurs | Ce qu'il dit |
|---|---|---|
documentStatus | draft, finalized, cancelled | Où en est le document légal. |
transmissionStatus | not_applicable, pending, sending, deposited, transmitted, approved, rejected | Où en est la transmission. Un encaissement ne le modifie jamais. |
paymentStatus | unpaid, partially_paid, paid, partially_refunded, refunded | Où en est l'encaissement. Un remboursement n'efface pas l'encaissement qui a eu lieu. |
5. Plateforme agréée ou e-reporting
Le canal est décidé, pas déduit. Seul invoiceChannel: "einvoicing"
ouvre le dépôt sur une plateforme agréée. Une plateforme connectée ne rend aucune opération
éligible ; un client « qui a l'air français » non plus.
Le tableau suivant illustre un vendeur établi en France métropolitaine dont la vague d'obligation est ouverte. Le moteur tient aussi compte du territoire et du calendrier du vendeur : ces exemples ne remplacent jamais la décision retournée pour l'opération.
| Cas | Canal |
|---|---|
| B2B France métropolitaine, Corse, Guadeloupe, Martinique, Réunion | Facturation électronique |
| B2C France | E-reporting des transactions |
| Acheteur hors de France (UE ou non) | E-reporting des transactions |
| Guyane, Mayotte, collectivités d'outre-mer | E-reporting des transactions |
Tenter de déposer une opération hors canal renvoie not_einvoicing_channel. Ce
refus n'éteint pas l'obligation d'e-reporting correspondante : elle
reste due.
6. Encaissements et remboursements
L'axe paymentReporting de la décision dit où va la donnée de paiement :
fr212— l'encaissement est transmis à la plateforme comme statut « Encaissée », avec le montant ventilé par taux et la date réelle d'encaissement.ereporting— l'encaissement entre dans le volet paiement, déclaré par période.none— rien à transmettre.
Un remboursement est un encaissement négatif : il suit le même canal et corrige la déclaration. Un encaissement enregistré pendant la transmission ne modifie jamais l'axe de transmission.
Activation et échéance
Deux choses distinctes, à ne pas confondre :
- L'échéance légale du dispositif français de facturation électronique et d'e-reporting suit le calendrier DGFiP vérifié le 1er septembre 2026 et détaillé dans notre calendrier de la réforme : réception obligatoire pour toutes les entreprises et émission des grandes entreprises et ETI au 1er septembre 2026, émission des PME, TPE et micro-entreprises au 1er septembre 2027. Ce calendrier s'applique à tout établissement, quels que soient son secteur et ses moyens de paiement ; Facturino n'est figé sur aucun cas particulier.
- L'activation volontaire anticipée est un choix de votre entreprise : vous pouvez émettre et déclarer avant l'échéance, si votre plateforme l'accepte. Dans Facturino, l'e-reporting automatique est une activation explicite par établissement, distincte de l'autorisation de dépôt des factures. Tant qu'elle n'est pas activée, rien n'est transmis en votre nom.
Erreurs fiscales
| Code | Signification |
|---|---|
tax_decision_required | Le document n'a pas de décision. Rien n'est deviné. Le dépôt manuel reste disponible. |
tax_decision_not_final | La décision n'est pas finale : aucun montant n'est arrêté. |
tax_decision_expired | La décision a expiré ; demandez-en une nouvelle. |
tax_decision_buyer_drifted | L'acheteur n'est plus celui sur lequel la décision a été prise. |
tax_decision_lines_mismatch | Les lignes de présentation ne couvrent pas exactement la décision. |
tax_decision_input_rejected | Le payload tente d'imposer un résultat fiscal au lieu de décrire l'opération. |
tax_decision_retry_invalid | La reprise modifie l'opération d'origine au lieu d'ajouter seulement les preuves attendues. |
not_einvoicing_channel | Opération hors canal de facturation électronique. |
deposit_not_enabled | Dépôt réseau désactivé pour cet établissement. |
ereporting_not_enabled | E-reporting automatique non activé pour cet établissement. |
conflict (409) | La décision a déjà été consommée par une facture. |
Avertissement sur la nature de l’acheteur
La réponse peut ajouter warnings, tableau en lecture seule de BuyerNatureWarning. Chaque objet porte code: buyer_nature_suspect, un message anglais et param, le champ à vérifier. Le client ou la décision est créé malgré cet avertissement.
Un nom qui semble désigner une entreprise sur un client particulier ou sans SIRET déclenche ce signal : par exemple « SAS ALPHA MENUISERIE ». Vérifiez le type du client et son SIRET avant de décider le canal de facturation. « Marie Sasu » ne déclenche pas cet avertissement.