Libreria per la gestione della Fatturazione elettronica per la creazione delle fatture elettroniche italiane, testata e mantenuta.
La libreria nasce originalmente come fork della versione 1.1.12 di deved-it/fattura-elettronica, ma integra molte funzionalità aggiuntive rispetto alla versione originale.
Per ora non è disponibile un pacchetto registrato tramite Composer.
Per installare la libreria deved-it/fattura-elettronica:
composer require deved/fattura-elettronica
use DevCode\FatturaElettronica\Common\DatiAnagrafici;
use DevCode\FatturaElettronica\Common\Sede;
use DevCode\FatturaElettronica\Ordinaria\FatturaElettronicaBody\DatiBeniServizi\DettaglioLinee;
use DevCode\FatturaElettronica\Ordinaria\FatturaElettronicaHeader\CedentePrestatore\DatiAnagrafici as DatiAnagraficiCedente;
use DevCode\FatturaElettronica\Ordinaria\FatturaOrdinaria;
use DevCode\FatturaElettronica\Tabelle\TipoDocumento;
require __DIR__.'/vendor/autoload.php';
$fattura = FatturaOrdinaria::build(
TipoDocumento::Fattura,
'2018-11-22',
'2018221111',
'001'
);
// Anagrafica cedente
$anagraficaCedente = DatiAnagraficiCedente::build(
'12345678901',
'IT',
'12345678901',
'Acme SpA',
);
$sedeCedente = Sede::build(
'Via Roma 10',
null,
'Tarvisio',
'33018',
'UD',
'IT',
);
$cedente = $fattura->getCedentePrestatore();
$cedente->setDatiAnagrafici($anagraficaCedente);
$cedente->setSede($sedeCedente);
// Anagrafica cessionario
$anagraficaCessionario = DatiAnagrafici::build(
'XYZYZX77M04H888K',
null,
null,
'Pinco Palla'
);
$sedeCessionario = Sede::build(
'Via Diaz 35',
null,
'Tarvisio',
'33018',
'UD',
'IT',
);
$cessionario = $fattura->getCessionarioCommittente();
$cessionario->setDatiAnagrafici($anagraficaCessionario);
$cessionario->setSede($sedeCessionario);
$fattura->getDatiGenerali()
->getDatiGeneraliDocumento()
->setImportoTotaleDocumento(122);
$linea = DettaglioLinee::build('Articolo1', 50, 'ABC', 120, 10);
$fattura->getDatiBeniServizi()->addLinea($linea);
// Generazione
$xml = $fattura->__toString();
$filename = $fattura->getFileName();
$errors = $fattura->validate();
<?php
use DevCode\FatturaElettronica\FatturaElettronica;
require __DIR__.'/vendor/autoload.php';
// Lettura
$fattura = FatturaElettronica::parse(__DIR__.'/test.xml');