Accedi alle tue licenze
Contatti English →
Il plugin Magento per la fatturazione elettronica italiana

Fatturazione B2B italiana, fatta bene

Partita IVA, Codice Destinatario SDI, PEC e Codice Fiscale — in rubrica e in checkout, con validazioni corrette e sincronizzazione automatica sull'ordine.

€99 pagamento unico · per dominio · aggiornamenti inclusi

✓ Licenza attiva immediatamente dopo il pagamento, ricevuta via email

✓ Installazione immediata tramite Composer

✓ Primo cambio dominio incluso e immediato (comodo per staging → produzione)

✓ Garanzia soddisfatti o rimborsati: 30 giorni

Cosa include

Requisiti

Magento 2.4.x (testato su 2.4.9) · PHP 8.1 - 8.5 (testato su PHP 8.5) · Tema Luma di default, oppure tema Hyvä (facoltativo — se presente viene usata un'interfaccia rubrica ottimizzata, testata in particolare su questo tema)

Installazione

  1. Ricevi le credenziali — dopo l'acquisto ricevi via email, subito, la chiave di licenza e le credenziali di accesso al repository Composer privato.
  2. Configura l'accesso al repository nel file auth.json nella root del progetto Magento:
    {
      "http-basic": {
        "repo.codingrow.com": {
          "username": "il-tuo-username",
          "password": "la-tua-password"
        }
      }
    }
  3. Aggiungi il repository al composer.json del progetto:
    composer config repositories.codingrow composer https://repo.codingrow.com
  4. Installa il modulo:
    composer require codingrow/module-b2bfatturazione
  5. Abilita ed esegui l'aggiornamento:
    bin/magento module:enable Codingrow_B2bFatturazione
    bin/magento setup:upgrade
    bin/magento setup:di:compile
    bin/magento cache:flush
  6. Attiva la licenza in Admin > Store > Configuration > Codingrow > B2bFatturazione, incollando la chiave ricevuta via email nel campo "License Key". Salva ed esegui bin/magento cache:flush.

Personalizzare i campi in indirizzi, email e PDF

I dati raccolti (Partita IVA, Codice Destinatario SDI, PEC, Codice Fiscale, Fattura Richiesta) sono campi standard dell'indirizzo, quindi si integrano nel sistema di Address Templates di Magento: Admin > Stores > Settings > Configuration > Customers > Customer Configuration > Address Templates. Qui Magento definisce 4 formati — Text, Text One Line, HTML, PDF — usati rispettivamente in rubrica, ordini, email ed export, e nei documenti PDF (fatture, DDT).

Se hai già un template personalizzato (non quello di default): non sovrascriverlo, aggiungi solo le righe qui sotto al tuo template esistente, per non perdere le personalizzazioni già fatte. Deseleziona "Use system value" solo sul formato che vuoi modificare.

Esempio, formato HTML (usato anche nei modelli email, Admin > Marketing > Modelli di email, stessa sintassi):

{{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}}P.IVA: {{var vat_id}}{{/depend}}<br />
{{depend sdi}}SDI: {{var sdi}}{{/depend}}<br />
{{depend pec}}PEC: {{var pec}}{{/depend}}<br />
{{depend codice_fiscale}}Codice Fiscale: {{var codice_fiscale}}{{/depend}}<br />
{{depend fattura_richiesta}}Fattura Richiesta: Si{{/depend}}<br />

Esempio, formato PDF (stessa logica, il separatore di riga è | invece di <br />):

{{depend prefix}}{{var prefix}} {{/depend}}{{var firstname}} {{depend middlename}}{{var middlename}} {{/depend}}{{var lastname}}{{depend suffix}} {{var suffix}}{{/depend}}|
{{depend company}}{{var company}}|{{/depend}}
{{if street1}}{{var street1}}|{{/if}}
{{depend street2}}{{var street2}}|{{/depend}}
{{depend street3}}{{var street3}}|{{/depend}}
{{depend street4}}{{var street4}}|{{/depend}}
{{if city}}{{var city}}, {{/if}}{{if region}}{{var region}}, {{/if}}{{if postcode}}{{var postcode}}{{/if}}|
{{var country}}|
{{depend telephone}}T: {{var telephone}}|{{/depend}}
{{depend fax}}F: {{var fax}}|{{/depend}}|
{{depend vat_id}}P.IVA: {{var vat_id}} | {{/depend}}
{{depend sdi}}SDI: {{var sdi}} | {{/depend}}
{{depend pec}}PEC: {{var pec}} | {{/depend}}
{{depend codice_fiscale}}Codice Fiscale: {{var codice_fiscale}} | {{/depend}}
{{depend fattura_richiesta}}Fattura Richiesta: Si | {{/depend}}

Questi sono template di esempio, da adattare al layout che preferisci (o da fondere col tuo, se già personalizzato) — non vanno incollati alla cieca se hai altre modifiche in corso.

Disinstallazione

  1. Disabilita, disinstalla e rimuovi dal composer.json:
    bin/magento module:uninstall Codingrow_B2bFatturazione
    Il comando disabilita il modulo, esegue composer remove codingrow/module-b2bfatturazione automaticamente e lancia setup:upgrade. Se preferisci farlo a mano, passo per passo:
    bin/magento module:disable Codingrow_B2bFatturazione
    composer remove codingrow/module-b2bfatturazione
    bin/magento setup:upgrade
  2. Nota sui dati: i campi salvati (Partita IVA, SDI, PEC, Codice Fiscale, Tipo Account) restano nel database di rubrica e ordini anche dopo la disinstallazione — non vengono cancellati automaticamente, per non perdere dati storici. Se vuoi rimuoverli del tutto serve un intervento manuale sul database.

Garanzia soddisfatti o rimborsati

Hai 30 giorni di tempo dall'acquisto per richiedere il rimborso completo, senza dover spiegare il motivo: basta accedere alla tua area riservata (codingrow.com/login) e cliccare su "Richiedi rimborso". Il rimborso viene elaborato subito, in automatico. Alla conferma del rimborso la licenza viene disattivata.

Cronologia aggiornamenti

Versione attuale: v1.2.1 — rilasciata il 6 luglio 2026

Il modulo è stato sviluppato e affinato attraverso una beta chiusa a partire da giugno 2026, prima del rilascio pubblico.

v1.2.16 luglio 2026

Fix su tema Luma: in alcune configurazioni la pagina "Modifica indirizzo" restituiva un errore. Corretto e verificato con test end-to-end reali.

v1.2.06 luglio 2026

Aggiunto il supporto al tema Luma di default (in precedenza il tema Hyvä era obbligatorio): il modulo ora rileva il tema attivo e usa l'interfaccia rubrica indirizzi corretta in entrambi i casi.

v1.1.06 luglio 2026

Verifica online di revoca della licenza (con cache 24h e funzionamento offline garantito in caso di mancata risposta del server), a supporto della garanzia soddisfatti o rimborsati.

v1.0.06 luglio 2026

Prima release pubblica. Gestione completa di Partita IVA (Italia ed estero UE), Codice Destinatario SDI, PEC e Codice Fiscale, con checkbox "Richiedi Fattura" disponibile sia per privati che per aziende. Validazione di formato e obbligatorietà incrociata, sincronizzazione automatica carrello → ordine, compatibilità con il checkout Hyvä (Luma). Sistema di licenza per dominio.

v0.4.0-beta29 giugno 2026

Fix: i dati B2B (Partita IVA, SDI, PEC, Codice Fiscale) potevano perdersi nel passaggio da carrello a ordine e rubrica cliente. Estese le validazioni anche lato server, per restare valide pure quando un indirizzo viene modificato da admin.

v0.3.0-beta22 giugno 2026

Fix: da admin era possibile attivare "Richiedi Fattura" per un privato senza Codice Fiscale. Corretta l'obbligatorietà incrociata di SDI/PEC, differenziata tra aziende italiane, aziende estere e privati.

v0.2.0-beta15 giugno 2026

Fix: il tipo cliente (privato/azienda) in admin era un campo di testo libero invece di un menu vincolato, con conseguente possibilità di valori incoerenti.

v0.1.0-beta8 giugno 2026

Avvio della beta chiusa: gestione base di Partita IVA e Codice Fiscale in rubrica e checkout.

Test e affidabilità

Prima del rilascio pubblico, il modulo è stato messo alla prova su tutte le combinazioni rilevanti di tipo cliente, indirizzo e fatturazione. Alcuni dei casi affrontati e risolti: