Overslaan naar inhoud
Icône de Sous-traitance BTP — Allemagne : retenue sur travaux de construction (Odoo 20)

Sous-traitance BTP — Allemagne : retenue sur travaux de construction (Odoo 20)

door Dyonysos
Gratis Odoo 20 Module Kwaliteitscontrole: Geverifieerd OPL-1 (Odoo-propriëtair)

German Construction Withholding Tax — retenue sur les paiements de travaux de construction, attestation d'exonération et sa date de fin, déclaration mensuelle de la retenue.

Schermafbeeldingen

Sous-traitance BTP · Allemagne

§ 48 EStG : l'exonération levée par l'attestation, rétablie à son expiration

Retenue sur les paiements de travaux de construction, attestation d'exonération et sa date de fin, seuil de minimis annuel, déclaration mensuelle. Extension du socle gratuit dyo_soustraitance. Libellés en français, termes d'origine entre parenthèses.

Odoo 20 Community — On Premise✔
Odoo.sh✔
Odoo Online (SaaS)✔

Le constat

Le § 48 EStG impose de retenir une part des paiements de travaux de construction, sauf attestation d'exonération en cours de validité. L'attestation a expiré en mars, les paiements ont continué, et personne ne l'a vu avant le contrôle : c'est exactement là que les entreprises se font reprendre.

🔓

L'attestation lève la retenue

Tant qu'elle couvre la date du paiement, le taux est nul.

🔒

Son expiration la rétablit seule

Paiement du dernier jour : rien. Le lendemain : taux plein. Personne n'a rien décidé entre les deux.

📉

Le seuil de minimis annuel

Sous le seuil, aucune retenue — avec un seuil majoré quand le donneur d'ordre (Leistungsempfänger) relève du § 4 Nr. 12 Satz 1 UStG, jamais le prestataire.

🆔

Le numéro fiscal exigé

Dès qu'une retenue s'applique : sans lui, elle serait versée sans que l'administration sache à qui la créditer.

Ce que fait l'application

01

Attestation d'exonération

Numéro de sécurité, centre des impôts émetteur, date de fin recopiée du document et fichier en pièce jointe.

02

Levée et rétablissement automatiques

La retenue suit la date du paiement, pas une décision : rien à surveiller, rien à relâcher à la main.

03

Seuil de minimis annuel

Cumul des paiements de l'année civile au même prestataire, comparé au seuil réglé. Le seuil majoré tient au donneur d'ordre (§ 48 Abs. 2 S. 1 n° 1 EStG).

04

Numéro fiscal (Steuernummer)

Exigé dès qu'une retenue s'applique ; inutile quand le paiement est exonéré.

05

Vérification auprès de l'office fédéral

Source de vérification dédiée : confronter l'attestation présentée à ce qui a réellement été délivré.

06

Déclaration mensuelle de la retenue

Ne rattache que les paiements sur lesquels une retenue a réellement porté : un paiement exonéré n'a rien à déclarer.

L’application en mouvement

Le module en marche, enregistré dans le vrai client Odoo 19 : Paiements (fiche), Paiements, Vérifications puis Attestations. Ce n’est pas un montage — ce sont les trames du navigateur sur le module livré, pris sur sa propre base. Cette édition se greffe sur les écrans du socle dont elle dépend : le parcours montre donc ces écrans, enrichis des champs et des boutons qu’elle y ajoute.

Vidéo MP4 — 213 ko, 1280 px, 3.3 s, 4 écrans. Une amorce animée est aussi livrée en GIF (184 ko, 560 px) pour les contextes qui n’affichent pas la balise vidéo.

Amorce animée du parcours de dyo_soustraitance_de
Amorce GIF — 184 ko. Enregistrement réel du client Odoo 19 sur une base dédiée à ce module, avec les données de démonstration livrées avec lui.

Ce que le module ne fait pas

  • Ne se connecte pas au portail de l'administration : la vérification et le dépôt se font en ligne, leur résultat est enregistré ici.
  • Ne verse rien : la retenue est calculée et tracée, son paiement relève de la comptabilité.
  • Pas de TVA à autoliquidation (§ 13b UStG), qui est un autre régime.
  • Il n'existe aucune durée de validité d'une vérification : c'est la date portée sur l'attestation, comparée à celle du paiement, qui décide (§ 48 Abs. 2 S. 1 EStG). Le taux, les seuils et la date limite livrés sont des valeurs par défaut usuelles, à confirmer auprès de votre conseil fiscal allemand ; la méthode d'appréciation du seuil de minimis mise en œuvre est une approximation prudente, documentée dans le guide utilisateur.

Fiche technique

Version20.0.1.1.0
Dépendancesdyo_soustraitance
LicenceOPL-1
PrixGRATUIT
Modèles ajoutésdyo.st.de.declaration
Modèles étendusdyo.st.attestation, dyo.st.verification, dyo.st.paiement, res.company, res.partner
LangueFrançais

DYONYSOS — welcome@dyonysos.fr

