El plugin de Magento para la facturación electrónica italiana
Número de IVA italiano (Partita IVA), código destinatario SDI, correo PEC certificado y código fiscal italiano (Codice Fiscale) — en la libreta de direcciones y en el checkout, con validaciones correctas y sincronización automática en el pedido. Gestiona tanto clientes empresa (número de IVA, SDI/PEC) como particulares (código fiscal), en un único módulo.
✓ Licencia activa inmediatamente después del pago, recibida por correo electrónico
✓ Instalación inmediata mediante Composer
✓ Primer cambio de dominio incluido e inmediato (útil para staging → producción)
✓ Garantía de devolución de dinero: 30 días
Magento 2.4.x (probado en 2.4.9) · PHP 8.1 - 8.5 (probado en PHP 8.5) · Tema Luma por defecto, o tema Hyvä (opcional — si está presente se usa una interfaz de libreta de direcciones optimizada, probada especialmente en este tema)
auth.json en la raíz del proyecto Magento: { "http-basic": { "repo.codingrow.com": { "username": "tu-usuario", "password": "tu-contraseña" } } }composer.json del proyecto: composer config repositories.codingrow composer https://repo.codingrow.comcomposer require codingrow/module-b2bfatturazionebin/magento module:enable Codingrow_B2bFatturazione bin/magento setup:upgrade bin/magento setup:di:compile bin/magento cache:flushbin/magento cache:flush.Los datos recogidos (número de IVA, código destinatario SDI, PEC, código fiscal, Factura Solicitada) son campos estándar de la dirección, por lo que se integran en el sistema de Address Templates de Magento: Admin > Stores > Settings > Configuration > Customers > Customer Configuration > Address Templates. Aquí Magento define 4 formatos — Text, Text One Line, HTML, PDF — usados respectivamente en la libreta de direcciones, pedidos, correos electrónicos y exportaciones, y en los documentos PDF (facturas, albaranes).
Si ya tienes una plantilla personalizada (no la que viene por defecto): no la sobrescribas, añade solo las líneas de abajo a tu plantilla existente, para no perder las personalizaciones ya hechas. Desmarca "Use system value" solo en el formato que quieras modificar.
Ejemplo, formato HTML (usado también en las plantillas de correo, Admin > Marketing > Email Templates, misma sintaxis):
{{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}}IVA: {{var vat_id}}{{/depend}}<br />
{{depend sdi}}SDI: {{var sdi}}{{/depend}}<br />
{{depend pec}}PEC: {{var pec}}{{/depend}}<br />
{{depend codice_fiscale}}Código Fiscal: {{var codice_fiscale}}{{/depend}}<br />
{{depend fattura_richiesta}}Factura Solicitada: Sí{{/depend}}<br />
Ejemplo, formato PDF (misma lógica, el separador de línea es | en lugar de <br />):
Estas son plantillas de ejemplo, pensadas para adaptarse al diseño que prefieras (o fusionarse con la tuya, si ya está personalizada) — no las pegues a ciegas si tienes otros cambios en curso.
bin/magento module:uninstall Codingrow_B2bFatturazione El comando desactiva el módulo, ejecuta composer remove codingrow/module-b2bfatturazione automáticamente y lanza setup:upgrade. Si prefieres hacerlo manualmente, paso a paso: bin/magento module:disable Codingrow_B2bFatturazione composer remove codingrow/module-b2bfatturazione bin/magento setup:upgradeTienes 30 días desde la compra para solicitar el reembolso completo, sin necesidad de justificar el motivo: basta con acceder a tu área privada (codingrow.com/login) y hacer clic en "Solicitar reembolso". El reembolso se procesa de inmediato, automáticamente. Al confirmarse el reembolso, la licencia se desactiva.
Versión actual: v1.3.6 — publicada el 15 de agosto de 2026
El módulo se desarrolló y perfeccionó a través de una beta cerrada a partir de junio de 2026, antes del lanzamiento público.
Ahora acepta la clave de licencia One-for-All por suscripción: una única suscripción Codingrow activa este módulo junto con todos los demás.
Una serie de correcciones de precisión sobre el nuevo soporte GraphQL: los campos ahora también aparecen correctamente en la dirección de envío, en una dirección seleccionada desde la libreta de direcciones del cliente, y al reutilizar la dirección de facturación para el envío. Ahora también se exponen en la propia libreta de direcciones del cliente (no solo en el carrito), corrigiendo un caso en el que podían aparecer vacíos ahí aunque estuvieran guardados correctamente. Por último, los campos B2B ahora se muestran en los resúmenes de dirección del cliente en el admin, donde antes faltaban.
Se añadió soporte completo para GraphQL: los campos B2B (número de IVA, código SDI, PEC, tipo de cliente, factura solicitada, código fiscal) ya están disponibles en las direcciones del carrito a través de GraphQL — necesario para cualquier checkout basado en GraphQL (p. ej. React Checkout de Hyvä).
Pequeños retoques visuales en la página de configuración de Stores > Configuration: se añadió un encabezado con el número de versión del módulo y se eliminó una línea divisoria innecesaria.
Corrección en el tema Luma: en algunas configuraciones la página "Editar dirección" devolvía un error. Corregido y verificado con pruebas end-to-end reales.
Añadido soporte para el tema Luma por defecto (anteriormente el tema Hyvä era obligatorio): el módulo ahora detecta el tema activo y usa la interfaz de libreta de direcciones correcta en ambos casos.
Verificación online de revocación de licencia (con caché de 24h y funcionamiento offline garantizado si el servidor no responde), como apoyo a la garantía de devolución de dinero.
Primera versión pública. Gestión completa del número de IVA (Italia y extranjero UE), código destinatario SDI, PEC y código fiscal, con casilla "Solicitar factura" disponible tanto para particulares como para empresas. Validación de formato y obligatoriedad cruzada, sincronización automática carrito → pedido, compatibilidad con el checkout Hyvä (Luma). Sistema de licencia por dominio.
Corrección: los datos B2B (número de IVA, SDI, PEC, código fiscal) podían perderse al pasar del carrito al pedido y a la libreta de direcciones del cliente. Ampliadas las validaciones también en el lado del servidor, para que sigan siendo válidas incluso cuando una dirección se modifica desde el admin.
Corrección: desde el admin era posible activar "Solicitar factura" para un particular sin código fiscal. Corregida la obligatoriedad cruzada de SDI/PEC, diferenciada entre empresas italianas, empresas extranjeras y particulares.
Corrección: el tipo de cliente (particular/empresa) en el admin era un campo de texto libre en lugar de un menú restringido, lo que podía dar lugar a valores incoherentes.
Inicio de la beta cerrada: gestión básica del número de IVA y el código fiscal en la libreta de direcciones y el checkout.
Antes del lanzamiento público, el módulo se puso a prueba en todas las combinaciones relevantes de tipo de cliente, dirección y facturación. Algunos de los casos abordados y resueltos: