JSON 2 FatturaPa XML
Generazione di una fattura in formato xml compatibile con le specifiche di fatturapa.gov.it
Getting Started
Installing
npm install --save json2fatturapaxml
Usage
const json2fatturapaxml = require('json2fatturapaxml')
const invoice = {
FatturaElettronicaHeader: {
DatiTrasmissione: {
IdTrasmittente: {
IdPaese: 'IT',
IdCodice: '03469550986'
},
ProgressivoInvio: '001',
FormatoTrasmissione: 'FPR12',
CodiceDestinatario: '0000000',
PECDestinatario: 'palmabit@pec.it'
},
CedentePrestatore: {
DatiAnagrafici: {
IdFiscaleIVA: {
IdPaese: 'IT',
IdCodice: '03469550986'
},
Anagrafica: {
Denominazione: 'dfa'
},
RegimeFiscale: 'RF19'
},
Sede: {
Indirizzo: 'Indirizzo',
CAP: '00000',
Comune: 'Comune',
Nazione: 'IT'
}
},
CessionarioCommittente: {
DatiAnagrafici: {
IdFiscaleIVA: {
IdPaese: 'IT',
IdCodice: '03469550986'
},
Anagrafica: {
Denominazione: 'Denominazione'
}
},
Sede: {
Indirizzo: 'Indirizzo',
CAP: '00000',
Comune: 'Comune',
Nazione: 'IT'
}
}
},
FatturaElettronicaBody: {
DatiGenerali: {
DatiGeneraliDocumento: {
TipoDocumento: 'TD01',
Divisa: 'EUR',
Data: '2018-11-19',
Numero: '1'
}
},
DatiBeniServizi: {
DettaglioLinee: {
NumeroLinea: 1,
Descrizione: 'Descrizione',
PrezzoUnitario: '0.00',
PrezzoTotale: '0.00',
AliquotaIVA: '22.00'
},
DatiRiepilogo: {
AliquotaIVA: '22.00',
ImponibileImporto: '0.00',
Imposta: '0.00'
}
}
}
}
const result = json2fatturapaxml(invoice)
if (!result.error) {
console.log('xml', result)
}
Alcuni caratteri speciali possono essere sostituiti o rimossi dall'XML.
Caratteri ammessi
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
0123456789
,;:-_*+!%
\/()=?
Caratteri sostituiti
à -> a'
è -> e'
é -> e'
ì -> i'
ò -> o'
ù -> u'
€ -> Euro
& -> e
[ -> (
] -> )
{ -> (
} -> )
< -> spazio vuoto
> -> spazio vuoto
Tutti gli altri caratteri non ammessi sono rimossi dall'XML.
Options
La funzione json2fatturapaxml
accetta un secondo parametro contenente le opzioni
const options = {
returnXmlWithErrors: false
language: "EN"
}
const { error, xml } = json2fatturapaxml(invoice, options)
Error
Il JSON in ingresso viene validato secondo questo formato fattura.
Running the tests
npm test
Built With
- xml-js - A convertor between XML text and Javascript object / JSON text
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Per aggiungere/modificare le lingue segui questa guida: TRANSLATIONS.md
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
Authors
See also the list of contributors who participated in this project.
License
This project is licensed under the MIT License - see the LICENSE.md file for details