Sous-traitance BTP — Allemagne : retenue sur travaux de construction (Odoo 20) — capture 1
Sous-traitance BTP — Allemagne : retenue sur travaux de construction (Odoo 20) — capture 1
Sous-traitance BTP — Allemagne : retenue sur travaux de construction (Odoo 20) — capture 2
Sous-traitance BTP — Allemagne : retenue sur travaux de construction (Odoo 20) — capture 2

Wat deze app niet doet

  • Ne se connecte pas au portail de l'administration : la vérification et le dépôt se font en ligne, leur résultat est enregistré ici.
  • Ne verse rien : la retenue est calculée et tracée, son paiement relève de la comptabilité.
  • Pas de TVA à autoliquidation (§ 13b UStG), qui est un autre régime.
  • Il n'existe aucune durée de validité d'une vérification : c'est la date portée sur l'attestation, comparée à celle du paiement, qui décide (§ 48 Abs. 2 S. 1 EStG). Le taux, les seuils et la date limite livrés sont des valeurs par défaut usuelles, à confirmer auprès de votre conseil fiscal allemand ;

Vereiste applicaties van de appstore

Gebruikte Odoo Community-modules

Geen.

SerieVersieStatusGepubliceerd op
20.020.0.1.1.0 Beschikbaar 02-10-2026
19.019.0.1.1.0 Beschikbaar

Fiche gegenereerd uit de code van de uitgever (privé-repository, branch 20.0): de broncode is niet gepubliceerd.

Automatische controle van de appstore (los van de uitgever), toegepast op alle applicaties. Conforme.

ControleResultaatEffect indien afwezig
Manifeste lisible sans exécution conforme bloquant
Licence reconnue (OPL-1) conforme bloquant
Aucune dépendance vers Odoo Enterprise conforme bloquant
Aucun import de code Enterprise conforme bloquant
Aucun en-tête de licence Enterprise conforme bloquant
Icône static/description/icon.png conforme déclasse
Description (static/description/index.html ou README) conforme déclasse
Tests automatisés (tests/test_*.py) conforme déclasse
Traduction française (i18n/fr.po) conforme info
Section « Ce que le module ne fait pas » conforme info
Titre de 70 caractères au plus (78 actuellement) absent info
Résumé en français conforme info

Guide utilisateur — Sous-traitance BTP, Allemagne (§ 48 EStG)

Ce guide complète celui du socle dyo_soustraitance. Lisez-le d'abord : la vérification, le blocage du paiement et la dérogation y sont décrits, et rien de cela ne change ici.

Avant toute mise en production. Le taux, les seuils, la durée de validité d'une vérification et la date limite de dépôt livrés avec ce module sont des valeurs par défaut usuelles, réglables société par société. Ce ne sont pas des citations réglementaires. Confirmez-les auprès de votre conseil fiscal allemand avant de vous y fier.

Ce que dit le régime, en deux phrases

Le § 48 de la loi allemande sur l'impôt sur le revenu (Einkommensteuergesetz) impose au donneur d'ordre de retenir une part des paiements qu'il fait pour des travaux de construction (Bauleistungen) et de la verser au centre des impôts. Il y échappe quand le prestataire produit une attestation d'exonération en cours de validité (Freistellungsbescheinigung, § 48b), ou quand les paiements de l'année restent sous un seuil de minimis (Bagatellgrenze).

1. Régler les paramètres de la société

Paramètres → Sociétés → votre société → onglet « Sous-traitance — Allemagne (§ 48 EStG) ».

Paramètre Ce qu'il commande
Taux de retenue (%) Part retenue faute d'attestation valide
Seuil de minimis annuel En dessous, aucune retenue
Seuil de minimis majoré Quand le donneur d'ordre réalise exclusivement des opérations exonérées (§ 4 Nr. 12 Satz 1 UStG)
Jour limite de dépôt de la déclaration Date limite de dépôt et de versement, le mois suivant

Vous ne trouverez pas de « validité d'une vérification », et c'est voulu : il n'en existe aucune. Le § 48 Abs. 2 S. 1 EStG exonère sur présentation d'une attestation « im Zeitpunkt der Gegenleistung gültige » : c'est la date de fin portée sur l'attestation, comparée à la date du paiement, qui décide. Le § 48b Abs. 6 EStG n'attache aucune durée à la consultation, et l'attestation peut être révoquée rétroactivement (§ 130 AO) : mettre la vérification en cache ferait payer sans retenue un prestataire dont l'attestation a été retirée.

2. Le numéro fiscal

Sur la fiche du sous-traitant, renseignez le numéro fiscal allemand (Steuernummer).

La case « Opérations exclusivement exonérées (§ 4 Nr. 12 Satz 1 UStG) » se coche, elle, sur la fiche du donneur d'ordre — votre société, ou le donneur d'ordre nommé sur le contrat. C'est de lui, et de lui seul, que dépend le seuil de minimis majoré : le § 48 Abs. 2 S. 1 n° 1 EStG vise le Leistungsempfänger. Cochée sur un prestataire, elle reste sans effet — et c'est voulu : appliquer le seuil majoré à une situation qui relève des 5 000 € ferait omettre la retenue, dont le donneur d'ordre répond sans faute (§ 48a Abs. 3 EStG).

