Skip to main content

Proposals & Invoices · Article 5.2

Postes, le moteur TVA et ce qui détermine votre taux

Chaque ligne est `{description, quantité, tarif, type}`. Clozo calcule le sous-total net, puis applique l'une des sept règles TVA en fonction de votre régime fiscal, du pays du client et du statut B2B ou B2C du client.

La grille de postes est l'endroit où vous saisissez le travail et les calculs se font automatiquement. Chaque ligne contribue à un seul sous-total net en bas du tableau. Au-dessus de ce sous-total, le moteur TVA applique l'une des sept règles — taux standard national, autoliquidation, OSS, Kleinunternehmer (DE), KOR (NL), franquicia (ES), forfettario (IT), ou « non assujetti à la TVA » — et ajoute un seul montant de TVA. Le total TTC apparaît en dessous. Ce TTC est ce que le client doit ; ce TTC est ce qui est répercuté sur les factures d'acompte et finales.

Step by step

  1. Ajoutez une ligne.

    Cliquez sur + Add line item à l'étape 3 de l'assistant. Tapez une description, définissez la quantité (1 par défaut), le tarif, et choisissez hourly ou fixed dans la liste déroulante de type.

  2. Répétez selon les besoins.

    Faites glisser les lignes par la poignée à gauche pour les réordonner. Le total se recalcule en temps réel en dessous.

  3. Confirmez le bloc TVA.

    Sous le sous-total, vous verrez le taux et la règle (p. ex. 20% (domestique) ou 0% (autoliquidation — B2B UE)). Si la règle semble incorrecte, le problème est en amont : votre régime (/settings/profile) ou l'enregistrement du client (/clients/{id}).

  4. Vérifiez le total TTC.

    La ligne « Total (TVA incluse) » en bas est ce que votre client doit. Vérifiez avant de passer à l'étape 4 de l'assistant.

Why this works this way

Pourquoi la TVA s'applique au niveau du devis, pas par ligne. L'art. 226 de la directive TVA UE exige que chaque facture divulgue le taux utilisé et le montant de TVA par taux. Dans la pratique freelance, toutes les lignes d'une même facture partagent généralement un seul taux (vous ne vendez pas des biens à taux mixtes comme un supermarché). Clozo applique cette règle : un devis, une règle TVA, un taux. Si vous avez réellement besoin de taux mixtes (p. ex. conseil à 19% plus droits d'auteur d'ebook à taux réduit à 7% en Allemagne), divisez en deux devis.

Les sept règles TVA et quand chacune se déclenche (depuis apps/vat/engine.py:calculate_vat) :

RègleDéclenchée quandEffet sur le PDF
domesticMême pays que vous, B2B ou B2CTaux national standard (p. ex. 19% DE, 20% FR, 21% NL/ES, 22% IT, 23% PL)
reverse_chargeClient dans un autre pays de l'UE, B2B avec numéro de TVA VIES valideTVA à 0%, mention légale ajoutée : « Autoliquidation — TVA à acquitter par le preneur » (traduite selon la langue)
ossClient dans un autre pays de l'UE, B2C, vous avez opté pour l'OSSTaux national du client (p. ex. votre entreprise DE facturant un consommateur B2C français = taux FR de 20%)
non_euClient hors UETVA à 0% — exportation de services
not_registeredVous n'avez pas de numéro de TVA enregistré0%, sans mention TVA (vous êtes en dessous du seuil ou pas encore inscrit)
kleinunternehmer (DE)Votre régime fiscal = kleinunternehmer0%, mention légale : « Gemäß § 19 UStG wird keine Umsatzsteuer berechnet (Kleinunternehmerregelung) »
kor (NL) / franquicia (ES) / forfettario (IT)Votre champ de régime fiscal défini sur l'un de ces régimes0%, mention légale spécifique au régime dans la langue locale

Critique : le piège de la double TVA du §14c UStG. Si vous êtes un Kleinunternehmer allemand et que vous imprimez accidentellement une ligne TVA sur une facture (remplacement manuel, copier-coller depuis un modèle), la loi fiscale allemande traite cela comme un montant contraignant — vous devez la TVA indiquée au Finanzamt même si vous ne la devez pas sous le régime. Le moteur de Clozo refuse d'ajouter une ligne TVA lorsque le régime est kleinunternehmer, donc ce piège est fermé par défaut. La même logique s'applique au KOR néerlandais et à la franquicia espagnole.

Remplacement manuel (vat_rate_override) : il existe une trappe dans le formulaire de création de devis — vat_rate_override accepte un entier de 0 à 27 pour forcer un taux. À utiliser uniquement lorsque le moteur ne peut vraiment pas déduire correctement (p. ex. un revendeur sous le régime de la marge). Lorsqu'il est défini, le vat_breakdown du devis enregistre le marqueur de remplacement pour l'audit ; le PDF passe quand même la conformité UE car la mention légale est générée à partir du remplacement, pas paraphrasée.

Troubleshooting

Keep reading

Postes, le moteur TVA et ce qui détermine votre taux · Help · Clozo