← Tous les modules
Documentation Blog Accédez à vos licences Contact
codingrow.com — Human thought, digital logic. Le plugin Magento pour la facturation électronique italienne

Facturation B2B italienne, bien faite

Numéro de TVA (Partita IVA), code destinataire SDI, e-mail certifié PEC et code fiscal (Codice Fiscale) — dans le carnet d'adresses et au paiement, avec des validations correctes et une synchronisation automatique sur la commande. Gère aussi bien les clients professionnels (numéro de TVA, SDI/PEC) que les particuliers (code fiscal), dans un seul module.

€99,00 + TVA
Total indicatif, TVA italienne incluse : €120,78 — le montant exact est calculé au moment du paiement et est supprimé pour les acheteurs professionnels de l'UE disposant d'un numéro de TVA valide (autoliquidation).
paiement unique · un domaine · licence perpétuelle, 1 an de mises à jour et support (renouvellement à −35%)

✓ Licence active immédiatement après le paiement, reçue par e-mail

✓ Installation immédiate via Composer

✓ Premier changement de domaine inclus et immédiat (pratique pour passer de la préproduction à la production)

✓ Garantie satisfait ou remboursé : 30 jours

Ce qui est inclus

Le module en action

Touchez pour agrandir


Prérequis

Magento 2.4.x (testé sur 2.4.9) · PHP 8.1 - 8.5 (testé sur PHP 8.5) · Thème Luma par défaut, ou thème Hyvä (facultatif — s'il est présent, une interface de carnet d'adresses optimisée est utilisée, testée en particulier sur ce thème)

Installation

  1. Recevez vos identifiants — après l'achat, vous recevez immédiatement par e-mail la clé de licence et les identifiants d'accès au dépôt Composer privé.
  2. Configurez l'accès au dépôt dans le fichier auth.json à la racine du projet Magento :
    { "http-basic": { "repo.codingrow.com": { "username": "votre-nom-utilisateur", "password": "votre-mot-de-passe" } } }
  3. Ajoutez le dépôt au composer.json du projet :
    composer config repositories.codingrow composer https://repo.codingrow.com
  4. Installez le module :
    composer require codingrow/module-b2bfatturazione
  5. Activez-le et lancez la mise à jour :
    bin/magento module:enable Codingrow_B2bFatturazione bin/magento setup:upgrade bin/magento setup:di:compile bin/magento cache:flush
  6. Activez la licence dans Admin > Store > Configuration > Codingrow > B2bFatturazione, en collant la clé reçue par e-mail dans le champ « License Key ». Enregistrez puis exécutez bin/magento cache:flush.

Personnaliser les champs dans les adresses, e-mails et PDF

Les données collectées (numéro de TVA, code destinataire SDI, PEC, code fiscal, Facture demandée) sont des champs d'adresse standard, ils s'intègrent donc dans le système Address Templates de Magento : Admin > Stores > Settings > Configuration > Customers > Customer Configuration > Address Templates. Magento y définit 4 formats — Text, Text One Line, HTML, PDF — utilisés respectivement dans le carnet d'adresses, les commandes, les e-mails et exports, et dans les documents PDF (factures, bons de livraison).

Si vous avez déjà un modèle personnalisé (pas celui par défaut) : ne l'écrasez pas, ajoutez seulement les lignes ci-dessous à votre modèle existant, pour ne pas perdre les personnalisations déjà faites. Décochez « Use system value » uniquement sur le format que vous voulez modifier.

Exemple, format HTML (utilisé aussi dans les modèles d'e-mail, Admin > Marketing > Email Templates, même syntaxe) :

{{depend prefix}}{{var prefix}} {{/depend}}{{var firstname}} {{depend middlename}}{{var middlename}} {{/depend}}{{var lastname}}{{depend suffix}} {{var suffix}}{{/depend}}{{depend firstname}}<br />{{/depend}}
{{depend company}}{{var company}}<br />{{/depend}}
{{if street1}}{{var street1}}<br />{{/if}}
{{depend street2}}{{var street2}}<br />{{/depend}}
{{depend street3}}{{var street3}}<br />{{/depend}}
{{depend street4}}{{var street4}}<br />{{/depend}}
{{if city}}{{var city}}, {{/if}}{{if region}}{{var region}}, {{/if}}{{if postcode}}{{var postcode}}{{/if}}<br />
{{var country}}<br />
{{depend telephone}}T: <a href="tel:{{var telephone}}">{{var telephone}}</a>{{/depend}}
{{depend fax}}<br />F: {{var fax}}{{/depend}}<br />
{{depend vat_id}}TVA : {{var vat_id}}{{/depend}}<br />
{{depend sdi}}SDI : {{var sdi}}{{/depend}}<br />
{{depend pec}}PEC : {{var pec}}{{/depend}}<br />
{{depend codice_fiscale}}Code fiscal : {{var codice_fiscale}}{{/depend}}<br />
{{depend fattura_richiesta}}Facture demandée : Oui{{/depend}}<br />

Exemple, format PDF (même logique, le séparateur de ligne est | au lieu de <br />) :

Ce sont des modèles d'exemple, à adapter à la mise en page que vous préférez (ou à fusionner avec le vôtre, s'il est déjà personnalisé) — ne les collez pas à l'aveugle si vous avez d'autres modifications en cours.