Quand une retenue s'applique, le paiement est refusé sans numéro fiscal. Sans lui, la retenue serait versée sans que l'administration sache à qui la créditer — le prestataire la perdrait.

Quand aucune retenue ne s'applique, le numéro n'est pas exigé : il n'y a rien à imputer.

3. Enregistrer l'attestation d'exonération

Menu Sous-traitance → Attestations → Nouveau.

  1. Pièce : « Attestation d'exonération de retenue (Freistellungsbescheinigung, § 48b EStG) ».
  2. Sous-traitant, date de délivrance, et surtout la date de fin portée sur l'attestation. Elle ne se déduit d'aucune durée standard : recopiez celle du document.
  3. Numéro de sécurité (Sicherheitsnummer) — obligatoire. Sans lui, l'attestation n'est pas vérifiable auprès de l'administration, et c'est sur elle que repose la levée de la retenue.
  4. Centre des impôts émetteur (Finanzamt), et le fichier en pièce jointe.

4. Ce que fait le module, et qui compte

Tant que l'attestation couvre la date du paiement, la retenue est levée. Le lendemain de son expiration, elle se rétablit d'elle-même.

Un paiement daté du dernier jour de validité n'est pas retenu. Le même paiement daté du lendemain l'est, au taux plein. Personne n'a rien décidé entre les deux : c'est le calendrier qui a tourné.

C'est exactement là que les entreprises se font reprendre. L'attestation a expiré en mars, les paiements ont continué, et personne ne l'a vu avant le contrôle.

Sur chaque paiement, la fiche montre :

  • l'attestation d'exonération retenue — vide, la retenue s'applique ;
  • le cumulé sur l'année civile et le témoin sous le seuil de minimis.

Une attestation ne couvre jamais un paiement antérieur à sa délivrance, ni le paiement d'un autre prestataire.

5. Le seuil de minimis

Sous le seuil annuel, aucune retenue. Le module additionne les paiements déjà validés de l'année civile au même prestataire, plus celui que vous préparez, et compare au seuil.

Exemple avec un seuil de 5 000 € :

Cumulé Retenue
Premier paiement de 3 000 € 3 000 aucune
Second paiement de 3 000 € 6 000 taux plein

Le seuil majoré s'applique quand le donneur d'ordre porte la case « Opérations exclusivement exonérées (§ 4 Nr. 12 Satz 1 UStG) » — jamais quand c'est le prestataire qui la porte.

Cette appréciation du seuil est une approximation prudente de la règle réelle. Vérifiez le seuil et sa méthode d'appréciation auprès de votre conseil fiscal.

6. Vérifier l'attestation auprès de l'office fédéral

Menu Sous-traitance → Vérifications → Nouveau, source « Consultation en ligne de l'attestation d'exonération (portail EIBE du BZSt ; l'attestation est délivrée par le Finanzamt) », avec le numéro de sécurité confronté au fichier de l'administration.

Elle ne se périme pas au calendrier. Le champ « Valable jusqu'au » reste vide, et ce n'est pas un oubli : aucune durée n'est attachée à la consultation (§ 48b Abs. 6 EStG). Ce qui décide est la date de fin portée sur l'attestation, comparée à la date du paiement. Chaque paiement porte d'ailleurs un motif en clair qui dit lequel des deux cas s'applique, et sur quel fondement.

Qui fait quoi. Le BZSt opère la consultation en ligne — portail EIBE — et stocke les attestations. C'est le Finanzamt compétent qui les délivre et qui les révoque (§ 48b Abs. 6 EStG). La durée maximale de trois ans qu'on lit partout vient du Merkblatt du BZSt : c'est une règle administrative, pas légale — le § 48b EStG n'en fixe aucune.

À distinguer de l'attestation elle-même. L'attestation lève la retenue ; la vérification prouve que vous avez confronté le papier présenté à ce que l'administration a réellement délivré. L'une agit sur le montant, l'autre sur le droit de payer.

7. Déclarer et verser la retenue

Menu Sous-traitance → Allemagne (§ 48 EStG) → Déclarations de la retenue → Nouveau.

  1. Choisissez le mois : la date saisie est ramenée au premier du mois, et la date limite de dépôt et de versement se calcule seule.
  2. Rattacher les paiements retenus du mois : le module ne ramène que les paiements sur lesquels une retenue a réellement porté. Un paiement exonéré n'a rien à déclarer ; le rattacher gonflerait la liste sans rien ajouter au montant à verser.
  3. Renseignez le centre des impôts destinataire, le numéro d'accusé rendu par le portail, puis Marquer déposée.

Deux déclarations du même mois sont refusées : les mêmes retenues seraient versées deux fois. Annuler une déclaration relâche ses paiements, qui redeviennent rattachables.

Beoordelingen van ingelogde klanten. Eén beoordeling per klant; de uitgever kan erop reageren. Log in om een beoordeling te plaatsen.

Uitgever
DYONYSOS
E-mail
contact@omnifloo.com
Omnifloo-klanten
Support inbegrepen volgens uw formule: helpcentrum.