📄 Retenue de garantie (cas 26)

Retenue de garantie — cas DGFiP n°26 (BT-21 ABU / BT-22)

Bridge ropi_fr_einvoicing_retention_guarantee — licence OPL-1 — 50,00 €.

Pourquoi

Sur les marchés BTP et prestations avec clause de réserve, il faut inscrire sur la facture l'existence et le contenu de la retenue de garantie. Odoo CE 18.0 stock ne porte pas les champs correspondants sur sale.order ni account.move, ce qui bloque l'export UBL BT-21 (code sujet ABU) et BT-22 (clause).

Comment le module corrige

  • Ajoute sur sale.order et account.move les champs bridge has_retenue (booléen) et retenue_clause_note (texte libre).
  • Export UBL : #ABU# via l10n_fr_pdp / ubl_21_fr.
  • Export CII : IncludedNote/SubjectCode = ABU (fichier data/cii_22_retention_note_export.xml, xpath local-name()).
  • Export Factur-X : chemin CII (même builder).
  • pre_init_hook : bloque l'installation si les champs upstream l10n_fr_has_retention_guarantee / l10n_fr_retention_clause_note sont déjà présents.

Suivi upstream

  • Commit Odoo : 95b63ccd3b54[IMP] l10n_fr_account: retention guarantee (cas 26) EDI export.
  • Branche interne : 18.0-cas26-retention-guarantee (fork rpinset/odoo) ; bridge RoPi commit 26431e2.
  • Campagne multirepo : cas26-retention-guarantee.

Migration avant désinstallation

Les noms de champs sont différents (bridge has_retenue / retenue_clause_note vs upstream l10n_fr_has_retention_guarantee / l10n_fr_retention_clause_note). Un script de migration est obligatoire avant désinstallation pour transférer la donnée vers les colonnes upstream.

Install & test

  • DB Docker : fe_cas26 / fe_cas26_ropi.
  • Tests : upstream --test-tags=/TestL10nFrRetentionExport ; bridge --test-tags=+cas26_retention,+l10n_fr_edi_retention.
  • Prix : 50,00 € OPL-1apps.odoo.com.

← Retour au sommaireVitrine RoPi.