Désinstallation

  1. Désactivez, désinstallez et retirez du composer.json :
    bin/magento module:uninstall Codingrow_B2bFatturazione
    Cette commande désactive le module, exécute automatiquement composer remove codingrow/module-b2bfatturazione et lance setup:upgrade. Si vous préférez le faire manuellement, étape par étape :
    bin/magento module:disable Codingrow_B2bFatturazione composer remove codingrow/module-b2bfatturazione bin/magento setup:upgrade
  2. Remarque sur les données : les champs enregistrés (numéro de TVA, SDI, PEC, code fiscal, type de compte) restent dans la base de données du carnet d'adresses et des commandes même après la désinstallation — ils ne sont pas supprimés automatiquement, pour ne pas perdre les données historiques. Si vous voulez les supprimer entièrement, une intervention manuelle sur la base de données est nécessaire.

Garantie satisfait ou remboursé

Vous avez 30 jours à compter de l'achat pour demander un remboursement complet, sans avoir à justifier le motif : il suffit d'accéder à votre espace personnel (codingrow.com/login) et de cliquer sur « Demander un remboursement ». Le remboursement est traité immédiatement, automatiquement. À la confirmation du remboursement, la licence est désactivée.

Historique des mises à jour

Version actuelle : v1.3.8 — publiée le 25 septembre 2026

Le module a été développé et affiné à travers une bêta fermée à partir de juin 2026, avant la publication publique.

v1.3.8Maintenance25 septembre 2026
Au paiement, la case « Demander une facture » s’affichait sans style et collée au champ suivant : corrigé.
v1.3.6Nouveauté15 août 2026
  • Il accepte la clé d'abonnement : un seul abonnement active ce module avec les autres.
  • Les licences par module continuent de fonctionner comme avant.
v1.3.1 – v1.3.5Maintenance4–5 août 2026
Les champs B2B apparaissent désormais aussi sur l'adresse de livraison, sur une adresse choisie dans le carnet et dans les récapitulatifs d'administration.
v1.3.0Nouveauté3 août 2026
  • Prise en charge complète de GraphQL : les champs B2B sont disponibles sur les adresses du panier.
  • Nécessaire à tout tunnel de commande qui passe par là, comme le React Checkout de Hyvä.
v1.2.2 – v1.2.3Maintenance23 juillet 2026
Retouches sur la page de configuration : en-tête avec le numéro de version, et une ligne de séparation superflue en moins.
v1.2.1Maintenance6 juillet 2026
Correction sur le thème Luma : dans certaines configurations, la page « Modifier l'adresse » renvoyait une erreur. Corrigé et vérifié avec des tests de bout en bout réels.
v1.2.0Nouveauté6 juillet 2026
  • Prise en charge du thème Luma ; auparavant, Hyvä était obligatoire.
  • Le module détecte le thème actif et utilise le bon carnet d'adresses.
v1.1.0Maintenance6 juillet 2026
À l’appui de la garantie satisfait ou remboursé.
v1.0.0Nouveauté6 juillet 2026
  • Première version publique : numéro de TVA (Italie et UE), code destinataire, courrier certifié et code fiscal.
  • Case Demander une facture pour les particuliers comme pour les entreprises.
  • Contrôles de format et d'obligation croisée, et les données passent du panier à la commande.
v0.4.0-betaMaintenance29 juin 2026
Les données B2B ne se perdent plus en passant du panier à la commande et au carnet, et les contrôles valent aussi quand une adresse est modifiée en administration.
v0.3.0-betaMaintenance22 juin 2026
On ne peut plus cocher « Demander une facture » pour un particulier sans code fiscal, et l'obligation distingue entreprises italiennes, étrangères et particuliers.
v0.2.0-betaMaintenance15 juin 2026
Correction : le type de client (particulier/entreprise) dans l'admin était un champ de texte libre au lieu d'un menu contraint, ce qui pouvait entraîner des valeurs incohérentes.
v0.1.0-betaNouveauté8 juin 2026
  • Début de la bêta fermée : gestion de base du numéro de TVA et du code fiscal.
  • Disponibles dans le carnet d'adresses et au moment de la commande.

Tests et fiabilité

Avant la publication publique, le module a été mis à l'épreuve sur toutes les combinaisons pertinentes de type de client, d'adresse et de facturation. Quelques-uns des cas traités et résolus :

Questions fréquentes

Quels champs ajoute-t-il au paiement ?
Champs de facturation électronique italienne — n° de TVA, code fiscal, code SDI et PEC — avec logique particulier/entreprise.
Valide-t-il les données ?
Oui, il valide TVA, code fiscal, SDI et PEC et ne demande que ce dont ce type de client a besoin.
Est-il compatible avec Hyvä et Luma ?
Oui, il fonctionne avec Hyvä et Luma.
J'ai installé le module mais seuls certains champs apparaissent au paiement. Pourquoi ?
En mode production, les fichiers du module doivent être publiés avec setup:static-content:deploy -f : tant qu'ils manquent, le navigateur ne les trouve pas et le paiement s'arrête à mi-chemin. Après le déploiement et le vidage du cache, tous les champs reviennent.
Nouveaux guides, dès leur publication

Un guide pratique Magento 2 par e-mail, uniquement quand nous en publions un. Rien d'autre.

Les articles sont en anglais. Un clic pour vous désinscrire, dans chaque e-mail. · privacy