@@ -108,6 +108,7 @@ export interface FatturaXMLOptions {
108108 buyerCountryCode ?: string ;
109109 buyerIsPA ?: boolean ;
110110 senderCode ?: string ; // IdTrasmittente code
111+ transmissionFormat ?: string ; // defaults to FPA12
111112}
112113
113114export function generateFatturaXML (
@@ -138,6 +139,7 @@ export function generateFatturaXML(
138139 const ibanClean = extractIBAN ( business . bankAccount ) ;
139140
140141 const senderCode = opts . senderCode || "01234567890" ; // default SDI sender code
142+ const transmissionFormat = ( opts . transmissionFormat || "FPA12" ) . toUpperCase ( ) ;
141143
142144 const headerXml = `
143145 <FatturaElettronicaHeader>
@@ -147,7 +149,7 @@ export function generateFatturaXML(
147149 <IdCodice>${ xmlEscape ( senderCode ) } </IdCodice>
148150 </IdTrasmittente>
149151 <ProgressivoInvio>1</ProgressivoInvio>
150- <FormatoTrasmissione>FPA12 </FormatoTrasmissione>
152+ <FormatoTrasmissione>${ xmlEscape ( transmissionFormat ) } </FormatoTrasmissione>
151153 <CodiceDestinatario>${ opts . buyerIsPA ? "999999" : "AUTORIZ" } </CodiceDestinatario>
152154 <ContattiTrasmittente>
153155 ${ business . companyEmail ? `<Email>${ xmlEscape ( business . companyEmail ) } </Email>` : "<Email>[email protected] </Email>" } @@ -248,7 +250,7 @@ export function generateFatturaXML(
248250 </FatturaElettronicaBody>` ;
249251
250252 const xml = `<?xml version="1.0" encoding="UTF-8"?>
251- <p:FatturaElettronica versione="FPA12 " xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
253+ <p:FatturaElettronica versione="${ xmlEscape ( transmissionFormat ) } " xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
252254 ${ headerXml }
253255 ${ datiBody }
254256</p:FatturaElettronica>` ;
0 commit comments