OpenPeppolAISBL, Post-Award Coordinating Community
La specifica Peppol per l’interoperabilità nel Business, d’ora in poi “BIS”, è stata sviluppata da OpenPeppolAISBL Post Award Coordinating Community ed è pubblicata come parte delle specifiche PEPPOL.
1. Introduzione a openPeppol e alla BIS
Questa Business Interoperability Specification (BIS) fornisce un insieme di specifiche per l’implementanzione della fatturazione elettronica e pubblicato come parte delle specifiche Peppol.
In questo documento le regole d’uso ed i paragrafi applicabili specificatamente al contesto italiano sono evidenziate in giallo, con chiara distinzione:
-
delle CIUS da applicare alle fatture dall’estero, ovvero cross-border (CIUS);
-
delle CIUS da applicare alle fatture domestiche (CIUS domestica);
-
delle Estensioni da applicare alle fatture domestiche (estensione).
Ai sensi del Decreto MEF del 21.06.2021 per la fatturazione elettronica da e verso San Marino valgono le regole del mercato domestico.
Le regole d’uso ed i paragrafi applicabili specificatamente alla fatturazione domestica verso i privati sono invece evidenziate in verde.
Per ulteriori dettagli vedi anche i paragrafi 12.2 e Appendix A.
L’obiettivo di questo documento è facilitare un’efficiente implementazione e diffusione delle transazioni elettroniche per il processo di fatturazione.
1.1. Struttura del documento
Questo documento è strutturato come segue:
-
Capitolo 1 - 5: informazioni generali sui processi di business, i requisiti e le funzionalità
-
Capitolo 6: semantica dei tipi di dato
-
Capitoli 7 - 9: imposta sul valore aggiunto (IVA), calcoli e arrotondamenti
-
Capitoli 10: descrizione di parti selezionate della fattura
-
Capitolo 11: dettagli e link alle codifiche utilizzate
-
Capitolo 12: informazioni sugli identificatori PEPPOL
-
Capitolo 13: schemi UBL e spazi dei nomi
-
Capitolo 14 e 15: regole di business e validazione per la fattura e nota di credito
-
Allegati: restrizioni secondo la EN 16931 e l’uso della sintassi Cross Industry Invoice (CII) e le regole nazionali e sintattiche.
1.2. Ambito
Questo documento fornisce le linee guida per il supporto e l’implementazione delle transazioni relative a fatture e note di credito.
Sono supportati specificatamente i seguenti scenari di business:
-
B2G – Business to Government
-
G2G – Government to Government
-
B2B – Business to Business
-
B2C – Business to Consumer
-
G2B – Government to Business
-
G2C – Government to Consumer
1.3. A chi si rivolge
Questo documento si rivolge alle organizzazioni che intendono utilizzare Peppol per scambiare fatture e note di credito elettroniche e/o ai loro fornitori ICT. Queste organizzazioni potrebbero essere:
-
Fornitori di Servizi ICT (SP)
-
Autorità appaltanti (CA)
-
Operatori Economici (EO)
-
Sviluppatori Software
Più specificatamente, i ruoli affrontati sono i seguenti:
-
Architetti ICT
-
Sviluppatori ICT
-
Esperti di Business
Per ulteriori informazioni su Peppol/OpenPeppol, leggere Peppol BIS common text and introduction
2. Benefici
La fattura e la nota di credito forniscono un supporto semplice per le casistiche di fatturazione complessa, laddove è necessaria la nota di credito in aggiunta alla fattura. Altri potenziali benefici sono:
-
può essere resa obbligatoria per iniziative di fatturazione elettronica nazionale o regionale;
-
le stazioni appaltanti possono usarla come base per gestire l’intero processo di fatturazione in formato elettronico. La flessibilità delle specifiche permette agli acquirenti di automatizzare gradualmente l’elaborazione delle fatture, mediante diversi set di identificatori o riferimenti, e basandosi su un approccio costi/benefici;
-
le PMI possono offrire ai loro partner commerciali l’opzione di scambiare documenti standardizzati in un modo uniforme e quindi gestire tutte le fatture/n.c. in formato elettronico;
-
le grandi aziende possono implementare queste transazioni come documenti standardizzati per l’operatività generale e implementare transazioni bilaterali customizzate verso partner commerciali più grandi;
-
supportare i clienti che hanno necessità di interazioni più complesse;
-
può essere utilizzato come base per reingegnerizzare i processi interni di fatturazione;
-
la stazione appaltante può realizzare un notevole risparmio automatizzando e razionalizzando i suoi processi interni. La contabilità può essere automatizzata in modo significativo, il ciclo di approvazione può essere semplificato e razionalizzato, i pagamenti possono essere accelerati.
3. Parti e ruoli
Il diagramma riportato di seguito mostra i ruoli coinvolti nelle transazioni di fatture e note di credito. Il cliente e il destinatario della fattura sono la stessa entità, come pure il fornitore e il mittente della fattura.
3.1. Parti
- Cliente
-
Il Cliente è la persona fisica, la persona giuridica o l’organizzazione che richiede beni e/o servizi. Esempi di ruoli per il Cliente: Debitore.
- Fornitore
-
Il Fornitore è la persona fisica, la persona giuridica o l’organizzazione che fornisce beni e/o servizi. Esempi di ruoli per il Fornitore: Creditore, Beneficiario del pagamento.
- Beneficiario del pagamento
-
Il Beneficiario del pagamento (o Beneficiario) è la persona fisica, la persona giuridica o l’organizzazione che ha diritto a ricevere il pagamento (es. società di factoring).
- Rappresentante Fiscale
-
Il Rappresentante Fiscale è la persona fisica, la persona giuridica o l’organizzazione responsabile per la gestione corretta e la regolarizzazione dell’IVA per conto delle aziende, in linea con le normative locali.
In alcuni scenari di business, le aziende che commerciano oltre confine sono tenute secondo le autorità fiscali locali a nominare un Rappresentante Fiscale. Sono comprese le aziende extra-EU che operano in Europa, gli importatori in EU e i fornitori. - Soggetto Emittente
-
Il Soggetto Emittente è la persona fisica, la persona giuridica o l’organizzazione che emette una fattura per conto del Fornitore.
- Vettore
-
Il Vettore è la persona giuridica o l’organizzazione che gestisce la consegna/trasporto fisico della spedizione. Utilizzato se il trasporto è effettuato da una terza parte.
3.2. Ruoli
- Creditore
-
Il Creditore è colui al quale è dovuto il credito per le operazioni fatturate. Solitamente coincide con il Fornitore (ovvero il Cedente/Prestatore) e con chi emette la fattura.
- Debitore
-
Il Debitore è colui che è titolare del debito per le operazioni fatturate. Coincide con il Cliente (ovvero il Cessionario/Committente).
4. Processi di Business
4.1. Processo generale di fatturazione
Il processo di fatturazione include l’emissione e l’invio della fattura e della nota di credito dal fornitore al cliente e la ricezione e gestione delle stesse da parte del cliente.
Il processo di fatturazione è mostrato nel seguente flusso:
-
Un fornitore emette e invia una fattura ad un cliente. La fattura fa riferimento ad un ordine con specifici beni e/o servizi consegnati.
Una fattura può anche fare riferimento ad un contratto o un accordo quadro. La fattura può specificare articoli (beni e/o servizi) con il codice e la descrizione dell’articolo.
-
Il cliente riceve la fattura e la elabora nel sistema di controllo delle fatture arrivando ad uno dei seguenti risultati:
-
Il cliente approva completamente la fattura, la registra nel sistema contabile e la mette in pagamento.
-
Il cliente rifiuta completamente la fattura, contatta il fornitore e richiede una nota di credito a storno totale.
-
Il cliente contesta parti della fattura, contatta il fornitore e richiede una nota di credito e una nuova fattura.
-
Il diagramma seguente mostra il processo di base della fatturazione con l’utilizzo del profilo BIS PEPPOL. Questo processo presuppone che sia la fattura che la nota di credito vengano scambiate elettronicamente.
Questo profilo riguarda i seguenti processi di fatturazione:
P1 |
Fatturazione della consegna di beni e servizi a fronte di ordini di acquisto, in base ad un contratto |
P2 |
Fatturazione della consegna di beni e servizi in base ad un contratto |
P3 |
Fatturazione della consegna di un ordine di acquisto senza contratto |
P4 |
Pre pagamento |
P5 |
Pagamento immediato di un ordine senza contratto |
P6 |
Pagamento anticipato rispetto alla consegna |
P7 |
Fatture con riferimento ad un documento di trasporto |
P8 |
Fatture con riferimenti ad un documento di trasporto e ad un avviso di ricezione merce |
P9 |
Note di credito o fatture con importi negativi, emesse per particolari casistiche, tra cui la restituzione di imballaggi vuoti |
5. Funzionalità della fattura
Una fattura può supportare funzioni relative a più processi di business (interni) correlati. Questa BIS Peppol supporta le seguenti funzioni:
-
Contabilità
-
Verifica della fattura in base al contratto, l’ordine di acquisto ed i beni e servizi consegnati
-
Resoconto IVA
-
Revisione Contabile
-
Pagamento
In aggiunta alle funzioni core sono disponibili specifiche funzionalità domestiche necessarie alle imprese individuali e professionisti, tra cui le principali sono:
-
Ritenuta d’acconto
-
Rivalsa Cassa previdenziale
-
Marca da Bollo
-
Scissione dei pagamenti (Split payment)
Nei seguenti capitoli viene effettuata una valutazione di quali sono le informazioni necessarie per ciascuna delle funzioni sopra elencate e se queste rientrano nell’ambito o meno di questa Peppol BIS.
Per ulteriori dettagli, si consiglia di consultare anche i Requisiti di business di fatture e note di credito.
Il supporto esplicito alle seguenti funzioni è fuori dal campo di applicazione di questa Peppol BIS:
-
Gestione inventario;
-
Processi di consegna;
-
Sdoganamento;
-
Marketing;
-
Reportistica.
5.1. Contabilità
Registrare una fattura in contabilità è uno dei principali obiettivi della fatturazione. Secondo una buona prassi in materia di contabilità finanziaria e regole IVA, ogni soggetto deve avere una contabilità sufficientemente dettagliata per l’applicazione dell’IVA e la sua applicazione deve essere controllata dalle autorità fiscali. Per questo motivo, una fattura deve fornire quelle informazioni sia di testata sia a livello di riga che consentano di effettuare registrazioni contabili di debito e di credito.
Per i requisiti dettagliati al supporto della funzione di contabilità, si consiglia di consultare i Accounting requirements
5.2. Verifica delle fatture (riconciliazione)
Questo processo rientra nei controlli interni effettuati dal Committente.
Il supporto per la riconciliazione delle fatture è una delle funzioni chiave. Una fattura dovrebbe fornire le informazioni sufficienti per essere riconciliata con la documentazione elettronica o cartacea esistente e quindi, a seconda dei casi, con i seguenti riferimenti:
-
Ordine
-
Contratto
-
Bando di gara
-
Riferimento della parte acquirente
-
Documento di trasporto
-
Informazioni di consegna
Una fattura dovrebbe anche fornire le informazioni sufficienti che ne permettano l’inoltro ad una persona responsabile o ad un dipartimento per la verifica ed approvazione.
Per i requisiti di dettaglio per il supporto della riconciliazione delle fatture, si consiglia di consultare i Invoice verification requirements
5.3. Revisione Contabile
Le società revisionano se stesse come mezzo di controllo interno o possono essere revisionate da parti esterne come parte di un obbligo legale. La contabilità è un processo regolare e continuo mentre una revisione è un processo di controllo distinto per garantire che la contabilità sia stata tenuta correttamente. Il processo di revisione richiede determinati requisiti informativi di una fattura. Questi requisiti sono principalmente correlati alla verifica dell’autenticità e dell’integrità della transazione contabile.
Le fatture conformi a questa specifica Peppol BIS supportano il processo di revisione contabile fornendo informazioni sufficienti per
-
Identificazione delle parti interessate (acquirente e venditore).
-
Identificazione dei beni e/o servizi commercializzati, inclusa la loro descrizione, valore e quantità.
-
Informazioni per correlare la fattura ai suoi pagamenti.
-
Informazioni per correlare la fattura ai documenti rilevanti come i contratti e gli ordini d’acquisto.
Per i requisiti dettagliati a supporto della revisione contabile, si consiglia di consultare i Auditing requirements
5.4. Dati IVA
La fattura viene utilizzata per trasmettere le informazioni relative all’IVA e per consentire all’acquirente ed al venditore di gestire correttamente la registrazione e la dichiarazione IVA. Una fattura dovrebbe contenere le informazioni sufficienti per consentire all’acquirente ed ai revisori di determinare se la fattura è corretta dal punto di vista fiscale.
La fattura supporta la determinazione del regime IVA, il calcolo e le dichiarazioni relative, in conformità con la Directive 2006/112/EC e le successive modifiche. Inoltre fornisce gli elementi necessari per i requisiti IVA nazionali.
Per i requisiti di dettaglio si consiglia di consultare i VAT reporting requirements
5.5. Pagamento
Una fattura rappresenta una richiesta di pagamento. L’emissione di una fattura può avvenire prima o dopo il pagamento. Quando una fattura viene emessa prima del pagamento rappresenta una richiesta di pagamento all’acquirente e contiene informazioni che consentono all’acquirente di avviare correttamente la fase di pagamento, a meno che tale informazione non sia già concordata in contratti precedenti o mediante istruzioni di pagamento presentate separatamente all’acquirente.
Se una fattura viene emessa dopo il pagamento, ad esempio quando la procedura d’ordine include istruzioni di pagamento o in caso di pagamento con carta di credito, acquisti online o telefonici, la fattura può contenere informazioni sul pagamento effettuato al fine di facilitare la riconciliazione col pagamento da parte dell’acquirente. Una fattura può essere parzialmente pagata prima dell’emissione, ad esempio quando viene effettuato un pagamento anticipato per confermare un ordine.
La fattura conforme a questa specifica indica i metodi di pagamento e indica l’importo da pagare. Questa dovrebbe fornire i dettagli necessari per supportare i bonifici bancari in conformità con SEPA (Single Euro Payment Area) per i pagamenti in Euro e le pratiche di pagamento nazionali pertinenti per le altre valute. I pagamenti tramite bonifico, addebito diretto e carta di pagamento rientrano nell’ambito.
Per i requisiti dettagliati a supporto del pagamento, si consiglia di consultare i Payment requirements
5.6. Fatture negative e note di credito
In linea con i requisiti della norma EN 16931, questa BIS supporta gli importi totali negativi così da consentire di estendere lo spettro dei processi di fatturazione supportati.
L’introduzione della possibilità di gestire le fatture negative ha l’obiettivo di estendere lo spettro dei processi di fatturazione supportati.
Esempi di tali processi sono
-
Fattura di consumo preliminare (stimata) bilanciata in una fattura successiva basata sulla lettura dei contatori
-
Il pagamento anticipato (con o senza IVA) viene regolato tramite una fattura finale
-
Alcune comunità di utenti preferiscono utilizzare la fattura negativa piuttosto che la nota di credito quando correggono le transazioni
Gli acquirenti che desiderano semplificare la riconciliazione automatica delle fatture elettroniche con gli ordini, potrebbero voler limitare le situazioni in cui è possibile accettare fatture negative comunicando questo requisito all’inizio del processo di acquisto. |
La decisione ha le seguenti implicazioni sul formato della transazione:
-
La fattura (adesso con "capacità di fatturazione negativa") può funzionare come alternativa alla nota di credito. I sistemi gestionali di generazione delle fatture possono implementare entrambe le opzioni, mentre i sistemi di ricezione delle fatture devono supportare entrambi.
-
Il formato della transazione per la nota di credito deve essere progettato per accogliere anche il totale complessivo negativo; questo perché un’intera fattura negativa potrebbe dover essere bilanciata mediante una nota di credito.
Si richiama l’attenzione sulle differenze intrinseche tra nota di credito e fattura negativa quando si tratta di trasmettere informazioni di accredito.
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<!-- Code omitted for clarity -->
<cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:AllowanceChargeReason>Insurance</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="EUR">25</cbc:Amount>(1)
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>25.0</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:AllowanceCharge>
<!-- Code omitted for clarity -->
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="EUR">1300</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="EUR">1325</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="EUR">1656.25</cbc:TaxInclusiveAmount>
<cbc:ChargeTotalAmount currencyID="EUR">25</cbc:ChargeTotalAmount>
<cbc:PayableAmount currencyID="EUR">1656.25</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>(2)
<cbc:InvoicedQuantity unitCode="DAY">7.00</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID= "EUR">2800</cbc:LineExtensionAmount>
<!-- Code omitted for clarity -->
<cac:Price>
<cbc:PriceAmount currencyID="EUR">400.00</cbc:PriceAmount>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">0.00</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">400.00</cbc:BaseAmount>
</cac:AllowanceCharge>
</cac:Price>
<cac:InvoiceLine>
<cbc:ID>2</cbc:ID>(3)
<cbc:InvoicedQuantity unitCode="DAY">-3.00</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">-1500</cbc:LineExtensionAmount>
<!-- Code omitted for clarity -->
<cac:Price>
<cbc:PriceAmount currencyID="EUR">500.00</cbc:PriceAmount>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">0.00</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">500.00</cbc:BaseAmount>
</cac:AllowanceCharge>
</cac:Price>
1 | Importo della maggiorazione |
2 | Riga 1 della fattura con quantità positiva e importo di riga positivo |
3 | Riga 2 della fattura con quantità negativa e importo di riga negativo |
5.6.1. Accredito tramite nota di credito
La funzione di accredito o addebito è controllata semplicemente dal tipo di documento commerciale (e.g. 380 o 381) mentre la rappresentazione dell’importo, incluso il suo segno, non è influenzata.
<cbc:CreditNoteTypeCode>381</cbc:CreditNoteTypeCode>(1)
<!-- Code omitted for clarity -->
<cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:AllowanceChargeReason>Insurance</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="EUR">25</cbc:Amount>(2)
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>25.0</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:AllowanceCharge>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="EUR">1300</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="EUR">1325</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="EUR">1656.25</cbc:TaxInclusiveAmount>
<cbc:ChargeTotalAmount currencyID="EUR">25</cbc:ChargeTotalAmount>
<cbc:PayableAmount currencyID="EUR">1656.25</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:CreditNoteLine>
<cbc:ID>1</cbc:ID>(3)
<cbc:CreditedQuantity unitCode="DAY">7</cbc:CreditedQuantity>
<cbc:LineExtensionAmount currencyID= "EUR">2800</cbc:LineExtensionAmount>
<!-- Code omitted for clarity -->
<cac:Price>
<cbc:PriceAmount currencyID="EUR">400.00</cbc:PriceAmount>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">0.00</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">400.00</cbc:BaseAmount>
</cac:AllowanceCharge>
</cac:Price>
<cac:CreditNoteLine>
<cbc:ID>2</cbc:ID>(4)
<cbc:CreditedQuantity unitCode="DAY">-3</cbc:CreditedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">-1500</cbc:LineExtensionAmount>
<!-- Code omitted for clarity -->
<cac:Price>
<cbc:PriceAmount currencyID="EUR">500.00</cbc:PriceAmount>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">0.00</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">500.00</cbc:BaseAmount>
</cac:AllowanceCharge>
</cac:Price>
1 | Codice 381 indica una nota di credito |
2 | Importo della maggiorazione |
3 | Riga 1 della fattura con quantità positiva e importo di riga positivo |
4 | Riga 2 della fattura con quantità negativa e importo di riga negativo |
5.6.2. Accredito tramite fattura negativa
La funzione di accredito o addebito è controllata semplicemente dal segno (cioè segno più o segno meno) dell’importo in questione, mentre il tipo di documento commerciale (ad esempio 380) non ha alcuna rilevanza sull’operazione ("accreditare") stessa.
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode> (1)
<!-- Code omitted for clarity -->
<cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:AllowanceChargeReason>Insurance</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="EUR">-25</cbc:Amount>(2)
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>25.0</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:AllowanceCharge>
<!-- Code omitted for clarity -->
<cac:LegalMonetaryTotal> (3)
<cbc:LineExtensionAmount currencyID="EUR">-1300</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="EUR">-1325</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="EUR">-1656.25</cbc:TaxInclusiveAmount>
<cbc:ChargeTotalAmount currencyID="EUR">-25</cbc:ChargeTotalAmount>
<cbc:PayableAmount currencyID="EUR">-1656.25</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID> (4)
<cbc:InvoicedQuantity unitCode="DAY">-7.00</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">-2800</cbc:LineExtensionAmount>
<!-- Code omitted for clarity -->
<cac:Price>
<cbc:PriceAmount currencyID="EUR">400.00</cbc:PriceAmount>(5)
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">0.00</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">400.00</cbc:BaseAmount>
</cac:AllowanceCharge>
</cac:Price>
<cac:InvoiceLine>
<cbc:ID>2</cbc:ID>(6)
<cbc:InvoicedQuantity unitCode="DAY">3</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">1500</cbc:LineExtensionAmount>
<!-- Code omitted for clarity -->
<cac:Price>
<cbc:PriceAmount currencyID="EUR">500.00</cbc:PriceAmount>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">0.00</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">500.00</cbc:BaseAmount>
</cac:AllowanceCharge>
</cac:Price>
1 | Codice 380 indica una fattura |
2 | L’importo della maggiorazione è negativa per correggere la fattura originale |
3 | Tutti gli importi a livello di documento sono negativi |
4 | Fattura linea 1 con quantità originariamente positiva e importo di riga entrambi negativi |
5 | L’importo del prezzo deve essere sempre positivo e non modificato |
6 | Fattura linea 2 con quantità originariamente negativa e importo di riga positiva |
5.7. Ritenuta d’acconto (estensione)
La sezione ritenuta d’acconto serve ad evidenziare:
-
una trattenuta Irpef (per i redditi delle persone fisiche) o Ires (per le persone giuridiche: società) che viene effettuata sul totale imponibile della fattura inviata al Cliente da parte del Fornitore, che agisce come sostituto d’imposta;
-
una trattenuta previdenziale che viene effettuata sul totale imponibile della fattura inviata al Cliente da parte del Fornitore che si occuperà del successivo riversamento all’Ente previdenziale di riferimento.
Entrambe le tipologie di ritenuta d’acconto possono essere contenute nella medesima fattura.
Il tipo di ritenuta applicata deve essere indicata in testata al documento in una estensione UBL separata. Se non viene indicato alcun tipo di ritenuta ed è stata specificata almeno una ritenuta, il valore predefinito sarà RT01 per le persone fisiche ed RT02 per quelle giuridiche.
Si raccomanda l’uso di questa estensione UBL per specificare esplicitamente il tipo di ritenuta/e ove applicate.
L’importo complessivo delle ritenute va ricompreso nel valore inserito in cbc:PrepaidAmount. Si evidenzia che il cbc:PrepaidAmount non è supportato in FatturaPA ma viene utilizzato per valorizzare correttamente il dato cbc:PayableAmount (BT-115 Amount due for payment) che è obbligatorio per la EN 16931. |
L’ExtensionURI dovrà contenere il prefisso 'urn:fdc:agid.gov.it:fatturapa:TipoRitenuta' e il numero di occorrenza della ritenuta '::n'.
<ext:UBLExtension>
<ext:ExtensionURI>urn:fdc:agid.gov.it:fatturapa:TipoRitenuta::1</ext:ExtensionURI>
<ext:ExtensionContent>
<cbc:TypeCode>RT01</cbc:TypeCode>
</ext:ExtensionContent>
</ext:UBLExtension>
<ext:UBLExtension>
<ext:ExtensionURI>urn:fdc:agid.gov.it:fatturapa:TipoRitenuta::2</ext:ExtensionURI>
<ext:ExtensionContent>
<cbc:TypeCode>RT04</cbc:TypeCode>
</ext:ExtensionContent>
</ext:UBLExtension>
Nella Fattura è possibile specificare una o più ritenute nell’elemento WithholdingTaxTotal a livello di testata, come nell’esempio riportato.
<!-- Ritenuta ENASARCO su imponibile prestazione -->
<cac:WithholdingTaxTotal>
<cbc:TaxAmount currencyID="EUR">82.50</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">1000.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">82.50</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>8.25</cbc:Percent><!-- 50% dell'aliquota 16.50% -->
<cac:TaxScheme>
<cbc:ID>SWT</cbc:ID>
<cbc:TaxTypeCode>R</cbc:TaxTypeCode><!-- provvigioni corrisposte ad agente o rappresentante di commercio plurimandatario -->
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:WithholdingTaxTotal>
Nella Fattura è possibile specificare che una riga sia soggetta a ritenuta, come nell’esempio riportato.
<cac:InvoiceLine>
<!-- ... -->
<cac:Item>
<!-- ... -->
<cac:AdditionalItemProperty>
<cbc:Name>RITENUTA</cbc:Name>
<cbc:Value>SI</cbc:Value>
</cac:AdditionalItemProperty>
</cac:Item>
<!-- ... -->
</cac:InvoiceLine>
Nella Nota di Credito UBL 2.1 non è presente l’elemento WithholdingTaxTotal per indicare le ritenute applicate, ma è possibile includerlo come estensione UBL in testata al documento, come nell’esempio riportato.
<ext:UBLExtension>
<ext:ExtensionURI>urn:fdc:agid.gov.it:fatturapa:Ritenuta</ext:ExtensionURI>
<ext:ExtensionContent>
<cac:WithholdingTaxTotal>
<cbc:TaxAmount currencyID="EUR">486.25</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxAmount currencyID="EUR">486.25</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>25</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>SWT</cbc:ID>
<cbc:TaxTypeCode>A</cbc:TaxTypeCode>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
<cac:TaxSubtotal>
<cbc:TaxAmount currencyID="EUR">200.25</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>4</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>SWT</cbc:ID>
<cbc:TaxTypeCode>B</cbc:TaxTypeCode>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:WithholdingTaxTotal>
</ext:ExtensionContent>
</ext:UBLExtension>
5.8. Rivalsa Cassa previdenziale (CIUS domestica)
La Cassa previdenziale viene trattata come maggiorazione a livello di documento utilizzando il cac:AllowanceCharge (BG-21 Document level charge).
La base imponibile del contributo viene inserita nel cbc:BaseAmount (BT-100 Document level charghe base amount).
L’aliquota nel cbc:MultiplierFactorNumeric (BT-101 Document level charge percentage), l’importo del contributo nel cbc:Amount (BT-99 Document level charge amount).
Le informazioni tipo cassa (FPA 2.1.1.7.1), ritenuta (FPA 2.1.1.7.6) e natura (FPA 2.1.1.7.7) vengono concatenate con il simbolo "#" nel cbc:AllowanceChargeReason (BT-104 Document level charge reason).
Il cbc:AllowanceChargeReasonCode (BT-105 Document level charge reason code) viene valorizzato con "ZZZ".
Le informazioni sull’IVA vengono compilate secondo la necessità.
L’esempio si riferisce ad una prestazione di 1.000 euro soggetta IVA ordinaria con aliquota del contributo pari al 4%.
<cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:AllowanceChargeReasonCode>ZZZ</cbc:AllowanceChargeReasonCode>
<cbc:AllowanceChargeReason>TC02#SI#</cbc:AllowanceChargeReason>
<cbc:MultiplierFactorNumeric>4</cbc:MultiplierFactorNumeric>
<cbc:Amount currencyID="EUR">40.00</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">1000.00</cbc:BaseAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>22</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:AllowanceCharge>
L’esempio si si riferisce ad una prestazione di 1.000 euro non soggetta ad IVA con aliquota del contributo pari al 4%.
<cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:AllowanceChargeReasonCode>ZZZ</cbc:AllowanceChargeReasonCode>
<cbc:AllowanceChargeReason>TC04#SI#N2.2</cbc:AllowanceChargeReason>
<cbc:MultiplierFactorNumeric>4</cbc:MultiplierFactorNumeric>
<cbc:Amount currencyID="EUR">40.00</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">1000.00</cbc:BaseAmount>
<cac:TaxCategory>
<cbc:ID>E</cbc:ID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:AllowanceCharge>
5.9. Imposta di Bollo (CIUS domestica)
L’indicazione del bollo virtuale è operata sia in fattura che su nota di credito come maggiorazione a livello di testata del documento a mezzo dell’utilizzo della struttura cac:AllowanceCharge (BG-21 Document level charge) indicando:
-
l’elemento cbc:ChargeIndicator pari a “true”;
-
l’elemento cbc:AllowanceChargeReasonCode (BT-105 Document level charge reason code) pari a “SAE”;
-
l’elemento cbc:AllowanceChargeReason (BT-104 Document level charge reason) con la stringa “BOLLO”;
-
l’elemento cbc:Amount (BT-99 Document level charge amount) con il valore 0;
-
l’elemento cac:TaxCategory/cbc:ID (BT-95 Document level charge VAT category code) posto a Z (zero).
Qualora non si intenda effettuare la rivalsa del bollo non è richiesto l’inserimento di una specifica riga ad essa riferita.
<ubl:Invoice>
...
<cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:AllowanceChargeReasonCode>SAE</cbc:AllowanceChargeReasonCode>
<cbc:AllowanceChargeReason>BOLLO</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="EUR">0.00</cbc:Amount>
<cac:TaxCategory>
<cbc:ID>Z</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:AllowanceCharge>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">0</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>E</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cbc:TaxExemptionReasonCode>vatex-eu-132</cbc:TaxExemptionReasonCode>
<cbc:TaxExemptionReason>N4</cbc:TaxExemptionReason>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">0.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>Z</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="EUR">100.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="EUR">100.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="EUR">100.00</cbc:TaxInclusiveAmount>
<cbc:ChargeTotalAmount currencyID="EUR">0.00</cbc:ChargeTotalAmount>
<cbc:PayableAmount currencyID="EUR">100.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
5.9.1. Rivalsa del bollo
Qualora il fornitore voglia effettuare la rivalsa del bollo sul cliente deve inserire una riga recante:
-
l’elemento cac:Item/cbc:Name (BT-153 Item name) valorizzato in modo da esprimere l’applicazione della rivalsa (ad esempio tramite la stringa “Rivalsa del bollo”);
-
gli elementi cac:Price/cbc:PriceAmount (BT-146 Item net price) e cac:AllowanceCharge/cbc:BaseAmount (BT-148 Item gross price) valorizzati a:
-
2.00 in caso di fattura;
-
2.00 in caso di nota di credito, congiuntamente a cbc:CreditedQuantity (BT-129 Invoiced Quantity) valorizzato a “-1.00”.
-
La riga di rivalsa ha la medesima natura della prestazione sulla quale la rivalsa viene applicata.
<ubl:Invoice>
...
<cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:AllowanceChargeReasonCode>SAE</cbc:AllowanceChargeReasonCode>
<cbc:AllowanceChargeReason>BOLLO</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="EUR">0.00</cbc:Amount>
<cac:TaxCategory>
<cbc:ID>Z</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:AllowanceCharge>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">102.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>E</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cbc:TaxExemptionReasonCode>vatex-eu-132<cbc:TaxExemptionReasonCode>
<cbc:TaxExemptionReason>N4<cbc:TaxExemptionReason>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">0.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>Z</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="EUR">102.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="EUR">102.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="EUR">102.00</cbc:TaxInclusiveAmount>
<cbc:ChargeTotalAmount currencyID="EUR">0.00</cbc:ChargeTotalAmount>
<cbc:PayableAmount currencyID="EUR">102.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
[…]
<cac:InvoiceLine>
<cbc:ID>2</cbc:ID>
<cbc:InvoicedQuantity unitCode="C62">1.00</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">2.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>Rivalsa bollo</cbc:Name>
<cac:ClassifiedTaxCategory>
<cbc:ID>E</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
<cac:AdditionalItemProperty>
<cbc:Name>NATURA</cbc:Name>
<cbc:Value>N4</cbc:Value>
</cac:AdditionalItemProperty>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">2.00</cbc:PriceAmount>
<cbc:BaseQuantity unitCode="C62">1.00</cbc:BaseQuantity>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">0.00</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">2.00</cbc:BaseAmount>
</cac:AllowanceCharge>
</cac:Price>
</cac:InvoiceLine>
<ubl:CreditNote>
...
<cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:AllowanceChargeReasonCode>SAE</cbc:AllowanceChargeReasonCode>
<cbc:AllowanceChargeReason>BOLLO</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="EUR">0.00</cbc:Amount>
<cac:TaxCategory>
<cbc:ID>Z</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:AllowanceCharge>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">98.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>E</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cbc:TaxExemptionReasonCode>vatex-eu-132<cbc:TaxExemptionReasonCode>
<cbc:TaxExemptionReason>N4<cbc:TaxExemptionReason>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">0.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>Z</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="EUR">98.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="EUR">98.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="EUR">98.00</cbc:TaxInclusiveAmount>
<cbc:ChargeTotalAmount currencyID="EUR">0.00</cbc:ChargeTotalAmount>
<cbc:PayableAmount currencyID="EUR">98.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
[…]
<cac:CreditNoteLine>
<cbc:ID>2</cbc:ID>
<cbc:CreditedQuantity unitCode="C62">-1.00</cbc:CreditedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">-2.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>Rivalsa bollo</cbc:Name>
<cac:ClassifiedTaxCategory>
<cbc:ID>E</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
<cac:AdditionalItemProperty>
<cbc:Name>NATURA</cbc:Name>
<cbc:Value>N4</cbc:Value>
</cac:AdditionalItemProperty>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">2.00</cbc:PriceAmount>
<cbc:BaseQuantity unitCode="C62">1.00</cbc:BaseQuantity>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">0.00</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">2.00</cbc:BaseAmount>
</cac:AllowanceCharge>
</cac:Price>
</cac:CreditNoteLine>
5.9.2. Restituzione del bollo
Qualora il fornitore, in sede di emissione di una nota di credito, voglia rimborsare il bollo su cui ha effettuato rivalsa in sede di emissione della precedente fattura deve inserire una riga recante:
-
l’elemento cac:Item/cbc:Name (BT-153 Item name) valorizzato in modo da esprimere l’attuazione del rimborso (ad esempio tramite la stringa “Restituzione del bollo applicato si fattura precedente”);
-
gli elementi cac:Price/cbc:PriceAmount (BT-146 Item net price) e cac:AllowanceCharge/cbc:BaseAmount (BT-148 Item gross price) valorizzati a 2.00.
La riga di rimborso ha la medesima natura della prestazione sulla quale la rivalsa era stata applicata.
<ubl:CreditNote>
...
<cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:AllowanceChargeReasonCode>SAE</cbc:AllowanceChargeReasonCode>
<cbc:AllowanceChargeReason>BOLLO</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="EUR">0.00</cbc:Amount>
<cac:TaxCategory>
<cbc:ID>Z</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:AllowanceCharge>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">102.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>E</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cbc:TaxExemptionReasonCode>vatex-eu-132<cbc:TaxExemptionReasonCode>
<cbc:TaxExemptionReason>N4<cbc:TaxExemptionReason>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">0.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>Z</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="EUR">102.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="EUR">102.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="EUR">102.00</cbc:TaxInclusiveAmount>
<cbc:ChargeTotalAmount currencyID="EUR">0.00</cbc:ChargeTotalAmount>
<cbc:PayableAmount currencyID="EUR">102.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
[…]
<cac:CreditNoteLine>
<cbc:ID>2</cbc:ID>
<cbc:CreditedQuantity unitCode="C62">1.00</cbc:CreditedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">2.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>Restituzione bollo applicato su Fattura precedente</cbc:Name>
<cac:ClassifiedTaxCategory>
<cbc:ID>E</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
<cac:AdditionalItemProperty>
<cbc:Name>NATURA</cbc:Name>
<cbc:Value>N4</cbc:Value>
</cac:AdditionalItemProperty>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">2.00</cbc:PriceAmount>
<cbc:BaseQuantity unitCode="C62">1.00</cbc:BaseQuantity>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">0.00</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">2.00</cbc:BaseAmount>
</cac:AllowanceCharge>
</cac:Price>
</cac:CreditNoteLine>
5.10. Scissione dei pagamenti - Split payment (CIUS domestica)
La scissione dei pagamenti o split payment è un regime particolare che stabilisce che il debitore dell’IVA sia il cessionario/committente anziché, come avviene normalmente, il cedente/prestatore.
Per supportare questo particolare caso si valorizza il cac:TaxCategory/cbc:ID (BT-118 VAT Category code) utilizzando il TaxCategory 'B' (Transferred VAT) secondo la codifica UN/ECE 5305.
Il valore dell’IVA split va ricompreso nel valore inserito in cbc:PrepaidAmount. Si evidenzia che il cbc:PrepaidAmount non è supportato in FatturaPA ma viene utilizzato per valorizzare correttamente il dato cbc:PayableAmount (BT-115 Amount due for payment) che è obbligatorio per la EN 16931. |
L’esempio riportato è relativo alla fattura emessa ad una PA soggetta alla scissione pagamento.
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">22.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">22.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>B</cbc:ID>
<cbc:Percent>22</cbc:Percent>
</cac:TaxCategory>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:TaxExclusiveAmount currencyID="EUR">100.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="EUR">122.00</cbc:TaxInclusiveAmount>
<cbc:PrepaidAmount currencyID="EUR">22.00</cbc:PrepaidAmount>
<cbc:PayableAmount currencyID="EUR">100.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
5.11. Indicazione acconto in fattura di saldo
L’indicazione dell’acconto in fattura di saldo è operata attraverso l’inserimento di una specifica riga di fattura di importo negativo. Pertanto, è necessario che l’elemento cbc:InvoicedQuantity (BT-129 Invoiced Quantity) venga valorizzato a “-1.00”.
La riga di acconto ha la medesima natura della prestazione oggetto della fattura di saldo.
<ubl:Invoice>
...
<cac:InvoiceLine>
<cbc:ID>2</cbc:ID>
<cbc:InvoicedQuantity unitCode="C62">-1.00</cbc:InvoicedQuantity >
<cbc:LineExtensionAmount currencyID="EUR">-100.00</cbc:Amount>
<cac:Item>
<cbc:Name>Acconto su prestazione</cbc:ID>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>22</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price >
<cbc:PriceAmount currencyID="EUR">100.00</cbc:PriceAmount>
<cbc:BaseQuantity unitCode="C62">1</cbc:BaseQuantity>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">0.00</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">100.00</cbc:BaseAmount>
</cac:AllowanceCharge>
</cac:Price>
</cac:InvoiceLine>
6. Requisiti di business di fatture e note di credito
La tabella seguente fornisce una panoramica dei requisiti di business elaborati dal CEN TC434 supportati in questa BIS:
- Legenda
-
I requisiti che iniziano con un ID Rnn provengono dalla norma EN16931 (Esempio R19).
Id | Requisiti (se applicabili) |
---|---|
R1 |
informazioni a livello di documento che consentono l’identificazione del Beneficiario (PayeeParty) se differente dal Fornitore (AccountingSupplierParty) |
R2 |
informazioni a livello di documento che consentono la contabilizzazione sia al creditore che al debitore |
R3 |
informazioni a livello di linea che consentono la contabilizzazione al debitore |
R4 |
informazioni specifiche rilevanti per la contabilizzazione per il Cliente (AccountingCustomerParty) |
Id | Requisiti (se applicabili) |
---|---|
R5 |
informazioni per tracciare un unico ordine di acquisto collegato a livello di documento |
R6 |
informazioni per tracciare un unico ordine di acquisto collegato a livello di riga |
R7 |
informazioni per tracciare il riferimento al contratto e il bando di gara a livello di documento |
R8 |
un riferimento fornito dal Cliente a livello di documento |
R9 |
informazioni per tracciare un unico documento di trasporto collegato a livello di documento |
R10 |
informazioni per tracciare un unico avviso di ricevimento a livello di documento |
R11 |
informazioni per tracciare un unica fattura da correggere a livello di documento |
R13 |
informazioni che permettono ad una fattura e ai documenti correlati di essere trasmessi ad una Autorita' Competente, Ente, persona o dipartimento, per verifiche ed approvazioni |
R14 |
informazioni sul prezzo netto e la quantita' sui quali il prezzo e' basato a livello di riga, informazioni addizionali come il prezzo lordo e sconto di prezzo possono essere aggiunte |
R15 |
informazioni descrittive e codificate riguardo sconti e maggiorazioni a livello di documento e riga di fattura |
R16 |
informazioni su addebiti, tasse (non-IVA), dazi e prelievi, con le informazioni IVA, che non sono incluse nell’ammontare delle righe a livello di documento |
R17 |
informazioni su addebiti, tasse (non-IVA), dazi e prelievi che compongono la base imponibile e non sono incluse nel prezzo unitario in righe di fattura separate, con un appropriato identificativo e/o descrizione |
R18 |
informazioni su addebiti a livello di riga come parte dell’ammontare della riga |
R19 |
ammontare di sconti e maggiorazioni a livelli di documento o di riga della fattura |
R20 |
descrizione testuale dei beni e servizi fatturati a livello di riga di fattura |
R21 |
identificazione di beni e servizi mediante il numero bene/servizio del Fornitore a livello di riga di fattura |
R22 |
identificazione dei beni e servizi mediante il numero bene/servizio del Cliente a livello di riga |
R23 |
identificazione dei beni e servizi fatturati mediante un numero generale identificativo qualificato a livello di riga come convenuto da Cliente e Fornitore |
R24 |
identificazione dei beni e servizi fatturati mediante un identitificativo di classificazione applicabile e schema di riferimento a livello di riga come convenuto da Cliente e Fornitore |
R25 |
informazioni relative a resi e beni o imballaggi a credito come i pallets, maggiorazioni per imballaggio, dichiarate normalmente a livello di riga |
R26 |
informazioni riguardo a maggiorazioni su beni restituibili, dichiarati come normale riga di fattura |
R27 |
information rifuardo i beni resi, dichiarati come normale riga di fattura |
R28 |
informazioni descrittive dei beni/servizi a livello di riga |
R29 |
informazioni riguardo il paese di origine dei beni/servizi a livello di riga |
R29 |
informazioni riguardo il paese di origine dei beni/servizi a livello di riga di fattura |
R30 |
periodo di fatturazione a livello di riga |
R31 |
una data di consegna a livello di documento |
R32 |
un indirizzo o luogo di consegna a livello di documento |
R33 |
identificazione dell’oggetto fatturato a livello di documento o di riga della fattura |
R34 |
periodo di consegna/fattura a livello di documento |
R35 |
documenti allegati di un set limitato di file |
R36 |
allegati multipli o documenti referenziati a livello di documento |
R37 |
categoria IVA e aliquota a livello di riga |
R38 |
totali IVA per categoria a livello di documento |
R39 |
quantita' e ammontare netto (escluso IVA) a livello di riga |
R40 |
tutti gli ammontari a livello di documento e di riga di fattura che formano il totale documento ed il totale importo da pagare |
R41 |
riferimento ad un ordine di vendita, proposto dal Fornitore a livello di documento |
R42 |
sconto/maggiorazione percentuale e ammontare a livello di documento e di riga di fattura |
R44 |
informazioni che permettono una validazione automatica di una fattura ricevuta elettronicamente |
Id | Requisiti (se applicabili) |
---|---|
R45 |
informazioni per determinare i requisiti relativi alla normativa fiscale vigente, con annessi calcoli e riepiloghi |
R46 |
informazioni sulla data esigibilità IVA a livello di documento |
R47 |
elementi necessari per i requisiti IVA nazionali che si applicano alle fatture emesse verso Clienti domestici ed esteri, come ad esempio lo status di registrazione legale del Fornitore |
R48 |
informazioni a supporto dei seguenti casi d’uso sull’IVA:
|
R49 |
il totale IVA a livello di documento |
R50 |
il totale imponibile IVA per ciascuna aliquota a livello di documento |
R51 |
qualsiasi informazione aggiuntiva richiesta per supportare l’esenzione IVA nel caso in cui l’IVA non sia applicata sulla base di un motivo di esenzione specificato a livello di documento e a livello di riga |
R52 |
il numero di registrazione legale e il VAT registration number del Fornitore e del Cliente ed il VAT registration number del Rappresentante fiscale del fornitore |
R53 |
l’indirizzo postale ufficiale del Cliente, del Fornitore, e la loro sede commerciale e legale |
R54 |
la valuta della fattura e dell’IVA a livello di documento se diversa dalla valuta fattura |
R55 |
codici per identificare i motivi di esenzione a livello di documento e a livello di riga |
Id | Requisiti (se applicabili) |
---|---|
R56 |
Informazioni sufficienti a supportare il processo di revisione contabile, relative a:
|
R57 |
Identificazione della parti che adempiono in fattura ai seguenti ruoli, includendo il loro nome legale ed indirizzo:
|
Id | Requisiti (se applicabili) |
---|---|
R58 |
identificatizione della modalita' (mezzo) di pagamento |
R59 |
ammontare da pagare |
R60 |
data in cui il pagamento e' dovuto |
R61 |
informazioni necessarie a supportare un bonifico bancario in conformita' con la SEPA ed i sistemi nazionali |
R62 |
numero di riferimento e ogni riferimento addizionale sulla data da includere nel pagamento |
R63 |
numero di riferimento e ogni riferimento addizionale sulla data da includere nel pagamento, per mettere in relazione la fattura con il pagamento |
R64 |
informazioni per mettere in relazioni la fattura e la carta usata per il pagamento |
R65 |
informazioni di base per supportare i sistemi di pagamento nazionali come uso nelle transazioni domestiche |
R66 |
informazioni sul pagamento in anticipo |
R67 |
fatture con ammontare totale documento uguale a zero |
R68 |
fattura con ammontare da pagare uguale a zero |
R69 |
informazioni necessarie a supportare un addebbito diretto |
R70 |
anticipi |
7. Tipi di dato semantici
I tipi di dato semantici vengono utilizzati per colmare il divario tra i concetti semantici espressi dagli elementi informativi definiti nel modello semantico della EN16931 e l’implementazione tecnica. I tipi di dato semantici definiscono i domini dei valori consentiti nel contenuto e qualsiasi altro componente informativo (attributi), necessari a garantire la sua corretta interpretazione.
I dettagli di implementazione tecnica possono essere reperiti in [Detailed UBL message guideline] |
7.1. Tipi primitivi
Il contenuto dei tipi di dato semantici può essere espresso con i seguenti tipi primitivi. Questi tipi primitivi sono stati definiti nello standard ISO 15000-5:2014, Annex A.
Tipo primitivo | Definizione |
---|---|
Binary |
Un insieme di sequenze a lunghezza finita di cifre binarie. |
Date |
Un punto nel tempo che rappresenta un giorno di calendario su una scala temporale formata da una data iniziale ed una successione di calendario ISO 8601:2004. |
Decimal |
Un sottoinsieme di numeri reali che può essere rappresentato da numeri decimali. |
String |
Una sequenza finita di caratteri. |
7.2. Tipi di dato semantici
I diversi tipi di dato semantici sono descritti nelle tabelle riportate di seguito, dove diverse caratteristiche come attributi, formato e decimali come pure i tipi di dato più semplici sono definiti per ogni tipo di dato semantico. Essi si basano sullo standard ISO 15000-5:2014.
Quando vengono utilizzati in una fattura, ciascun elemento di dati conterrà i dati. Nelle tabelle di seguito riportate, viene identificato come il “contenuto”. Ogni volta che viene utilizzato un termine di business, esso avrà sempre un contenuto e per questo il contenuto è sempre obbligatorio.
7.2.1. Amount
Un importo indica un valore numerico monetario. La valuta dell’importo è definito come un termine finanziario distinto.
L’importo viene espresso come numero con al più due cifre decimali. |
Componente | Uso | Tipo primitivo | Esempio |
---|---|---|---|
Contenuto |
Obbligatorio |
Decimal |
10000.25 |
7.2.2. Unit Price Amount
Un importo unitario del prezzo indica un valore numerico monetario per gli elementi di dati che contengono i prezzi degli articoli che possono essere moltiplicati per le loro quantità. La valuta dell’importo è definita come un termine finanziario distinto.
L’importo unitario del prezzo può essere espresso fino ad 8 cifre decimali in conformità al formato FatturaPA italiano. |
Componente | Uso | Tipo primitivo | Esempio |
---|---|---|---|
Contenuto |
Obbligatorio |
Decimal |
10000.12345678 |
7.2.3. Percentage
Le percentuali sono espresse come frazioni centesimali (%) cioè il valore di 34.78 % in termini percentuali è dato come 34.78.
Nelle percentuali non vi è alcuna restrizione sul numero di cifre decimali utilizzabili. |
Componente | Uso | Tipo primitivo | Esempio |
---|---|---|---|
Contenuto |
Obbligatorio |
Decimale |
34.7812 |
7.2.4. Quantity
Le quantità vengono utilizzate per indicare un numero di unità come per gli articoli. Il codice per l’unità di misura è definito come un termine di business distinto.
Per le quantità non vi è alcuna restrizione sul numero di cifre decimali utilizzabili. |
Componente | Uso | Tipo primitivo | Esempio |
---|---|---|---|
Contenuto |
Obbligatorio |
Decimal |
10000.1234 |
7.2.5. Code
I codici vengono utilizzati per specificare i valori consentiti degli elementi come pure per le liste di opzioni. Il codice differisce dall’identificatore in quanto i valori consentiti hanno significati standardizzati che possono essere riconosciuti dal destinatario.
I codici devono essere inseriti esattamente come indicato nella codifica di riferimento selezionata. |
Componente | Uso | Tipo primitivo | Esempio |
---|---|---|---|
Contenuto |
Obbligatorio |
String |
Abc123 |
7.2.6. Identifier
Gli identificatori (IDs) sono chiavi emesse dal mittente o dal destinatario di un documento o da una terza parte.
L’utilizzo degli attributi è specificato per ogni elemento informativo. |
Componente | Uso | Tipo primitivo | Esempio |
---|---|---|---|
Contenuto |
Obbligatorio |
String |
abc:123-DEF |
Scheme identifier |
Facoltativo |
String |
GLN |
Scheme version identifier |
Facoltativo |
String |
1.0 |
7.2.7. Date
La data deve essere conforme alla "rappresentazione completa del calendario" come specificato nello standard ISO 8601:2004, formato YYYY-MM-DD.
Le date non devono includere informazioni sul fuso orario. |
Componente | Uso | Tipo primitivo | Esempio |
---|---|---|---|
Contenuto |
Obbligatorio |
Date |
2017-12-01 |
7.2.8. Document Reference
I riferimenti a documenti sono identificatori che sono stati assegnati ad un documento o ad una sua riga dall’acquirente, dal venditore o da una terza parte.
Componente | Uso | Tipo primitivo | Esempio |
---|---|---|---|
Contenuto |
Obbligatorio |
String |
abc:123-DEF |
7.2.9. Text
Il testo è la formulazione di qualsiasi contenuto redatto o stampato. Potrebbero essere presenti dei troncamenti nel testo, qualsiasi troncamento dovrebbe essere preservato e rispettato dal sistema ricevente.
Componente | Uso | Tipo primitivo | Esempio |
---|---|---|---|
Contenuto |
Obbligatorio |
String |
5% di sconto se pagato entro 30 giorni |
7.2.10. Binary objects
Gli oggetti binari posso essere utilizzati per descrivere file che vengono trasmessi insieme alla fattura. La funzionalità dell’allegato non è inteso per includere una copia della fattura in un formato immagine (come un PDF). Allegare una copia della fattura non è compatibile con questa specifica.
Gli allegati devono essere trasmessi insieme alla fattura. L’oggetto binaro ha due componenti supplementari: un Mime Code, che specifica il tipo Mime dell’allegato e un Filename che viene fornito dal (o per conto del) mittente della fattura o nota di credito.
Componente | Uso | Tipo primitivo | Esempio |
---|---|---|---|
Contenuto |
Obbligatorio |
Binary |
QmFzZTY0IGNvbnRlbnQgZXhhbXBsZQ== |
Mime Code |
Obbligatorio |
String |
image/jpeg |
Filename |
Obbligatorio |
String |
drawing5.jpg |
Il destinatario di una fattura o nota di credito, deve accettare e processare allegati che sono allineati alle codifiche Media type code per i documenti allegati
8. Imposta sul valore aggiunto (IVA)
I capitoli seguenti descrivono le diverse informazioni in materia dell’IVA che possono essere fornite in una fattura o in una nota di credito PEPPOL.
Si consiglia di consultare anche i VAT category codes per dettagli sulla codifica delle categorie IVA e il Calcolo dell’IVA per una rappresentazione più dettagliata ed esempi su come eseguire i calcoli nel riepilogo IVA.
8.1. Informazioni IVA su riga
Per ogni riga della fattura deve essere indicato il codice della categoria IVA (BT-151 Invoiced item VAT category code), e per tutte le categorie IVA deve essere indicata l’aliquota IVA.
8.1.1. Regole per la fatturazione dall’estero (cross-border)
Per ogni riga della fattura deve essere indicato il codice della categoria IVA nel cac:ClassifiedTaxCategory/cbc:ID (BT-151 Invoiced item VAT category code).
Per le categorie IVA è E, G e K il cac:ClassifiedTaxCategory/cbc:Percent (BT-152 Invoiced item VAT rate) va posto uguale a 0.
8.1.2. Regole per la fatturazione domestica
Per ogni riga della fattura deve essere indicato il codice della categoria IVA nel cac:ClassifiedTaxCategory/cbc:ID (BT-151 Invoiced item VAT category code).
Per le categorie IVA Z, E, G, K e AE il cac:ClassifiedTaxCategory/cbc:Percent (BT-152 Invoiced item VAT rate) va posto uguale a 0.
Per le categorie IVA S e B l’aliquota IVA va inserita nel cac:ClassifiedTaxCategory/cbc:Percent (BT-152 Invoiced item VAT rate).
La gestione della natura della riga è operata a mezzo dell’utilizzo del cac:AdditionalItemProperty/cbc:Name (BT-160) e cac:AdditionalItemProperty/cbc:Value (BT-161), valorizzando il cbc:name con la stringa “NATURA” ed il cbc:value con il codice natura secondo le specifiche FatturaPA.
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="C62">5</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">100.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>Importo degli imballaggi</cbc:Name>
<cac:ClassifiedTaxCategory>
<cbc:ID>Z</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
<cac:AdditionalItemProperty>
<cbc:Name>NATURA</cbc:Name>
<cbc:Value>N1</cbc:Value>
</cac:AdditionalItemProperty>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">20.00</cbc:PriceAmount>
<cbc:BaseQuantity unitCode="C62">1</cbc:BaseQuantity>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">0.00</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">20.00</cbc:BaseAmount>
</cac:AllowanceCharge>
</cac:Price>
</cac:InvoiceLine>
8.1.3. Indicazioni per la fatturazione verso l’estero
Per la fatturazione verso l’estero verificare con l’acquirente l’eventuale presenza di CIUS.
Per approfondimenti consultare il seguente link.
8.2. Sconti e maggiorazioni a livello di testata
Per ogni sconto/maggiorazione deve essere indicato il codice della categoria IVA nel cac:ClassifiedTaxCategory/cbc:ID (BT-102 Document level charge VAT category code/BT-95Document level allowance VAT category code).
Per le categorie IVA è Z, E, G, K e AE il cac:ClassifiedTaxCategory/cbc:Percent (BT-103 Document level charge VAT rate/BT-96 Document level allowance VAT rate) va posto uguale a 0.
Per le categorie IVA S e B, l’aliquota IVA va inserita nel cac:ClassifiedTaxCategory/cbc:Percent (BT-103 Document level charge VAT rate/BT-96 Document level allowance VAT rate).
La sezione è utilizzata solo per la fatturazione domestica per Bollo (vedi paragrafo 4.9) e Rivalsa Cassa Previdenziale (vedi paragrafo 4.8). Per gli sconti e maggiorazioni a livello di testata che non incidono sull’imponibile vedasi 10.5.Sconti e maggiorazioni. |
8.3. Riepiloghi IVA
Deve essere fornito un solo riepilogo IVA per ogni combinazione distinta di categoria e aliquota IVA sia a livello di riga che negli sconti e maggiorazioni a livello di testata. Per alcune categorie IVA, l’aliquota deve essere posta a zero e quindi non viene utilizzata in questi casi per raggruppare il riepilogo IVA.
Per l’aliquota dell’IVA devono essere considerati solo i decimali significativi, ovvero qualsiasi differenza nei decimali non deve determinare differenti riepiloghi IVA.
Non è possibile inserire nella medesima fattura operazioni con il medesimo Tax Category ID (BT-118 VAT category code) e natura differente. |
Esempio:
Riga 1 della fattura ha categoria IVA = S e aliquota IVA = 25,00
Riga 2 della fattura ha categoria IVA = S e aliquota IVA = 25,00
Questo dovrebbe originare un singolo riepilogo IVA.
Per altri dettagli vedi anche il paragrafo 9.4. Calcolo dell’IVA.
8.3.1. Regole per la fatturazione dall’estero (cross-border)
La gestione della natura dell’operazione (FPA 2.2.2.2 Natura) per le fatture dall’estero è operata a mezzo dell’utilizzo di:
-
cac:TaxCategory/cbc:ID (BT-118 VAT category code);
-
cbc:TaxExemptionReasonCode (BT-121 VAT exemption reason code);
La fattura non può contenere più di un TaxSubtotal per la medesima categoria IVA. |
8.3.2. Regole per la fatturazione domestica
La gestione della natura dell’operazione (FPA 2.2.2.2 Natura) per le fatture domestiche è operata a mezzo dell’utilizzo di:
-
cac:TaxCategory/cbc:ID (BT-118 VAT category code);
-
cbc:TaxExemptionReasonCode (BT-121 VAT exemption reason code);
-
cbc:TaxExemptionReason (BT-120 VAT exemption reason text), in cui viene inserita il codice natura secondo le specifiche FatturaPA ed il Riferimento Normativo concatenati a mezzo di #.
Trattasi di CIUS domestica (DC) |
Caso 1 - natura diversa da N1 – esempio riferito ad un’operazione in regime di reverse charge
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>AE</cbc:ID>
</cac:TaxCategory>
<cbc:TaxExemptionReasonCode>vatex-eu-ae</cbc:TaxExemptionReasonCode>
<cbc:TaxExemptionReason>N6.3#Art.16,co.6,lett.a (prestazioni di servizi rese dai subappaltatori nel settore edilizio)</cbc:TaxExemptionReason>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxSubtotal>
</cac:TaxTotal>
<!-- ... -->
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="C62">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">100.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Description>Inversione contabile</cbc:Description>
<cbc:Name>Subappalto nel settore edile</cbc:Name>
<cac:ClassifiedTaxCategory>
<cbc:ID>AE</cbc:ID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
<cac:AdditionalItemProperty>
<cbc:Name>NATURA</cbc:Name>
<cbc:Value>N6.3</cbc:Value>
</cac:AdditionalItemProperty>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">100.00</cbc:PriceAmount>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">0.00</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">100.00</cbc:BaseAmount>
</cac:AllowanceCharge>
</cac:Price>
</cac:InvoiceLine>
Caso 2 - natura N1 – esempio riferito ad un’operazione esclusa
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>Z</cbc:ID>
<cbc:Percent>0</cbc:Percent>
</cac:TaxCategory>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxSubtotal>
</cac:TaxTotal>
<!-- ... -->
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="C62">5</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">100.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>Importo degli imballaggi</cbc:Name>
<cac:ClassifiedTaxCategory>
<cbc:ID>Z</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
<cac:AdditionalItemProperty>
<cbc:Name>NATURA</cbc:Name>
<cbc:Value>N1</cbc:Value>
</cac:AdditionalItemProperty>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">20.00</cbc:PriceAmount>
<cbc:BaseQuantity unitCode="C62">1</cbc:BaseQuantity>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">0.00</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">20.00</cbc:BaseAmount>
</cac:AllowanceCharge>
</cac:Price>
</cac:InvoiceLine>
8.3.3. Indicazioni per la fatturazione verso l’estero
Per la fatturazione verso l’estero verificare con l’acquirente l’eventuale presenza di CIUS.
Per approfondimenti consultare il seguente link.
8.4. Totale IVA
Il totale IVA cbc:TaxAmount (BT-110) è la somma delle imposte dei singoli riepiloghi cbc:TaxAmount (BT-117)
8.5. Data operazione ed esigibilità IVA
La gestione della data operazione e dell’esigibilità IVA è operata a mezzo dell’utilizzo di:
-
cbc:IssueDate (BT-2 Invoice issue date);
-
cac:InvoicePeriod/cbc:DescriptionCode (BT-8 Value added tax point date code);
-
cbc:ActualDeliveryDate (BT-72 Actual delivery date);
-
cac:TaxCategory/cbc:ID (BT-118 VAT category code);
Si evidenziano 6 casi distinti.
8.5.1. Caso 1 - Esigibilità immediata, data fattura coincide con data operazione
In questo caso il cbc:IssueDate (BT-2 Invoice issue date) viene valorizzato con data fattura/data operazione e il cac:InvoicePeriod/cbc:DescriptionCode (BT-8 Value added tax point date code) viene valorizzato con “3” (ovvero Invoice document issue time).
<cbc:IssueDate>2020-02-07</cbc:IssueDate>
<cac:InvoicePeriod>
<cbc:DescriptionCode>3</cbc:DescriptionCode>
</cac:InvoicePeriod>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">22.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">22.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>22</cbc:Percent>
</cac:TaxCategory>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxSubtotal>
</cac:TaxTotal>
8.5.2. Caso 2 - Esigibilità immediata, data fattura non coincidente con data operazione
In questo caso il cbc:IssueDate (BT-2 Invoice issue date) viene valorizzato con data fattura, il cac:InvoicePeriod/cbc:DescriptionCode (BT-8 Value added tax point date code) viene valorizzato con “35” (ovvero Delivery date, actual) ed il cbc:ActualDeliveryDate (BT-72 Actual delivery date) viene valorizzato con la data operazione.
<cbc:IssueDate>2020-01-20</cbc:IssueDate>
<!-- ... -->
<cac:InvoicePeriod>
<cbc:DescriptionCode>35</cbc:DescriptionCode>
</cac:InvoicePeriod>
<!-- ... -->
<cac:Delivery>
<cbc:ActualDeliveryDate>2020-01-15</cbc:ActualDeliveryDate>
</cac:Devlivery>
<!-- ... -->
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">22.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">22.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>22</cbc:Percent>
</cac:TaxCategory>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxSubtotal>
</cac:TaxTotal>
8.5.3. Caso 3 - Esigibilità differita, data fattura coincide con data operazione
In questo caso il cbc:IssueDate (BT-2 Invoice issue date) viene valorizzato con data fattura/data operazione e il cac:InvoicePeriod/cbc:DescriptionCode (BT-8 Value added tax point date code) viene valorizzato con “432” (ovvero Paid to date).
<cbc:IssueDate>2020-02-07</cbc:IssueDate>
<!-- ... -->
<cac:InvoicePeriod>
<cbc:DescriptionCode>432</cbc:DescriptionCode>
</cac:InvoicePeriod>
<!-- ... -->
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">22.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">22.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>22</cbc:Percent>
</cac:TaxCategory>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxSubtotal>
</cac:TaxTotal>
8.5.4. Caso 4 - Esigibilità differita, data fattura non coincidente con data operazione
In questo caso il cbc:IssueDate (BT-2 Invoice issue date) viene valorizzato con data fattura, il cac:InvoicePeriod/cbc:DescriptionCode (BT-8 Value added tax point date code) viene valorizzato con “432” (ovvero Paid to date) ed il cbc:ActualDeliveryDate (BT-72 Actual delivery date) viene valorizzato con la data operazione.
<cbc:IssueDate>2020-01-20</cbc:IssueDate>
<!-- ... -->
<cac:InvoicePeriod>
<cbc:DescriptionCode>432</cbc:DescriptionCode>
</cac:InvoicePeriod>
<!-- ... -->
<cac:Delivery>
<cbc:ActualDeliveryDate>2020-01-15</cbc:ActualDeliveryDate>
</cac:Devlivery>
<!-- ... -->
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">22.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">22.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>22</cbc:Percent>
</cac:TaxCategory>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxSubtotal>
</cac:TaxTotal>
8.5.5. Caso 5 – Split payment, data fattura coincide con data operazione
In questo caso il cbc:IssueDate (BT-2 Invoice issue date) viene valorizzato con data fattura/data operazione, il cac:InvoicePeriod/cbc:DescriptionCode (BT-8 Value added tax point date code) è lasciato vuoto e il cac:TaxCategory/cbc:ID (BT-118 VAT category code) viene valorizzato con “B” (ovvero split payment).
<cbc:IssueDate>2020-02-07</cbc:IssueDate>
<!-- ... -->
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">22.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">22.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>B</cbc:ID>
<cbc:Percent>22</cbc:Percent>
</cac:TaxCategory>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxSubtotal>
</cac:TaxTotal>
8.5.6. Caso 6 – Split payment, data fattura non coincidente con data operazione
In questo caso il cbc:IssueDate (BT-2 Invoice issue date) viene valorizzato con la data fattura, il cac:InvoicePeriod/cbc:DescriptionCode (BT-8 Value added tax point date code) è lasciato vuoto, il cbc:ActualDeliveryDate (BT-72 Actual delivery date) viene valorizzato con la data operazione ed il cac:TaxCategory/cbc:ID (BT-118 VAT category code) viene valorizzato con “B” (ovvero split payment).
<cbc:IssueDate>2020-01-20</cbc:IssueDate>
<!-- ... -->
<cac:Delivery>
<cbc:ActualDeliveryDate>2020-01-15</cbc:ActualDeliveryDate>
</cac:Devlivery>
<!-- ... -->
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">22.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">22.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>B</cbc:ID>
<cbc:Percent>22</cbc:Percent>
</cac:TaxCategory>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxSubtotal>
</cac:TaxTotal>
9. Arrotondamenti
Per ridurre al minimo il rischio di difformità dovute agli arrotondamenti, si applicano le seguenti regole:
|
Consultare anche il capitolo Calcoli per ulteriori dettagli su come calcolare differenti tipologie di importi.
10. Calcoli
10.1. Calcolo dei totali
Le formule per il calcolo dei totali sono le seguenti:
Id termine di business | Nome Termine | Calcolo |
---|---|---|
BT-106 |
Somma degli importi netti di riga della fattura |
\$sum("BT-131: Invoice line net amount")\$ |
BT-107 |
Somma degli sconti a livello di testata |
\$sum("BT-92: Document level allowance amount")\$ |
BT-108 |
Somma delle maggiorazioni a livello di testata |
\$sum("BT-99: Document level charge amount")\$ |
BT-109 |
Importo totale della fattura (IVA esclusa) |
\$\ \ \ \ "BT-106: Sum of invoice line net amounts"\$ |
BT-110 |
Importo totale IVA della fattura |
\$sum("BT-117: VAT category tax amount")\$ |
BT-112 |
Importo totale della fattura (IVA inclusa) |
\$\ \ \ \ "BT-109: Invoice total amount without VAT"\$ |
BT-115 |
Importo del pagamento dovuto |
\$\ \ \ \ "BT-112: Invoice total amount with VAT"\$ |
10.1.1. Formule di calcolo per la sintassi UBL
I seguenti elementi mostrano gli importi monetari legali per una fattura o nota di credito
Elemento | Formula |
---|---|
<cbc:LineExtensionAmount> |
\$sum("cac:InvoiceLine/cbc:LineExtensionAmount")\$ |
<cbc:AllowanceTotalAmount> |
\$sum("cac:AllowanceCharge[ChargeIndicator='false']/cbc:Amount")\$ |
<cbc:ChargeTotalAmount> |
\$sum("cac:AllowanceCharge[ChargeIndicator='true']/cbc:Amount")\$ |
<cbc:TaxExclusiveAmount> |
\$\ \ \ \ "cac:LegalMonetaryTotal/cbc:LineExtensionAmount"\$ |
<cbc:TaxInclusiveAmount> |
\$\ \ \ \ "cac:LegalMonetaryTotal/cbc:TaxExclusiveAmount"\$ |
<cbc:PrepaidAmount> |
Not applicable |
<cbc:PayableRoundingAmount> |
Not applicable |
<cbc:PayableAmount> |
\$\ \ \ \ "cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount"\$ |
10.1.2. L’elemento PayableRoundingAmount per l’arrotondamento dell’importo da pagare
E' possibile arrotondare l’importo da pagare previsto.
L’elemento cac:LegalMonetaryTotal/cbc:PayableRoundingAmount
è utilizzato a questo scopo e viene specificato a livello di testata. Questo valore deve essere aggiunto al valore del cac:LegalMonetaryTotal/cbc:PayableAmount
.
Esempio: L’importo 999.81 arrotondato a 1000. PayableRounding Amount = 0.19
10.2. Calcoli a livello di riga
10.2.1. Prezzo netto dell’articolo (BT-146)
Se è presente il prezzo lordo e lo sconto, il prezzo netto dell’articolo deve essere uguale al prezzo lordo dell’articolo meno lo sconto sul prezzo.
Formula di calcolo:
\$"Item net price" = "Item gross price (BT-148)" - "Item price discount (BT-147)"\$
<cac:InvoiceLine>
....
<cac:Price>
<cbc:PriceAmount currencyID="EUR">410</cbc:PriceAmount>(3)
<cbc:BaseQuantity unitCode="C62">1</cbc:BaseQuantity>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">40</cbc:Amount>(2)
<cbc:BaseAmount currencyID="EUR">450</cbc:BaseAmount>(1)
</cac:AllowanceCharge>
</cac:Price>
</cac:InvoiceLine>
1 | Prezzo lordo dell’articolo |
2 | Sconto sul prezzo dell’articolo |
3 | Prezzo netto dell’articolo (Importo base - Sconto) |
10.2.2. Importo netto della riga fattura (BT-131)
L’importo netto delle riga fattura (BT-131) è, come il suo nome lo implica, l’importo netto senza IVA inclusivo degli sconti e maggiorazioni di riga.
La formula per calcolare l’importo netto di riga è:
\$"Item line net amount" = (("Item net price (BT-146)" div "Item price base quantity (BT-149)")\$
\$times ("Invoiced Quantity (BT-129)")\$
\$+ "Invoice line charge amount (BT-141)" - "Invoice line allowance amount (BT-136)"\$
L’importo netto di riga deve essere arrotondato a due decimali, pertanto, bisogna prestare attenzione ad arrotondare le diverse parti del calcolo separatamente. Es. il risultato di \$"Item line net amount" = (("Item net price (BT-146)" div "Item price base quantity (BT-149)") times ("Invoiced Quantity (BT-129)")\$ deve essere arrontondato a due decimali e gli sconti/maggiorazionisono anch’essi arrotondati separatamente. |
<cac:InvoiceLine>
...
<cbc:InvoicedQuantity unitCode="C62">10</cbc:InvoicedQuantity>(3)
<cbc:LineExtensionAmount currencyID="EUR">1000.00</cbc:LineExtensionAmount>(4)
...
<cac:Price>
<cbc:PriceAmount currencyID="EUR">200.00</cbc:PriceAmount>(1)
<cbc:BaseQuantity unitCode="C62">2</cbc:BaseQuantity>(2)
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">0.00</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">100.00</cbc:BaseAmount>
</cac:AllowanceCharge>
</cac:Price>
</cac:InvoiceLine>
1 | Prezzo netto dell’articolo |
2 | Quantità base del prezzo dell’articolo |
3 | Quantità fatturata |
4 | Importo netto della riga = ((Item net price ÷ Item price base quantity) × (Invoiced Quantity) |
<cac:InvoiceLine>
...
<cbc:InvoicedQuantity unitCode="C62">10</cbc:InvoicedQuantity>(4)
<cbc:LineExtensionAmount currencyID="EUR">900.00</cbc:LineExtensionAmount>(5)
...
<cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:AllowanceChargeReasonCode>CG</cbc:AllowanceChargeReasonCode>
<cbc:AllowanceChargeReason>Charge</cbc:AllowanceChargeReason>
<cbc:MultiplierFactorNumeric>1</cbc:MultiplierFactorNumeric>
<cbc:Amount currencyID="EUR">1</cbc:Amount>(2)
<cbc:BaseAmount currencyID="EUR">100</cbc:BaseAmount>
</cac:AllowanceCharge>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
<cbc:AllowanceChargeReason>Discount</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="EUR">101</cbc:Amount>(3)
</cac:AllowanceCharge>
...
<cac:Price>
<cbc:PriceAmount currencyID="EUR">100.00</cbc:PriceAmount>(1)
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">0.00</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">100.00</cbc:BaseAmount>
</cac:AllowanceCharge>
</cac:Price>
</cac:InvoiceLine>
1 | Prezzo netto dell’articolo |
2 | Maggiorazioni sulla riga |
3 | Sconti sulla riga |
4 | Quantità fatturata |
5 | Importo netto della riga = (Item net price × Invoiced Quantity) + line charge amount − line allowance amount |
10.3. Calcolo dell’importo degli sconti/maggiorazioni
Gli sconti e le maggiorazioni a livello di testata e a livello di riga consistono di elementi informativi che specificano sia l’importo base dello sconto/maggiorazione che la percentuale. Se presenti in fattura, questi sono usati per calcolare l’importo di sconto/maggiorazione.
Se l’importo base è presente, la percentuale deve essere presente e viceversa, se la percentuale è presente deve essere presente anche l’importo base.
Il calcolo dell’importo è quindi:
\$"Amount" = "Base amount" times ("Percentage" div 100)\$
Nel contesto nazionale la sezione è utilizzata solo per Bollo (vedi paragrafo 4.9) e Rivalsa Cassa Previdenziale (vedi paragrafo 4.8). |
Tipico esempio di maggiorazione espressa con importo base e percentuale è la cassa previdenziale (vedi paragrafo 4.8).
Tipico esempio di sconto/maggiorazione con solo importo base è il bollo (vedi paragrafo 4.9).
10.4. Calcolo dell’IVA
Un riepilogo IVA deve essere fornito per ogni combinazione distinta di codice categoria e aliquota IVA trovate sia nelle informazioni IVA di riga che a livello di testata negli sconti/maggiorazioni.
Per ogni combinazione distinta i calcoli sono:
\$"VAT category taxable amount (BT-116)" = sum("Invoice line net amounts (BT-131)")\$
\$+ "Document level charge amount (BT-99)" - "Document level allowance amount (BT-92)"\$
\$"VAT category tax amount (BT-117)" = "VAT category taxable amount (BT-116)"\$
\$times ("VAT rate (BT-119)" div 100)\$
Per il riepilogo IVA dove la categoria IVA è "Non soggetta" (O), l’importo IVA delle categoria deve essere posta a zero. |
<cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:AllowanceChargeReason>Cleaning</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="EUR">200</cbc:Amount>(1)
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>25</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:AllowanceCharge>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:AllowanceChargeReason>Discount</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="EUR">100</cbc:Amount>(2)
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>25</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:AllowanceCharge>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">1250.00</cbc:TaxAmount>
<cac:TaxSubtotal>(3)
<cbc:TaxableAmount currencyID="EUR">5000.0</cbc:TaxableAmount>(4)
<cbc:TaxAmount currencyID="EUR">1250</cbc:TaxAmount>(5)
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>25</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
<cac:TaxSubtotal>(6)
<cbc:TaxableAmount currencyID="EUR">2000.0</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">0</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>E</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cbc:TaxExemptionReason>Reason for tax exempt</cbc:TaxExemptionReason>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:Note>Testing note on line level</cbc:Note>
<cbc:InvoicedQuantity unitCode="C62">10</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">4000.00</cbc:LineExtensionAmount>
<!-- code omitted for clarity -->
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>25.0</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
<cac:InvoiceLine>
<cbc:ID>2</cbc:ID>
<cbc:InvoicedQuantity unitCode="C62">10</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">2000.00</cbc:LineExtensionAmount>
<!-- code omitted for clarity -->
<cac:ClassifiedTaxCategory>
<cbc:ID>E</cbc:ID>
<cbc:Percent>0.0</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
<cac:InvoiceLine>
<cbc:ID>3</cbc:ID>
<cbc:InvoicedQuantity unitCode="C62">10</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">900.00</cbc:LineExtensionAmount>
<!-- code omitted for clarity -->
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>25.0</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
1 | Importo maggiorazioni a livello di testata per la categoria d’imposta S e tasso 25% |
2 | Importo sconto a livello di testata per la categoria d’imposta S e tasso 25% |
3 | Riepilogo IVA per la categoria d’imposta S e tasso = 25% |
4 | Importo Imponibile = Somma importi di linea (1 e 3) + Importo Maggiorazioni - Importo Sconti; dove la categoria d’imposta = S e tasso = 25% |
5 | Importo delle tasse = Importo Imponibile x (Aliquota IVA div 100) |
6 | Riepilogo IVA per la categoria d’imposta E e tasso = 0% |
11. Esempi di parti selezionate della transazione
Nei paragrafi seguenti vengono riportarti esempi di parti selezionate della transazione. Si consiglia di esaminare anche la [Detailed UBL message guideline] per i dettagli su tutti gli elementi e gli attributi, le loro regole e l’utilizzo delle codifiche di riferimento.
11.1. Parti di business
I seguenti ruoli posso essere specificati. Lo stesso attore può giocare diversi ruoli a seconda del caso.
Ulteriori dettagli su parti/ruoli sono riportati in Parti e ruoli.
11.1.1. Fornitore (AccountingSupplierParty)
Il Fornitore è la persona fisica, la persona giuridica o l’organizzazione che fornisce beni e/o servizi ed è un’informazione obbligatoria in quanto emittente del documento. È quindi obbligatorio includere l’EndpointID. Il Fornitore corrisponde al Cedente/Prestatore della fattura ai sensi del DPR n. 633/1972.
<cac:AccountingSupplierParty>
<cac:Party>
<cbc:EndpointID schemeID="0211">IT01234567890</cbc:EndpointID>
<cac:PostalAddress>
<cbc:StreetName>Indirizzo Riga 1</cbc:StreetName>
<cbc:AdditionalStreetName>Indirizzo Riga 2</cbc:AdditionalStreetName >
<cbc:CityName>Bologna</cbc:CityName>
<cbc:PostalZone>40121</cbc:PostalZone>
<cbc:CountrySubentity>BO</cbc:CountrySubentity >
<cac:AddressLine>
<cbc:Line>Zona Savena</cbc:Line>
</cac:AddressLine>
<cac:Country>
<cbc:IdentificationCode>IT</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>IT01234567890</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>Azienda fornitore</cbc:RegistrationName>
<cbc:CompanyID schemeID="0210">01234567890</cbc:CompanyID>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:Name>Lucio Grande</cbc:Name>
<cbc:Telephone>051102030</cbc:Telephone>
<cbc:ElectronicMail>lucio.grande@fornitore.it</cbc:ElectronicMail>
</cac:Contact>
</cac:Party>
</cac:AccountingSupplierParty>
Se il Fornitore è un’amministrazione pubblica, il campo EndpointID/@schemeID deve essere valorizzato con “0201:” seguito dal Codice UFE della PA.
La Partita IVA deve essere indicata nel cac:PartyTaxScheme/cbc:CompanyID.
Il Codice Fiscale deve essere indicato nel cac:PartyLegalEntity/cbc:CompanyID, valorizzando l’attributo @schemeID con “0210”.
<cac:AccountingSupplierParty>
<cac:Party>
<cbc:EndpointID schemeID="0201">UFY9MH</cbc:EndpointID>
<cac:PostalAddress>
<cbc:StreetName>Via Amendola 2</cbc:StreetName>
<cbc:CityName>Reggio Emilia</cbc:CityName>
<cbc:PostalZone>42122</cbc:PostalZone>
<cbc:CountrySubentity>RE</cbc:CountrySubentity>
<cac:Country>
<cbc:IdentificationCode>IT</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>IT01598570354</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>Azienda USL di Reggio Emilia</cbc:RegistrationName>
<cbc:CompanyID schemeID="0210">01598570354</cbc:CompanyID>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:Name>Giovanni Rossi</cbc:Name>
<cbc:Telephone>0522335111</cbc:Telephone>
<cbc:ElectronicMail>giovanni.rossi@ausl.re.it</cbc:ElectronicMail>
</cac:Contact>
</cac:Party>
</cac:AccountingSupplierParty>
</cac:AccountingSupplierParty>
<cac:Party>
<cbc:EndpointID schemeID="9925">0999999999</cbc:EndpointID>
<cac:PostalAddress>
<cbc:StreetName> Rue Emile Claus 28</cbc:StreetName>
<cbc:AdditionalStreetName>Quartiere</cbc:AdditionalStreetName>
<cbc:CityName>Bruxelles</cbc:CityName>
<cbc:PostalZone>1050</cbc:PostalZone>
<cac:AddressLine>
<cbc:Line>Deposito Consegnatario: Fornitore Estero</cbc:Line>
</cac:AddressLine>
<cac:Country>
<cbc:IdentificationCode>BE</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>BE0848934496</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>Fornitore Estero</cbc:RegistrationName>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:Name>Lucio Grande</cbc:Name>
<cbc:Telephone>003241102030</cbc:Telephone>
<cbc:ElectronicMail>lucio.grande@belgio.be</cbc:ElectronicMail>
</cac:Contact>
</cac:Party>
</cac:AccountingSupplierParty>
Le informazioni relative all’Albo possono essere fornite nel cac:PartyIdentification/cbc:ID concatenando il Nome Albo, il numero e la data iscrizione con il simbolo "#" omettendo l’attributo @schemeID ma includendo il prefisso "ALBO:" come nell’esempio di seguito.
Trattasi di CIUS domestica |
</cac:AccountingSupplierParty>
<cac:Party>
...
<cac:PartyIdentification>
<cbc:ID>ALBO:NomeAlbo#12345#YYYY-MM-DD</cbc:ID>
</cac:PartyIdentification>
...
</cac:Party>
</cac:AccountingSupplierParty>
Il numero del Codice EORI (Economic Operator Registration and Identification) basato sul Regolamento (CE) n. 312 del 16 aprile 2009 ed in vigore dal 1 luglio 2009, può essere anch’esso espresso nell’elemento cac:PartyIdentification/cbc:ID omettendo l’attributo @schemeID ma includendo il prefisso "EORI:" come nell’esempio di seguito.
<cac:PartyIdentification>
<cbc:ID>EORI:12345678901</cbc:ID>
</cac:PartyIdentification>
Infine, il campo cac:PartyIdentification/cbc:ID può essere usato per indicare anche le informazioni relative a FPA 1.2.4.1 Ufficio e FPA 1.2.4.2 Numero REA omettendo l’attributo @schemeID, includendo il prefisso "REA:" e concatenando i due dati con il "#", come nell’esempio di seguito.
Trattasi di CIUS domestica. |
<cac:PartyIdentification>
<cbc:ID>REA:MI#1713601</cbc:ID>
</cac:PartyIdentification>
Il campo cac:PartyLegalEntity/cbc:RegistrationName può essere usato per indicare il dato FPA 1.2.1.3.1 Denominazione. In caso di Fornitore persona fisica, lo stesso può essere usato per indicare i dati FPA 1.2.1.3.2 Nome e 1.2.1.3.3 Cognome preceduti dalla stringa "Nome#Cognome:" e concatenati dal simbolo "#".
Il campo cac:PartyLegalEntity/cbc:CompanyLegalForm può essere usato per indicare informazioni legali addizionali quali FPA 1.2.4.3 CapitaleSociale, FPA 1.2.4.4 SocioUnico e FPA 1.2.4.5 StatoLiquidazione, concatenando i campi con il simbolo "#".
Trattasi di CIUS domestica |
<cbc:CompanyLegalForm>100000.00#SU#LN</cbc:CompanyLegalForm>
Nell’utilizzo dell’aggregato informativo cac:PostalAddress, è obbligatorio l’utilizzo delle informazioni di indirizzo, CAP, Comune e nazione.
Trattasi di CIUS domestica |
Di seguito si riportano due esempi di come compilare le informazioni dell’indirizzo.
<cac:PostalAddress>
<cbc:StreetName>Via principale 2, Palazzo 4</cbc:StreetName>
<cbc:CityName>Grande città</cbc:CityName>
<cbc:PostalZone>54321</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>IT</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PostalAddress>
<cbc:StreetName>Corso di Francia</cbc:StreetName>
<cbc:AdditionalStreetName>I Parioli</cbc:AdditionalStreetName>
<cbc:CityName>Roma</cbc:CityName>
<cbc:PostalZone>00197</cbc:PostalZone>
<cbc:CountrySubentity>RM</cbc:CountrySubentity>
<cac:AddressLine>
<cbc:Line>Informazioni Aggiuntive</cbc:Line>
</cac:AddressLine>
<cac:Country>
<cbc:IdentificationCode>IT</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
11.1.2. Cliente (AccountingCustomerParty)
Il Cliente è la persona fisica, la persona giuridica o l’organizzazione che richiede beni e/o servizi ed è un’informazione obbligatoria in quanto destinatario del documento.
È quindi obbligatorio includere l’EndpointID. Il Cliente corrisponde al Cessionario/Committente della fattura ai sensi del DPR n. 633/1972.
Il cliente può essere una PA, un operatore economico, un cittadino o un soggetto residente, non residente, non stabilito/identificato in Italia.
Le informazioni inerenti al cliente vengono fornite nell’elemento 'cac:AccountingCustomerParty'.
Nel caso in cui il cliente abbia la Partita IVA, la Partita IVA va indicata nel cac:PartyTaxScheme/cbc:CompanyID.
Nel caso in cui il cliente sia dotato solo di Codice Fiscale, questo va indicato nel cac:PartyLegalEntity/cbc:CompanyID, valorizzando l’attributo @schemeID con “0210”.
Almeno uno tra Partita IVA e Codice Fiscale deve essere presente |
Il campo cac:PartyLegalEntity/cbc:RegistrationName può essere usato per indicare il dato FPA 1.4.1.3.1 Denominazione. In caso di Fornitore persona fisica, lo stesso può essere usato per indicare i dati FPA 1.4.1.3.2 Nome e 1.4.1.3.3 Cognome preceduti dalla stringa "Nome#Cognome:" e concatenati dal simbolo "#".
Il Codice EORI può essere espresso nell’elemento cac:PartyIdentification/cbc:ID omettendo l’attributo @schemeID ma includendo il prefisso "EORI:" come nell’esempio di seguito.
<cac:PartyIdentification>
<cbc:ID>EORI:12345678901</cbc:ID>
</cac:PartyIdentification>
Nel contesto B2G o G2G, il Cliente deve essere identificato mediante il Codice IPA.
<cac:AccountingCustomerParty>
<cac:Party>
<cbc:EndpointID schemeID="0201">OBSH87</cbc:EndpointID>
(1)
<cac:PostalAddress>
<cbc:StreetName>via Dei Mille 21</cbc:StreetName>
<cbc:CityName>Bologna</cbc:CityName>
<cbc:PostalZone>40121</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>IT</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>IT02792731206</cbc:CompanyID>
(2)
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>Intercent-ER Agenzia Regionale</cbc:RegistrationName>
<cbc:CompanyID schemeID="0210">91252510374</cbc:CompanyID>
(3)
</cac:PartyLegalEntity>
</cac:Party>
</cac:AccountingCustomerParty>
1 | L’attributo schemeID è obbligatorio per indirizzi elettronici, es. EndpointID |
2 | Gli identificatori per il VAT/IVA devono incudere il prefisso del codice paese |
3 | Il codice fiscale è preceduto dall’attributo @schemeID valorizzato con “0210” |
Nel contesto B2B o G2B, il Cliente può essere identificato mediante il Codice Destinatario.
Trattasi di CIUS domestica valida per la fatturazione verso privati |
<cbc:EndpointID schemeID="0205">L0U7KO4</cbc:EndpointID>
<cbc:EndpointID schemeID="0205">XXXXXXX</cbc:EndpointID>
Nel contesto B2C e G2C il Cliente è una persona fisica.
Trattasi di CIUS domestica valida per la fatturazione verso privati |
<cac:AccountingCustomerParty>
<cac:Party>
<cbc:EndpointID schemeID="0202">nome.cognome@pec-domain.it</cbc:EndpointID>
<cac:PostalAddress>
<cbc:StreetName>Via Riviera di Chiaia, 99A</cbc:StreetName>
<cbc:CityName>Napoli</cbc:CityName>
<cbc:PostalZone>80121</cbc:PostalZone>
<cac:AddressLine>
<cbc:Line> Informazioni Aggiuntive </cbc:Line>
</cac:AddressLine>
<cac:Country>
<cbc:IdentificationCode>IT</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>IT01234567890</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>Nome#Cognome:Mario#Rossi</cbc:RegistrationName>
<cbc:CompanyID schemeID="0210">RSSMRA00A01E123H</cbc:CompanyID>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:Telephone>06123456</cbc:Telephone>
<cbc:ElectronicMail>nome.cognome@pec-domain.it</cbc:ElectronicMail>
</cac:Contact>
</cac:Party>
</cac:AccountingCustomerParty>
<cbc:EndpointID schemeID="0205">0000000</cbc:EndpointID>
11.1.3. Beneficiario (PayeeParty)
Il Beneficiario del pagamento (o Beneficiario) è la persona fisica, la persona giuridica o l’organizzazione che ha diritto a ricevere il pagamento (es. società di factoring) ed è un’informazione facoltativa. Se questa informazione non è fornita, il Fornitore/Venditore è anche il Beneficiario del pagamento.
Per riflettere l’assegnazione di una Fattura ad un factor è necessario:
-
avere una dichiarazione di esclusione di responsabilità (avviso) sulla fattura che questa è stata assegnata ad un factor. La dichiarazione di esclusione di responsabilità dovrebbe essere fornita nella Invoice note (BT-22) a livello di testata.
-
identificare il Factor con il Beneficiario
-
modificare le coordinate bancarie a favore del Factor.
<cac:PayeeParty>
<cac:PartyName>
<cbc:Name>Banca XYZ SPA</cbc:Name>
</cac:PartyName>
</cac:PayeeParty>
Il campo cac:PartyIdentification/cbc:ID può essere inoltre usato per fornire le informazioni anagrafiche del Quietanzante indicando i dati FPA 2.4.2.9 NomeQuietanzante e FPA 2.4.2.8 CognomeQuietanzante concatenati con il simbolo "#".
11.1.4. Rappresentante Fiscale del Fornitore (TaxRepresentativeParty)
Il Rappresentante Fiscale è la persona fisica, la persona giuridica o l’organizzazione responsabile per la gestione corretta e la regolarizzazione dell’IVA per conto delle aziende, in linea con le normative locali.
Il Codice Fiscale può essere indicato nell’elemento cac:PartyIdentification/cbc:ID inserendo l’attributo @schemeID valorizzato con il codice "0210", come nell’esempio di seguito.
Il Codice EORI può essere indicato nell’elemento cac:PartyIdentification/cbc:ID omettendo l’attributo @schemeID ma includendo il prefisso "EORI:" come nell’esempio di seguito.
La Partita IVA deve essere indicata nel cac:PartyTaxScheme/cbc:CompanyID.
Il campo cac:PartyName/cbc:Name può essere usato per indicare il dato FPA 1.3.1.3.1 Denominazione. In caso di Rappresentante Fiscale del Fornitore persona fisica, lo stesso può essere usato per indicare i dati FPA 1.3.1.3.2 Nome e 1.3.1.3.3 Cognome preceduti dalla stringa "Nome#Cognome:" e concatenati dal simbolo "#".
<cac:TaxRepresentativeParty>
<cac:PartyIdentification>
<cbc:ID schemeID="0210">RSSMRA00A01E123H</cbc:ID>
</cac:PartyIdentification>
<cac:PartyIdentification>
<cbc:ID>EORI:12345678901</cbc:ID>
</cac:PartyIdentification>
<cac:PartyName>
<cbc:Name>Commercialista Snc</cbc:Name>
</cac:PartyName>
<cac:PostalAddress>
<cbc:StreetName>Corso di Francia</cbc:StreetName>
<cbc:AdditionalStreetName>Blocco 1</cbc:AdditionalStreetName>
<cbc:CityName>Roma</cbc:CityName>
<cbc:PostalZone>00197</cbc:PostalZone>
<cbc:CountrySubentity>RM</cbc:CountrySubentity>
<cac:AddressLine>
<cbc:Line>Informazioni Aggiuntive</cbc:Line>
</cac:AddressLine>
<cac:Country>
<cbc:IdentificationCode>IT</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>IT07643520567</cbc:CompanyID>
(1)
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
</cac:TaxRepresentativeParty>
1 | Gli identificatori per il VAT/IVA devono incudere il prefisso del codice paese |
11.1.5. Stabile Organizzazione del Fornitore (AccountingSupplierParty/AgentParty) - Estensione
In caso di Stabile Organizzazione in Italia del Cedente/Prestatore non residente, i dati della Stabile Organizzazione vanno indicati nella struttura cac:AgentParty.
<cac:AgentParty>
<cac:PostalAddress>
<cbc:StreetName>Corso Sempione, 1</cbc:StreetName>
<cbc:CityName>Milano</cbc:CityName>
<cbc:PostalZone>20100</cbc:PostalZone>
<cbc:CountrySubentity>MI</cbc:CountrySubentity>
<cac:Country>
<cbc:IdentificationCode>IT</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
</cac:AgentParty>
11.1.6. Terzo Intermediario o Soggetto Emittente del Fornitore (AccountingSupplierParty/ServiceProviderParty) - Estensione
Nel caso sia un soggetto terzo ad emettere fattura per conto del cedente / prestatore, si può specificare in fattura come parte dei dati del fornitore nell’elemento cac:ServiceProviderParty.
Nel caso in cui il soggetto terzo sia italiano, il Codice Fiscale deve essere espresso all’interno del Party nell’elemento PartyIdentification/ID inserendo l’attributo @schemeID valorizzato con il codice "0210", come nell’esempio di seguito.
<cac:ServiceProviderParty>
<cac:Party>
<cac:PartyIdentification>
<cbc:ID schemeID="0210">CXXNXX68M06E123H</cbc:ID>
</cac:PartyIdentification>
<cac:PartyName>
<cbc:Name>Terzo Intermediario Srl</cbc:Name>
</cac:PartyName>
<cac:PartyTaxScheme>
<cbc:CompanyID>IT07643520567</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
</cac:Party>
</cac:ServiceProviderParty>
Il Codice EORI può essere espresso nell’elemento cac:PartyIdentification/cbc:ID omettendo l’attributo @schemeID ma includendo il prefisso "EORI:" come nell’esempio di seguito.
<cac:PartyIdentification>
<cbc:ID>EORI:12345678901</cbc:ID>
</cac:PartyIdentification>
11.1.7. Rappresentante fiscale del Cliente (AccountingCustomerParty/PowerOfAttorney) - Estensione
Nella fatturazione tra privati (B2B, B2C, G2B e G2C), se il cessionario/committente si avvale di un rappresentante fiscale in Italia, si può specificare in fattura come parte dei dati del fornitore nell’elemento PowerOfAttorney, come procura per la rappresentanza fiscale.
<cac:PowerOfAttorney>
<cbc:Description>Rappresentante Fiscale</cbc:Description>
<cac:AgentParty>
<cac:PartyTaxScheme>
<cbc:CompanyID>IT07643520567</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>Rappresentante Fiscale Srl</cbc:RegistrationName>
</cac:PartyLegalEntity>
</cac:AgentParty>
</cac:PowerOfAttorney>
11.1.8. Stabile Organizzazione del Cliente (AccountingCustomerParty/AgentParty) - Estensione
In caso di Stabile Organizzazione in Italia del Cessionario/Committente non residente, i dati della Stabile Organizzazione vanno indicati nella struttura cac:AgentParty.
<cac:AgentParty>
<cac:PostalAddress>
<cbc:StreetName>Via Navigli, 100</cbc:StreetName>
<cbc:CityName>Milano</cbc:CityName>
<cbc:PostalZone>20100</cbc:PostalZone>
<cbc:CountrySubentity>MI</cbc:CountrySubentity>
<cac:Country>
<cbc:IdentificationCode>IT</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
</cac:AgentParty>
11.1.9. Vettore (Delivery/CarrierParty) - Estensione
Il Vettore è la persona giuridica o l’organizzazione che gestisce la consegna/trasporto fisico della spedizione. Utilizzato se il trasporto è effettuato da una terza parte.
Il Codice Fiscale può essere indicato nell’elemento cac:PartyIdentification/cbc:ID inserendo l’attributo @schemeID valorizzato con il codice "0210", come nell’esempio di seguito. La Partita IVA deve essere indicata nel cac:PartyTaxScheme/cbc:CompanyID.
<cac:CarrierParty>
<cac:PartyIdentification>
<cbc:ID schemeID="0210">CXXNXX68M06E123H</cbc:ID>
</cac:PartyIdentification>
<cac:PartyName>
<cbc:Name>Trasporti di Mario Rossi</cbc:Name>
</cac:PartyName>
<cac:PartyTaxScheme>
<cbc:CompanyID>IT12345678901</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:Person>
<cbc:FirstName>Mario</cbc:FirstName>
<cbc:FamilyName>Rossi</cbc:FamilyName>
<cac:IdentityDocumentReference>
<cbc:ID>MI1234567H</cbc:ID>
<cbc:DocumentTypeCode>40</cbc:DocumentTypeCode>
</cac:IdentityDocumentReference>
</cac:Person>
</cac:CarrierParty>
11.2. Informazioni di consegna e trasporto
Le informazioni di consegna possono essere fornite a livello di testata.
Luogo e data di consegna sono raccomandati e devono essere inviati a meno che le informazioni non pregiudichino la capacità di garantire la correttezza della fattura.
L’elemento 'cac:Delivery' contiene informazioni su nome, indirizzo e identificatore del luogo di consegna ('cac:Delivery/cac:DeliveryLocation/cbc:ID') che possono essere utilizzati se il luogo di consegna è definito attraverso un identificatore.
In italia, in seguito alle Regole Tecniche NSO, l’identificativo del luogo di consegna per le PA segue la codifica Punti di consegna.
Altri esempi dell’identificativo del luogo di consegna sono GLN (Global Location Number) oppure GSRN (Global Service Relationship Number) entrambi emessi da GS1.
Quando la fattura si riferisce ad un unico Documento di Trasporto, la data del DDT viene riportata nel cac:DespatchDocumentReference/cbc:IssueDate.
<cac:Delivery>
<cbc:ActualDeliveryDate>2017-11-01</cbc:ActualDeliveryDate>
<cac:DeliveryLocation>
<cbc:ID>CF-IdShipTo</cbc:ID>
<cac:Address>
<cbc:StreetName>Viale Viali,2 - PAD.01</cbc:StreetName>
<cbc:AdditionalStreetName>CENTRO LOG</cbc:AdditionalStreetName>
<cbc:CityName>Bologna</cbc:CityName>
<cbc:PostalZone>40100</cbc:PostalZone>
<cac:AddressLine>
<cbc:Line>C38</cbc:Line>
</cac:AddressLine>
<cac:Country>
<cbc:IdentificationCode>IT</cbc:IdentificationCode>
</cac:Country>
</cac:Address>
</cac:DeliveryLocation>
<cac:DeliveryParty>
<cac:PartyName>
<cbc:Name>Nome Acquirente</cbc:Name>
</cac:PartyName>
</cac:DeliveryParty>
</cac:Delivery>
11.3. Riferimenti
Il supporto per la verifica della fattura (riconciliazione) è una funzione chiave della fattura. La fattura deve fornire informazioni sufficienti per correlare, in modo pertinente, la documentazione esistente, elettronica o cartacea.
Qualsiasi elemento di riferimento dovrebbe contenere informazioni valide, se non si dispone di un riferimento, l’elemento non deve essere presente nel documento creato. |
Le transazioni su fatture e note di credito supportano i seguenti riferimenti alla documentazione esistente:
11.3.1. Ordine d’acquisto e riferimento all’ordine di vendita
L’ordine di acquisto è facoltativo. Se esiste un riferimento all’ordine bisogna utilizzarlo, altrimenti utilizzare il riferimento dell’acquirente (vedi Riferimento dell’acquirente (BuyerReference)).
Il cliente deve emettere un ordine caratterizzato da un identificativo univoco che deve essere fornito come ordine di riferimento nella fattura.
- A livello di testata
-
Se il riferimento dell’ordine è indicato a livello di testata, è possibile utilizzare l’elemento di riferimento all’ordine a livello di riga per specificare i numeri di riga dell’ordine.
Nella fattura è possibile fornire sia un ordine di acquisto che un riferimento all’ordine di vendita, ma tenendo presente che un’istanza della fattura non può avere un riferimento dell’ordine di vendita, senza il corrispondente riferimento dell’ordine di acquisto. |
<cac:OrderReference>
<cbc:ID>o-998877</cbc:ID>(1)
<cbc:SalesOrderID>so-12343</cbc:SalesOrderID>(2)
</cac:OrderReference>
1 | Riferimento all’ordine di acquisto |
2 | Riferimento all’ordine di vendita |
Se la fattura viene emessa nell’ambito di un processo di Ordinazione elettronica, occorre riportare il riferimento all’ordine ("tripletta") nel seguente modo:
-
Nel cac:OrderReference/cbc:ID (BT-13 Purchase order reference) riportare il solo identificativo dell’ordine, deve inoltre essere riportata la data dell’ordine nel cac:OrderReference/cbc:IssueDate:
<cac:OrderReference> <cbc:ID>110</cbc:ID> <cbc:IssueDate>2018-01-30</cbc:IssueDate> </cac:OrderReference>
-
Nel cbc:BuyerReference (BT-10 Buyer reference) riportare la Tripletta di identificazione completa separando i componenti (Id, data e Endpoint) con il carattere # senza interposizione di spazi, come nel seguente esempio:
<cbc:BuyerReference>110#2018-01-30#aaaaaa</cbc:BuyerReference>
Se invece la fattura viene emessa a fronte di un ordine analogico se ne può dare evidenza nel seguente modo:
<cbc:BuyerReference>#NO#</cbc:BuyerReference>
Se la fattura non è stata preceduta da un ordine occorre indicarlo nel seguente modo:
<cac:OrderReference>
<cbc:ID>#NO#</cbc:ID>
</cac:OrderReference>
Ove la fattura sia riferita a più ordini elettronici referenziati in riga, occorre indicarlo nel seguente modo:
<cac:OrderReference>
<cbc:ID>#MULTI#</cbc:ID>
</cac:OrderReference>
A livello di riga
Il riferimento ad un ordine sulle righe di fattura avviene utilizzando gli elementi cac:OrderLineReference e cac:DocumentReference.
Riferimento all’intero ordine sulla riga di fattura
Se la riga si riferisce genericamente all’ordine senza specificare la riga dell’ordine, si procede come da esempio:
<cac:OrderLineReference>
<cbc:LineID>NA</cbc:LineID>
<cac:OrderReference>
<cbc:ID>123</cbc:ID>
<cbc:IssueDate>2020-10-01</cbc:IssueDate>
</cac:OrderReference>
</cac:OrderLineReference>
Se la fattura viene messa nell’ambito di un processo di Ordinazione Semplice o Ordinazione Completa rilevante ai fini del sistema NSO, occorre riportare il riferimento all’ordine ("tripletta") nel seguente modo:
<cac:OrderLineReference>
<cbc:LineID>NA</cbc:LineID>
<cac:OrderReference>
<cbc:ID>123</cbc:ID>
<cbc:IssueDate>2020-10-01</cbc:IssueDate>
</cac:OrderReference>
</cac:OrderLineReference>
<cac:DocumentReference>
<cbc:ID schemeID="ON">123#2020-10-01#aaaaaa</cbc:ID>
<cbc:DocumentTypeCode>130</cbc:DocumentTypeCode>
</cac:DocumentReference>
Riferimento alla riga d’ordine sulla riga di fattura
Se la riga si riferisce specificamente ad una riga d’ordine, si procede con le seguenti modalità alternative:
<cac:OrderLineReference>
<cbc:LineID>3</cbc:LineID>
</cac:OrderLineReference>
<cac:OrderLineReference>
<cbc:LineID>4</cbc:LineID>
<cac:OrderReference>
<cbc:ID>123</cbc:ID>
<cbc:IssueDate>2020-10-01</cbc:IssueDate>
</cac:OrderReference>
</cac:OrderLineReference>
Se la fattura viene messa nell’ambito di un processo di Ordinazione Semplice o Ordinazione Completa rilevante ai fini del sistema NSO, occorre riportare il riferimento all’ordine ("tripletta") nel seguente modo:
<cac:OrderLineReference>
<cbc:LineID>4</cbc:LineID>
<cac:OrderReference>
<cbc:ID>123</cbc:ID>
<cbc:IssueDate>2020-10-01</cbc:IssueDate>
</cac:OrderReference>
</cac:OrderLineReference>
<cac:DocumentReference>
<cbc:ID schemeID="ON">123#2020-10-01#aaaaaa</cbc:ID>
<cbc:DocumentTypeCode>130</cbc:DocumentTypeCode>
</cac:DocumentReference>
11.3.2. Riferimento dell’acquirente (BuyerReference)
Il riferimento dell’acquirente è facoltativo. Una fattura deve avere il riferimento dell’acquirente o il riferimento dell’ordine (vedi Ordine d’acquisto e riferimento all’ordine di vendita).
L’elemento è utilizzato come riferimento per chi ha ordinato prodotti/servizi. L’esempio è dato dal nome della persona che ordina, il numero del dipendente o un codice che identifica questa persona o dipartimento/gruppo. Il loro riferimento viene spesso utilizzato per lo smistamento interno al beneficiario, quindi è importante valorizzare questo elemento con i valori corretti in base alle necessità del beneficiario.
Se la fattura viene messa nell’ambito di un processo di Ordinazione Semplice o Ordinazione Completa rilevante ai fini del sistema NSO, occorre riportare nel cbc:BuyerReference (BT-10 Buyer reference) la Tripletta di identificazione completa separando i componenti (Id, data e Endpoint) con il carattere # senza interposizione di spazi, come nel seguente esempio:
<cbc:BuyerReference>110#2018-01-30#aaaaaa</cbc:BuyerReference>
Se la fornitura promana da un processo di ordinazione tradizionale (ad esempio, via lettera, fax, ecc.), ovvero non gestito tramite NSO, per dare maggior evidenza a tale circostanza si può indicare il testo "#NO#" nel cbc:BuyerReference (BT-10 Buyer reference).
11.3.3. Identificativo dell’oggetto fatturato
L’identificatore dell’oggetto fatturato è un identificatore per un oggetto principale sul quale la fattura si basa, fornito dal venditore. Esempi possono essere un numero di iscrizione, un numero di telefono, un contatore, un veicolo, una persona ecc., a seconda dei casi.
Se al destinatario non è chiaro su quale schema si basa l’identificatore deve essere utilizzato l’identificatore di schema fra quelli disponibili in Schema per gli identificatori di un oggetto fatturato.
Il riferimento all’oggetto fatturato viene fornito utilizzando l’elemento cac:AdditionalDocumentReference
con il codice tipo documento = 130
<cac:AdditionalDocumentReference>
<cbc:ID schemeID="ABT">DR35141</cbc:ID>(1)
<cbc:DocumentTypeCode>130</cbc:DocumentTypeCode>(2)
</cac:AdditionalDocumentReference>
1 | Identificatore dello schema dalla UN/CEFACT 1153 code list |
2 | Il codice tipo documento deve essere ´130´ per indicare un oggetto fatturato |
11.3.4. Riferimento al Contratto
Per fare riferimento o riconciliare una fattura a un contratto di acquisto, il numero di contratto potrebbe essere specificato come segue:
<cac:ContractDocumentReference>
<cbc:ID>Contratto321</cbc:ID>
</cac:ContractDocumentReference>
Per riferirsi a più contratti dalle righe di fattura è necessario utilizzare cac:DocumentReference con il codice tipo documento = 130.
<cac:DocumentReference>
<cbc:ID schemeID="CT">Contratto321</cbc:ID>
<cbc:DocumentTypeCode>130</cbc:DocumentTypeCode>
</cac:DocumentReference>
11.3.5. Riferimenti all’avviso di consegna (DDT) e ricezione
Per fare riferimento o riconciliare una fattura al DDT o all’avviso di ricezione utilizzare i seguenti elementi:
<cac:DespatchDocumentReference>
<cbc:ID>despadv-3</cbc:ID>(1)
</cac:DespatchDocumentReference>
<cac:ReceiptDocumentReference>
<cbc:ID>resadv-1</cbc:ID>(2)
</cac:ReceiptDocumentReference>
1 | Avviso di consegna (DDT) |
2 | Avviso di ricezione |
11.3.6. Riferimento alla Gara (CIG)
Per identificare il bando di gara o il lotto al quale la fattura si riferisce, utilizzare il 'OriginatorDocumentReference'. L’identificatore è il Codice Identificativo Gara (CIG).
L’indicazione del codice CIG è obbligatoria nei contesti in cui questo è richiesto, ed è necessario al fine dei processi di verifica, riconciliazione e approvazione al pagamento delle fatture.
<cac:OriginatorDocumentReference>
<cbc:ID>ppid-123</cbc:ID>
</cac:OriginatorDocumentReference>
Per riferirsi a più CIG dalle righe di fattura è necessario utilizzare cac:DocumentReference con il codice tipo documento = 130.
<cac:DocumentReference>
<cbc:ID schemeID="AGB">90305884F7</cbc:ID>
<cbc:DocumentTypeCode>130</cbc:DocumentTypeCode>
</cac:DocumentReference>
11.3.7. Riferimento al progetto (CUP)
Il riferimento al progetto è opzionale e viene inviato nella fattura nell’elemento cac:ProjectReference/cbc:ID
.
L’indicazione del Codice Unico di Progetto (CUP) è obbligatoria nei contesti in cui questo è richiesto, ed è necessario al fine dei processi di verifica, riconciliazione e approvazione al pagamento delle fatture.
In una nota di credito, questo elemento non esiste, il riferimento al progetto viene quindi inviato utilizzando l’elemento cac:AdditionalDocumentReference[cbc:DocumentTypeCode='50']/cbc:ID
.
Quando si invia il riferimento al progetto, solo il cbc:ID e il cbc:DocumentTypeCode sono permessi all’interno dell’elemento cac:AdditionalDocumentReference .
|
<cac:ProjectReference>
<cbc:ID>project333</cbc:ID>
</cac:ProjectReference>
<cac:AdditionalDocumentReference>
<cbc:ID>p-2347234</cbc:ID>(2)
<cbc:DocumentTypeCode>50</cbc:DocumentTypeCode>(1)
</cac:AdditionalDocumentReference>
1 | Il codice 50 indica che questo è il riferimento ad un progetto |
2 | L’identificatore del riferimento al progetto |
Per riferirsi a più progetti (CUP) dalle righe di fattura è necessario utilizzare cac:DocumentReference con il codice tipo documento = 130.
<cac:DocumentReference>
<cbc:ID schemeID="AEP">project333</cbc:ID>
<cbc:DocumentTypeCode>130</cbc:DocumentTypeCode>
</cac:DocumentReference>
11.3.8. Riferimento alla Fattura Principale (estensione)
Nei casi di fatture per operazioni accessorie, emesse dagli 'autotrasportatori' per usufruire delle agevolazioni in materia di registrazione e pagamento dell’IVA, è possibile riferirsi alla fattura principale relativa al trasporto di beni per certificare le operazioni accessorie.
<cac:BillingReference>
<cac:InvoiceDocumentReference>
<cbc:ID>ft123</cbc:ID>
<cbc:IssueDate>2020-09-15</cbc:IssueDate>
</cac:InvoiceDocumentReference>
<cac:AdditionalDocumentReference>
<cbc:ID>ft001</cbc:ID>
<cbc:IssueDate>2020-09-15</cbc:IssueDate>
</cac:AdditionalDocumentReference>
</cac:BillingReference>
11.3.9. Riepilogo riferimenti ad altri documenti
Riferimento | Descrizione | Campo Fattura PA | Dove usarlo |
---|---|---|---|
ORDINE |
Ordine cartaceo o elettronico |
2.1.2.2 IdDocumento |
In testata si usa A livello di riga |
CONTRATTO |
Estremi Contratto |
2.1.3.2 IdDocumento |
In testata si usa A livello di riga |
DDT |
Documento di Trasporto |
2.1.8.1 NumeroDDT |
In testata si usa A livello di riga |
CIG |
Codice Identificativo Gara |
2.1.3.7 CodiceCIG |
In testata si usa A livello di riga |
CUP |
Codice Unico di Progetto |
2.1.3.6 CodiceCUP |
In testata si usa A livello di riga |
CONVENZIONE |
Estremi Convenzione |
2.1.4.2 IdDocumento |
In testata si usa A livello di riga |
Dati SAL |
Riferimento alla fase di un SAL |
2.1.7.1 RiferimentoFase |
In testata si usa |
11.3.10. Allegati
L’elemento per memorizzare le informazioni degli allegati (AdditionalDocumentReference) può essere ripetuto diverse volte, permettendo quindi di avere molteplici allegati.
Gli allegati possono essere utilizzati per fornire informazioni aggiuntive a supporto della richiesta di pagamento che la fattura rappresenta. Informazioni aggiuntive possono essere fogli presenze, ricevute, biglietti aerei, ecc.
Lo scopo dell’allegato non è quello di trasferire la versione pdf della fattura. |
Gli allegati possono essere grafici e immagini. Essi potrebbero essere inviati come oggetti binari o come indirizzo esterno alla posizione dove l’oggetto è memorizzato (URI). Gli allegati inviati come oggetti binari dovrebbero essere limitati alle tipologie MIME specificati nella codifica di riferimento IANA.
Si raccomanda l’invio di informazioni aggiuntive incluse nel formato del messaggio e non come indirizzi esterni (URI), in quanto molte aziende sono limitate nell’accesso a link esterni.
<cac:AdditionalDocumentReference>
<cbc:ID>Doc1</cbc:ID>
<cbc:DocumentDescription>Foglio presenze</cbc:DocumentDescription>
<cac:Attachment>
<cac:ExternalReference>
<cbc:URI>http(s)://www.fornitore.eu/foglio001.html</cbc:URI>
</cac:ExternalReference>
</cac:Attachment>
</cac:AdditionalDocumentReference>
<cac:AdditionalDocumentReference>
<cbc:ID>Doc2</cbc:ID>
<cbc:DocumentDescription>Disegno</cbc:DocumentDescription>
<cac:Attachment>
<cbc:EmbeddedDocumentBinaryObject mimeCode="application/pdf" filename="disegno.pdf">UjBsR09EbGhjZ0dTQUxNQUFBUUNBRU1tQ1p0dU1GUXhEUzhi
</cbc:EmbeddedDocumentBinaryObject>
</cac:Attachment>
</cac:AdditionalDocumentReference>
<cac:AdditionalDocumentReference>
<cbc:ID>Doc3</cbc:ID>
<cbc:DocumentDescription>UBL-PackingList</cbc:DocumentDescription>
<cac:Attachment>
<cbc:EmbeddedDocumentBinaryObject mimeCode="text/xml" filename="UBL-PackingList.xml">UjBsR09EbGhjZ0dTQUxNQUFBUUNBRU1tQ1p0dU1GUXhEUzhi
</cbc:EmbeddedDocumentBinaryObject>
</cac:Attachment>
</cac:AdditionalDocumentReference>
11.4. Riferimento a fatture precedenti
Una nota di credito o fattura negativa può fare riferimento ad una o più fatture precedenti. Questo è possibile nel gruppo informativo BG-3 Preceding invoice reference, fornendo il numero e la data fattura. La data fattura deve essere fornita nel caso in cui il numero di fattura precedente in riferimento non sia univoco.
Nel caso in cui la correzione si applichi a più fatture può, in alternativa, essere fornito in testata il periodo di fatturazione (BG-14) combinato opportunamente ad una nota esplicativa (BT-22).
<cac:BillingReference>
<cac:InvoiceDocumentReference>
<cbc:ID>123</cbc:ID>(1)
<cbc:IssueDate>2017-10-20</cbc:IssueDate>(2)
</cac:InvoiceDocumentReference>
</cac:BillingReference>
<cac:BillingReference>(3)
<cac:InvoiceDocumentReference>
<cbc:ID>124</cbc:ID>
</cac:InvoiceDocumentReference>
</cac:BillingReference>
1 | L’identificatore è obbligatorio se viene incluso il cac:BillingReference |
2 | La data di emissione deve essere compilata se il riferimento alla fattura non è univoco |
3 | Ripete il cac:BillingReference per aggiungere diversi riferimenti a fatture precedenti |
11.5. Sconti e maggiorazioni
L’elemento cac:AllowanceCharge
con il sotto elemento cbc:ChargeIndicator
indica se siamo in presenza di una maggiorazione (true) o di uno sconto (false).
Gli elementi informativi relativi agli sconti e maggiorazioni si trovano in tre livelli.
- A livello di testata
-
Applicati a tutta la fattura e inclusi nel totale documento.
-
Possono essere indicati diversi sconti e maggiorazioni.
-
L’IVA relativa a sconti e maggiorazioni deve essere specificata attraverso l’elemento
cac:TaxCategory
e i suoi sotto elementi. -
La somma di tutti gli sconti e maggiorazioni a livello di testata deve essere specificata rispettivamente in
cbc:AllowanceTotalAmount
ecbc:ChargeTotalAmount
. Vedi Formule di calcolo per la sintassi UBL
-
Per la fatturazione verso soggetti italiani la sezione è utilizzata solo per Bollo (vedi paragrafo 4.9) e Rivalsa Cassa Previdenziale (vedi paragrafo 4.8). |
Sconti e maggiorazioni che non incidono sull’imponibile.
-
Espressi mediante estensione UBL.
-
Possono essere indicati diversi sconti e maggiorazioni.
-
Non modificano nè l’imponibile, nè l’IVA.
La somma algebrica delle maggiorazioni (con segno meno) e degli sconti (con segno più) va ricompresa nel valore inserito in cbc:PrepaidAmount. Si evidenzia che il cbc:PrepaidAmount non è supportato in FatturaPA ma viene utilizzato per valorizzare correttamente il dato cbc:PayableAmount (BT-115 Amount due for payment) che è obbligatorio per la EN 16931. |
<ext:UBLExtension>
<ext:ExtensionURI>urn:fdc:agid.gov.it:fatturapa:ScontoMaggiorazione</ext:ExtensionURI>
<ext:ExtensionContent>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">100</cbc:Amount>
</cac:AllowanceCharge>
</ext:ExtensionContent>
</ext:UBLExtension>
- A livello di riga
-
Il livello di riga si applica alle sole righe ed è incluso nel calcolo dell’importo di riga.
-
Possono essere indicati diversi sconti e maggiorazioni.
-
L’IVA relativa a sconti e maggiorazioni non deve essere specificata, in quanto la categoria IVA fornita sulla stessa riga fattura si applica anche agli sconti/maggiorazioni della riga.
-
Quando si calcola il totale della riga fattura bisogna tenere conto della somma di tutti gli sconti e maggiorazioni sulla stessa riga e sottraendola o sommandola opportunamente. Questi sconti e maggiorazioni a livello di riga non devono essere calcolati a livello di testata.
-
Per la fatturazione verso soggetti italiani la sezione sconto/maggiorazione a livello di riga non è utilizzata. |
- All’interno del prezzo
-
Le informazioni sugli sconti e maggiorazioni a questo livello possono essere fornite per informare l’acquirente su come è composto il prezzo. E’ inoltre importante nel caso in cui il fornitore o l’acquirente desiderino importare le informazioni sugli sconti e maggiorazioni nel loro sistema contabile.
-
Il prezzo netto (cbc:PriceAmount) deve essere sempre espresso
-
Il prezzo lordo (cbc:BaseAmount) deve essere sempre espresso.
-
Il segmento cac:AllowanceCharge deve essere sempre espresso
-
L’elemento cbc:ChargeIndicator deve essere sempre espresso e valorizzato con "false".
-
Per indicare uno sconto, fornire un importo positivo nel cac:AllowanceCharge/cbc:Amount.
Per indicare una maggiorazione, fornire un importo negativo nel cac:AllowanceCharge/cbc:Amount.
Se nessuno Sconto/Maggiorazione è applicato all’articolo, valorizzare cac:AllowanceCharge/cbc:Amount con "0". -
Solo un’occorrenza dello sconto è permessa.
-
Non sono ammessi sconti/maggiorazioni in percentuale.
-
L’IVA relativa a sconti/maggiorazioni non deve essere specificata.
-
Gli sconti e le maggiorazioni relativi al prezzo non dovranno essere parte di qualsiasi altro calcolo.
-
Dettagli ulteriori sul calcolo degli sconti/maggiorazioni sono disponibili presso Calcolo dell’importo degli sconti/maggiorazioni
<cac:InvoiceLine>
<!-- ... -->
<cac:Price>
<cbc:PriceAmount currencyID="EUR">5.00</cbc:PriceAmount>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">1.00</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">6.00</cbc:BaseAmount>
</cac:AllowanceCharge>
</cac:Price>
</cac:InvoiceLine>
11.6. Valuta della contabilità IVA
L’articolo 230 della Directive 2006/112/EC recita:
Gli importi che figurano sulla fattura possono essere espressi in qualsiasi valuta, a condizione che l’importo dovuto dell’IVA sia espresso nella valuta nazionale dello Stato membro in cui avviene la cessione di beni o servizi, utilizzando il meccanismo di conversione di cui all’articolo 91.
Se la valuta della fattura è differente da quella nazionale, questa viene espressa nella fattura indicando la valuta nazionale nell’elemento VAT accounting currency (BT-6) e l’importo dell’IVA pagabile nella valuta nazionale è indicato nell’elemento importo totale IVA della fattura (BT-111) nella valuta della contabilità IVA. Il tasso di cambio da utilizzare per il calcolo è descritto all’articolo 91 della Directive 2006/112/EC. Il tasso di cambio non è specificato nell’istanza della fattura e quindi questo calcolo non viene validato.
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
(1)
<cbc:TaxCurrencyCode>SEK</cbc:TaxCurrencyCode>
(2)
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">1000.00</cbc:TaxAmount>
(3)
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">4000.0</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">1000</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>25</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="SEK">100017.50</cbc:TaxAmount>
(4)
</cac:TaxTotal>
1 | Valuta della fattura |
2 | Valuta nazionale |
3 | Importo IVA nella valuta della fattura |
4 | Importo IVA nella valuta nazionale |
11.7. Informazioni sulle modalità di pagamento
11.7.1. Bonifico
Se il pagamento viene effettuato mediante bonifico, l’elemento Payment account identifier (BT-84) è obbligatorio
Vedi Termini di pagamento type code per tutti i codici ammessi. Esempi di codici per i pagamenti con bonifico sono:
-
30 - Bonifico
-
56 - Giroconto bancario
<cac:PaymentMeans>
<cbc:PaymentMeansCode name="Credit transfer">30</cbc:PaymentMeansCode>(1)
<cbc:PaymentID>93274234</cbc:PaymentID>(2)
<cac:PayeeFinancialAccount>
<cbc:ID>32423940</cbc:ID>(3)
<cbc:Name>AccountName</cbc:Name>
<cac:FinancialInstitutionBranch>
<cbc:ID>BIC32409</cbc:ID>(4)
</cac:FinancialInstitutionBranch>
</cac:PayeeFinancialAccount>
</cac:PaymentMeans>
1 | Obbligatorio, codice modalità di pagamento per il bonifico |
2 | Informazioni di rimessa pagamento |
3 | Obbligatorio, un numero di conto nazionale (BBAN) |
4 | BIC o codice identificativo bancario nazionale (National Clearing Code o NCC, ABI) |
<cac:PaymentMeans>
<cbc:PaymentMeansCode name="SEPA Credit transfer">58</cbc:PaymentMeansCode>(1)
<cbc:PaymentID>F20150000021003</cbc:PaymentID>(2)
<cac:PayeeFinancialAccount>
<cbc:ID>IT71R1068102800000100693977</cbc:ID>(3)
<cbc:Name>Mario Rossi</cbc:Name>
<cac:FinancialInstitutionBranch>
<cbc:ID>XXXXITX0</cbc:ID>(4)
</cac:FinancialInstitutionBranch>
</cac:PayeeFinancialAccount>
</cac:PaymentMeans>
1 | Obbligatorio, codice modalità di pagamento per il bonifico SEPA |
2 | Informazioni di rimessa pagamento |
3 | Obbligatorio, IBAN |
4 | BIC |
11.7.2. Pagamento con carta
Se l’Acquirente ha scelto di pagare mediante una carta di pagamento come ad esempio una carta di credito o di debito, le informazioni relative al Primary Account Number (PAN) dovranno essere presenti in fattura.
Vedi Termini di pagamento type code per tutti i codici ammessi. Esempi di codici per i pagamenti con carta sono:
-
48 - Bancomat
-
54 - Carta di credito (es. VISA, Mastercard, …)
-
55 - Carta di debito (es. VISA Electron)
<cac:PaymentMeans>
<cbc:PaymentMeansCode name="Credit card">54</cbc:PaymentMeansCode>(1)
<cbc:PaymentID>9387439</cbc:PaymentID>
<cac:CardAccount>
<cbc:PrimaryAccountNumberID>123236</cbc:PrimaryAccountNumberID>(2)
<cbc:NetworkID>VISA</cbc:NetworkID>(3)
<cbc:HolderName>Card holders name</cbc:HolderName>(4)
</cac:CardAccount>
</cac:PaymentMeans>
1 | Codice modalità pagamento per la carta di credito |
2 | Obbligatorio, deve coincidere con le ultime 4 o 6 cifre dal numero di carta di pagamanto |
3 | Obbligatorio, utilizzato per identificare il fornitore di servizi del circuito finanziario della carta. Esempi sono VISA, MasterCard, American Express. |
4 | Nome dell’intestatario della carta |
11.7.3. Addebito diretto
Vedi Termini di pagamento type code per tutti i codici ammessi. Esempi di codici per l’addebito diretto sono:
-
49 - Addebito diretto
-
59 - Addebito diretto SEPA (SEPA direct debit o SDD)
<cac:AccountingSupplierParty>
<cac:Party>
<cbc:EndpointID schemeID="0088">7300010000001</cbc:EndpointID>
<cac:PartyIdentification>
<cbc:ID>99887766</cbc:ID>
</cac:PartyIdentification>
<cac:PartyIdentification>
<cbc:ID schemeID="SEPA">23123687</cbc:ID>(1)
</cac:PartyIdentification>
<!-- omitted code for clarity -->
<cac:PaymentMeans>
<cbc:PaymentMeansCode name="SEPA direct debit">59</cbc:PaymentMeansCode>(2)
<cbc:PaymentID>payref2</cbc:PaymentID>(3)
<cac:PaymentMandate>
<cbc:ID>123456</cbc:ID>(4)
<cac:PayerFinancialAccount>
<cbc:ID>DK12328462834823</cbc:ID>
</cac:PayerFinancialAccount>
</cac:PaymentMandate>
</cac:PaymentMeans>
1 | Identificativo di riferimento bancario univoco del Venditore o Pagatore, lo schemeID deve essere valorizzato con "SEPA" |
2 | Codice modalità di pagamento |
3 | Informazioni di rimessa pagamento |
4 | Indentificativo di riferimento al mandato di pagamento |
11.7.4. Pagamento tramite bollettino di conto corrente postale
Vedi Termini di pagamento type code per tutti i codici ammessi. Esempi di codici per il postagiro o giroconto sono:
-
50 - Giroconto postale (Postagiro o bollettino postale)
<cac:PaymentMeans>
<cbc:PaymentMeansCode name="Postgiro">50</cbc:PaymentMeansCode>(1)
<cbc:PaymentID>PgPaymRef-345</cbc:PaymentID>(2)
<cac:PayeeFinancialAccount>
<cbc:ID>98765432</cbc:ID>(3)
</cac:PayeeFinancialAccount>
</cac:PaymentMeans>
1 | Codice modalità di pagamento |
2 | Informazioni di rimessa pagamento |
3 | Numero di conto locale del postagiro |
11.7.5. Pagamento mediante contante
Vedi Termini di pagamento type code per tutti i codici ammessi. Esempio di codice per il pagamento in contante:
-
10 - Contante
<cac:PaymentMeans>
<cbc:PaymentMeansCode name="Pagamento contante">10</cbc:PaymentMeansCode>(1)
</cac:PaymentMeans>
1 | Codice modalità pagamento per il contante |
Se il venditore non dà indicazioni su come regolarizzare il pagamento della fattura, esiste solitamente un contratto che lo regola.
Indicando il codice 1, l’acquirente non viene informato sulle modalità di pagamento della fattura e può essere indicata solo una data di pagamento.
<cac:PaymentMeans>
<cbc:PaymentMeansCode>1</cbc:PaymentMeansCode>(1)
</cac:PaymentMeans>
1 | Codice modalità pagamento non specificata |
11.7.6. Pagamento mediante PagoPA (CIUS domestica)
Il codice 9 (National or regional clearing) viene mappato con MP23 – PagoPA:
-
9 - PagoPA
Il codice IUV va inserito nel cbc:PaymentID.
<cac:PaymentMeans>
<cbc:PaymentMeansCode name="PagoPA">9</cbc:PaymentMeansCode>
<cbc:PaymentID>302000000000001404<cbc:PaymentID>
</cac:PaymentMeans>
11.8. Intrastat
Quando gli stati membri EU acquistano da altri stati membri EU, i commercianti solitamente richiedono che alcune informazioni statistiche siano specificate in fattura, normalmente un codice di classificazione come la Nomenclatura Combinata.
Si raccomanda, a questo scopo, l’uso dell’elemento Item classification identifier (BT-158), con il codice "HS" come identificatore della lista.
<cac:CommodityClassification>
<cbc:ItemClassificationCode listID="HS">080110</cbc:ItemClassificationCode>
</cac:CommodityClassification>
11.9. Informazioni sull’articolo (Item)
11.9.1. Identificatore dell’articolo
In una riga di fattura possono essere specificati l’identificativo attribuito all’articolo dal venditore (seller item identifier), quello dell’acquirente (buyer item identifier) e l’identificativo standard dell’articolo (standard item identifier). Per gli identificativi attribuiti all’articolo dal venditore o dall’acquirente, non viene usato l’attributo dello schema relativo, mentre è obbligatorio l’uso dello schemeID
per gli identificatori standard dell’articolo, e deve essere fra gli schemi della codifica ISO 6523 ICD.
<cac:Item>
<!-- Codice omesso per chiarezza -->
<cac:BuyersItemIdentification>
<cbc:ID>b-13214</cbc:ID>
</cac:BuyersItemIdentification>
<cac:SellersItemIdentification>
<cbc:ID>97iugug876</cbc:ID>
</cac:SellersItemIdentification>
<cac:StandardItemIdentification>
<cbc:ID schemeID="0160">97iugug876</cbc:ID> (1)
</cac:StandardItemIdentification>
<!-- Codice omesso per chiarezza -->
1 | 0160 è il valore ICD per l’identificatore GTIN |
In coerenza con quanto previsto per l’ordine, la gestione dell’AICFarmaco è operata a mezzo del cac:SellersItemIdentification/cbc:ID (BT-155 Item Seller’s Identifier) in cui viene inserito il codice AICFarmaco stesso preceduto dalla stringa “AICFARMACO:”.
Trattasi di CIUS domestica (DC) |
<cac:SellersItemIdentification>
<cbc:ID>AICFARMACO:025829211</cbc:ID>
</cac:SellersItemIdentification>
La gestione del tipo carburante è operata a mezzo del cac:SellersItemIdentification/cbc:ID (BT-155 Item Seller’s Identifier) in cui viene inserito il valore della tabella di riferimento per i prodotti energetici TA13 – pubblicata sul sito dell’Agenzia delle Dogane preceduto dalla stringa “CARB:”.
Trattasi di CIUS domestica (DC) |
<cac:SellersItemIdentification>
<cbc:ID>CARB:27101249</cbc:ID>
</cac:SellersItemIdentification>
11.9.2. Classificazione dell’articolo
Sulla riga di fattura possono essere forniti diversi codici di classificazione per l’attributo e questi devono essere fra gli schemi di classificazione della codifica UNCL7143.
<cac:CommodityClassification>
<cbc:ItemClassificationCode listID="STI">09348023</cbc:ItemClassificationCode> (1)
</cac:CommodityClassification>
1 | Il listID deve essere fra quelli della codifica UNCL7143 e il codice STI indica che questo è una classificazione CPV. |
<cac:CommodityClassification>
<cbc:ItemClassificationCode listID="TST" listVersionID="19.05.01">86776</cbc:ItemClassificationCode>(1)
</cac:CommodityClassification>
1 | Il listID deve essere fra quelli della codifica UNCL7143 e il codice TST indica che questo è una classificazione UNSPSC, mentre il listVersionID è opzionale, ma può essere usato per specificare la versione di UNSPSC. Notare che nelle versioni precedenti il codice MP era usato come soluzione temporanea per identificare UNSPSC. Nella fall release 2019 è stato sostituito con il nuovo codice TST 7143 che è specifico per UNSPSC. |
<cac:Item>
<cbc:Description>Dispositivo Medico</cbc:Description>
<cbc:Name>Prodotto 1143668 DEFIBRILLATORE SEMIAUTOMATICO LIFEPAK 1000</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>1143668</cbc:ID> (1)
</cac:SellersItemIdentification>
<cac:CommodityClassification>
<cbc:ItemClassificationCode listID="ZZZ">DM1:918674</cbc:ItemClassificationCode> (2)
</cac:CommodityClassification>
<cac:CommodityClassification>
<cbc:ItemClassificationCode listID="STO">Z12030501</cbc:ItemClassificationCode> (3)
</cac:CommodityClassification>
[…]
</cac:Item>
1 | Codice del dispositivo medico attribuito dal Fornitore; |
2 | Il listID deve essere fra quelli della codifica UNCL7143, il codice ZZZ può essere utilizzato per indicare il numero di repertorio attribuito al dispositivo medico nella Banca Dati e Repertorio (BDR) dei Dispositivi Medici del Ministero della Salute. Il numero dovrà essere preceduto dalla seguente stringa:
|
3 | Il listID deve essere fra quelli della codifica UNCL7143 e il codice STO indica il codice attribuito al dispositivo medico dalla Classificazione Nazionale dei Dispositivi Medici (CND). |
11.9.3. Tipo cessione prestazione
La gestione del tipo cessione prestazione è operata a mezzo dell’utilizzo di:
-
cac:AdditionalItemProperty/cbc:Name (BT-160 Item attribute name), inserendo la stringa TipoCessionePrestazione;
-
cac:AdditionalItemProperty/cbc:Value (BT-161 Item attribute value) inserendo il valore ammesso da FatturaPA: [SC] sconto, [PR] premio, [AB] abbuono, [AC] spesa accessoria.
<cac:InvoiceLine>
<!-- ... -->
<cac:Item>
<!-- ... -->
<cac:AdditionalItemProperty>
<cbc:Name>TipoCessionePrestazione</cbc:Name>
<cbc:Value>AB</cbc:Value>
</cac:AdditionalItemProperty>
</cac:Item>
</cac:InvoiceLine>
11.10. Informazioni del prezzo
Una fattura deve contenere le informazioni sul prezzo netto dell’articolo e ulteriori informazioni come il prezzo lordo, la quantità base e lo sconto del prezzo possono essere aggiunti.
Per i dettagli sul calcolo del prezzo si veda Prezzo netto dell’articolo (BT-146).
<cac:Price>
<cbc:PriceAmount currencyID="EUR">410</cbc:PriceAmount>(4)
<cbc:BaseQuantity unitCode="XBX">1</cbc:BaseQuantity>(3)
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">40</cbc:Amount>(2)
<cbc:BaseAmount currencyID="EUR">450</cbc:BaseAmount>(1)
</cac:AllowanceCharge>
</cac:Price>
1 | Prezzo lordo dell’articolo |
2 | Sconto sul prezzo dell’articolo |
3 | Quantità base per il prezzo dell’articolo |
4 | Il prezzo netto dell’articolo deve essere uguale al prezzo lordo (Item Gross price) - lo sconto sul prezzo (item price discount), se questi sono utilizzati. |
<cac:Price>
<cbc:PriceAmount currencyID="EUR">200.00</cbc:PriceAmount>
<cbc:BaseQuantity unitCode="C62">2</cbc:BaseQuantity>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">0.00</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">100.00</cbc:BaseAmount>
</cac:AllowanceCharge>
</cac:Price>
11.11. Unità di misura
L’unità di misura in una fattura prevede l’utilizzo delle codifiche presenti in UNECE Recommendation No. 20 (version 11e), unitamente alle codifiche riportate in UNECE Recommendation No. 21 con il prefisso X. Si consiglia di consultare Unità di misura per ulteriori dettagli riferiti alle codifiche di riferimento.
Codice | Nome |
---|---|
H87 |
Pezzo |
KGM |
Kilogrammo |
MTR |
Metro |
LTR |
Litro |
MTK |
Metro quadrato |
MTQ |
Metro cubo |
KTM |
Kilometro |
TNE |
Tonnelata |
KWH |
Kilowattora |
DAY |
Giorno |
HUR |
Ora |
MIN |
Minuto |
Code | Name |
---|---|
XBG |
Sacca |
XBX |
Scatola |
XCT |
Cartone |
XCY |
Cilindro |
XBA |
Barile |
XPK |
Confezione |
XPX |
Pallet |
XRL |
Bobina |
XSA |
Sacco |
XST |
Foglio |
<cbc:InvoicedQuantity unitCode="H87">10</cbc:InvoicedQuantity>(1)
<cbc:InvoicedQuantity unitCode="XPX">10</cbc:InvoicedQuantity>(2)
<cbc:InvoicedQuantity unitCode="H87">10</cbc:InvoicedQuantity>(1)
1 | Codice H87 dalla Recommendation no. 20 |
2 | Codice PX, contrassegnato con X nella Recommendation no. 21 |
11.12. Tipo documento (estensione)
In aggiunta al tipo di fattura indicato nell’InvoiceTypeCode (es. 380 - fattura commerciale), il tipo documento indica in modo più preciso la tipologia di fattura, come ad esempio le fatture differite, le autofatture, ecc., secondo la normativa italiana.
Se il tipo documento non viene specificato, si intende la fattura commerciale (TD01).
<ext:UBLExtension>
<ext:ExtensionURI>urn:fdc:agid.gov.it:fatturapa:TipoDocumento</ext:ExtensionURI>
<ext:ExtensionContent>
<cbc:TypeCode>TD22</cbc:TypeCode>
</ext:ExtensionContent>
</ext:UBLExtension>
11.13. Regime Fiscale (estensione)
Il regime fiscale indica il regime contabile associato al fornitore e pertanto le agevolazioni o semplificazioni a cui è soggetto.
Se il regime fiscale non viene specificato, si intende il regime ordinario (RF01).
<cac:AccountingSupplierParty>
<cac:Party>
...
<cac:PartyTaxScheme>
<cbc:CompanyID>IT07643520567</cbc:CompanyID>
<cbc:TaxLevelCode>RF19</cbc:TaxLevelCode>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
...
</cac:Party>
</cac:AccountingSupplierParty>
11.14. Termini di pagamento
Per la fatturazione cross-border il campo Note ha valore fisso e pari a TP02.
<cac:PaymentTerms>
<cbc:Note>TP02</cbc:Note>
</cac:PaymentTerms>
11.14.1. Termini e condizioni di pagamento (CIUS domestica)
Il campo cac:PaymentTerms/cbc:Note deve essere usato solo per indicare il dato FPA 2.4.1 CondizioniPagamento e FPA 2.4.2.4 GiorniTerminiPagamento, concatenati con il simbolo "#".
<cac:PaymentTerms>
<cbc:Note>TP02#60</cbc:Note>
</cac:PaymentTerms>
11.14.2. Pagamento Anticipato (estensione)
A fronte di un pagamento anticipato è possibile offrire uno sconto specificandone l’importo e la data limite entro il quale il pagamento deve essere perfezionato.
<cac:PaymentTerms>
<cbc:Note>TP02#60</cbc:Note>
<cbc:SettlementDiscountAmount currencyID="EUR">100.00</cbc:SettlementDiscountAmount>
<cac:SettlementPeriod>
<cbc:EndDate>2020-10-31</cbc:EndDate>
</cac:SettlementPeriod>
</cac:PaymentTerms>
11.14.3. Pagamento Ritardato (estensione)
A fronte di un pagamento ritardato è possibile fissare una penalità specificandone l’importo dovuto e la data di decorrenza della penale.
<cac:PaymentTerms>
<cbc:Note>TP02#60</cbc:Note>
<cbc:PenaltyAmount currencyID="EUR">100.00</cbc:PenaltyAmount>
<cac:PenaltyPeriod>
<cbc:StartDate>2020-10-01</cbc:StartDate>
</cac:PenaltyPeriod>
</cac:PaymentTerms>
11.15. Arrotondamento imponibile IVA nel riepilogo (estensione)
Eventuali arrotondamenti necessari a riportare al centesimo di euro le somme dei dati di dettaglio (imponibile) nel riepilogo IVA, possono essere forniti come estensione UBL in testata alla fattura.
<ext:UBLExtension>
<ext:ExtensionURI>urn:fdc:agid.gov.it:fatturapa:RiepilogoIVA:Arrotondamento::1</ext:ExtensionURI>
<ext:ExtensionContent>
<cbc:Amount currencyID="EUR">0.5</cbc:Amount>
</ext:ExtensionContent>
</ext:UBLExtension>
<ext:UBLExtension>
<ext:ExtensionURI>urn:fdc:agid.gov.it:fatturapa:RiepilogoIVA:Arrotondamento::2</ext:ExtensionURI>
<ext:ExtensionContent>
<cbc:Amount currencyID="EUR">0.8</cbc:Amount>
</ext:ExtensionContent>
</ext:UBLExtension>
11.16. Altri dati gestionali
Il campi UBL cac:AdditionalItemProperty/cbc:Name e cac:AdditionalItemProperty/cbc:Value sono utilizzati per fornire informazioni riguardo il gruppo FPA Altri dati gestionali.
Il cac:AdditionalItemProperty/cbc:Name può essere valorizzato con "DatiVeicoli" (vedi par. 10.17),"Ritenuta" (vedi par. 4.7), "TipoCessionePrestazione" (vedi par. 10.9.3), "Natura" (vedi par. 7.3) oppure come segue:
-
Se cbc:Name è valorizzato con "Testo", allora compilare il cbc:Value con il dato FPA 2.2.1.16.2 RiferimentoTesto.
-
Se cbc:Name è valorizzato con "Numero", allora compilare il cbc:Value con il dato FPA 2.2.1.16.3 RiferimentoNumero.
-
Se cbc:Name è valorizzato con "Data", allora compilare il cbc:Value con il dato FPA 2.2.1.16.4 RiferimentoData.
11.17. Dati veicoli
Il campi UBL cac:AdditionalItemProperty/cbc:Name e cac:AdditionalItemProperty/cbc:Value sono utilizzati per fornire informazioni riguardo il gruppo FPA Dati Veicoli.
-
Se cbc:Name è valorizzato con "DatiVeicoli", allora compilare il cbc:Value con i dati FPA 2.3.1 Data e FPA 2.3.2 TotalePercorso concatenati con il simbolo "#".
12. Codifiche
I capitoli seguenti forniscono una panoramica sulle restrizioni applicate alle codifiche utilizzate in questa Peppol BIS. Per la maggior parte delle codifiche le restrizioni consistono nella sola aggiunta di una data di riferimento per la codifica, ma per la codifica Invoice Type Code è stato stabilito un sottoinsieme di valori validi.
12.1. Codifiche per elementi codificati
12.1.1. Codifica per il tipo di fattura (invoice type code) (BT-3)
I sotto paragrafi seguenti forniscono una panoramica sui codici tipo fattura permessi (BT-3) secondo questa specifica Peppol BIS Billing.
La tabella indica il nome e la descrizione di ogni codice, come pure una colonna "Sinonimo di" per indicare come può essere processato questo tipo di fattura se il destinatario non ha un flusso di elaborazione separato per questo tipo e come potrete osservare, tutte le tipologie di fattura valide in questo profilo possono essere processate come una fattura commerciale (380) e tutte le tipologie di note di credito come nota di credito commerciale (381). Alcuni destinatari potrebbero avere processi separati o flussi di elaborazione per alcuni di questi tipi e possono quindi utilizzare questi processi.
La tabella fornisce anche le informazioni su quale tipo di messaggio deve essere usato nella sintassi UBL per i diversi codici.
Codici specifici per la fattura
Il codice tipo per la fattura
Percorso nel documento |
|
---|---|
Sorgente della codifica |
Codice | Nome | Descrizione | Sinonimo di | Tipo messaggio UBL |
---|---|---|---|---|
380 |
Commercial invoice |
Documento/messaggio richiedente il pagamento per beni e servizi forniti alle condizioni accordate tra Fornitore e Cliente. |
|
|
393 |
Factored invoice |
Fattura assegnata ad una terza parte per la raccolta. |
380 |
|
82 |
Metered services invoice |
Documento/messaggio richiedente il pagamento per la fornitura di servizi a tariffa (e.g., gas, elettricita', etc.) forniti con una tariffa fissa ed il quale consumo e' misurato in un periodo di tempo. |
380 |
|
80 |
Debit note related to goods or services |
Informazione di addebito relativa ad una transazione di beni e servizi. |
380 |
|
84 |
Debit note related to financial adjustments |
Documento/messaggio per fornire informazioni di addebito relative ad aggiustamenti finanziari. |
380 |
|
395 |
Consignment invoice |
Fattura commerciale che copre una transazione che non riguardi una vendita. |
380 |
|
575 |
Insurer’s invoice |
Documento/messaggio rilasciato da un assicuratore specificando il costo di un’assicurazione che e' stata effettuata e per la quale si richiede il pagamento. |
380 |
|
623 |
Forwarder’s invoice |
Fattura emessa da uno speditore merci specificante i servizi forniti ed i costi incorsi e richiedente quindi il pagamento. |
380 |
|
780 |
Freight invoice |
Documento/messaggio emesso circa un’operazione di trasporto specificante le spese di trasporto e le maggiorazioni incorse per il trasporto e dichiarante delle condizioni di pagamento. |
380 |
|
383 |
Debit note |
Documento/messaggio per fornire informazioni di addebito alla parte interessata. |
380 |
|
386 |
Prepayment invoice |
Un fattura per pagare un ammontare per beni e servizi in anticipo; questi importi verranno sottratti dalla fattura finale. |
380 |
|
71 |
Request for payment |
Document/message issued by a creditor to a debtor to request payment of one or more invoices past due. |
380 |
|
102 |
Tax notification |
Used to specify that the message is a tax notification. |
380 |
|
218 |
Final payment request based on completion of work |
The final payment request of a series of payment requests submitted upon completion of all the work. |
380 |
|
219 |
Prepayment invoice |
A request for payment for completed units. |
380 |
|
331 |
Commercial invoice which includes a packing list |
Commercial transaction (invoice) will include a packing list. |
380 |
|
382 |
Commission note |
Document/message in which a seller specifies the amount of commission, the percentage of the invoice amount, or some other basis for the calculation of the commission to which a sales agent is entitled. |
380 |
|
553 |
Forwarder’s invoice discrepancy report |
Document/message reporting invoice discrepancies indentified by the forwarder. |
380 |
|
817 |
Claim notification |
Document notifying a claim. |
380 |
|
870 |
Consular invoice |
Document/message to be prepared by an exporter in his country and presented to a diplomatic representation of the importing country for endorsement and subsequently to be presented by the importer in connection with the import of the goods described therein. |
380 |
|
875 |
Partial construction invoice |
Partial invoice in the context of a specific construction project. |
380 |
|
876 |
Partial final construction invoice |
Invoice concluding all previous partial construction invoices of a completed partial rendered service in the context of a specific construction project. |
380 |
|
877 |
Final construction invoice |
Invoice concluding all previous partial invoices and partial final construction invoices in the context of a specific construction project. |
380 |
|
388 |
Tax invoice |
An invoice for tax purposes. |
380 |
|
Codici specifici per la nota di credito
Il codice tipo per la nota di credito
Percorso nel documento |
|
---|---|
Sorgente della codifica |
Codice | None | Descrizione | Sinonimo di | Tipo messaggio UBL |
---|---|---|---|---|
381 |
Credit note |
Documento/messaggio per fornire informazioni relative ad un credito alla parte interessata. |
|
|
396 |
Factored credit note |
Nota di credito relativa ad una fattura(e) assegnata. |
381 |
|
81 |
Credit note related to goods or services |
Documento/messaggio usato per fornire informazioni circa un credito relativo ad una transazione di beni o servizi alla parte interessata. |
381 |
|
83 |
Credit note related to financial adjustments |
Documento/messaggio usato per fornire informazioni circa un credito relativo ad un aggiustamento finanziario (e.g., bonus). |
381 |
|
532 |
Forwarder’s credit note |
Documento/messaggio per fornire informazioni riguardo un credito alla parte interessata. |
381 |
|
12.1.2. Codice paese
Tutti i codici paese in una fattura o nota di credito devono essere espressi secondo la codifica alpha-2 di ISO 3166-1
Percorso nel documento |
|
---|---|
Sorgente della codifica |
12.1.3. Currency code
Tutte le valute in una fattura o nota di credito devono essere espresse secondo la codifica ISO 4217:2015
Percorso nel documento |
|
---|---|
Sorgente della codifica |
Percorso nel documento |
|
---|---|
Sorgente della codifica |
12.1.4. VAT category codes
Un sottoinsieme di valori della codifica UN/CEFACT code list 5305, D.16B deve essere usato.
Percorso nel documento |
|
---|---|
Sorgente della codifica |
Subset of UN/CEFACT code list 5305, D.16B |
I valori validi sono elencati nella tabella di seguito:
Codice | Descrizione | Corrispondenza italiana |
---|---|---|
AE |
Vat Reverse Charge |
Inversione contabile |
E |
Exempt from Tax |
Esente |
S |
Standard rate |
Imposta standard |
Z |
Zero rated goods |
Esclusa ex art. 15 |
G |
Free export item, tax not charged |
Non Imponibile (per le esportazioni) |
O |
Services outside scope of tax |
Fuori campo IVA |
K |
VAT exempt for EEA intra-community supply of goods and services |
Non Imponibile (per le esportazioni intra-EEA) |
L |
Canary Islands general indirect tax |
Imposta indiretta delle Isole Canarie |
M |
Tax for production, services and importation in Ceuta and Melilla |
Imposta per la produzione, servizi e importazione in Ceuta e Melilla |
B |
Transferred (VAT), In Italy |
Regime di Split Payment |
12.1.5. Unità di misura
I codici validi devono essere espressi secondo la codifica UN/ECE Recommendation 20, Revision 11 (2015). A meno che i codici per l’unità di misura non siano normalmente usati, gli implementatori dovrebbero, ove necessario, fornire una funzionalità per chiarire il codice quando le fatture vengono visualizzate.
Percorso nel documento |
|
---|---|
Sorgente della codifica |
12.1.6. Allowance reason codes
Tutti i codici di sconto devono essere espressi secondo la codifica UN/CEFACT code list 5189, D.16B
Percorso nel documento |
|
---|---|
Sorgente della codifica |
Subset of UN/CEFACT code list 5189, D.16B |
I valori validi sono elencati nella tabella di seguito:
Codice | Descrizione |
---|---|
41 |
Bonus for works ahead of schedule |
42 |
Other bonus |
60 |
Manufacturer’s consumer discount |
62 |
Due to military status |
63 |
Due to work accident |
64 |
Special agreement |
65 |
Production error discount |
66 |
New outlet discount |
67 |
Sample discount |
68 |
End-of-range discount |
70 |
Incoterm discount |
71 |
Point of sales threshold allowance |
88 |
Material surcharge/deduction |
95 |
Discount |
100 |
Special rebate |
102 |
Fixed long term |
103 |
Temporary |
104 |
Standard |
105 |
Yearly turnover |
12.1.7. Charge reason codes
Tutti i codici di maggiorazione devono essere espressi secondo la codifica UN/CEFACT code list 7161, D.16B
Percorso nel documento |
|
---|---|
Sorgente della codifica |
12.1.8. Media type code per i documenti allegati
Subset della codifica IANA Media Types.
Percorso nel documento |
|
---|---|
Sorgente della codifica |
Subset of IANA |
I valori validi sono elencati nella tabella di seguito.
Documenti |
application/pdf |
---|---|
Immagini |
image/png |
image/jpeg |
|
Testo |
text/csv |
Spreadsheet |
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
application/vnd.oasis.opendocument.spreadsheet |
12.1.9. Termini di pagamento type code
Tutti i codici termini di pagamento devono essere espressi secondo la codifica UN/CEFACT code list 4461, D.16B
Percorso nel documento |
|
---|---|
Sorgente della codifica |
12.1.10. Codice Esigibilita' IVA
Un sottoinsieme di valori della codifica Subset of UN/CEFACT code list 2005, D.16B deve essere usato.
Percorso nel documento |
|
---|---|
Sorgente della codifica |
I valori validi sono elencati nella tabella di seguito:
Codice | Descrizione |
---|---|
3 |
Invoice document issue date time |
35 |
Delivery date/time, actual |
432 |
Paid to date |
12.1.11. Codice motivo esenzione IVA
EN 16931 autorizza l’uso di una code list manutenuta dal Connecting Europe Facility (CEF)
Percorso nel documento |
cac:TaxTotal/TaxSubtotal/TaxCategory/cbc:TaxExemptionReasonCode |
---|---|
Sorgente della codifica |
12.2. Codifiche per schemi di identificatori
12.2.1. Schema per gli identificatori degli indirizzi elettronici
Per BT-49 e BT-34, gli identificatori degli indirizzi elettronici dei venditori e acquirenti (Endpoint identification), la EN 16931 richiede l’uso di una codifica manutenuta da Connecting Europe Facility (CEF).
Termine di Business | XPath applicabile | Codifica (link or estratto) |
---|---|---|
Electronic address identifier (Endpoint) |
cbc:EndpointID/@schemeID |
12.2.2. Schemi per gli identificatori delle parti di business e per la loro registrazione legale
Tutti gli identificatori delle parti di business e quelli per la loro registrazione legale hanno un attributo opzionale per fornire lo schema su cui si basano. Se utilizzato, il valore deve essere scelto fra quelli della codifica ICD secondo ISO/IEC 6523
Termine di Business | XPath applicabile | Codifica (link or estratto) |
---|---|---|
Identificatori delle Parti di business (Acquirente, Venditore, Pagatore) |
cac:PartyIdentification/cbc:ID/@schemeID |
ICD list from ISO/IEC 6523 |
Identificatori per la registrazione legale (Acquirente, Venditore, Pagatore) |
cac:PartyLegalEntity/cbc:CompanyID/@schemeID |
|
Identificatore per il luogo di consegna |
cac:Delivery/cac:DeliveryLocation/cbc:ID/@schemeID |
12.2.3. Schema per gli identificatori di un oggetto fatturato
Lo schema degli identificatori per un oggetto fatturato deve basarsi su UN/CEFACT code list 1153, D.16B
Termine di Business | XPath applicabile | Codifica (link or estratto) |
---|---|---|
Identificatore per l’oggetto fatturato |
cac:AdditionalDocumentReference[cbc:DocumentTypeCode = '130']/cbc:ID/@schemeID |
12.2.4. Schema per gli identificatori standard degli articoli
Per un identificatore standard per gli articoli l’uso dell’attributo schema è obbligatorio. Il valore deve essere scelto dalla codifica ICD secondo ISO/IEC 6523
Termine di Business | XPath applicabile | Codifica (link or estratto) |
---|---|---|
Identificatore standard per l’articolo |
cac:InvoiceLine/cac:Item/cac:StandardItemIdentification/cbc:ID/@schemeID |
ICD list from ISO/IEC 6523 |
12.2.5. Identificatore per la classificazione degli articoli
Un identificatore per la classificazione degli articoli ha l’attributo dello schema obbligatorio. Il valore deve essere scelto da UN/CEFACT code list 7143, D.16B.
Termine di Business | XPath applicabile | Codifica (link or estratto) |
---|---|---|
Identificatore per la classificazione dell’articolo |
cac:InvoiceLine/cac:Item/cac:CommodityClassification/cbc:ItemClassificationCode/@listID |
13. Identificatori PEPPOL
Peppol ha definito una Peppol Policy for identifiers, policy 8 che specifica come utilizzare gli identificatori sia nella sua infrastruttura di trasporto che all’interno dei documenti scambiati su questa. Essa introduce anche i principi per ogni identificatore utilizzato nell’ambiente PEPPOL. Le regole che si applicano a questo BIS sono le seguenti:
13.1. Profili e messaggi
Tutti i messaggi contengono il ProfileID e il CustomizationID. Il ProfileID identifica di quale processo di business un dato messaggio è parte, e il CustomizationID identifica il tipo di messaggio e le regole applicate.
I profili sono connessi ad un processo di business e possono contenere molteplici tipologie di documenti (transazioni). Istanze valide dei documenti devono contenere i corrispondenti ProfileID e CustomizationID.
Il CustomizationID è una stringa senza spazi. La tabella seguente contiene spazi in CustomizationID al solo scopo di renderlo più leggibile. Bisogna assicurarsi di rimuovere tutti gli spazi intermedi prima dell’uso. |
13.2. Profilo 01 - Fatturazione
Nella tabella seguente sono riportati i valori da utilizzare per l’identificatore della specifica (BT-24) e per il tipo di processo di business (BT-23) per il profilo base Peppol.
Tipo | Elemento cbc:CustomizationID |
Elemento cbc:ProfileID |
---|---|---|
Fattura |
urn:cen.eu:en16931:2017#compliant# |
urn:fdc:peppol.eu:2017:poacc:billing:01:1.0 |
Nota di credito |
urn:cen.eu:en16931:2017#compliant# |
urn:fdc:peppol.eu:2017:poacc:billing:01:1.0 |
<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0</cbc:CustomizationID>
<cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>
Per la fatturazione dall’estero e per la fatturazione domestica (anche ai fini dell’esterometro e dei documenti di integrazione) nella tabella seguente sono riportati i valori da utilizzare per l’identificatore della specifica (BT-24) e per il tipo di processo di business (BT-23).
Tipo | Elemento cbc:CustomizationID |
Elemento cbc:ProfileID |
---|---|---|
Fattura |
urn:cen.eu:en16931:2017#compliant# |
urn:fdc:peppol.eu:2017:poacc:billing:01:1.0 |
Nota di credito |
urn:cen.eu:en16931:2017#compliant# |
urn:fdc:peppol.eu:2017:poacc:billing:01:1.0 |
<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0#conformant#urn:www.agid.gov.it:trns:fattura:3</cbc:CustomizationID>
<cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>
13.3. Identificatori delle parti di business
L’attributo “schemeID” deve essere popolato in tutte le istanze degli elementi “EndpointID” e “CompanyID”.
Esempio di EndPointID - utilizzo del codice IPA:
<cbc:EndpointID schemeID="0201">ABCDEF</cbc:EndpointID>
Esempio di EndPointID - utilizzo del codice destinatario in caso di cliente privato accreditato su SDI:
<cbc:EndpointID schemeID ="0205">ABCDEFG</cbc:EndpointID>
Esempio di EndPointID - utilizzo della pec in caso di cliente di cliente privato accreditato SDI:
<cbc:EndpointID schemeID ="0202">esempio@pec.com</cbc:EndpointID>
Esempio di EndPointID - utilizzo del codice destinatario in caso di cliente privato non accreditato SDI:
<cbc:EndpointID schemeID ="0205">0000000</cbc:EndpointID>
Esempio di utilizzo del CF in PartyLegalEntity:
<cac:PartyLegalEntity>
<cbc:CompanyID schemeID="0210">91252510374</cbc:CompanyID>
<cac:PartyLegalEntity>
<cac:PartyIdentification>
<cbc:ID schemeID="0088">5790000435968</cbc:ID>
</cac:PartyIdentification>
14. Schemi UBL e spazi dei nomi
Gli schemi XML utilizzati sono
-
UBL Invoice 2.1 con lo spazio dei nomi di destinazione
urn:oasis:names:specification:ubl:schema:xsd:Invoice-2
-
UBL CreditNote 2.1 con lo spazio dei nomi di destinazione
urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2
15. Validazione
Per rendere flessibile il processo di validazione, ogni documento Peppol viene validato in diverse fasi spostando l’attenzione su ciascuna di esse.
Il diagramma seguente illustra le diverse fasi:
15.1. Principi di validazione
Le fasi nel processo di validazione:
- Validazione della sintassi
-
-
Verifica della buona formattazione (W3C well-formedness)
-
I nomi dei Tag e gli attributi devono essere scritti correttamente e seguire la sequenza UBL 2.1
-
Tutti gli elementi obbligatori in UBL 2.1 devono essere presenti.
-
Il contenuto degli elementi deve aderire alla definizione dei tipi di elementi su cui si basano.
-
- Validazione in base alla EN 16931
-
Per verificare che l’istanza di un messaggio sia conforme allo standard europeo, come:
-
Codici validi per le valute, paesi, tasse, etc.
-
Elementi obbligatori secondo EN 16931.
-
Correlazioni logiche tra gli elementi informativi, es. la data iniziale è inferiore o uguale a quella finale, i calcoli danno il risulato coretto, etc.
-
- CIUS - regole generali
-
Le regole generali che si applicano a tutte le fatture e che sono scaturite dalla presenza di uno o più termini di business specifici.
-
Esempio di testo della regola
Una fattura deve avere il riferimento della parte acquirente oppure un riferimento all’ordine -
I criteri verificati dalla regola
Esistenza del Buyer reference (BT-10) OR Purchased order reference (BT-13)
-
- CIUS - Regole di validazione in base al Paese
-
Si applica solo alle fatture emesse in un Paese specifico. La regola è innescata dal codice Paese del venditore (BT-40).
-
Esempio di testo della regola
Quando il Venditore è Svedese, il Legal Registration Number deve essere numerico con 10 cifre. -
I criteri verificati dalla regola
Esistenza di Seller/Address/CountryCode=‘SE’ AND esistenza di Seller/LegalRegistrationNumber
-
16. Regole di validazione per le transazioni
16.1. Regole di business Peppol per le transazioni
Le seguenti regole sono state definite da OpenPEPPOL in aggiunta a quelle adottate dalla EN 16931. Queste regole si applicano a tutti i profili che usano la specifica di questa transazione.
Vedasi anche Restrizioni ed Estensioni alla EN16931 per ulteriori dettagli sulle restrizioni imposte da queste regole.
Regola | Messaggio/Contesto/Test |
---|---|
PEPPOL-COMMON-R040 (fatal) |
GLN must have a valid format according to GS1 rules. |
cbc:EndpointID[@schemeID = '0088'] | cac:PartyIdentification/cbc:ID[@schemeID = '0088'] | cbc:CompanyID[@schemeID = '0088'] |
|
matches(normalize-space(), '^[0-9]+$') and u:gln(normalize-space()) |
|
PEPPOL-COMMON-R041 (fatal) |
Norwegian organization number MUST be stated in the correct format. |
cbc:EndpointID[@schemeID = '0192'] | cac:PartyIdentification/cbc:ID[@schemeID = '0192'] | cbc:CompanyID[@schemeID = '0192'] |
|
matches(normalize-space(), '^[0-9]{9}$') and u:mod11(normalize-space()) |
|
PEPPOL-COMMON-R042 (fatal) |
Danish organization number (CVR) MUST be stated in the correct format. |
cbc:EndpointID[@schemeID = '0184'] | cac:PartyIdentification/cbc:ID[@schemeID = '0184'] | cbc:CompanyID[@schemeID = '0184'] |
|
(string-length(text()) = 10) and (substring(text(), 1, 2) = 'DK') and (string-length(translate(substring(text(), 3, 8), '1234567890', '')) = 0) |
|
PEPPOL-COMMON-R043 (fatal) |
Belgian enterprise number MUST be stated in the correct format. |
cbc:EndpointID[@schemeID = '0208'] | cac:PartyIdentification/cbc:ID[@schemeID = '0208'] | cbc:CompanyID[@schemeID = '0208'] |
|
matches(normalize-space(), '^[0-9]{10}$') and u:mod97-0208(normalize-space()) |
|
PEPPOL-COMMON-R044 (warning) |
IPA Code (Codice Univoco Unità Organizzativa) must be stated in the correct format |
cbc:EndpointID[@schemeID = '0201'] | cac:PartyIdentification/cbc:ID[@schemeID = '0201'] | cbc:CompanyID[@schemeID = '0201'] |
|
u:checkCodiceIPA(normalize-space()) |
|
PEPPOL-COMMON-R045 (warning) |
Tax Code (Codice Fiscale) must be stated in the correct format |
cbc:EndpointID[@schemeID = '0210'] | cac:PartyIdentification/cbc:ID[@schemeID = '0210'] | cbc:CompanyID[@schemeID = '0210'] |
|
u:checkCF(normalize-space()) |
|
PEPPOL-COMMON-R046 (warning) |
Tax Code (Codice Fiscale) must be stated in the correct format |
cbc:EndpointID[@schemeID = '9907'] |
|
u:checkCF(normalize-space()) |
|
PEPPOL-COMMON-R047 (warning) |
Italian VAT Code (Partita Iva) must be stated in the correct format |
cbc:EndpointID[@schemeID = '0211'] | cac:PartyIdentification/cbc:ID[@schemeID = '0211'] | cbc:CompanyID[@schemeID = '0211'] |
|
u:checkPIVAseIT(normalize-space()) |
|
PEPPOL-COMMON-R049 (fatal) |
Swedish organization number MUST be stated in the correct format. |
cbc:EndpointID[@schemeID = '0007'] | cac:PartyIdentification/cbc:ID[@schemeID = '0007'] | cbc:CompanyID[@schemeID = '0007'] |
|
string-length(normalize-space()) = 10 and string(number(normalize-space())) != 'NaN' |
|
PEPPOL-COMMON-R050 (fatal) |
Australian Business Number (ABN) MUST be stated in the correct format. |
cbc:EndpointID[@schemeID = '0151'] | cac:PartyIdentification/cbc:ID[@schemeID = '0151'] | cbc:CompanyID[@schemeID = '0151'] |
|
matches(normalize-space(), '^[0-9]{11}$') and u:abn(normalize-space()) |
|
PEPPOL-EN16931-CL001 (fatal) |
Mime code must be according to subset of IANA code list. |
cbc:EmbeddedDocumentBinaryObject[@mimeCode] |
|
some $code in $MIMECODE satisfies @mimeCode = $code |
|
PEPPOL-EN16931-CL002 (fatal) |
Reason code MUST be according to subset of UNCL 5189 D.16B. |
cac:AllowanceCharge[cbc:ChargeIndicator = 'false']/cbc:AllowanceChargeReasonCode |
|
some $code in $UNCL5189 satisfies normalize-space(text()) = $code |
|
PEPPOL-EN16931-CL003 (fatal) |
Reason code MUST be according to UNCL 7161 D.16B. |
cac:AllowanceCharge[cbc:ChargeIndicator = 'true']/cbc:AllowanceChargeReasonCode |
|
some $code in $UNCL7161 satisfies normalize-space(text()) = $code |
|
PEPPOL-EN16931-CL006 (fatal) |
Invoice period description code must be according to UNCL 2005 D.16B. |
cac:InvoicePeriod/cbc:DescriptionCode |
|
some $code in $UNCL2005 satisfies normalize-space(text()) = $code |
|
PEPPOL-EN16931-CL007 (fatal) |
Currency code must be according to ISO 4217:2005 |
cbc:Amount | cbc:BaseAmount | cbc:PriceAmount | cbc:TaxAmount | cbc:TaxableAmount | cbc:LineExtensionAmount | cbc:TaxExclusiveAmount | cbc:TaxInclusiveAmount | cbc:AllowanceTotalAmount | cbc:ChargeTotalAmount | cbc:PrepaidAmount | cbc:PayableRoundingAmount | cbc:PayableAmount |
|
some $code in $ISO4217 satisfies @currencyID = $code |
|
PEPPOL-EN16931-CL008 (fatal) |
Electronic address identifier scheme must be from the codelist "Electronic Address Identifier Scheme" |
cbc:EndpointID[@schemeID] |
|
some $code in $eaid satisfies @schemeID = $code |
|
PEPPOL-EN16931-F001 (fatal) |
A date MUST be formatted YYYY-MM-DD. |
cbc:IssueDate | cbc:DueDate | cbc:TaxPointDate | cbc:StartDate | cbc:EndDate | cbc:ActualDeliveryDate |
|
string-length(text()) = 10 and (string(.) castable as xs:date) |
|
PEPPOL-EN16931-P0100 (fatal) |
Invoice type code MUST be set according to the profile. |
cbc:InvoiceTypeCode |
|
$profile != '01' or (some $code in tokenize('71 80 82 84 102 218 219 331 380 382 383 386 388 393 395 553 575 623 780 817 870 875 876 877', '\s') satisfies normalize-space(text()) = $code) |
|
PEPPOL-EN16931-P0101 (fatal) |
Credit note type code MUST be set according to the profile. |
cbc:CreditNoteTypeCode |
|
$profile != '01' or (some $code in tokenize('381 396 81 83 532', '\s') satisfies normalize-space(text()) = $code) |
|
PEPPOL-EN16931-P0104 (fatal) |
Tax Category G MUST be used when exemption reason code is VATEX-EU-G |
cac:TaxCategory[upper-case(cbc:TaxExemptionReasonCode)='VATEX-EU-G'] |
|
normalize-space(cbc:ID)='G' |
|
PEPPOL-EN16931-P0105 (fatal) |
Tax Category O MUST be used when exemption reason code is VATEX-EU-O |
cac:TaxCategory[upper-case(cbc:TaxExemptionReasonCode)='VATEX-EU-O'] |
|
normalize-space(cbc:ID)='O' |
|
PEPPOL-EN16931-P0106 (fatal) |
Tax Category K MUST be used when exemption reason code is VATEX-EU-IC |
cac:TaxCategory[upper-case(cbc:TaxExemptionReasonCode)='VATEX-EU-IC'] |
|
normalize-space(cbc:ID)='K' |
|
PEPPOL-EN16931-P0107 (fatal) |
Tax Category AE MUST be used when exemption reason code is VATEX-EU-AE |
cac:TaxCategory[upper-case(cbc:TaxExemptionReasonCode)='VATEX-EU-AE'] |
|
normalize-space(cbc:ID)='AE' |
|
PEPPOL-EN16931-P0108 (fatal) |
Tax Category E MUST be used when exemption reason code is VATEX-EU-D |
cac:TaxCategory[upper-case(cbc:TaxExemptionReasonCode)='VATEX-EU-D'] |
|
normalize-space(cbc:ID)='E' |
|
PEPPOL-EN16931-P0109 (fatal) |
Tax Category E MUST be used when exemption reason code is VATEX-EU-F |
cac:TaxCategory[upper-case(cbc:TaxExemptionReasonCode)='VATEX-EU-F'] |
|
normalize-space(cbc:ID)='E' |
|
PEPPOL-EN16931-P0110 (fatal) |
Tax Category E MUST be used when exemption reason code is VATEX-EU-I |
cac:TaxCategory[upper-case(cbc:TaxExemptionReasonCode)='VATEX-EU-I'] |
|
normalize-space(cbc:ID)='E' |
|
PEPPOL-EN16931-P0111 (fatal) |
Tax Category E MUST be used when exemption reason code is VATEX-EU-J |
cac:TaxCategory[upper-case(cbc:TaxExemptionReasonCode)='VATEX-EU-J'] |
|
normalize-space(cbc:ID)='E' |
|
PEPPOL-EN16931-R001 (fatal) |
Business process MUST be provided. |
ubl-creditnote:CreditNote | ubl-invoice:Invoice |
|
cbc:ProfileID |
|
PEPPOL-EN16931-R002 (fatal) |
No more than one note is allowed on document level, unless both the buyer and seller are German organizations. |
ubl-creditnote:CreditNote | ubl-invoice:Invoice |
|
count(cbc:Note) <= 1 or ($supplierCountryIsDE and $customerCountryIsDE) |
|
PEPPOL-EN16931-R003 (fatal) |
A buyer reference or purchase order reference MUST be provided. |
ubl-creditnote:CreditNote | ubl-invoice:Invoice |
|
cbc:BuyerReference or cac:OrderReference/cbc:ID |
|
PEPPOL-EN16931-R004 (fatal) |
Specification identifier MUST have the value 'urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0'. |
ubl-creditnote:CreditNote | ubl-invoice:Invoice |
|
starts-with(normalize-space(cbc:CustomizationID/text()), 'urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0') |
|
PEPPOL-EN16931-R005 (fatal) |
VAT accounting currency code MUST be different from invoice currency code when provided. |
cbc:TaxCurrencyCode |
|
not(normalize-space(text()) = normalize-space(../cbc:DocumentCurrencyCode/text())) |
|
PEPPOL-EN16931-R007 (fatal) |
Business process MUST be in the format 'urn:fdc:peppol.eu:2017:poacc:billing:NN:1.0' where NN indicates the process number. |
ubl-creditnote:CreditNote | ubl-invoice:Invoice |
|
$profile != 'Unknown' |
|
PEPPOL-EN16931-R008 (fatal) |
Document MUST not contain empty elements. |
//[not() and not(normalize-space())] |
|
false() |
|
PEPPOL-EN16931-R010 (fatal) |
Buyer electronic address MUST be provided |
cac:AccountingCustomerParty/cac:Party |
|
cbc:EndpointID |
|
PEPPOL-EN16931-R020 (fatal) |
Seller electronic address MUST be provided |
cac:AccountingSupplierParty/cac:Party |
|
cbc:EndpointID |
|
PEPPOL-EN16931-R040 (fatal) |
Allowance/charge amount must equal base amount * percentage/100 if base amount and percentage exists |
ubl-invoice:Invoice/cac:AllowanceCharge | ubl-invoice:Invoice/cac:InvoiceLine/cac:AllowanceCharge | ubl-creditnote:CreditNote/cac:AllowanceCharge | ubl-creditnote:CreditNote/cac:CreditNoteLine/cac:AllowanceCharge |
|
not(cbc:MultiplierFactorNumeric and cbc:BaseAmount) or u:slack(if (cbc:Amount) then cbc:Amount else 0, (xs:decimal(cbc:BaseAmount) * xs:decimal(cbc:MultiplierFactorNumeric)) div 100, 0.02) |
|
PEPPOL-EN16931-R041 (fatal) |
Allowance/charge base amount MUST be provided when allowance/charge percentage is provided. |
ubl-invoice:Invoice/cac:AllowanceCharge[cbc:MultiplierFactorNumeric and not(cbc:BaseAmount)] | ubl-invoice:Invoice/cac:InvoiceLine/cac:AllowanceCharge[cbc:MultiplierFactorNumeric and not(cbc:BaseAmount)] | ubl-creditnote:CreditNote/cac:AllowanceCharge[cbc:MultiplierFactorNumeric and not(cbc:BaseAmount)] | ubl-creditnote:CreditNote/cac:CreditNoteLine/cac:AllowanceCharge[cbc:MultiplierFactorNumeric and not(cbc:BaseAmount)] |
|
false() |
|
PEPPOL-EN16931-R042 (fatal) |
Allowance/charge percentage MUST be provided when allowance/charge base amount is provided. |
ubl-invoice:Invoice/cac:AllowanceCharge[not(cbc:MultiplierFactorNumeric) and cbc:BaseAmount] | ubl-invoice:Invoice/cac:InvoiceLine/cac:AllowanceCharge[not(cbc:MultiplierFactorNumeric) and cbc:BaseAmount] | ubl-creditnote:CreditNote/cac:AllowanceCharge[not(cbc:MultiplierFactorNumeric) and cbc:BaseAmount] | ubl-creditnote:CreditNote/cac:CreditNoteLine/cac:AllowanceCharge[not(cbc:MultiplierFactorNumeric) and cbc:BaseAmount] |
|
false() |
|
PEPPOL-EN16931-R043 (fatal) |
Allowance/charge ChargeIndicator value MUST equal 'true' or 'false' |
ubl-invoice:Invoice/cac:AllowanceCharge | ubl-invoice:Invoice/cac:InvoiceLine/cac:AllowanceCharge | ubl-creditnote:CreditNote/cac:AllowanceCharge | ubl-creditnote:CreditNote/cac:CreditNoteLine/cac:AllowanceCharge |
|
normalize-space(cbc:ChargeIndicator/text()) = 'true' or normalize-space(cbc:ChargeIndicator/text()) = 'false' |
|
PEPPOL-EN16931-R044 (fatal) |
Charge on price level is NOT allowed. Only value 'false' allowed. |
cac:Price/cac:AllowanceCharge |
|
normalize-space(cbc:ChargeIndicator) = 'false' |
|
PEPPOL-EN16931-R046 (fatal) |
Item net price MUST equal (Gross price - Allowance amount) when gross price is provided. |
cac:Price/cac:AllowanceCharge |
|
not(cbc:BaseAmount) or xs:decimal(../cbc:PriceAmount) = xs:decimal(cbc:BaseAmount) - xs:decimal(cbc:Amount) |
|
PEPPOL-EN16931-R051 (fatal) |
All currencyID attributes must have the same value as the invoice currency code (BT-5), except for the invoice total VAT amount in accounting currency (BT-111). |
cbc:Amount | cbc:BaseAmount | cbc:PriceAmount | cac:TaxTotal[cac:TaxSubtotal]/cbc:TaxAmount | cbc:TaxableAmount | cbc:LineExtensionAmount | cbc:TaxExclusiveAmount | cbc:TaxInclusiveAmount | cbc:AllowanceTotalAmount | cbc:ChargeTotalAmount | cbc:PrepaidAmount | cbc:PayableRoundingAmount | cbc:PayableAmount |
|
@currencyID = $documentCurrencyCode |
|
PEPPOL-EN16931-R053 (fatal) |
Only one tax total with tax subtotals MUST be provided. |
ubl-creditnote:CreditNote | ubl-invoice:Invoice |
|
count(cac:TaxTotal[cac:TaxSubtotal]) = 1 |
|
PEPPOL-EN16931-R054 (fatal) |
Only one tax total without tax subtotals MUST be provided when tax currency code is provided. |
ubl-creditnote:CreditNote | ubl-invoice:Invoice |
|
count(cac:TaxTotal[not(cac:TaxSubtotal)]) = (if (cbc:TaxCurrencyCode) then 1 else 0) |
|
PEPPOL-EN16931-R055 (fatal) |
Invoice total VAT amount and Invoice total VAT amount in accounting currency MUST have the same operational sign |
ubl-creditnote:CreditNote | ubl-invoice:Invoice |
|
not(cbc:TaxCurrencyCode) or (cac:TaxTotal/cbc:TaxAmount[@currencyID=normalize-space(../../cbc:TaxCurrencyCode)] ⇐ 0 and cac:TaxTotal/cbc:TaxAmount[@currencyID=normalize-space(../../cbc:DocumentCurrencyCode)] ⇐ 0) or (cac:TaxTotal/cbc:TaxAmount[@currencyID=normalize-space(../../cbc:TaxCurrencyCode)] >= 0 and cac:TaxTotal/cbc:TaxAmount[@currencyID=normalize-space(../../cbc:DocumentCurrencyCode)] >= 0) |
|
PEPPOL-EN16931-R061 (fatal) |
Mandate reference MUST be provided for direct debit. |
cac:PaymentMeans[some $code in tokenize('49 59', '\s') satisfies normalize-space(cbc:PaymentMeansCode) = $code] |
|
cac:PaymentMandate/cbc:ID |
|
PEPPOL-EN16931-R080 (fatal) |
Only one project reference is allowed on document level |
ubl-creditnote:CreditNote |
|
(count(cac:AdditionalDocumentReference[cbc:DocumentTypeCode='50']) ⇐ 1) |
|
PEPPOL-EN16931-R100 (fatal) |
Only one invoiced object is allowed pr line |
cac:InvoiceLine | cac:CreditNoteLine |
|
(count(cac:DocumentReference) ⇐ 1) |
|
PEPPOL-EN16931-R101 (fatal) |
Element Document reference can only be used for Invoice line object |
cac:InvoiceLine | cac:CreditNoteLine |
|
(not(cac:DocumentReference) or (cac:DocumentReference/cbc:DocumentTypeCode='130')) |
|
PEPPOL-EN16931-R110 (fatal) |
Start date of line period MUST be within invoice period. |
ubl-invoice:Invoice[cac:InvoicePeriod/cbc:StartDate]/cac:InvoiceLine/cac:InvoicePeriod/cbc:StartDate | ubl-creditnote:CreditNote[cac:InvoicePeriod/cbc:StartDate]/cac:CreditNoteLine/cac:InvoicePeriod/cbc:StartDate |
|
xs:date(text()) >= xs:date(../../../cac:InvoicePeriod/cbc:StartDate) |
|
PEPPOL-EN16931-R111 (fatal) |
End date of line period MUST be within invoice period. |
ubl-invoice:Invoice[cac:InvoicePeriod/cbc:EndDate]/cac:InvoiceLine/cac:InvoicePeriod/cbc:EndDate | ubl-creditnote:CreditNote[cac:InvoicePeriod/cbc:EndDate]/cac:CreditNoteLine/cac:InvoicePeriod/cbc:EndDate |
|
xs:date(text()) ⇐ xs:date(../../../cac:InvoicePeriod/cbc:EndDate) |
|
PEPPOL-EN16931-R120 (fatal) |
Invoice line net amount MUST equal (Invoiced quantity * (Item net price/item price base quantity) + Sum of invoice line charge amount - sum of invoice line allowance amount |
cac:InvoiceLine | cac:CreditNoteLine |
|
u:slack($lineExtensionAmount, ($quantity * ($priceAmount div $baseQuantity)) + $chargesTotal - $allowancesTotal, 0.02) |
|
PEPPOL-EN16931-R121 (fatal) |
Base quantity MUST be a positive number above zero. |
cac:InvoiceLine | cac:CreditNoteLine |
|
not(cac:Price/cbc:BaseQuantity) or xs:decimal(cac:Price/cbc:BaseQuantity) > 0 |
|
PEPPOL-EN16931-R130 (fatal) |
Unit code of price base quantity MUST be same as invoiced quantity. |
cac:Price/cbc:BaseQuantity[@unitCode] |
|
not($hasQuantity) or @unitCode = $quantity/@unitCode |
16.2. Regole di business EN 16931 per le transazioni
Le seguenti regole EN 16931 si applicano alle transazioni della fattura e della nota di credito in base a questa PEPPOL BIS. Questa Peppol BIS usa una variante alle regole di validazione della EN 16931. Ulteriori dettagli sono disponibili presso https://github.com/OpenPEPPOL/tc434-validation.
Regola | Messaggio/Contesto/Test |
---|---|
BR-01 (fatal) |
[BR-01]-An Invoice shall have a Specification identifier (BT-24). |
/ubl:Invoice | /cn:CreditNote |
|
normalize-space(cbc:CustomizationID) != '' |
|
BR-02 (fatal) |
[BR-02]-An Invoice shall have an Invoice number (BT-1). |
/ubl:Invoice | /cn:CreditNote |
|
normalize-space(cbc:ID) != '' |
|
BR-03 (fatal) |
[BR-03]-An Invoice shall have an Invoice issue date (BT-2). |
/ubl:Invoice | /cn:CreditNote |
|
normalize-space(cbc:IssueDate) != '' |
|
BR-04 (fatal) |
[BR-04]-An Invoice shall have an Invoice type code (BT-3). |
/ubl:Invoice | /cn:CreditNote |
|
normalize-space(cbc:InvoiceTypeCode) != '' or normalize-space(cbc:CreditNoteTypeCode) !='' |
|
BR-05 (fatal) |
[BR-05]-An Invoice shall have an Invoice currency code (BT-5). |
/ubl:Invoice | /cn:CreditNote |
|
normalize-space(cbc:DocumentCurrencyCode) != '' |
|
BR-06 (fatal) |
[BR-06]-An Invoice shall contain the Seller name (BT-27). |
/ubl:Invoice | /cn:CreditNote |
|
normalize-space(cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:RegistrationName) != '' |
|
BR-07 (fatal) |
[BR-07]-An Invoice shall contain the Buyer name (BT-44). |
/ubl:Invoice | /cn:CreditNote |
|
normalize-space(cac:AccountingCustomerParty/cac:Party/cac:PartyLegalEntity/cbc:RegistrationName) != '' |
|
BR-08 (fatal) |
[BR-08]-An Invoice shall contain the Seller postal address. |
/ubl:Invoice | /cn:CreditNote |
|
exists(cac:AccountingSupplierParty/cac:Party/cac:PostalAddress) |
|
BR-09 (fatal) |
[BR-09]-The Seller postal address (BG-5) shall contain a Seller country code (BT-40). |
cac:AccountingSupplierParty/cac:Party/cac:PostalAddress |
|
normalize-space(cac:Country/cbc:IdentificationCode) != '' |
|
BR-10 (fatal) |
[BR-10]-An Invoice shall contain the Buyer postal address (BG-8). |
/ubl:Invoice | /cn:CreditNote |
|
exists(cac:AccountingCustomerParty/cac:Party/cac:PostalAddress) |
|
BR-11 (fatal) |
[BR-11]-The Buyer postal address shall contain a Buyer country code (BT-55). |
cac:AccountingCustomerParty/cac:Party/cac:PostalAddress |
|
normalize-space(cac:Country/cbc:IdentificationCode) != '' |
|
BR-12 (fatal) |
[BR-12]-An Invoice shall have the Sum of Invoice line net amount (BT-106). |
cac:LegalMonetaryTotal |
|
exists(cbc:LineExtensionAmount) |
|
BR-13 (fatal) |
[BR-13]-An Invoice shall have the Invoice total amount without VAT (BT-109). |
cac:LegalMonetaryTotal |
|
exists(cbc:TaxExclusiveAmount) |
|
BR-14 (fatal) |
[BR-14]-An Invoice shall have the Invoice total amount with VAT (BT-112). |
cac:LegalMonetaryTotal |
|
exists(cbc:TaxInclusiveAmount) |
|
BR-15 (fatal) |
[BR-15]-An Invoice shall have the Amount due for payment (BT-115). |
cac:LegalMonetaryTotal |
|
exists(cbc:PayableAmount) |
|
BR-16 (fatal) |
[BR-16]-An Invoice shall have at least one Invoice line (BG-25) |
/ubl:Invoice | /cn:CreditNote |
|
exists(cac:InvoiceLine) or exists(cac:CreditNoteLine) |
|
BR-17 (fatal) |
[BR-17]-The Payee name (BT-59) shall be provided in the Invoice, if the Payee (BG-10) is different from the Seller (BG-4) |
cac:PayeeParty |
|
exists(cac:PartyName/cbc:Name) and (not(cac:PartyName/cbc:Name = ../cac:AccountingSupplierParty/cac:Party/cac:PartyName/cbc:Name) and not(cac:PartyIdentification/cbc:ID = ../cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification/cbc:ID) ) |
|
BR-18 (fatal) |
[BR-18]-The Seller tax representative name (BT-62) shall be provided in the Invoice, if the Seller (BG-4) has a Seller tax representative party (BG-11) |
cac:TaxRepresentativeParty |
|
normalize-space(cac:PartyName/cbc:Name) != '' |
|
BR-19 (fatal) |
[BR-19]-The Seller tax representative postal address (BG-12) shall be provided in the Invoice, if the Seller (BG-4) has a Seller tax representative party (BG-11). |
cac:TaxRepresentativeParty |
|
exists(cac:PostalAddress) |
|
BR-20 (fatal) |
[BR-20]-The Seller tax representative postal address (BG-12) shall contain a Tax representative country code (BT-69), if the Seller (BG-4) has a Seller tax representative party (BG-11). |
cac:TaxRepresentativeParty/cac:PostalAddress |
|
normalize-space(cac:Country/cbc:IdentificationCode) != '' |
|
BR-21 (fatal) |
[BR-21]-Each Invoice line (BG-25) shall have an Invoice line identifier (BT-126). |
cac:InvoiceLine | cac:CreditNoteLine |
|
normalize-space(cbc:ID) != '' |
|
BR-22 (fatal) |
[BR-22]-Each Invoice line (BG-25) shall have an Invoiced quantity (BT-129). |
cac:InvoiceLine | cac:CreditNoteLine |
|
exists(cbc:InvoicedQuantity) or exists(cbc:CreditedQuantity) |
|
BR-23 (fatal) |
[BR-23]-An Invoice line (BG-25) shall have an Invoiced quantity unit of measure code (BT-130). |
cac:InvoiceLine | cac:CreditNoteLine |
|
exists(cbc:InvoicedQuantity/@unitCode) or exists(cbc:CreditedQuantity/@unitCode) |
|
BR-24 (fatal) |
[BR-24]-Each Invoice line (BG-25) shall have an Invoice line net amount (BT-131). |
cac:InvoiceLine | cac:CreditNoteLine |
|
exists(cbc:LineExtensionAmount) |
|
BR-25 (fatal) |
[BR-25]-Each Invoice line (BG-25) shall contain the Item name (BT-153). |
cac:InvoiceLine | cac:CreditNoteLine |
|
normalize-space(cac:Item/cbc:Name) != '' |
|
BR-26 (fatal) |
[BR-26]-Each Invoice line (BG-25) shall contain the Item net price (BT-146). |
cac:InvoiceLine | cac:CreditNoteLine |
|
exists(cac:Price/cbc:PriceAmount) |
|
BR-27 (fatal) |
[BR-27]-The Item net price (BT-146) shall NOT be negative. |
cac:InvoiceLine | cac:CreditNoteLine |
|
(cac:Price/cbc:PriceAmount) >= 0 |
|
BR-28 (fatal) |
[BR-28]-The Item gross price (BT-148) shall NOT be negative. |
cac:InvoiceLine | cac:CreditNoteLine |
|
(cac:Price/cac:AllowanceCharge/cbc:BaseAmount) >= 0 or not(exists(cac:Price/cac:AllowanceCharge/cbc:BaseAmount)) |
|
BR-29 (fatal) |
[BR-29]-If both Invoicing period start date (BT-73) and Invoicing period end date (BT-74) are given then the Invoicing period end date (BT-74) shall be later or equal to the Invoicing period start date (BT-73). |
cac:InvoicePeriod |
|
(exists(cbc:EndDate) and exists(cbc:StartDate) and xs:date(cbc:EndDate) >= xs:date(cbc:StartDate)) or not(exists(cbc:StartDate)) or not(exists(cbc:EndDate)) |
|
BR-30 (fatal) |
[BR-30]-If both Invoice line period start date (BT-134) and Invoice line period end date (BT-135) are given then the Invoice line period end date (BT-135) shall be later or equal to the Invoice line period start date (BT-134). |
cac:InvoiceLine/cac:InvoicePeriod | cac:CreditNoteLine/cac:InvoicePeriod |
|
(exists(cbc:EndDate) and exists(cbc:StartDate) and xs:date(cbc:EndDate) >= xs:date(cbc:StartDate)) or not(exists(cbc:StartDate)) or not(exists(cbc:EndDate)) |
|
BR-31 (fatal) |
[BR-31]-Each Document level allowance (BG-20) shall have a Document level allowance amount (BT-92). |
/ubl:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = false()] | /cn:CreditNote/cac:AllowanceCharge[cbc:ChargeIndicator = false()] |
|
exists(cbc:Amount) |
|
BR-32 (fatal) |
[BR-32]-Each Document level allowance (BG-20) shall have a Document level allowance VAT category code (BT-95). |
/ubl:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = false()] | /cn:CreditNote/cac:AllowanceCharge[cbc:ChargeIndicator = false()] |
|
exists(cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID) |
|
BR-33 (fatal) |
[BR-33]-Each Document level allowance (BG-20) shall have a Document level allowance reason (BT-97) or a Document level allowance reason code (BT-98). |
/ubl:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = false()] | /cn:CreditNote/cac:AllowanceCharge[cbc:ChargeIndicator = false()] |
|
exists(cbc:AllowanceChargeReason) or exists(cbc:AllowanceChargeReasonCode) |
|
BR-36 (fatal) |
[BR-36]-Each Document level charge (BG-21) shall have a Document level charge amount (BT-99). |
/ubl:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = true()] | /cn:CreditNote/cac:AllowanceCharge[cbc:ChargeIndicator = true()] |
|
exists(cbc:Amount) |
|
BR-37 (fatal) |
[BR-37]-Each Document level charge (BG-21) shall have a Document level charge VAT category code (BT-102). |
/ubl:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = true()] | /cn:CreditNote/cac:AllowanceCharge[cbc:ChargeIndicator = true()] |
|
exists(cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID) |
|
BR-38 (fatal) |
[BR-38]-Each Document level charge (BG-21) shall have a Document level charge reason (BT-104) or a Document level charge reason code (BT-105). |
/ubl:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = true()] | /cn:CreditNote/cac:AllowanceCharge[cbc:ChargeIndicator = true()] |
|
exists(cbc:AllowanceChargeReason) or exists(cbc:AllowanceChargeReasonCode) |
|
BR-41 (fatal) |
[BR-41]-Each Invoice line allowance (BG-27) shall have an Invoice line allowance amount (BT-136). |
//cac:InvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()] | //cac:CreditNoteLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()] |
|
exists(cbc:Amount) |
|
BR-42 (fatal) |
[BR-42]-Each Invoice line allowance (BG-27) shall have an Invoice line allowance reason (BT-139) or an Invoice line allowance reason code (BT-140). |
//cac:InvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()] | //cac:CreditNoteLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()] |
|
exists(cbc:AllowanceChargeReason) or exists(cbc:AllowanceChargeReasonCode) |
|
BR-43 (fatal) |
[BR-43]-Each Invoice line charge (BG-28) shall have an Invoice line charge amount (BT-141). |
//cac:InvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator = true()] | //cac:CreditNoteLine/cac:AllowanceCharge[cbc:ChargeIndicator = true()] |
|
exists(cbc:Amount) |
|
BR-44 (fatal) |
[BR-44]-Each Invoice line charge shall have an Invoice line charge reason or an invoice line allowance reason code. |
//cac:InvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator = true()] | //cac:CreditNoteLine/cac:AllowanceCharge[cbc:ChargeIndicator = true()] |
|
exists(cbc:AllowanceChargeReason) or exists(cbc:AllowanceChargeReasonCode) |
|
BR-45 (fatal) |
[BR-45]-Each VAT breakdown (BG-23) shall have a VAT category taxable amount (BT-116). |
cac:TaxTotal/cac:TaxSubtotal |
|
exists(cbc:TaxableAmount) |
|
BR-46 (fatal) |
[BR-46]-Each VAT breakdown (BG-23) shall have a VAT category tax amount (BT-117). |
cac:TaxTotal/cac:TaxSubtotal |
|
exists(cbc:TaxAmount) |
|
BR-47 (fatal) |
[BR-47]-Each VAT breakdown (BG-23) shall be defined through a VAT category code (BT-118). |
cac:TaxTotal/cac:TaxSubtotal |
|
exists(cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID) |
|
BR-48 (fatal) |
[BR-48]-Each VAT breakdown (BG-23) shall have a VAT category rate (BT-119), except if the Invoice is not subject to VAT. |
cac:TaxTotal/cac:TaxSubtotal |
|
exists(cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:Percent) or (cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/normalize-space(cbc:ID)='O') |
|
BR-49 (fatal) |
[BR-49]-A Payment instruction (BG-16) shall specify the Payment means type code (BT-81). |
cac:PaymentMeans |
|
exists(cbc:PaymentMeansCode) |
|
BR-50 (fatal) |
[BR-50]-A Payment account identifier (BT-84) shall be present if Credit transfer (BG-17) information is provided in the Invoice. |
cac:PaymentMeans[cbc:PaymentMeansCode='30' or cbc:PaymentMeansCode='58']/cac:PayeeFinancialAccount |
|
normalize-space(cbc:ID) != '' |
|
BR-51 (warning) |
[BR-51]-In accordance with card payments security standards an invoice should never include a full card primary account number (BT-87). At the moment PCI Security Standards Council has defined that the first 6 digits and last 4 digits are the maximum number of digits to be shown. |
cac:PaymentMeans/cac:CardAccount |
|
string-length(cbc:PrimaryAccountNumberID)⇐10 |
|
BR-52 (fatal) |
[BR-52]-Each Additional supporting document (BG-24) shall contain a Supporting document reference (BT-122). |
cac:AdditionalDocumentReference |
|
normalize-space(cbc:ID) != '' |
|
BR-53 (fatal) |
[BR-53]-If the VAT accounting currency code (BT-6) is present, then the Invoice total VAT amount in accounting currency (BT-111) shall be provided. |
/ubl:Invoice | /cn:CreditNote |
|
every $taxcurrency in cbc:TaxCurrencyCode satisfies exists(//cac:TaxTotal/cbc:TaxAmount[@currencyID=$taxcurrency]) |
|
BR-54 (fatal) |
[BR-54]-Each Item attribute (BG-32) shall contain an Item attribute name (BT-160) and an Item attribute value (BT-161). |
//cac:AdditionalItemProperty |
|
exists(cbc:Name) and exists(cbc:Value) |
|
BR-55 (fatal) |
[BR-55]-Each Preceding Invoice reference (BG-3) shall contain a Preceding Invoice reference (BT-25). |
cac:BillingReference |
|
exists(cac:InvoiceDocumentReference/cbc:ID) |
|
BR-56 (fatal) |
[BR-56]-Each Seller tax representative party (BG-11) shall have a Seller tax representative VAT identifier (BT-63). |
cac:TaxRepresentativeParty |
|
exists(cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID) |
|
BR-57 (fatal) |
[BR-57]-Each Deliver to address (BG-15) shall contain a Deliver to country code (BT-80). |
cac:Delivery/cac:DeliveryLocation/cac:Address |
|
exists(cac:Country/cbc:IdentificationCode) |
|
BR-61 (fatal) |
[BR-61]-If the Payment means type code (BT-81) means SEPA credit transfer, Local credit transfer or Non-SEPA international credit transfer, the Payment account identifier (BT-84) shall be present. |
cac:PaymentMeans |
|
(exists(cac:PayeeFinancialAccount/cbc:ID) and normalize-space(cbc:PaymentMeansCode) = '30') or (normalize-space(cbc:PaymentMeansCode) = '58') or normalize-space(cbc:PaymentMeansCode) != '30') and (normalize-space(cbc:PaymentMeansCode) != '58' |
|
BR-62 (fatal) |
[BR-62]-The Seller electronic address (BT-34) shall have a Scheme identifier. |
cac:AccountingSupplierParty/cac:Party/cbc:EndpointID |
|
exists(@schemeID) |
|
BR-63 (fatal) |
[BR-63]-The Buyer electronic address (BT-49) shall have a Scheme identifier. |
cac:AccountingCustomerParty/cac:Party/cbc:EndpointID |
|
exists(@schemeID) |
|
BR-64 (fatal) |
[BR-64]-The Item standard identifier (BT-157) shall have a Scheme identifier. |
cac:InvoiceLine/cac:Item/cac:StandardItemIdentification/cbc:ID | cac:CreditNoteLine/cac:Item/cac:StandardItemIdentification/cbc:ID |
|
exists(@schemeID) |
|
BR-65 (fatal) |
[BR-65]-The Item classification identifier (BT-158) shall have a Scheme identifier. |
cac:InvoiceLine/cac:Item/cac:CommodityClassification/cbc:ItemClassificationCode | cac:CreditNoteLine/cac:Item/cac:CommodityClassification/cbc:ItemClassificationCode |
|
exists(@listID) |
|
BR-66 (fatal) |
[BR-66]-An Invoice shall contain maximum one Payment Card account (BG-18). |
/ubl:Invoice | /cn:CreditNote |
|
count(cac:PaymentMeans/cac:CardAccount) ⇐ 1 |
|
BR-67 (fatal) |
[BR-67]-An Invoice shall contain maximum one Payment Mandate (BG-19). |
/ubl:Invoice | /cn:CreditNote |
|
count(cac:PaymentMeans/cac:PaymentMandate) ⇐ 1 |
|
BR-AE-01 (fatal) |
[BR-AE-01]-An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "Reverse charge" shall contain in the VAT Breakdown (BG-23) exactly one VAT category code (BT-118) equal with "VAT reverse charge". |
/ubl:Invoice | /cn:CreditNote |
|
exists(//cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID='VAT']/cbc:ID[normalize-space(.) = 'AE']) or exists(//cac:ClassifiedTaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'AE'])) and (count(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'AE']) = 1)) or (not(//cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'AE']) and not(//cac:ClassifiedTaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'AE'])) |
|
BR-AE-02 (fatal) |
[BR-AE-02]-An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Reverse charge" shall contain the Seller VAT Identifier (BT-31), the Seller Tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48) and/or the Buyer legal registration identifier (BT-47). |
/ubl:Invoice | /cn:CreditNote |
|
(exists(//cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'AE'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) and (exists(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID) or exists(//cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID)) and (exists(//cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID) or exists(//cac:AccountingCustomerParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID))) or not(exists(//cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'AE'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'])) |
|
BR-AE-03 (fatal) |
[BR-AE-03]-An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Reverse charge" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48) and/or the Buyer legal registration identifier (BT-47). |
/ubl:Invoice | /cn:CreditNote |
|
(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID) = 'AE'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) and (exists(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID) or exists(//cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID)) and (exists(//cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID) or exists(//cac:AccountingCustomerParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID))) or not(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID) = 'AE'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'])) |
|
BR-AE-04 (fatal) |
[BR-AE-04]-An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Reverse charge" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48) and/or the Buyer legal registration identifier (BT-47). |
/ubl:Invoice | /cn:CreditNote |
|
(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cac:TaxCategory[normalize-space(cbc:ID) = 'AE'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) and (exists(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID) or exists(//cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID)) and (exists(//cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID) or exists(//cac:AccountingCustomerParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID))) or not(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cac:TaxCategory[normalize-space(cbc:ID) = 'AE'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'])) |
|
BR-AE-05 (fatal) |
[BR-AE-05]-In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Reverse charge" the Invoiced item VAT rate (BT-152) shall be 0 (zero). |
cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'AE'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] | cac:CreditNoteLine/cac:Item/cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'AE'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
(xs:decimal(cbc:Percent) = 0) |
|
BR-AE-06 (fatal) |
[BR-AE-06]-In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Reverse charge" the Document level allowance VAT rate (BT-96) shall be 0 (zero). |
cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID)='AE'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
(xs:decimal(cbc:Percent) = 0) |
|
BR-AE-07 (fatal) |
[BR-AE-07]-In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Reverse charge" the Document level charge VAT rate (BT-103) shall be 0 (zero). |
cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cac:TaxCategory[normalize-space(cbc:ID)='AE'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
(xs:decimal(cbc:Percent) = 0) |
|
BR-AE-08 (fatal) |
[BR-AE-08]-In a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Reverse charge" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Reverse charge". |
/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'AE'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
(exists(//cac:InvoiceLine) and (xs:decimal(../cbc:TaxableAmount) = (sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='AE']/xs:decimal(cbc:LineExtensionAmount)) + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='AE']/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='AE']/xs:decimal(cbc:Amount))))) or (exists(//cac:CreditNoteLine) and (xs:decimal(../cbc:TaxableAmount) = (sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='AE']/xs:decimal(cbc:LineExtensionAmount)) + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='AE']/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='AE']/xs:decimal(cbc:Amount))))) |
|
BR-AE-09 (fatal) |
[BR-AE-09]-The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Reverse charge" shall be 0 (zero). |
/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'AE'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
xs:decimal(../cbc:TaxAmount) = 0 |
|
BR-AE-10 (fatal) |
[BR-AE-10]-A VAT breakdown (BG-23) with VAT Category code (BT-118) "Reverse charge" shall have a VAT exemption reason code (BT-121), meaning "Reverse charge" or the VAT exemption reason text (BT-120) "Reverse charge" (or the equivalent standard text in another language). |
/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'AE'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
exists(cbc:TaxExemptionReason) or (exists(cbc:TaxExemptionReasonCode) ) |
|
BR-B-01 (fatal) |
[BR-B-01]-An Invoice where the VAT category code (BT-151, BT-95 or BT-102) is “Split payment” shall be a domestic Italian invoice. |
/ubl:Invoice | /cn:CreditNote |
|
(not(//cbc:IdentificationCode != 'IT') and (//cac:TaxCategory/cbc:ID ='B' or //cac:ClassifiedTaxCategory/cbc:ID = 'B')) or (not(//cac:TaxCategory/cbc:ID ='B' or //cac:ClassifiedTaxCategory/cbc:ID = 'B')) |
|
BR-B-02 (fatal) |
[BR-B-02]-An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is “Split payment" shall not contain an invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is “Standard rated”. |
/ubl:Invoice | /cn:CreditNote |
|
cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID ='B' or cac:AllowanceCharge/cac:TaxCategory/cbc:ID ='B' or //cac:ClassifiedTaxCategory/cbc:ID = 'B') and (not(cac:TaxTotal/cac:TaxSubtotal/cbc:ID ='S' or cac:AllowanceCharge/cac:TaxCategory/cbc:ID ='S' or //cac:ClassifiedTaxCategory/cbc:ID = 'S') or (not(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID ='B' or cac:AllowanceCharge/cac:TaxCategory/cbc:ID ='B' or //cac:ClassifiedTaxCategory/cbc:ID = 'B')) |
|
BR-CL-01 (fatal) |
[BR-CL-01]-The document type code MUST be coded by the invoice and credit note related code lists of UNTDID 1001. |
cbc:InvoiceTypeCode | cbc:CreditNoteTypeCode |
|
(self::cbc:InvoiceTypeCode and not(contains(normalize-space(.), ' ' and contains(' 71 80 81 82 84 102 130 202 203 204 211 218 219 295 325 326 331 380 382 383 384 385 386 387 388 389 390 393 394 395 456 457 527 553 575 623 633 751 780 817 870 875 876 877 935 ', concat(' ', normalize-space(.), ' '))))) or (self::cbc:CreditNoteTypeCode and not(contains(normalize-space(.), ' ' and contains(' 81 83 261 262 296 308 381 396 420 458 532 ', concat(' ', normalize-space(.), ' '))))) |
|
BR-CL-03 (fatal) |
[BR-CL-03]-currencyID MUST be coded using ISO code list 4217 alpha-3 |
cbc:Amount | cbc:BaseAmount | cbc:PriceAmount | cbc:TaxAmount | cbc:TaxableAmount | cbc:LineExtensionAmount | cbc:TaxExclusiveAmount | cbc:TaxInclusiveAmount | cbc:AllowanceTotalAmount | cbc:ChargeTotalAmount | cbc:PrepaidAmount | cbc:PayableRoundingAmount | cbc:PayableAmount |
|
not(contains(normalize-space(@currencyID), ' ' and contains(' AED AFN ALL AMD ANG AOA ARS AUD AWG AZN BAM BBD BDT BGN BHD BIF BMD BND BOB BOV BRL BSD BTN BWP BYN BZD CAD CDF CHE CHF CHW CLF CLP CNY COP COU CRC CUC CUP CVE CZK DJF DKK DOP DZD EGP ERN ETB EUR FJD FKP GBP GEL GHS GIP GMD GNF GTQ GYD HKD HNL HRK HTG HUF IDR ILS INR IQD IRR ISK JMD JOD JPY KES KGS KHR KMF KPW KRW KWD KYD KZT LAK LBP LKR LRD LSL LYD MAD MDL MGA MKD MMK MNT MOP MRO MUR MVR MWK MXN MXV MYR MZN NAD NGN NIO NOK NPR NZD OMR PAB PEN PGK PHP PKR PLN PYG QAR RON RSD RUB RWF SAR SBD SCR SDG SEK SGD SHP SLE SLL SOS SRD SSP STD SVC SYP SZL THB TJS TMT TND TOP TRY TTD TWD TZS UAH UGX USD USN UYI UYU UZS VEF VND VUV WST XAF XAG XAU XBA XBB XBC XBD XCD XDR XOF XPD XPF XPT XSU XTS XUA XXX YER ZAR ZMW ZWL ', concat(' ', normalize-space(@currencyID), ' ')))) |
|
BR-CL-04 (fatal) |
[BR-CL-04]-Invoice currency code MUST be coded using ISO code list 4217 alpha-3 |
cbc:DocumentCurrencyCode |
|
not(contains(normalize-space(.), ' ' and contains(' AED AFN ALL AMD ANG AOA ARS AUD AWG AZN BAM BBD BDT BGN BHD BIF BMD BND BOB BOV BRL BSD BTN BWP BYN BZD CAD CDF CHE CHF CHW CLF CLP CNY COP COU CRC CUC CUP CVE CZK DJF DKK DOP DZD EGP ERN ETB EUR FJD FKP GBP GEL GHS GIP GMD GNF GTQ GYD HKD HNL HRK HTG HUF IDR ILS INR IQD IRR ISK JMD JOD JPY KES KGS KHR KMF KPW KRW KWD KYD KZT LAK LBP LKR LRD LSL LYD MAD MDL MGA MKD MMK MNT MOP MRO MUR MVR MWK MXN MXV MYR MZN NAD NGN NIO NOK NPR NZD OMR PAB PEN PGK PHP PKR PLN PYG QAR RON RSD RUB RWF SAR SBD SCR SDG SEK SGD SHP SLE SLL SOS SRD SSP STD SVC SYP SZL THB TJS TMT TND TOP TRY TTD TWD TZS UAH UGX USD USN UYI UYU UZS VEF VND VUV WST XAF XAG XAU XBA XBB XBC XBD XCD XDR XOF XPD XPF XPT XSU XTS XUA XXX YER ZAR ZMW ZWL ', concat(' ', normalize-space(.), ' ')))) |
|
BR-CL-05 (fatal) |
[BR-CL-05]-Tax currency code MUST be coded using ISO code list 4217 alpha-3 |
cbc:TaxCurrencyCode |
|
not(contains(normalize-space(.), ' ' and contains(' AED AFN ALL AMD ANG AOA ARS AUD AWG AZN BAM BBD BDT BGN BHD BIF BMD BND BOB BOV BRL BSD BTN BWP BYN BZD CAD CDF CHE CHF CHW CLF CLP CNY COP COU CRC CUC CUP CVE CZK DJF DKK DOP DZD EGP ERN ETB EUR FJD FKP GBP GEL GHS GIP GMD GNF GTQ GYD HKD HNL HRK HTG HUF IDR ILS INR IQD IRR ISK JMD JOD JPY KES KGS KHR KMF KPW KRW KWD KYD KZT LAK LBP LKR LRD LSL LYD MAD MDL MGA MKD MMK MNT MOP MRO MUR MVR MWK MXN MXV MYR MZN NAD NGN NIO NOK NPR NZD OMR PAB PEN PGK PHP PKR PLN PYG QAR RON RSD RUB RWF SAR SBD SCR SDG SEK SGD SHP SLE SLL SOS SRD SSP STD SVC SYP SZL THB TJS TMT TND TOP TRY TTD TWD TZS UAH UGX USD USN UYI UYU UZS VEF VND VUV WST XAF XAG XAU XBA XBB XBC XBD XCD XDR XOF XPD XPF XPT XSU XTS XUA XXX YER ZAR ZMW ZWL ', concat(' ', normalize-space(.), ' ')))) |
|
BR-CL-06 (fatal) |
[BR-CL-06]-Value added tax point date code MUST be coded using a restriction of UNTDID 2005. |
cac:InvoicePeriod/cbc:DescriptionCode |
|
not(contains(normalize-space(.), ' ' and contains(' 3 35 432 ', concat(' ', normalize-space(.), ' ')))) |
|
BR-CL-07 (fatal) |
[BR-CL-07]-Object identifier identification scheme identifier MUST be coded using a restriction of UNTDID 1153. |
cac:AdditionalDocumentReference[cbc:DocumentTypeCode = '130']/cbc:ID[@schemeID] | cac:DocumentReference[cbc:DocumentTypeCode = '130']/cbc:ID[@schemeID] |
|
not(contains(normalize-space(@schemeID), ' ' and contains(' AAA AAB AAC AAD AAE AAF AAG AAH AAI AAJ AAK AAL AAM AAN AAO AAP AAQ AAR AAS AAT AAU AAV AAW AAX AAY AAZ ABA ABB ABC ABD ABE ABF ABG ABH ABI ABJ ABK ABL ABM ABN ABO ABP ABQ ABR ABS ABT ABU ABV ABW ABX ABY ABZ AC ACA ACB ACC ACD ACE ACF ACG ACH ACI ACJ ACK ACL ACN ACO ACP ACQ ACR ACT ACU ACV ACW ACX ACY ACZ ADA ADB ADC ADD ADE ADF ADG ADI ADJ ADK ADL ADM ADN ADO ADP ADQ ADT ADU ADV ADW ADX ADY ADZ AE AEA AEB AEC AED AEE AEF AEG AEH AEI AEJ AEK AEL AEM AEN AEO AEP AEQ AER AES AET AEU AEV AEW AEX AEY AEZ AF AFA AFB AFC AFD AFE AFF AFG AFH AFI AFJ AFK AFL AFM AFN AFO AFP AFQ AFR AFS AFT AFU AFV AFW AFX AFY AFZ AGA AGB AGC AGD AGE AGF AGG AGH AGI AGJ AGK AGL AGM AGN AGO AGP AGQ AGR AGS AGT AGU AGV AGW AGX AGY AGZ AHA AHB AHC AHD AHE AHF AHG AHH AHI AHJ AHK AHL AHM AHN AHO AHP AHQ AHR AHS AHT AHU AHV AHX AHY AHZ AIA AIB AIC AID AIE AIF AIG AIH AII AIJ AIK AIL AIM AIN AIO AIP AIQ AIR AIS AIT AIU AIV AIW AIX AIY AIZ AJA AJB AJC AJD AJE AJF AJG AJH AJI AJJ AJK AJL AJM AJN AJO AJP AJQ AJR AJS AJT AJU AJV AJW AJX AJY AJZ AKA AKB AKC AKD AKE AKF AKG AKH AKI AKJ AKK AKL AKM AKN AKO AKP AKQ AKR AKS AKT AKU AKV AKW AKX AKY AKZ ALA ALB ALC ALD ALE ALF ALG ALH ALI ALJ ALK ALL ALM ALN ALO ALP ALQ ALR ALS ALT ALU ALV ALW ALX ALY ALZ AMA AMB AMC AMD AME AMF AMG AMH AMI AMJ AMK AML AMM AMN AMO AMP AMQ AMR AMS AMT AMU AMV AMW AMX AMY AMZ ANA ANB ANC AND ANE ANF ANG ANH ANI ANJ ANK ANL ANM ANN ANO ANP ANQ ANR ANS ANT ANU ANV ANW ANX ANY AOA AOD AOE AOF AOG AOH AOI AOJ AOK AOL AOM AON AOO AOP AOQ AOR AOS AOT AOU AOV AOW AOX AOY AOZ AP APA APB APC APD APE APF APG APH API APJ APK APL APM APN APO APP APQ APR APS APT APU APV APW APX APY APZ AQA AQB AQC AQD AQE AQF AQG AQH AQI AQJ AQK AQL AQM AQN AQO AQP AQQ AQR AQS AQT AQU AQV AQW AQX AQY AQZ ARA ARB ARC ARD ARE ARF ARG ARH ARI ARJ ARK ARL ARM ARN ARO ARP ARQ ARR ARS ART ARU ARV ARW ARX ARY ARZ ASA ASB ASC ASD ASE ASF ASG ASH ASI ASJ ASK ASL ASM ASN ASO ASP ASQ ASR ASS AST ASU ASV ASW ASX ASY ASZ ATA ATB ATC ATD ATE ATF ATG ATH ATI ATJ ATK ATL ATM ATN ATO ATP ATQ ATR ATS ATT ATU ATV ATW ATX ATY ATZ AU AUA AUB AUC AUD AUE AUF AUG AUH AUI AUJ AUK AUL AUM AUN AUO AUP AUQ AUR AUS AUT AUU AUV AUW AUX AUY AUZ AV AVA AVB AVC AVD AVE AVF AVG AVH AVI AVJ AVK AVL AVM AVN AVO AVP AVQ AVR AVS AVT AVU AVV AVW AVX AVY AVZ AWA AWB AWC AWD AWE AWF AWG AWH AWI AWJ AWK AWL AWM AWN AWO AWP AWQ AWR AWS AWT AWU AWV AWW AWX AWY AWZ AXA AXB AXC AXD AXE AXF AXG AXH AXI AXJ AXK AXL AXM AXN AXO AXP AXQ AXR AXS BA BC BD BE BH BM BN BO BR BT BTP BW CAS CAT CAU CAV CAW CAX CAY CAZ CBA CBB CD CEC CED CFE CFF CFO CG CH CK CKN CM CMR CN CNO COF CP CR CRN CS CST CT CU CV CW CZ DA DAN DB DI DL DM DQ DR EA EB ED EE EEP EI EN EQ ER ERN ET EX FC FF FI FLW FN FO FS FT FV FX GA GC GD GDN GN HS HWB IA IB ICA ICE ICO II IL INB INN INO IP IS IT IV JB JE LA LAN LAR LB LC LI LO LRC LS MA MB MF MG MH MR MRN MS MSS MWB NA NF OH OI ON OP OR PB PC PD PE PF PI PK PL POR PP PQ PR PS PW PY RA RC RCN RE REN RF RR RT SA SB SD SE SEA SF SH SI SM SN SP SQ SRN SS STA SW SZ TB TCR TE TF TI TIN TL TN TP UAR UC UCN UN UO URI VA VC VGR VM VN VON VOR VP VR VS VT VV WE WM WN WR WS WY XA XC XP ZZZ ', concat(' ', normalize-space(@schemeID), ' ')))) |
|
BR-CL-08 (fatal) |
[BR-CL-08]-Invoiced note subject code shall be coded using UNCL4451 |
/ubl:Invoice/cbc:Note | /cn:CreditNote/cbc:Note |
|
(contains(.,'') and string-length(substring-before(substring-after(.,''),''))=3 and ( ( contains(' AAA AAB AAC AAD AAE AAF AAG AAI AAJ AAK AAL AAM AAN AAO AAP AAQ AAR AAS AAT AAU AAV AAW AAX AAY AAZ ABA ABB ABC ABD ABE ABF ABG ABH ABI ABJ ABK ABL ABM ABN ABO ABP ABQ ABR ABS ABT ABU ABV ABW ABX ABZ ACA ACB ACC ACD ACE ACF ACG ACH ACI ACJ ACK ACL ACM ACN ACO ACP ACQ ACR ACS ACT ACU ACV ACW ACX ACY ACZ ADA ADB ADC ADD ADE ADF ADG ADH ADI ADJ ADK ADL ADM ADN ADO ADP ADQ ADR ADS ADT ADU ADV ADW ADX ADY ADZ AEA AEB AEC AED AEE AEF AEG AEH AEI AEJ AEK AEL AEM AEN AEO AEP AEQ AER AES AET AEU AEV AEW AEX AEY AEZ AFA AFB AFC AFD AFE AFF AFG AFH AFI AFJ AFK AFL AFM AFN AFO AFP AFQ AFR AFS AFT AFU AFV AFW AFX AFY AFZ AGA AGB AGC AGD AGE AGF AGG AGH AGI AGJ AGK AGL AGM AGN AGO AGP AGQ AGR AGS AGT AGU AGV AGW AGX AGY AGZ AHA AHB AHC AHD AHE AHF AHG AHH AHI AHJ AHK AHL AHM AHN AHO AHP AHQ AHR AHS AHT AHU AHV AHW AHX AHY AHZ AIA AIB AIC AID AIE AIF AIG AIH AII AIJ AIK AIL AIM AIN AIO AIP AIQ AIR AIS AIT AIU AIV AIW AIX AIY AIZ AJA AJB ALC ALD ALE ALF ALG ALH ALI ALJ ALK ALL ALM ALN ALO ALP ALQ ARR ARS AUT AUU AUV AUW AUX AUY AUZ AVA AVB AVC AVD AVE AVF BAG BAH BAI BAJ BAK BAL BAM BAN BAO BAP BAQ BAR BAS BLC BLD BLE BLF BLG BLH BLI BLJ BLK BLL BLM BLN BLO BLP BLQ BLR BLS BLT BLU BLV BLW BLX BLY BLZ BMA BMB BMC BMD BME CCI CEX CHG CIP CLP CLR COI CUR CUS DAR DCL DEL DIN DOC DUT EUR FBC GBL GEN GS7 HAN HAZ ICN IIN IMI IND INS INV IRP ITR ITS LAN LIN LOI MCO MDH MKS ORI OSI PAC PAI PAY PKG PKT PMD PMT PRD PRF PRI PUR QIN QQD QUT RAH REG RET REV RQR SAF SIC SIN SLR SPA SPG SPH SPP SPT SRN SSR SUR TCA TDT TRA TRR TXD WHI ZZZ ',substring-before(substring-after(.,''),'') ) ) )) or not(contains(.,'')) or not(string-length(substring-before(substring-after(.,''),''))=3) |
|
BR-CL-10 (fatal) |
[BR-CL-10]-Any identifier identification scheme identifier MUST be coded using one of the ISO 6523 ICD list. |
cac:PartyIdentification/cbc:ID[@schemeID] |
|
not(contains(normalize-space(@schemeID), ' ' and contains(' 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 0090 0091 0093 0094 0095 0096 0097 0098 0099 0100 0101 0102 0104 0105 0106 0107 0108 0109 0110 0111 0112 0113 0114 0115 0116 0117 0118 0119 0120 0121 0122 0123 0124 0125 0126 0127 0128 0129 0130 0131 0132 0133 0134 0135 0136 0137 0138 0139 0140 0141 0142 0143 0144 0145 0146 0147 0148 0149 0150 0151 0152 0153 0154 0155 0156 0157 0158 0159 0160 0161 0162 0163 0164 0165 0166 0167 0168 0169 0170 0171 0172 0173 0174 0175 0176 0177 0178 0179 0180 0183 0184 0185 0186 0187 0188 0189 0190 0191 0192 0193 0194 0195 0196 0197 0198 0199 0200 0201 0202 0203 0204 0205 0206 0207 0208 0209 0210 0211 0212 0213 0214 0215 0216 0217 0218 0219 0220 ', concat(' ', normalize-space(@schemeID), ' ')))) or not(contains(normalize-space(@schemeID), ' ' and contains(' SEPA ', concat(' ', normalize-space(@schemeID), ' '))) and ancestor::cac:AccountingSupplierParty) or (ancestor::cac:PayeeParty) |
|
BR-CL-11 (fatal) |
[BR-CL-11]-Any registration identifier identification scheme identifier MUST be coded using one of the ISO 6523 ICD list. |
cac:PartyLegalEntity/cbc:CompanyID[@schemeID] |
|
not(contains(normalize-space(@schemeID), ' ' and contains(' 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 0090 0091 0093 0094 0095 0096 0097 0098 0099 0100 0101 0102 0104 0105 0106 0107 0108 0109 0110 0111 0112 0113 0114 0115 0116 0117 0118 0119 0120 0121 0122 0123 0124 0125 0126 0127 0128 0129 0130 0131 0132 0133 0134 0135 0136 0137 0138 0139 0140 0141 0142 0143 0144 0145 0146 0147 0148 0149 0150 0151 0152 0153 0154 0155 0156 0157 0158 0159 0160 0161 0162 0163 0164 0165 0166 0167 0168 0169 0170 0171 0172 0173 0174 0175 0176 0177 0178 0179 0180 0183 0184 0185 0186 0187 0188 0189 0190 0191 0192 0193 0194 0195 0196 0197 0198 0199 0200 0201 0202 0203 0204 0205 0206 0207 0208 0209 0210 0211 0212 0213 0214 0215 0216 0217 0218 0219 0220 ', concat(' ', normalize-space(@schemeID), ' ')))) |
|
BR-CL-13 (fatal) |
[BR-CL-13]-Item classification identifier identification scheme identifier MUST be coded using one of the UNTDID 7143 list. |
cac:CommodityClassification/cbc:ItemClassificationCode[@listID] |
|
not(contains(normalize-space(@listID), ' ' and contains(' AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS AT AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS BT BU BV BW BX BY BZ CC CG CL CR CV DR DW EC EF EN FS GB GN GS HS IB IN IS IT IZ MA MF MN MP NB ON PD PL PO PV QS RC RN RU RY SA SG SK SN SRS SRT SRU SRV SRW SRX SRY SRZ SS SSA SSB SSC SSD SSE SSF SSG SSH SSI SSJ SSK SSL SSM SSN SSO SSP SSQ SSR SSS SST SSU SSV SSW SSX SSY SSZ ST STA STB STC STD STE STF STG STH STI STJ STK STL STM STN STO STP STQ STR STS STT STU STV STW STX STY STZ SUA SUB SUC SUD SUE SUF SUG SUH SUI SUJ SUK SUL SUM TG TSN TSO TSP TSQ TSR TSS TST TSU UA UP VN VP VS VX ZZZ ', concat(' ', normalize-space(@listID), ' ')))) |
|
BR-CL-14 (fatal) |
[BR-CL-14]-Country codes in an invoice MUST be coded using ISO code list 3166-1 |
cac:Country/cbc:IdentificationCode |
|
not(contains(normalize-space(.), ' ' and contains(' 1A AD AE AF AG AI AL AM AO AQ AR AS AT AU AW AX AZ BA BB BD BE BF BG BH BI BJ BL BM BN BO BQ BR BS BT BV BW BY BZ CA CC CD CF CG CH CI CK CL CM CN CO CR CU CV CW CX CY CZ DE DJ DK DM DO DZ EC EE EG EH ER ES ET FI FJ FK FM FO FR GA GB GD GE GF GG GH GI GL GM GN GP GQ GR GS GT GU GW GY HK HM HN HR HT HU ID IE IL IM IN IO IQ IR IS IT JE JM JO JP KE KG KH KI KM KN KP KR KW KY KZ LA LB LC LI LK LR LS LT LU LV LY MA MC MD ME MF MG MH MK ML MM MN MO MP MQ MR MS MT MU MV MW MX MY MZ NA NC NE NF NG NI NL NO NP NR NU NZ OM PA PE PF PG PH PK PL PM PN PR PS PT PW PY QA RE RO RS RU RW SA SB SC SD SE SG SH SI SJ SK SL SM SN SO SR SS ST SV SX SY SZ TC TD TF TG TH TJ TK TL TM TN TO TR TT TV TW TZ UA UG UM US UY UZ VA VC VE VG VI VN VU WF WS XI YE YT ZA ZM ZW ', concat(' ', normalize-space(.), ' ')))) |
|
BR-CL-15 (fatal) |
[BR-CL-15]-Country codes in an invoice MUST be coded using ISO code list 3166-1 |
cac:OriginCountry/cbc:IdentificationCode |
|
not(contains(normalize-space(.), ' ' and contains(' 1A AD AE AF AG AI AL AM AO AQ AR AS AT AU AW AX AZ BA BB BD BE BF BG BH BI BJ BL BM BN BO BQ BR BS BT BV BW BY BZ CA CC CD CF CG CH CI CK CL CM CN CO CR CU CV CW CX CY CZ DE DJ DK DM DO DZ EC EE EG EH ER ES ET FI FJ FK FM FO FR GA GB GD GE GF GG GH GI GL GM GN GP GQ GR GS GT GU GW GY HK HM HN HR HT HU ID IE IL IM IN IO IQ IR IS IT JE JM JO JP KE KG KH KI KM KN KP KR KW KY KZ LA LB LC LI LK LR LS LT LU LV LY MA MC MD ME MF MG MH MK ML MM MN MO MP MQ MR MS MT MU MV MW MX MY MZ NA NC NE NF NG NI NL NO NP NR NU NZ OM PA PE PF PG PH PK PL PM PN PR PS PT PW PY QA RE RO RS RU RW SA SB SC SD SE SG SH SI SJ SK SL SM SN SO SR SS ST SV SX SY SZ TC TD TF TG TH TJ TK TL TM TN TO TR TT TV TW TZ UA UG UM US UY UZ VA VC VE VG VI VN VU WF WS XI YE YT ZA ZM ZW ', concat(' ', normalize-space(.), ' ')))) |
|
BR-CL-16 (fatal) |
[BR-CL-16]-Payment means in an invoice MUST be coded using UNCL4461 code list |
cac:PaymentMeans/cbc:PaymentMeansCode |
|
( ( not(contains(normalize-space(.),' ')) and contains( ' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 74 75 76 77 78 91 92 93 94 95 96 97 ZZZ ',concat(' ',normalize-space(.),' ') ) ) ) |
|
BR-CL-17 (fatal) |
[BR-CL-17]-Invoice tax categories MUST be coded using UNCL5305 code list |
cac:TaxCategory/cbc:ID |
|
( ( not(contains(normalize-space(.),' ')) and contains( ' AE L M E S Z G O K B ',concat(' ',normalize-space(.),' ') ) ) ) |
|
BR-CL-18 (fatal) |
[BR-CL-18]-Invoice tax categories MUST be coded using UNCL5305 code list |
cac:ClassifiedTaxCategory/cbc:ID |
|
( ( not(contains(normalize-space(.),' ')) and contains( ' AE L M E S Z G O K B ',concat(' ',normalize-space(.),' ') ) ) ) |
|
BR-CL-19 (fatal) |
[BR-CL-19]-Coded allowance reasons MUST belong to the UNCL 5189 code list |
cac:AllowanceCharge[cbc:ChargeIndicator = false()]/cbc:AllowanceChargeReasonCode |
|
not(contains(normalize-space(.), ' ' and contains(' 41 42 60 62 63 64 65 66 67 68 70 71 88 95 100 102 103 104 105 ', concat(' ', normalize-space(.), ' ')))) |
|
BR-CL-20 (fatal) |
[BR-CL-20]-Coded charge reasons MUST belong to the UNCL 7161 code list |
cac:AllowanceCharge[cbc:ChargeIndicator = true()]/cbc:AllowanceChargeReasonCode |
|
not(contains(normalize-space(.), ' ' and contains(' AA AAA AAC AAD AAE AAF AAH AAI AAS AAT AAV AAY AAZ ABA ABB ABC ABD ABF ABK ABL ABN ABR ABS ABT ABU ACF ACG ACH ACI ACJ ACK ACL ACM ACS ADC ADE ADJ ADK ADL ADM ADN ADO ADP ADQ ADR ADT ADW ADY ADZ AEA AEB AEC AED AEF AEH AEI AEJ AEK AEL AEM AEN AEO AEP AES AET AEU AEV AEW AEX AEY AEZ AJ AU CA CAB CAD CAE CAF CAI CAJ CAK CAL CAM CAN CAO CAP CAQ CAR CAS CAT CAU CAV CAW CAX CAY CAZ CD CG CS CT DAB DAD DAC DAF DAG DAH DAI DAJ DAK DAL DAM DAN DAO DAP DAQ DL EG EP ER FAA FAB FAC FC FH FI GAA HAA HD HH IAA IAB ID IF IR IS KO L1 LA LAA LAB LF MAE MI ML NAA OA PA PAA PC PL RAB RAC RAD RAF RE RF RH RV SA SAA SAD SAE SAI SG SH SM SU TAB TAC TT TV V1 V2 WH XAA YY ZZZ ', concat(' ', normalize-space(.), ' ')))) |
|
BR-CL-21 (fatal) |
[BR-CL-21]-Item standard identifier scheme identifier MUST belong to the ISO 6523 ICD code list |
cac:StandardItemIdentification/cbc:ID[@schemeID] |
|
not(contains(normalize-space(@schemeID), ' ' and contains(' 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 0090 0091 0093 0094 0095 0096 0097 0098 0099 0100 0101 0102 0104 0105 0106 0107 0108 0109 0110 0111 0112 0113 0114 0115 0116 0117 0118 0119 0120 0121 0122 0123 0124 0125 0126 0127 0128 0129 0130 0131 0132 0133 0134 0135 0136 0137 0138 0139 0140 0141 0142 0143 0144 0145 0146 0147 0148 0149 0150 0151 0152 0153 0154 0155 0156 0157 0158 0159 0160 0161 0162 0163 0164 0165 0166 0167 0168 0169 0170 0171 0172 0173 0174 0175 0176 0177 0178 0179 0180 0183 0184 0185 0186 0187 0188 0189 0190 0191 0192 0193 0194 0195 0196 0197 0198 0199 0200 0201 0202 0203 0204 0205 0206 0207 0208 0209 0210 0211 0212 0213 0214 0215 0216 0217 0218 0219 0220 ', concat(' ', normalize-space(@schemeID), ' ')))) |
|
BR-CL-22 (fatal) |
[BR-CL-22]-Tax exemption reason code identifier scheme identifier MUST belong to the CEF VATEX code list |
cbc:TaxExemptionReasonCode |
|
not(contains(normalize-space(.), ' ' and contains(' VATEX-EU-79-C VATEX-EU-132 VATEX-EU-132-1A VATEX-EU-132-1B VATEX-EU-132-1C VATEX-EU-132-1D VATEX-EU-132-1E VATEX-EU-132-1F VATEX-EU-132-1G VATEX-EU-132-1H VATEX-EU-132-1I VATEX-EU-132-1J VATEX-EU-132-1K VATEX-EU-132-1L VATEX-EU-132-1M VATEX-EU-132-1N VATEX-EU-132-1O VATEX-EU-132-1P VATEX-EU-132-1Q VATEX-EU-143 VATEX-EU-143-1A VATEX-EU-143-1B VATEX-EU-143-1C VATEX-EU-143-1D VATEX-EU-143-1E VATEX-EU-143-1F VATEX-EU-143-1FA VATEX-EU-143-1G VATEX-EU-143-1H VATEX-EU-143-1I VATEX-EU-143-1J VATEX-EU-143-1K VATEX-EU-143-1L VATEX-EU-309 VATEX-EU-148 VATEX-EU-148-A VATEX-EU-148-B VATEX-EU-148-C VATEX-EU-148-D VATEX-EU-148-E VATEX-EU-148-F VATEX-EU-148-G VATEX-EU-151 VATEX-EU-151-1A VATEX-EU-151-1AA VATEX-EU-151-1B VATEX-EU-151-1C VATEX-EU-151-1D VATEX-EU-151-1E VATEX-EU-G VATEX-EU-O VATEX-EU-IC VATEX-EU-AE VATEX-EU-D VATEX-EU-F VATEX-EU-I VATEX-EU-J ', concat(' ', normalize-space(upper-case(.)), ' ')))) |
|
BR-CL-23 (fatal) |
[BR-CL-23]-Unit code MUST be coded according to the UN/ECE Recommendation 20 with Rec 21 extension |
cbc:InvoicedQuantity[@unitCode] | cbc:BaseQuantity[@unitCode] | cbc:CreditedQuantity[@unitCode] |
|
not(contains(normalize-space(@unitCode), ' ' and contains(' 10 11 13 14 15 20 21 22 23 24 25 27 28 33 34 35 37 38 40 41 56 57 58 59 60 61 74 77 80 81 85 87 89 91 1I 2A 2B 2C 2G 2H 2I 2J 2K 2L 2M 2N 2P 2Q 2R 2U 2X 2Y 2Z 3B 3C 4C 4G 4H 4K 4L 4M 4N 4O 4P 4Q 4R 4T 4U 4W 4X 5A 5B 5E 5J A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A2 A20 A21 A22 A23 A24 A26 A27 A28 A29 A3 A30 A31 A32 A33 A34 A35 A36 A37 A38 A39 A4 A40 A41 A42 A43 A44 A45 A47 A48 A49 A5 A53 A54 A55 A56 A59 A6 A68 A69 A7 A70 A71 A73 A74 A75 A76 A8 A84 A85 A86 A87 A88 A89 A9 A90 A91 A93 A94 A95 A96 A97 A98 A99 AA AB ACR ACT AD AE AH AI AK AL AMH AMP ANN APZ AQ AS ASM ASU ATM AWG AY AZ B1 B10 B11 B12 B13 B14 B15 B16 B17 B18 B19 B20 B21 B22 B23 B24 B25 B26 B27 B28 B29 B3 B30 B31 B32 B33 B34 B35 B4 B41 B42 B43 B44 B45 B46 B47 B48 B49 B50 B52 B53 B54 B55 B56 B57 B58 B59 B60 B61 B62 B63 B64 B66 B67 B68 B69 B7 B70 B71 B72 B73 B74 B75 B76 B77 B78 B79 B8 B80 B81 B82 B83 B84 B85 B86 B87 B88 B89 B90 B91 B92 B93 B94 B95 B96 B97 B98 B99 BAR BB BFT BHP BIL BLD BLL BP BPM BQL BTU BUA BUI C0 C10 C11 C12 C13 C14 C15 C16 C17 C18 C19 C20 C21 C22 C23 C24 C25 C26 C27 C28 C29 C3 C30 C31 C32 C33 C34 C35 C36 C37 C38 C39 C40 C41 C42 C43 C44 C45 C46 C47 C48 C49 C50 C51 C52 C53 C54 C55 C56 C57 C58 C59 C60 C61 C62 C63 C64 C65 C66 C67 C68 C69 C7 C70 C71 C72 C73 C74 C75 C76 C78 C79 C8 C80 C81 C82 C83 C84 C85 C86 C87 C88 C89 C9 C90 C91 C92 C93 C94 C95 C96 C97 C99 CCT CDL CEL CEN CG CGM CKG CLF CLT CMK CMQ CMT CNP CNT COU CTG CTM CTN CUR CWA CWI D03 D04 D1 D10 D11 D12 D13 D15 D16 D17 D18 D19 D2 D20 D21 D22 D23 D24 D25 D26 D27 D29 D30 D31 D32 D33 D34 D36 D41 D42 D43 D44 D45 D46 D47 D48 D49 D5 D50 D51 D52 D53 D54 D55 D56 D57 D58 D59 D6 D60 D61 D62 D63 D65 D68 D69 D73 D74 D77 D78 D80 D81 D82 D83 D85 D86 D87 D88 D89 D91 D93 D94 D95 DAA DAD DAY DB DBM DBW DD DEC DG DJ DLT DMA DMK DMO DMQ DMT DN DPC DPR DPT DRA DRI DRL DT DTN DWT DZN DZP E01 E07 E08 E09 E10 E12 E14 E15 E16 E17 E18 E19 E20 E21 E22 E23 E25 E27 E28 E30 E31 E32 E33 E34 E35 E36 E37 E38 E39 E4 E40 E41 E42 E43 E44 E45 E46 E47 E48 E49 E50 E51 E52 E53 E54 E55 E56 E57 E58 E59 E60 E61 E62 E63 E64 E65 E66 E67 E68 E69 E70 E71 E72 E73 E74 E75 E76 E77 E78 E79 E80 E81 E82 E83 E84 E85 E86 E87 E88 E89 E90 E91 E92 E93 E94 E95 E96 E97 E98 E99 EA EB EQ F01 F02 F03 F04 F05 F06 F07 F08 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31 F32 F33 F34 F35 F36 F37 F38 F39 F40 F41 F42 F43 F44 F45 F46 F47 F48 F49 F50 F51 F52 F53 F54 F55 F56 F57 F58 F59 F60 F61 F62 F63 F64 F65 F66 F67 F68 F69 F70 F71 F72 F73 F74 F75 F76 F77 F78 F79 F80 F81 F82 F83 F84 F85 F86 F87 F88 F89 F90 F91 F92 F93 F94 F95 F96 F97 F98 F99 FAH FAR FBM FC FF FH FIT FL FNU FOT FP FR FS FTK FTQ G01 G04 G05 G06 G08 G09 G10 G11 G12 G13 G14 G15 G16 G17 G18 G19 G2 G20 G21 G23 G24 G25 G26 G27 G28 G29 G3 G30 G31 G32 G33 G34 G35 G36 G37 G38 G39 G40 G41 G42 G43 G44 G45 G46 G47 G48 G49 G50 G51 G52 G53 G54 G55 G56 G57 G58 G59 G60 G61 G62 G63 G64 G65 G66 G67 G68 G69 G70 G71 G72 G73 G74 G75 G76 G77 G78 G79 G80 G81 G82 G83 G84 G85 G86 G87 G88 G89 G90 G91 G92 G93 G94 G95 G96 G97 G98 G99 GB GBQ GDW GE GF GFI GGR GIA GIC GII GIP GJ GL GLD GLI GLL GM GO GP GQ GRM GRN GRO GV GWH H03 H04 H05 H06 H07 H08 H09 H10 H11 H12 H13 H14 H15 H16 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64 H65 H66 H67 H68 H69 H70 H71 H72 H73 H74 H75 H76 H77 H79 H80 H81 H82 H83 H84 H85 H87 H88 H89 H90 H91 H92 H93 H94 H95 H96 H98 H99 HA HAD HBA HBX HC HDW HEA HGM HH HIU HKM HLT HM HMO HMQ HMT HPA HTZ HUR HWE IA IE INH INK INQ ISD IU IUG IV J10 J12 J13 J14 J15 J16 J17 J18 J19 J2 J20 J21 J22 J23 J24 J25 J26 J27 J28 J29 J30 J31 J32 J33 J34 J35 J36 J38 J39 J40 J41 J42 J43 J44 J45 J46 J47 J48 J49 J50 J51 J52 J53 J54 J55 J56 J57 J58 J59 J60 J61 J62 J63 J64 J65 J66 J67 J68 J69 J70 J71 J72 J73 J74 J75 J76 J78 J79 J81 J82 J83 J84 J85 J87 J90 J91 J92 J93 J95 J96 J97 J98 J99 JE JK JM JNT JOU JPS JWL K1 K10 K11 K12 K13 K14 K15 K16 K17 K18 K19 K2 K20 K21 K22 K23 K26 K27 K28 K3 K30 K31 K32 K33 K34 K35 K36 K37 K38 K39 K40 K41 K42 K43 K45 K46 K47 K48 K49 K50 K51 K52 K53 K54 K55 K58 K59 K6 K60 K61 K62 K63 K64 K65 K66 K67 K68 K69 K70 K71 K73 K74 K75 K76 K77 K78 K79 K80 K81 K82 K83 K84 K85 K86 K87 K88 K89 K90 K91 K92 K93 K94 K95 K96 K97 K98 K99 KA KAT KB KBA KCC KDW KEL KGM KGS KHY KHZ KI KIC KIP KJ KJO KL KLK KLX KMA KMH KMK KMQ KMT KNI KNM KNS KNT KO KPA KPH KPO KPP KR KSD KSH KT KTN KUR KVA KVR KVT KW KWH KWN KWO KWS KWT KWY KX L10 L11 L12 L13 L14 L15 L16 L17 L18 L19 L2 L20 L21 L23 L24 L25 L26 L27 L28 L29 L30 L31 L32 L33 L34 L35 L36 L37 L38 L39 L40 L41 L42 L43 L44 L45 L46 L47 L48 L49 L50 L51 L52 L53 L54 L55 L56 L57 L58 L59 L60 L63 L64 L65 L66 L67 L68 L69 L70 L71 L72 L73 L74 L75 L76 L77 L78 L79 L80 L81 L82 L83 L84 L85 L86 L87 L88 L89 L90 L91 L92 L93 L94 L95 L96 L98 L99 LA LAC LBR LBT LD LEF LF LH LK LM LN LO LP LPA LR LS LTN LTR LUB LUM LUX LY M1 M10 M11 M12 M13 M14 M15 M16 M17 M18 M19 M20 M21 M22 M23 M24 M25 M26 M27 M29 M30 M31 M32 M33 M34 M35 M36 M37 M38 M39 M4 M40 M41 M42 M43 M44 M45 M46 M47 M48 M49 M5 M50 M51 M52 M53 M55 M56 M57 M58 M59 M60 M61 M62 M63 M64 M65 M66 M67 M68 M69 M7 M70 M71 M72 M73 M74 M75 M76 M77 M78 M79 M80 M81 M82 M83 M84 M85 M86 M87 M88 M89 M9 M90 M91 M92 M93 M94 M95 M96 M97 M98 M99 MAH MAL MAM MAR MAW MBE MBF MBR MC MCU MD MGM MHZ MIK MIL MIN MIO MIU MKD MKM MKW MLD MLT MMK MMQ MMT MND MNJ MON MPA MQD MQH MQM MQS MQW MRD MRM MRW MSK MTK MTQ MTR MTS MTZ MVA MWH N1 N10 N11 N12 N13 N14 N15 N16 N17 N18 N19 N20 N21 N22 N23 N24 N25 N26 N27 N28 N29 N3 N30 N31 N32 N33 N34 N35 N36 N37 N38 N39 N40 N41 N42 N43 N44 N45 N46 N47 N48 N49 N50 N51 N52 N53 N54 N55 N56 N57 N58 N59 N60 N61 N62 N63 N64 N65 N66 N67 N68 N69 N70 N71 N72 N73 N74 N75 N76 N77 N78 N79 N80 N81 N82 N83 N84 N85 N86 N87 N88 N89 N90 N91 N92 N93 N94 N95 N96 N97 N98 N99 NA NAR NCL NEW NF NIL NIU NL NM3 NMI NMP NPT NT NTU NU NX OA ODE ODG ODK ODM OHM ON ONZ OPM OT OZA OZI P1 P10 P11 P12 P13 P14 P15 P16 P17 P18 P19 P2 P20 P21 P22 P23 P24 P25 P26 P27 P28 P29 P30 P31 P32 P33 P34 P35 P36 P37 P38 P39 P40 P41 P42 P43 P44 P45 P46 P47 P48 P49 P5 P50 P51 P52 P53 P54 P55 P56 P57 P58 P59 P60 P61 P62 P63 P64 P65 P66 P67 P68 P69 P70 P71 P72 P73 P74 P75 P76 P77 P78 P79 P80 P81 P82 P83 P84 P85 P86 P87 P88 P89 P90 P91 P92 P93 P94 P95 P96 P97 P98 P99 PAL PD PFL PGL PI PLA PO PQ PR PS PTD PTI PTL PTN Q10 Q11 Q12 Q13 Q14 Q15 Q16 Q17 Q18 Q19 Q20 Q21 Q22 Q23 Q24 Q25 Q26 Q27 Q28 Q29 Q3 Q30 Q31 Q32 Q33 Q34 Q35 Q36 Q37 Q38 Q39 Q40 Q41 Q42 QA QAN QB QR QTD QTI QTL QTR R1 R9 RH RM ROM RP RPM RPS RT S3 S4 SAN SCO SCR SEC SET SG SIE SM3 SMI SQ SQR SR STC STI STK STL STN STW SW SX SYR T0 T3 TAH TAN TI TIC TIP TKM TMS TNE TP TPI TPR TQD TRL TST TTS U1 U2 UB UC VA VLT VP W2 WA WB WCD WE WEB WEE WG WHR WM WSD WTT X1 YDK YDQ YRD Z11 Z9 ZP ZZ X1A X1B X1D X1F X1G X1W X2C X3A X3H X43 X44 X4A X4B X4C X4D X4F X4G X4H X5H X5L X5M X6H X6P X7A X7B X8A X8B X8C XAA XAB XAC XAD XAE XAF XAG XAH XAI XAJ XAL XAM XAP XAT XAV XB4 XBA XBB XBC XBD XBE XBF XBG XBH XBI XBJ XBK XBL XBM XBN XBO XBP XBQ XBR XBS XBT XBU XBV XBW XBX XBY XBZ XCA XCB XCC XCD XCE XCF XCG XCH XCI XCJ XCK XCL XCM XCN XCO XCP XCQ XCR XCS XCT XCU XCV XCW XCX XCY XCZ XDA XDB XDC XDG XDH XDI XDJ XDK XDL XDM XDN XDP XDR XDS XDT XDU XDV XDW XDX XDY XEC XED XEE XEF XEG XEH XEI XEN XFB XFC XFD XFE XFI XFL XFO XFP XFR XFT XFW XFX XGB XGI XGL XGR XGU XGY XGZ XHA XHB XHC XHG XHN XHR XIA XIB XIC XID XIE XIF XIG XIH XIK XIL XIN XIZ XJB XJC XJG XJR XJT XJY XKG XKI XLE XLG XLT XLU XLV XLZ XMA XMB XMC XME XMR XMS XMT XMW XMX XNA XNE XNF XNG XNS XNT XNU XNV XO1 XO2 XO3 XO4 XO5 XO6 XO7 XO8 XO9 XOA XOB XOC XOD XOE XOF XOG XOH XOI XOJ XOK XOL XOM XON XOP XOQ XOR XOS XOT XOU XOV XOW XOX XOY XOZ XP1 XP2 XP3 XP4 XPA XPB XPC XPD XPE XPF XPG XPH XPI XPJ XPK XPL XPN XPO XPP XPR XPT XPU XPV XPX XPY XPZ XQA XQB XQC XQD XQF XQG XQH XQJ XQK XQL XQM XQN XQP XQQ XQR XQS XRD XRG XRJ XRK XRL XRO XRT XRZ XSA XSB XSC XSD XSE XSH XSI XSK XSL XSM XSO XSP XSS XST XSU XSV XSW XSX XSY XSZ XT1 XTB XTC XTD XTE XTG XTI XTK XTL XTN XTO XTR XTS XTT XTU XTV XTW XTY XTZ XUC XUN XVA XVG XVI XVK XVL XVN XVO XVP XVQ XVR XVS XVY XWA XWB XWC XWD XWF XWG XWH XWJ XWK XWL XWM XWN XWP XWQ XWR XWS XWT XWU XWV XWW XWX XWY XWZ XXA XXB XXC XXD XXF XXG XXH XXJ XXK XYA XYB XYC XYD XYF XYG XYH XYJ XYK XYL XYM XYN XYP XYQ XYR XYS XYT XYV XYW XYX XYY XYZ XZA XZB XZC XZD XZF XZG XZH XZJ XZK XZL XZM XZN XZP XZQ XZR XZS XZT XZU XZV XZW XZX XZY XZZ ', concat(' ', normalize-space(@unitCode), ' ')))) |
|
BR-CL-24 (fatal) |
[BR-CL-24]-For Mime code in attribute use MIMEMediaType. |
cbc:EmbeddedDocumentBinaryObject[@mimeCode] |
|
@mimeCode = 'application/pdf' or @mimeCode = 'image/png' or @mimeCode = 'image/jpeg' or @mimeCode = 'text/csv' or @mimeCode = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' or @mimeCode = 'application/vnd.oasis.opendocument.spreadsheet' |
|
BR-CL-25 (fatal) |
[BR-CL-25]-Endpoint identifier scheme identifier MUST belong to the CEF EAS code list |
cbc:EndpointID[@schemeID] |
|
not(contains(normalize-space(@schemeID), ' ' and contains(' 0002 0007 0009 0037 0060 0088 0096 0097 0106 0130 0135 0142 0147 0151 0170 0183 0184 0188 0190 0191 0192 0193 0194 0195 0196 0198 0199 0200 0201 0202 0203 0204 0205 0208 0209 0210 0211 0212 0213 0215 0216 0217 0218 0219 0220 9901 9910 9913 9914 9915 9918 9919 9920 9922 9923 9924 9925 9926 9927 9928 9929 9930 9931 9932 9933 9934 9935 9936 9937 9938 9939 9940 9941 9942 9943 9944 9945 9946 9947 9948 9949 9950 9951 9952 9953 9955 9957 9959 AN AQ AS AU EM ', concat(' ', normalize-space(@schemeID), ' ')))) |
|
BR-CL-26 (fatal) |
[BR-CL-26]-Delivery location identifier scheme identifier MUST belong to the ISO 6523 ICD code list |
cac:DeliveryLocation/cbc:ID[@schemeID] |
|
not(contains(normalize-space(@schemeID), ' ' and contains(' 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 0090 0091 0093 0094 0095 0096 0097 0098 0099 0100 0101 0102 0104 0105 0106 0107 0108 0109 0110 0111 0112 0113 0114 0115 0116 0117 0118 0119 0120 0121 0122 0123 0124 0125 0126 0127 0128 0129 0130 0131 0132 0133 0134 0135 0136 0137 0138 0139 0140 0141 0142 0143 0144 0145 0146 0147 0148 0149 0150 0151 0152 0153 0154 0155 0156 0157 0158 0159 0160 0161 0162 0163 0164 0165 0166 0167 0168 0169 0170 0171 0172 0173 0174 0175 0176 0177 0178 0179 0180 0183 0184 0185 0186 0187 0188 0189 0190 0191 0192 0193 0194 0195 0196 0197 0198 0199 0200 0201 0202 0203 0204 0205 0206 0207 0208 0209 0210 0211 0212 0213 0214 0215 0216 0217 0218 0219 0220 ', concat(' ', normalize-space(@schemeID), ' ')))) |
|
BR-CO-03 (fatal) |
[BR-CO-03]-Value added tax point date (BT-7) and Value added tax point date code (BT-8) are mutually exclusive. |
/ubl:Invoice | /cn:CreditNote |
|
(exists(cbc:TaxPointDate) and not(cac:InvoicePeriod/cbc:DescriptionCode)) or (not(cbc:TaxPointDate) and exists(cac:InvoicePeriod/cbc:DescriptionCode)) or (not(cbc:TaxPointDate) and not(cac:InvoicePeriod/cbc:DescriptionCode)) |
|
BR-CO-04 (fatal) |
[BR-CO-04]-Each Invoice line (BG-25) shall be categorized with an Invoiced item VAT category code (BT-151). |
cac:InvoiceLine | cac:CreditNoteLine |
|
(cac:Item/cac:ClassifiedTaxCategory[cac:TaxScheme/(normalize-space(upper-case(cbc:ID))='VAT')]/cbc:ID) |
|
BR-CO-05 (fatal) |
[BR-CO-05]-Document level allowance reason code (BT-98) and Document level allowance reason (BT-97) shall indicate the same type of allowance. |
/ubl:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = false()] | /cn:CreditNote/cac:AllowanceCharge[cbc:ChargeIndicator = false()] |
|
true() |
|
BR-CO-06 (fatal) |
[BR-CO-06]-Document level charge reason code (BT-105) and Document level charge reason (BT-104) shall indicate the same type of charge. |
/ubl:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = true()] | /cn:CreditNote/cac:AllowanceCharge[cbc:ChargeIndicator = true()] |
|
true() |
|
BR-CO-07 (fatal) |
[BR-CO-07]-Invoice line allowance reason code (BT-140) and Invoice line allowance reason (BT-139) shall indicate the same type of allowance reason. |
//cac:InvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()] | //cac:CreditNoteLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()] |
|
true() |
|
BR-CO-08 (fatal) |
[BR-CO-08]-Invoice line charge reason code (BT-145) and Invoice line charge reason (BT-144) shall indicate the same type of charge reason. |
//cac:InvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator = true()] | //cac:CreditNoteLine/cac:AllowanceCharge[cbc:ChargeIndicator = true()] |
|
true() |
|
BR-CO-09 (fatal) |
[BR-CO-09]-The Seller VAT identifier (BT-31), the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48) shall have a prefix in accordance with ISO code ISO 3166-1 alpha-2 by which the country of issue may be identified. Nevertheless, Greece may use the prefix ‘EL’. |
//cac:PartyTaxScheme[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
( contains( ' 1A AD AE AF AG AI AL AM AO AQ AR AS AT AU AW AX AZ BA BB BD BE BF BG BH BI BJ BL BM BN BO BQ BR BS BT BV BW BY BZ CA CC CD CF CG CH CI CK CL CM CN CO CR CU CV CW CX CY CZ DE DJ DK DM DO DZ EC EE EG EH EL ER ES ET FI FJ FK FM FO FR GA GB GD GE GF GG GH GI GL GM GN GP GQ GR GS GT GU GW GY HK HM HN HR HT HU ID IE IL IM IN IO IQ IR IS IT JE JM JO JP KE KG KH KI KM KN KP KR KW KY KZ LA LB LC LI LK LR LS LT LU LV LY MA MC MD ME MF MG MH MK ML MM MN MO MP MQ MR MS MT MU MV MW MX MY MZ NA NC NE NF NG NI NL NO NP NR NU NZ OM PA PE PF PG PH PK PL PM PN PR PS PT PW PY QA RE RO RS RU RW SA SB SC SD SE SG SH SI SJ SK SL SM SN SO SR SS ST SV SX SY SZ TC TD TF TG TH TJ TK TL TM TN TO TR TT TV TW TZ UA UG UM US UY UZ VA VC VE VG VI VN VU WF WS XI YE YT ZA ZM ZW ',substring(cbc:CompanyID,1,2) ) ) |
|
BR-CO-10 (fatal) |
[BR-CO-10]-Sum of Invoice line net amount (BT-106) = Σ Invoice line net amount (BT-131). |
cac:LegalMonetaryTotal |
|
(xs:decimal(cbc:LineExtensionAmount) = xs:decimal(round(sum(//(cac:InvoiceLine|cac:CreditNoteLine)/xs:decimal(cbc:LineExtensionAmount)) * 10 * 10) div 100)) |
|
BR-CO-11 (fatal) |
[BR-CO-11]-Sum of allowances on document level (BT-107) = Σ Document level allowance amount (BT-92). |
cac:LegalMonetaryTotal |
|
xs:decimal(cbc:AllowanceTotalAmount) = (round(sum(../cac:AllowanceCharge[cbc:ChargeIndicator=false()]/xs:decimal(cbc:Amount)) * 10 * 10) div 100) or (not(cbc:AllowanceTotalAmount) and not(../cac:AllowanceCharge[cbc:ChargeIndicator=false()])) |
|
BR-CO-12 (fatal) |
[BR-CO-12]-Sum of charges on document level (BT-108) = Σ Document level charge amount (BT-99). |
cac:LegalMonetaryTotal |
|
xs:decimal(cbc:ChargeTotalAmount) = (round(sum(../cac:AllowanceCharge[cbc:ChargeIndicator=true()]/xs:decimal(cbc:Amount)) * 10 * 10) div 100) or (not(cbc:ChargeTotalAmount) and not(../cac:AllowanceCharge[cbc:ChargeIndicator=true()])) |
|
BR-CO-13 (fatal) |
[BR-CO-13]-Invoice total amount without VAT (BT-109) = Σ Invoice line net amount (BT-131) - Sum of allowances on document level (BT-107) + Sum of charges on document level (BT-108). |
cac:LegalMonetaryTotal |
|
cbc:ChargeTotalAmount) and (cbc:AllowanceTotalAmount) and (xs:decimal(cbc:TaxExclusiveAmount) = round((xs:decimal(cbc:LineExtensionAmount) + xs:decimal(cbc:ChargeTotalAmount) - xs:decimal(cbc:AllowanceTotalAmount * 10 * 10) div 100 )) or (not(cbc:ChargeTotalAmount) and (cbc:AllowanceTotalAmount) and (xs:decimal(cbc:TaxExclusiveAmount) = roundxs:decimal(cbc:LineExtensionAmount) - xs:decimal(cbc:AllowanceTotalAmount * 10 * 10 ) div 100)) or cbc:ChargeTotalAmount) and not(cbc:AllowanceTotalAmount) and (xs:decimal(cbc:TaxExclusiveAmount) = round((xs:decimal(cbc:LineExtensionAmount) + xs:decimal(cbc:ChargeTotalAmount * 10 * 10 ) div 100)) or (not(cbc:ChargeTotalAmount) and not(cbc:AllowanceTotalAmount) and (xs:decimal(cbc:TaxExclusiveAmount) = xs:decimal(cbc:LineExtensionAmount))) |
|
BR-CO-14 (fatal) |
[BR-CO-14]-Invoice total VAT amount (BT-110) = Σ VAT category tax amount (BT-117). |
/ubl:Invoice/cac:TaxTotal | /cn:CreditNote/cac:TaxTotal |
|
(xs:decimal(child::cbc:TaxAmount)= roundsum(cac:TaxSubtotal/xs:decimal(cbc:TaxAmount * 10 * 10)) div 100) or not(cac:TaxSubtotal) |
|
BR-CO-15 (fatal) |
[BR-CO-15]-Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110). |
/ubl:Invoice | /cn:CreditNote |
|
every $Currency in cbc:DocumentCurrencyCode satisfies (count(cac:TaxTotal/xs:decimal(cbc:TaxAmount[@currencyID=$Currency])) eq 1) and (cac:LegalMonetaryTotal/xs:decimal(cbc:TaxInclusiveAmount) = round( (cac:LegalMonetaryTotal/xs:decimal(cbc:TaxExclusiveAmount) + cac:TaxTotal/xs:decimal(cbc:TaxAmount[@currencyID=$Currency])) * 10 * 10) div 100) |
|
BR-CO-16 (fatal) |
[BR-CO-16]-Amount due for payment (BT-115) = Invoice total amount with VAT (BT-112) -Paid amount (BT-113) +Rounding amount (BT-114). |
cac:LegalMonetaryTotal |
|
(exists(cbc:PrepaidAmount) and not(exists(cbc:PayableRoundingAmount)) and (xs:decimal(cbc:PayableAmount) = (roundxs:decimal(cbc:TaxInclusiveAmount) - xs:decimal(cbc:PrepaidAmount * 10 * 10) div 100))) or (not(exists(cbc:PrepaidAmount)) and not(exists(cbc:PayableRoundingAmount)) and xs:decimal(cbc:PayableAmount) = xs:decimal(cbc:TaxInclusiveAmount)) or (exists(cbc:PrepaidAmount) and exists(cbc:PayableRoundingAmount) and round((xs:decimal(cbc:PayableAmount) - xs:decimal(cbc:PayableRoundingAmount * 10 * 10) div 100) = (roundxs:decimal(cbc:TaxInclusiveAmount) - xs:decimal(cbc:PrepaidAmount * 10 * 10) div 100))) or (not(exists(cbc:PrepaidAmount)) and exists(cbc:PayableRoundingAmount) and round((xs:decimal(cbc:PayableAmount) - xs:decimal(cbc:PayableRoundingAmount * 10 * 10) div 100) = xs:decimal(cbc:TaxInclusiveAmount))) |
|
BR-CO-17 (fatal) |
[BR-CO-17]-VAT category tax amount (BT-117) = VAT category taxable amount (BT-116) x (VAT category rate (BT-119) / 100), rounded to two decimals. |
cac:TaxTotal/cac:TaxSubtotal |
|
(round(cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/xs:decimal(cbc:Percent)) = 0 and (round(xs:decimal(cbc:TaxAmount)) = 0)) or (round(cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/xs:decimal(cbc:Percent)) != 0 and abs(xs:decimal(cbc:TaxAmount - 1 < round(abs(xs:decimal(cbc:TaxableAmount)) * (cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/xs:decimal(cbc:Percent) div 100) * 10 * 10) div 100 ) and (abs(xs:decimal(cbc:TaxAmount)) + 1 > round(abs(xs:decimal(cbc:TaxableAmount)) * (cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/xs:decimal(cbc:Percent) div 100) * 10 * 10) div 100 ))) or (not(exists(cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/xs:decimal(cbc:Percent))) and (round(xs:decimal(cbc:TaxAmount)) = 0)) |
|
BR-CO-18 (fatal) |
[BR-CO-18]-An Invoice shall at least have one VAT breakdown group (BG-23). |
/ubl:Invoice | /cn:CreditNote |
|
exists(cac:TaxTotal/cac:TaxSubtotal) |
|
BR-CO-19 (fatal) |
[BR-CO-19]-If Invoicing period (BG-14) is used, the Invoicing period start date (BT-73) or the Invoicing period end date (BT-74) shall be filled, or both. |
cac:InvoicePeriod |
|
exists(cbc:StartDate) or exists(cbc:EndDate) or (exists(cbc:DescriptionCode) and not(exists(cbc:StartDate)) and not(exists(cbc:EndDate))) |
|
BR-CO-20 (fatal) |
[BR-CO-20]-If Invoice line period (BG-26) is used, the Invoice line period start date (BT-134) or the Invoice line period end date (BT-135) shall be filled, or both. |
cac:InvoiceLine/cac:InvoicePeriod | cac:CreditNoteLine/cac:InvoicePeriod |
|
exists(cbc:StartDate) or exists(cbc:EndDate) |
|
BR-CO-21 (fatal) |
[BR-CO-21]-Each Document level allowance (BG-20) shall contain a Document level allowance reason (BT-97) or a Document level allowance reason code (BT-98), or both. |
/ubl:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = false()] | /cn:CreditNote/cac:AllowanceCharge[cbc:ChargeIndicator = false()] |
|
exists(cbc:AllowanceChargeReason) or exists(cbc:AllowanceChargeReasonCode) |
|
BR-CO-22 (fatal) |
[BR-CO-22]-Each Document level charge (BG-21) shall contain a Document level charge reason (BT-104) or a Document level charge reason code (BT-105), or both. |
/ubl:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = true()] | /cn:CreditNote/cac:AllowanceCharge[cbc:ChargeIndicator = true()] |
|
exists(cbc:AllowanceChargeReason) or exists(cbc:AllowanceChargeReasonCode) |
|
BR-CO-23 (fatal) |
[BR-CO-23]-Each Invoice line allowance (BG-27) shall contain an Invoice line allowance reason (BT-139) or an Invoice line allowance reason code (BT-140), or both. |
//cac:InvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()] | //cac:CreditNoteLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()] |
|
exists(cbc:AllowanceChargeReason) or exists(cbc:AllowanceChargeReasonCode) |
|
BR-CO-24 (fatal) |
[BR-CO-24]-Each Invoice line charge (BG-28) shall contain an Invoice line charge reason (BT-144) or an Invoice line charge reason code (BT-145), or both. |
//cac:InvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator = true()] | //cac:CreditNoteLine/cac:AllowanceCharge[cbc:ChargeIndicator = true()] |
|
exists(cbc:AllowanceChargeReason) or exists(cbc:AllowanceChargeReasonCode) |
|
BR-CO-25 (fatal) |
[BR-CO-25]-In case the Amount due for payment (BT-115) is positive, either the Payment due date (BT-9) or the Payment terms (BT-20) shall be present. |
/ubl:Invoice/cac:LegalMonetaryTotal/cbc:PayableAmount |
|
. > 0) and (exists(//cbc:DueDate) or exists(//cac:PaymentTerms/cbc:Note) or (. ⇐ 0) |
|
BR-CO-26 (fatal) |
[BR-CO-26]-In order for the buyer to automatically identify a supplier, the Seller identifier (BT-29), the Seller legal registration identifier (BT-30) and/or the Seller VAT identifier (BT-31) shall be present. |
cac:AccountingSupplierParty |
|
exists(cac:Party/cac:PartyTaxScheme[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:CompanyID) or exists(cac:Party/cac:PartyIdentification/cbc:ID) or exists(cac:Party/cac:PartyLegalEntity/cbc:CompanyID) |
|
BR-DEC-01 (fatal) |
[BR-DEC-01]-The allowed maximum number of decimals for the Document level allowance amount (BT-92) is 2. |
/ubl:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = false()] | /cn:CreditNote/cac:AllowanceCharge[cbc:ChargeIndicator = false()] |
|
string-length(substring-after(cbc:Amount,'.'))⇐2 |
|
BR-DEC-02 (fatal) |
[BR-DEC-02]-The allowed maximum number of decimals for the Document level allowance base amount (BT-93) is 2. |
/ubl:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = false()] | /cn:CreditNote/cac:AllowanceCharge[cbc:ChargeIndicator = false()] |
|
string-length(substring-after(cbc:BaseAmount,'.'))⇐2 |
|
BR-DEC-05 (fatal) |
[BR-DEC-05]-The allowed maximum number of decimals for the Document level charge amount (BT-99) is 2. |
/ubl:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = true()] | /cn:CreditNote/cac:AllowanceCharge[cbc:ChargeIndicator = true()] |
|
string-length(substring-after(cbc:Amount,'.'))⇐2 |
|
BR-DEC-06 (fatal) |
[BR-DEC-06]-The allowed maximum number of decimals for the Document level charge base amount (BT-100) is 2. |
/ubl:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = true()] | /cn:CreditNote/cac:AllowanceCharge[cbc:ChargeIndicator = true()] |
|
string-length(substring-after(cbc:BaseAmount,'.'))⇐2 |
|
BR-DEC-09 (fatal) |
[BR-DEC-09]-The allowed maximum number of decimals for the Sum of Invoice line net amount (BT-106) is 2. |
cac:LegalMonetaryTotal |
|
string-length(substring-after(cbc:LineExtensionAmount,'.'))⇐2 |
|
BR-DEC-10 (fatal) |
[BR-DEC-10]-The allowed maximum number of decimals for the Sum of allowanced on document level (BT-107) is 2. |
cac:LegalMonetaryTotal |
|
string-length(substring-after(cbc:AllowanceTotalAmount,'.'))⇐2 |
|
BR-DEC-11 (fatal) |
[BR-DEC-11]-The allowed maximum number of decimals for the Sum of charges on document level (BT-108) is 2. |
cac:LegalMonetaryTotal |
|
string-length(substring-after(cbc:ChargeTotalAmount,'.'))⇐2 |
|
BR-DEC-12 (fatal) |
[BR-DEC-12]-The allowed maximum number of decimals for the Invoice total amount without VAT (BT-109) is 2. |
cac:LegalMonetaryTotal |
|
string-length(substring-after(cbc:TaxExclusiveAmount,'.'))⇐2 |
|
BR-DEC-13 (fatal) |
[BR-DEC-13]-The allowed maximum number of decimals for the Invoice total VAT amount (BT-110) is 2. |
/ubl:Invoice | /cn:CreditNote |
|
(//cac:TaxTotal/cbc:TaxAmount[@currencyID = cbc:DocumentCurrencyCode] and (string-length(substring-after(//cac:TaxTotal/cbc:TaxAmount[@currencyID = cbc:DocumentCurrencyCode],'.'))⇐2)) or (not(//cac:TaxTotal/cbc:TaxAmount[@currencyID = cbc:DocumentCurrencyCode])) |
|
BR-DEC-14 (fatal) |
[BR-DEC-14]-The allowed maximum number of decimals for the Invoice total amount with VAT (BT-112) is 2. |
cac:LegalMonetaryTotal |
|
string-length(substring-after(cbc:TaxInclusiveAmount,'.'))⇐2 |
|
BR-DEC-15 (fatal) |
[BR-DEC-15]-The allowed maximum number of decimals for the Invoice total VAT amount in accounting currency (BT-111) is 2. |
/ubl:Invoice | /cn:CreditNote |
|
(//cac:TaxTotal/cbc:TaxAmount[@currencyID = cbc:TaxCurrencyCode] and (string-length(substring-after(//cac:TaxTotal/cbc:TaxAmount[@currencyID = cbc:TaxCurrencyCode],'.'))⇐2)) or (not(//cac:TaxTotal/cbc:TaxAmount[@currencyID = cbc:TaxCurrencyCode])) |
|
BR-DEC-16 (fatal) |
[BR-DEC-16]-The allowed maximum number of decimals for the Paid amount (BT-113) is 2. |
cac:LegalMonetaryTotal |
|
string-length(substring-after(cbc:PrepaidAmount,'.'))⇐2 |
|
BR-DEC-17 (fatal) |
[BR-DEC-17]-The allowed maximum number of decimals for the Rounding amount (BT-114) is 2. |
cac:LegalMonetaryTotal |
|
string-length(substring-after(cbc:PayableRoundingAmount,'.'))⇐2 |
|
BR-DEC-18 (fatal) |
[BR-DEC-18]-The allowed maximum number of decimals for the Amount due for payment (BT-115) is 2. |
cac:LegalMonetaryTotal |
|
string-length(substring-after(cbc:PayableAmount,'.'))⇐2 |
|
BR-DEC-19 (fatal) |
[BR-DEC-19]-The allowed maximum number of decimals for the VAT category taxable amount (BT-116) is 2. |
cac:TaxTotal/cac:TaxSubtotal |
|
string-length(substring-after(cbc:TaxableAmount,'.'))⇐2 |
|
BR-DEC-20 (fatal) |
[BR-DEC-20]-The allowed maximum number of decimals for the VAT category tax amount (BT-117) is 2. |
cac:TaxTotal/cac:TaxSubtotal |
|
string-length(substring-after(cbc:TaxAmount,'.'))⇐2 |
|
BR-DEC-23 (fatal) |
[BR-DEC-23]-The allowed maximum number of decimals for the Invoice line net amount (BT-131) is 2. |
cac:InvoiceLine | cac:CreditNoteLine |
|
string-length(substring-after(cbc:LineExtensionAmount,'.'))⇐2 |
|
BR-DEC-24 (fatal) |
[BR-DEC-24]-The allowed maximum number of decimals for the Invoice line allowance amount (BT-136) is 2. |
//cac:InvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()] | //cac:CreditNoteLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()] |
|
string-length(substring-after(cbc:Amount,'.'))⇐2 |
|
BR-DEC-25 (fatal) |
[BR-DEC-25]-The allowed maximum number of decimals for the Invoice line allowance base amount (BT-137) is 2. |
//cac:InvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()] | //cac:CreditNoteLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()] |
|
string-length(substring-after(cbc:BaseAmount,'.'))⇐2 |
|
BR-DEC-27 (fatal) |
[BR-DEC-27]-The allowed maximum number of decimals for the Invoice line charge amount (BT-141) is 2. |
//cac:InvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator = true()] | //cac:CreditNoteLine/cac:AllowanceCharge[cbc:ChargeIndicator = true()] |
|
string-length(substring-after(cbc:Amount,'.'))⇐2 |
|
BR-DEC-28 (fatal) |
[BR-DEC-28]-The allowed maximum number of decimals for the Invoice line charge base amount (BT-142) is 2. |
//cac:InvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator = true()] | //cac:CreditNoteLine/cac:AllowanceCharge[cbc:ChargeIndicator = true()] |
|
string-length(substring-after(cbc:BaseAmount,'.'))⇐2 |
|
BR-E-01 (fatal) |
[BR-E-01]-An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "Exempt from VAT" shall contain exactly one VAT breakdown (BG-23) with the VAT category code (BT-118) equal to "Exempt from VAT". |
/ubl:Invoice | /cn:CreditNote |
|
exists(//cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID='VAT']/cbc:ID[normalize-space(.) = 'E']) or exists(//cac:ClassifiedTaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'E'])) and (count(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'E']) = 1)) or (not(//cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'E']) and not(//cac:ClassifiedTaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'E'])) |
|
BR-E-02 (fatal) |
[BR-E-02]-An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Exempt from VAT" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63). |
/ubl:Invoice | /cn:CreditNote |
|
(exists(//cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'E'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) and (exists(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID) or exists(//cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID))) or not(exists(//cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'E'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'])) |
|
BR-E-03 (fatal) |
[BR-E-03]-An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Exempt from VAT" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63). |
/ubl:Invoice | /cn:CreditNote |
|
(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID)='E'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) and (exists(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID) or exists(//cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID))) or not(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID)='E'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'])) |
|
BR-E-04 (fatal) |
[BR-E-04]-An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Exempt from VAT" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63). |
/ubl:Invoice | /cn:CreditNote |
|
(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cac:TaxCategory[normalize-space(cbc:ID)='E'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) and (exists(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID) or exists(//cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID))) or not(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cac:TaxCategory[normalize-space(cbc:ID)='E'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'])) |
|
BR-E-05 (fatal) |
[BR-E-05]-In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Exempt from VAT", the Invoiced item VAT rate (BT-152) shall be 0 (zero). |
cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'E'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] | cac:CreditNoteLine/cac:Item/cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'E'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
(xs:decimal(cbc:Percent) = 0) |
|
BR-E-06 (fatal) |
[BR-E-06]-In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Exempt from VAT", the Document level allowance VAT rate (BT-96) shall be 0 (zero). |
cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID)='E'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
(xs:decimal(cbc:Percent) = 0) |
|
BR-E-07 (fatal) |
[BR-E-07]-In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Exempt from VAT", the Document level charge VAT rate (BT-103) shall be 0 (zero). |
cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cac:TaxCategory[normalize-space(cbc:ID)='E'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
(xs:decimal(cbc:Percent) = 0) |
|
BR-E-08 (fatal) |
[BR-E-08]-In a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Exempt from VAT" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Exempt from VAT". |
/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'E'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
(exists(//cac:InvoiceLine) and (xs:decimal(../cbc:TaxableAmount) = (sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='E']/xs:decimal(cbc:LineExtensionAmount)) + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='E']/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='E']/xs:decimal(cbc:Amount))))) or (exists(//cac:CreditNoteLine) and (xs:decimal(../cbc:TaxableAmount) = (sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='E']/xs:decimal(cbc:LineExtensionAmount)) + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='E']/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='E']/xs:decimal(cbc:Amount))))) |
|
BR-E-09 (fatal) |
[BR-E-09]-The VAT category tax amount (BT-117) In a VAT breakdown (BG-23) where the VAT category code (BT-118) equals "Exempt from VAT" shall equal 0 (zero). |
/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'E'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
xs:decimal(../cbc:TaxAmount) = 0 |
|
BR-E-10 (fatal) |
[BR-E-10]-A VAT breakdown (BG-23) with VAT Category code (BT-118) "Exempt from VAT" shall have a VAT exemption reason code (BT-121) or a VAT exemption reason text (BT-120). |
/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'E'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
exists(cbc:TaxExemptionReason) or exists(cbc:TaxExemptionReasonCode) |
|
BR-G-01 (fatal) |
[BR-G-01]-An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "Export outside the EU" shall contain in the VAT breakdown (BG-23) exactly one VAT category code (BT-118) equal with "Export outside the EU". |
/ubl:Invoice | /cn:CreditNote |
|
exists(//cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID='VAT']/cbc:ID[normalize-space(.) = 'G']) or exists(//cac:ClassifiedTaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'G'])) and (count(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'G']) = 1)) or (not(//cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'G']) and not(//cac:ClassifiedTaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'G'])) |
|
BR-G-02 (fatal) |
[BR-G-02]-An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Export outside the EU" shall contain the Seller VAT Identifier (BT-31) or the Seller tax representative VAT identifier (BT-63). |
/ubl:Invoice | /cn:CreditNote |
|
(exists(//cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'G'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) and (exists(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID) or exists(//cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID))) or not(exists(//cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'G'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'])) |
|
BR-G-03 (fatal) |
[BR-G-03]-An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Export outside the EU" shall contain the Seller VAT Identifier (BT-31) or the Seller tax representative VAT identifier (BT-63). |
/ubl:Invoice | /cn:CreditNote |
|
(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID)='G']) and (exists(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID) or exists(//cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID))) or not(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID)='G'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'])) |
|
BR-G-04 (fatal) |
[BR-G-04]-An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Export outside the EU" shall contain the Seller VAT Identifier (BT-31) or the Seller tax representative VAT identifier (BT-63). |
/ubl:Invoice | /cn:CreditNote |
|
(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cac:TaxCategory[normalize-space(cbc:ID)='G']) and (exists(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID) or exists(//cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID))) or not(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cac:TaxCategory[normalize-space(cbc:ID)='G'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'])) |
|
BR-G-05 (fatal) |
[BR-G-05]-In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Export outside the EU" the Invoiced item VAT rate (BT-152) shall be 0 (zero). |
cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'G'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] | cac:CreditNoteLine/cac:Item/cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'G'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
(xs:decimal(cbc:Percent) = 0) |
|
BR-G-06 (fatal) |
[BR-G-06]-In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Export outside the EU" the Document level allowance VAT rate (BT-96) shall be 0 (zero). |
cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID)='G'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
(xs:decimal(cbc:Percent) = 0) |
|
BR-G-07 (fatal) |
[BR-G-07]-In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Export outside the EU" the Document level charge VAT rate (BT-103) shall be 0 (zero). |
cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cac:TaxCategory[normalize-space(cbc:ID)='G'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
(xs:decimal(cbc:Percent) = 0) |
|
BR-G-08 (fatal) |
[BR-G-08]-In a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Export outside the EU" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Export outside the EU". |
/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'G'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
(exists(//cac:InvoiceLine) and (xs:decimal(../cbc:TaxableAmount) = (sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='G']/xs:decimal(cbc:LineExtensionAmount)) + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='G']/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='G']/xs:decimal(cbc:Amount))))) or (exists(//cac:CreditNoteLine) and (xs:decimal(../cbc:TaxableAmount) = (sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='G']/xs:decimal(cbc:LineExtensionAmount)) + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='G']/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='G']/xs:decimal(cbc:Amount))))) |
|
BR-G-09 (fatal) |
[BR-G-09]-The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Export outside the EU" shall be 0 (zero). |
/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'G'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
xs:decimal(../cbc:TaxAmount) = 0 |
|
BR-G-10 (fatal) |
[BR-G-10]-A VAT breakdown (BG-23) with the VAT Category code (BT-118) "Export outside the EU" shall have a VAT exemption reason code (BT-121), meaning "Export outside the EU" or the VAT exemption reason text (BT-120) "Export outside the EU" (or the equivalent standard text in another language). |
/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'G'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
exists(cbc:TaxExemptionReason) or (exists(cbc:TaxExemptionReasonCode) ) |
|
BR-IC-01 (fatal) |
[BR-IC-01]-An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "Intra-community supply" shall contain in the VAT breakdown (BG-23) exactly one VAT category code (BT-118) equal with "Intra-community supply". |
/ubl:Invoice | /cn:CreditNote |
|
exists(//cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID='VAT']/cbc:ID[normalize-space(.) = 'K']) or exists(//cac:ClassifiedTaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'K'])) and (count(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'K']) = 1)) or (not(//cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'K']) and not(//cac:ClassifiedTaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'K'])) |
|
BR-IC-02 (fatal) |
[BR-IC-02]-An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Intra-community supply" shall contain the Seller VAT Identifier (BT-31) or the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48). |
/ubl:Invoice | /cn:CreditNote |
|
(exists(//cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'K'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) and (exists(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID) or exists(//cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID)) and (exists(//cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID))) or not(//cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'K'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) |
|
BR-IC-03 (fatal) |
[BR-IC-03]-An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Intra-community supply" shall contain the Seller VAT Identifier (BT-31) or the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48). |
/ubl:Invoice | /cn:CreditNote |
|
(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID) = 'K'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) and (exists(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID) or exists(//cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID)) and (exists(//cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID))) or not(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID) = 'K'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'])) |
|
BR-IC-04 (fatal) |
[BR-IC-04]-An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Intra-community supply" shall contain the Seller VAT Identifier (BT-31) or the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48). |
/ubl:Invoice | /cn:CreditNote |
|
(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cac:TaxCategory[normalize-space(cbc:ID) = 'K'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) and (exists(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID) or exists(//cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID)) and (exists(//cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID))) or not(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cac:TaxCategory[normalize-space(cbc:ID) = 'K'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'])) |
|
BR-IC-05 (fatal) |
[BR-IC-05]-In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Intracommunity supply" the Invoiced item VAT rate (BT-152) shall be 0 (zero). |
cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'K'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] | cac:CreditNoteLine/cac:Item/cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'K'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
(xs:decimal(cbc:Percent) = 0) |
|
BR-IC-06 (fatal) |
[BR-IC-06]-In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Intra-community supply" the Document level allowance VAT rate (BT-96) shall be 0 (zero). |
cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID)='K'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
(xs:decimal(cbc:Percent) = 0) |
|
BR-IC-07 (fatal) |
[BR-IC-07]-In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Intra-community supply" the Document level charge VAT rate (BT-103) shall be 0 (zero). |
cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cac:TaxCategory[normalize-space(cbc:ID)='K'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
(xs:decimal(cbc:Percent) = 0) |
|
BR-IC-08 (fatal) |
[BR-IC-08]-In a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Intra-community supply" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Intra-community supply". |
/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'K'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
(exists(//cac:InvoiceLine) and (xs:decimal(../cbc:TaxableAmount) = (sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='K']/xs:decimal(cbc:LineExtensionAmount)) + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='K']/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='K']/xs:decimal(cbc:Amount))))) or (exists(//cac:CreditNoteLine) and (xs:decimal(../cbc:TaxableAmount) = (sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='K']/xs:decimal(cbc:LineExtensionAmount)) + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='K']/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='K']/xs:decimal(cbc:Amount))))) |
|
BR-IC-09 (fatal) |
[BR-IC-09]-The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Intra-community supply" shall be 0 (zero). |
/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'K'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
xs:decimal(../cbc:TaxAmount) = 0 |
|
BR-IC-10 (fatal) |
[BR-IC-10]-A VAT breakdown (BG-23) with the VAT Category code (BT-118) "Intra-community supply" shall have a VAT exemption reason code (BT-121), meaning "Intra-community supply" or the VAT exemption reason text (BT-120) "Intra-community supply" (or the equivalent standard text in another language). |
/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'K'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
exists(cbc:TaxExemptionReason) or (exists(cbc:TaxExemptionReasonCode) ) |
|
BR-IC-11 (fatal) |
[BR-IC-11]-In an Invoice with a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Intra-community supply" the Actual delivery date (BT-72) or the Invoicing period (BG-14) shall not be blank. |
/ubl:Invoice | /cn:CreditNote |
|
(exists(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'K']) and (string-length(cac:Delivery/cbc:ActualDeliveryDate) > 1 or (cac:InvoicePeriod/*))) or (not(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'K'])) |
|
BR-IC-12 (fatal) |
[BR-IC-12]-In an Invoice with a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Intra-community supply" the Deliver to country code (BT-80) shall not be blank. |
/ubl:Invoice | /cn:CreditNote |
|
(exists(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'K']) and (string-length(cac:Delivery/cac:DeliveryLocation/cac:Address/cac:Country/cbc:IdentificationCode) >1)) or (not(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'K'])) |
|
BR-IG-01 (fatal) |
[BR-IG-01]-An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "IGIC" shall contain in the VAT breakdown (BG-23) at least one VAT category code (BT-118) equal with "IGIC". |
/ubl:Invoice | /cn:CreditNote |
|
count(//cac:AllowanceCharge/cac:TaxCategory[normalize-space(cbc:ID) = 'L'][cac:TaxScheme/normalize-space(upper-case(cbc:ID='VAT']) + count(//cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'L'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'])) > 0 and count(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[cbc:ID = 'L']) > 0) or count(//cac:AllowanceCharge/cac:TaxCategory[normalize-space(cbc:ID) = 'L'][cac:TaxScheme/normalize-space(upper-case(cbc:ID='VAT']) + count(//cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'L'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'])) = 0 and count(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'L'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) = 0) |
|
BR-IG-02 (fatal) |
[BR-IG-02]-An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "IGIC" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63). |
/ubl:Invoice | /cn:CreditNote |
|
(exists(//cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'L'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) and (exists(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID) or exists(//cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID))) or not(exists(//cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'L'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'])) |
|
BR-IG-03 (fatal) |
[BR-IG-03]-An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "IGIC" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63). |
/ubl:Invoice | /cn:CreditNote |
|
(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID)='L'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) and (exists(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID) or exists(//cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID))) or not(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID)='L'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'])) |
|
BR-IG-04 (fatal) |
[BR-IG-04]-An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "IGIC" shall contain the Seller VAT Identifier (BT-31), the Seller Tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63). |
/ubl:Invoice | /cn:CreditNote |
|
(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cac:TaxCategory[normalize-space(cbc:ID)='L'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) and (exists(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID) or exists(//cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID))) or not(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cac:TaxCategory[cbc:ID='L'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'])) |
|
BR-IG-05 (fatal) |
[BR-IG-05]-In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "IGIC" the invoiced item VAT rate (BT-152) shall be 0 (zero) or greater than zero. |
cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'L'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']| cac:CreditNoteLine/cac:Item/cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'L'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
(cbc:Percent) >= 0 |
|
BR-IG-06 (fatal) |
[BR-IG-06]-In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "IGIC" the Document level allowance VAT rate (BT-96) shall be 0 (zero) or greater than zero. |
cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID)='L'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
(cbc:Percent) >= 0 |
|
BR-IG-07 (fatal) |
[BR-IG-07]-In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "IGIC" the Document level charge VAT rate (BT-103) shall be 0 (zero) or greater than zero. |
cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cac:TaxCategory[normalize-space(cbc:ID)='L'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
(cbc:Percent) >= 0 |
|
BR-IG-08 (fatal) |
[BR-IG-08]-For each different value of VAT category rate (BT-119) where the VAT category code (BT-118) is "IGIC", the VAT category taxable amount (BT-116) in a VAT breakdown (BG-23) shall equal the sum of Invoice line net amounts (BT-131) plus the sum of document level charge amounts (BT-99) minus the sum of document level allowance amounts (BT-92) where the VAT category code (BT-151, BT-102, BT-95) is "IGIC" and the VAT rate (BT-152, BT-103, BT-96) equals the VAT category rate (BT-119). |
/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'L'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
every $rate in xs:decimal(cbc:Percent) satisfies exists(//cac:InvoiceLine) and ((../xs:decimal(cbc:TaxableAmount - 1) < (sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='L'][cac:Item/cac:ClassifiedTaxCategory/xs:decimal(cbc:Percent) =$rate]/xs:decimal(cbc:LineExtensionAmount + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='L'][cac:TaxCategory/xs:decimal(cbc:Percent) = $rate]/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='L'][cac:TaxCategory/xs:decimal(cbc:Percent) = $rate]/xs:decimal(cbc:Amount)))) and (../xs:decimal(cbc:TaxableAmount + 1) > (sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='L'][cac:Item/cac:ClassifiedTaxCategory/xs:decimal(cbc:Percent) =$rate]/xs:decimal(cbc:LineExtensionAmount)) + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='L'][cac:TaxCategory/xs:decimal(cbc:Percent) = $rate]/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='L'][cac:TaxCategory/xs:decimal(cbc:Percent) = $rate]/xs:decimal(cbc:Amount)))))) or (exists(//cac:CreditNoteLine) and ../xs:decimal(cbc:TaxableAmount - 1) < (sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='L'][cac:Item/cac:ClassifiedTaxCategory/xs:decimal(cbc:Percent) =$rate]/xs:decimal(cbc:LineExtensionAmount + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='L'][cac:TaxCategory/xs:decimal(cbc:Percent) = $rate]/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='L'][cac:TaxCategory/xs:decimal(cbc:Percent) = $rate]/xs:decimal(cbc:Amount)))) and (../xs:decimal(cbc:TaxableAmount + 1) > (sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='L'][cac:Item/cac:ClassifiedTaxCategory/xs:decimal(cbc:Percent) =$rate]/xs:decimal(cbc:LineExtensionAmount)) + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='L'][cac:TaxCategory/xs:decimal(cbc:Percent) = $rate]/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='L'][cac:TaxCategory/xs:decimal(cbc:Percent) = $rate]/xs:decimal(cbc:Amount))))))) |
|
BR-IG-09 (fatal) |
[BR-IG-09]-The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where VAT category code (BT-118) is "IGIC" shall equal the VAT category taxable amount (BT-116) multiplied by the VAT category rate (BT-119). |
/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'L'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
(abs(xs:decimal(../cbc:TaxAmount)) - 1 < roundabs(xs:decimal(../cbc:TaxableAmount * (xs:decimal(cbc:Percent) div 100)) * 10 * 10) div 100 ) and (abs(xs:decimal(../cbc:TaxAmount)) + 1 > roundabs(xs:decimal(../cbc:TaxableAmount * (xs:decimal(cbc:Percent) div 100)) * 10 * 10) div 100 ) |
|
BR-IG-10 (fatal) |
[BR-IG-10]-A VAT breakdown (BG-23) with VAT Category code (BT-118) "IGIC" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120). |
/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'L'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
not(cbc:TaxExemptionReason) and not(cbc:TaxExemptionReasonCode) |
|
BR-IP-01 (fatal) |
[BR-IP-01]-An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "IPSI" shall contain in the VAT breakdown (BG-23) at least one VAT category code (BT-118) equal with "IPSI". |
/ubl:Invoice | /cn:CreditNote |
|
count(//cac:AllowanceCharge/cac:TaxCategory[normalize-space(cbc:ID) = 'M'][cac:TaxScheme/normalize-space(upper-case(cbc:ID='VAT']) + count(//cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'M'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'])) > 0 and count(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[cbc:ID = 'M'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) > 0) or count(//cac:AllowanceCharge/cac:TaxCategory[normalize-space(cbc:ID) = 'M'][cac:TaxScheme/normalize-space(upper-case(cbc:ID='VAT']) + count(//cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'M'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'])) = 0 and count(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'M'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) = 0) |
|
BR-IP-02 (fatal) |
[BR-IP-02]-An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "IPSI" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63). |
/ubl:Invoice | /cn:CreditNote |
|
(exists(//cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'M'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) and (exists(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID) or exists(//cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID))) or not(exists(//cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'M'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'])) |
|
BR-IP-03 (fatal) |
[BR-IP-03]-An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "IPSI" shall contain the Seller VAT Identifier (BT-31), the Seller Tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63). |
/ubl:Invoice | /cn:CreditNote |
|
(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID)='M'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) and (exists(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID) or exists(//cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID))) or not(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID)='M'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'])) |
|
BR-IP-04 (fatal) |
[BR-IP-04]-An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "IPSI" shall contain the Seller VAT Identifier (BT-31), the Seller Tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63). |
/ubl:Invoice | /cn:CreditNote |
|
(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cac:TaxCategory[normalize-space(cbc:ID)='M'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) and (exists(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID) or exists(//cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID))) or not(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cac:TaxCategory[normalize-space(cbc:ID)='M'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'])) |
|
BR-IP-05 (fatal) |
[BR-IP-05]-In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "IPSI" the Invoiced item VAT rate (BT-152) shall be 0 (zero) or greater than zero. |
cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'M'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']| cac:CreditNoteLine/cac:Item/cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'M'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
(cbc:Percent) >= 0 |
|
BR-IP-06 (fatal) |
[BR-IP-06]-In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "IPSI" the Document level allowance VAT rate (BT-96) shall be 0 (zero) or greater than zero. |
cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID)='M'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
(cbc:Percent) >= 0 |
|
BR-IP-07 (fatal) |
[BR-IP-07]-In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "IPSI" the Document level charge VAT rate (BT-103) shall be 0 (zero) or greater than zero. |
cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cac:TaxCategory[normalize-space(cbc:ID)='M'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
(cbc:Percent) >= 0 |
|
BR-IP-08 (fatal) |
[BR-IP-08]-For each different value of VAT category rate (BT-119) where the VAT category code (BT-118) is "IPSI", the VAT category taxable amount (BT-116) in a VAT breakdown (BG-23) shall equal the sum of Invoice line net amounts (BT-131) plus the sum of document level charge amounts (BT-99) minus the sum of document level allowance amounts (BT-92) where the VAT category code (BT-151, BT-102, BT-95) is "IPSI" and the VAT rate (BT-152, BT-103, BT-96) equals the VAT category rate (BT-119). |
/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'M'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
every $rate in xs:decimal(cbc:Percent) satisfies exists(//cac:InvoiceLine) and ((../xs:decimal(cbc:TaxableAmount - 1) < (sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='M'][cac:Item/cac:ClassifiedTaxCategory/xs:decimal(cbc:Percent) =$rate]/xs:decimal(cbc:LineExtensionAmount + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='M'][cac:TaxCategory/xs:decimal(cbc:Percent) = $rate]/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='M'][cac:TaxCategory/xs:decimal(cbc:Percent) = $rate]/xs:decimal(cbc:Amount)))) and (../xs:decimal(cbc:TaxableAmount + 1) > (sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='M'][cac:Item/cac:ClassifiedTaxCategory/xs:decimal(cbc:Percent) =$rate]/xs:decimal(cbc:LineExtensionAmount)) + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='M'][cac:TaxCategory/xs:decimal(cbc:Percent) = $rate]/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='M'][cac:TaxCategory/xs:decimal(cbc:Percent) = $rate]/xs:decimal(cbc:Amount)))))) or (exists(//cac:CreditNoteLine) and ../xs:decimal(cbc:TaxableAmount - 1) < (sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='M'][cac:Item/cac:ClassifiedTaxCategory/xs:decimal(cbc:Percent) =$rate]/xs:decimal(cbc:LineExtensionAmount + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='M'][cac:TaxCategory/xs:decimal(cbc:Percent) = $rate]/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='M'][cac:TaxCategory/xs:decimal(cbc:Percent) = $rate]/xs:decimal(cbc:Amount)))) and (../xs:decimal(cbc:TaxableAmount + 1) > (sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='M'][cac:Item/cac:ClassifiedTaxCategory/xs:decimal(cbc:Percent) =$rate]/xs:decimal(cbc:LineExtensionAmount)) + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='M'][cac:TaxCategory/xs:decimal(cbc:Percent) = $rate]/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='M'][cac:TaxCategory/xs:decimal(cbc:Percent) = $rate]/xs:decimal(cbc:Amount))))))) |
|
BR-IP-09 (fatal) |
[BR-IP-09]-The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where VAT category code (BT-118) is "IPSI" shall equal the VAT category taxable amount (BT-116) multiplied by the VAT category rate (BT-119). |
/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'M'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
(abs(xs:decimal(../cbc:TaxAmount)) - 1 < roundabs(xs:decimal(../cbc:TaxableAmount * (xs:decimal(cbc:Percent) div 100)) * 10 * 10) div 100 ) and (abs(xs:decimal(../cbc:TaxAmount)) + 1 > roundabs(xs:decimal(../cbc:TaxableAmount * (xs:decimal(cbc:Percent) div 100)) * 10 * 10) div 100 ) |
|
BR-IP-10 (fatal) |
[BR-IP-10]-A VAT breakdown (BG-23) with VAT Category code (BT-118) "IPSI" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120). |
/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'M'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
not(cbc:TaxExemptionReason) and not(cbc:TaxExemptionReasonCode) |
|
BR-O-01 (fatal) |
[BR-O-01]-An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "Not subject to VAT" shall contain exactly one VAT breakdown group (BG-23) with the VAT category code (BT-118) equal to "Not subject to VAT". |
/ubl:Invoice | /cn:CreditNote |
|
exists(//cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID='VAT']/cbc:ID[normalize-space(.) = 'O']) or exists(//cac:ClassifiedTaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'O'])) and (count(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'O']) = 1)) or (not(//cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'O']) and not(//cac:ClassifiedTaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'O'])) |
|
BR-O-02 (fatal) |
[BR-O-02]-An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Not subject to VAT" shall not contain the Seller VAT identifier (BT-31), the Seller tax representative VAT identifier (BT-63) or the Buyer VAT identifier (BT-48). |
/ubl:Invoice | /cn:CreditNote |
|
(exists(//cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'O'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) and (not(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID) and not(//cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID) and not(//cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID))) or not(//cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'O'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) |
|
BR-O-03 (fatal) |
[BR-O-03]-An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Not subject to VAT" shall not contain the Seller VAT identifier (BT-31), the Seller tax representative VAT identifier (BT-63) or the Buyer VAT identifier (BT-48). |
/ubl:Invoice | /cn:CreditNote |
|
(exists/ubl:Invoice|/cn:CreditNote)/cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID) = 'O'][cac:TaxScheme/normalize-space(upper-case(cbc:ID='VAT']) and (not(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID) and not(//cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID) and not(//cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID))) or not(exists/ubl:Invoice|/cn:CreditNote)/cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID) = 'O'][cac:TaxScheme/normalize-space(upper-case(cbc:ID='VAT'])) |
|
BR-O-04 (fatal) |
[BR-O-04]-An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Not subject to VAT" shall not contain the Seller VAT identifier (BT-31), the Seller tax representative VAT identifier (BT-63) or the Buyer VAT identifier (BT-48). |
/ubl:Invoice | /cn:CreditNote |
|
(exists/ubl:Invoice|/cn:CreditNote)/cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cac:TaxCategory[normalize-space(cbc:ID) = 'O'][cac:TaxScheme/normalize-space(upper-case(cbc:ID='VAT']) and (not(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID) and not(//cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID) and not(//cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID))) or not(exists/ubl:Invoice|/cn:CreditNote)/cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cac:TaxCategory[normalize-space(cbc:ID) = 'O'][cac:TaxScheme/normalize-space(upper-case(cbc:ID='VAT'])) |
|
BR-O-05 (fatal) |
[BR-O-05]-An Invoice line (BG-25) where the VAT category code (BT-151) is "Not subject to VAT" shall not contain an Invoiced item VAT rate (BT-152). |
cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'O'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] | cac:CreditNoteLine/cac:Item/cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'O'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
not(cbc:Percent) |
|
BR-O-06 (fatal) |
[BR-O-06]-A Document level allowance (BG-20) where VAT category code (BT-95) is "Not subject to VAT" shall not contain a Document level allowance VAT rate (BT-96). |
cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID)='O'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
not(cbc:Percent) |
|
BR-O-07 (fatal) |
[BR-O-07]-A Document level charge (BG-21) where the VAT category code (BT-102) is "Not subject to VAT" shall not contain a Document level charge VAT rate (BT-103). |
cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cac:TaxCategory[normalize-space(cbc:ID)='O'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
not(cbc:Percent) |
|
BR-O-08 (fatal) |
[BR-O-08]-In a VAT breakdown (BG-23) where the VAT category code (BT-118) is " Not subject to VAT" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Not subject to VAT". |
/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'O'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
(exists(//cac:InvoiceLine) and (xs:decimal(../cbc:TaxableAmount) = (sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='O']/xs:decimal(cbc:LineExtensionAmount)) + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='O']/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='O']/xs:decimal(cbc:Amount))))) or (exists(//cac:CreditNoteLine) and (xs:decimal(../cbc:TaxableAmount) = (sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='O']/xs:decimal(cbc:LineExtensionAmount)) + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='O']/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='O']/xs:decimal(cbc:Amount))))) |
|
BR-O-09 (fatal) |
[BR-O-09]-The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Not subject to VAT" shall be 0 (zero). |
/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'O'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
xs:decimal(../cbc:TaxAmount) = 0 |
|
BR-O-10 (fatal) |
[BR-O-10]-A VAT breakdown (BG-23) with VAT Category code (BT-118) " Not subject to VAT" shall have a VAT exemption reason code (BT-121), meaning " Not subject to VAT" or a VAT exemption reason text (BT-120) " Not subject to VAT" (or the equivalent standard text in another language). |
/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'O'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
exists(cbc:TaxExemptionReason) or (exists(cbc:TaxExemptionReasonCode) ) |
|
BR-O-11 (fatal) |
[BR-O-11]-An Invoice that contains a VAT breakdown group (BG-23) with a VAT category code (BT-118) "Not subject to VAT" shall not contain other VAT breakdown groups (BG-23). |
/ubl:Invoice | /cn:CreditNote |
|
(exists(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'O']) and count(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) != 'O'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) = 0) or not(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'O']) |
|
BR-O-12 (fatal) |
[BR-O-12]-An Invoice that contains a VAT breakdown group (BG-23) with a VAT category code (BT-118) "Not subject to VAT" shall not contain an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is not "Not subject to VAT". |
/ubl:Invoice | /cn:CreditNote |
|
(exists(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'O']) and count(//cac:ClassifiedTaxCategory[normalize-space(cbc:ID) != 'O'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) = 0) or not(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'O']) |
|
BR-O-13 (fatal) |
[BR-O-13]-An Invoice that contains a VAT breakdown group (BG-23) with a VAT category code (BT-118) "Not subject to VAT" shall not contain Document level allowances (BG-20) where Document level allowance VAT category code (BT-95) is not "Not subject to VAT". |
/ubl:Invoice | /cn:CreditNote |
|
(exists(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'O']) and count(//cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID) != 'O'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) = 0) or not(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'O']) |
|
BR-O-14 (fatal) |
[BR-O-14]-An Invoice that contains a VAT breakdown group (BG-23) with a VAT category code (BT-118) "Not subject to VAT" shall not contain Document level charges (BG-21) where Document level charge VAT category code (BT-102) is not "Not subject to VAT". |
/ubl:Invoice | /cn:CreditNote |
|
(exists(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'O']) and count(//cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cac:TaxCategory[normalize-space(cbc:ID) != 'O'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) = 0) or not(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'O']) |
|
BR-S-01 (fatal) |
[BR-S-01]-An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "Standard rated" shall contain in the VAT breakdown (BG-23) at least one VAT category code (BT-118) equal with "Standard rated". |
/ubl:Invoice | /cn:CreditNote |
|
count(//cac:AllowanceCharge/cac:TaxCategory[normalize-space(cbc:ID) = 'S']) + count(//cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'S'] > 0 and count(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'S']) > 0) or count(//cac:AllowanceCharge/cac:TaxCategory[normalize-space(cbc:ID) = 'S']) + count(//cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'S'] = 0 and count(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'S']) = 0) |
|
BR-S-02 (fatal) |
[BR-S-02]-An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Standard rated" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63). |
/ubl:Invoice | /cn:CreditNote |
|
(exists(//cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'S'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) and (exists(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID) or exists(//cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID))) or not(exists(//cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'S'])) |
|
BR-S-03 (fatal) |
[BR-S-03]-An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Standard rated" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63). |
/ubl:Invoice | /cn:CreditNote |
|
(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID)='S'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) and (exists(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID) or exists(//cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID))) or not(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID)='S'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'])) |
|
BR-S-04 (fatal) |
[BR-S-04]-An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Standard rated" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63). |
/ubl:Invoice | /cn:CreditNote |
|
(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cac:TaxCategory[normalize-space(cbc:ID)='S'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) and (exists(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID) or exists(//cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID))) or not(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cac:TaxCategory[normalize-space(cbc:ID)='S'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'])) |
|
BR-S-05 (fatal) |
[BR-S-05]-In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Standard rated" the Invoiced item VAT rate (BT-152) shall be greater than zero. |
cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'S'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] | cac:CreditNoteLine/cac:Item/cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'S'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
(cbc:Percent) > 0 |
|
BR-S-06 (fatal) |
[BR-S-06]-In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Standard rated" the Document level allowance VAT rate (BT-96) shall be greater than zero. |
cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID)='S'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
(cbc:Percent) > 0 |
|
BR-S-07 (fatal) |
[BR-S-07]-In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Standard rated" the Document level charge VAT rate (BT-103) shall be greater than zero. |
cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cac:TaxCategory[normalize-space(cbc:ID)='S'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
(cbc:Percent) > 0 |
|
BR-S-08 (fatal) |
[BR-S-08]-For each different value of VAT category rate (BT-119) where the VAT category code (BT-118) is "Standard rated", the VAT category taxable amount (BT-116) in a VAT breakdown (BG-23) shall equal the sum of Invoice line net amounts (BT-131) plus the sum of document level charge amounts (BT-99) minus the sum of document level allowance amounts (BT-92) where the VAT category code (BT-151, BT-102, BT-95) is "Standard rated" and the VAT rate (BT-152, BT-103, BT-96) equals the VAT category rate (BT-119). |
/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'S'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
every $rate in xs:decimal(cbc:Percent) satisfies (exists(//cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID) = 'S'][cac:Item/cac:ClassifiedTaxCategory/xs:decimal(cbc:Percent) =$rate]) or exists(//cac:AllowanceCharge[cac:TaxCategory/normalize-space(cbc:ID)='S'][cac:TaxCategory/xs:decimal(cbc:Percent) = $rate] and ../xs:decimal(cbc:TaxableAmount - 1) < (sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='S'][cac:Item/cac:ClassifiedTaxCategory/xs:decimal(cbc:Percent) =$rate]/xs:decimal(cbc:LineExtensionAmount + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='S'][cac:TaxCategory/xs:decimal(cbc:Percent) = $rate]/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='S'][cac:TaxCategory/xs:decimal(cbc:Percent) = $rate]/xs:decimal(cbc:Amount)))) and (../xs:decimal(cbc:TaxableAmount + 1) > (sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='S'][cac:Item/cac:ClassifiedTaxCategory/xs:decimal(cbc:Percent) =$rate]/xs:decimal(cbc:LineExtensionAmount)) + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='S'][cac:TaxCategory/xs:decimal(cbc:Percent) = $rate]/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='S'][cac:TaxCategory/xs:decimal(cbc:Percent) = $rate]/xs:decimal(cbc:Amount)))))) or (exists(//cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID) = 'S'][cac:Item/cac:ClassifiedTaxCategory/xs:decimal(cbc:Percent) =$rate]) or exists(//cac:AllowanceCharge[cac:TaxCategory/normalize-space(cbc:ID)='S'][cac:TaxCategory/xs:decimal(cbc:Percent) = $rate])) and ../xs:decimal(cbc:TaxableAmount - 1) < (sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='S'][cac:Item/cac:ClassifiedTaxCategory/xs:decimal(cbc:Percent) =$rate]/xs:decimal(cbc:LineExtensionAmount + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='S'][cac:TaxCategory/xs:decimal(cbc:Percent) = $rate]/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='S'][cac:TaxCategory/xs:decimal(cbc:Percent) = $rate]/xs:decimal(cbc:Amount)))) and (../xs:decimal(cbc:TaxableAmount + 1) > (sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='S'][cac:Item/cac:ClassifiedTaxCategory/xs:decimal(cbc:Percent) =$rate]/xs:decimal(cbc:LineExtensionAmount)) + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='S'][cac:TaxCategory/xs:decimal(cbc:Percent) = $rate]/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='S'][cac:TaxCategory/xs:decimal(cbc:Percent) = $rate]/xs:decimal(cbc:Amount)))))) |
|
BR-S-09 (fatal) |
[BR-S-09]-The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where VAT category code (BT-118) is "Standard rated" shall equal the VAT category taxable amount (BT-116) multiplied by the VAT category rate (BT-119). |
/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'S'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
(abs(xs:decimal(../cbc:TaxAmount)) - 1 < roundabs(xs:decimal(../cbc:TaxableAmount * (xs:decimal(cbc:Percent) div 100)) * 10 * 10) div 100 ) and (abs(xs:decimal(../cbc:TaxAmount)) + 1 > roundabs(xs:decimal(../cbc:TaxableAmount * (xs:decimal(cbc:Percent) div 100)) * 10 * 10) div 100 ) |
|
BR-S-10 (fatal) |
[BR-S-10]-A VAT breakdown (BG-23) with VAT Category code (BT-118) "Standard rate" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120). |
/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'S'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
not(cbc:TaxExemptionReason) and not(cbc:TaxExemptionReasonCode) |
|
BR-Z-01 (fatal) |
[BR-Z-01]-An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "Zero rated" shall contain in the VAT breakdown (BG-23) exactly one VAT category code (BT-118) equal with "Zero rated". |
/ubl:Invoice | /cn:CreditNote |
|
exists(//cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID='VAT']/cbc:ID[normalize-space(.) = 'Z']) or exists(//cac:ClassifiedTaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'Z'])) and (count(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'Z']) = 1)) or (not(//cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'Z']) and not(//cac:ClassifiedTaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'Z'])) |
|
BR-Z-02 (fatal) |
[BR-Z-02]-An Invoice that contains an Invoice line where the Invoiced item VAT category code (BT-151) is "Zero rated" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63). |
/ubl:Invoice | /cn:CreditNote |
|
(exists(//cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'Z'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) and (exists(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID) or exists(//cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID))) or not(exists(//cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'Z'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'])) |
|
BR-Z-03 (fatal) |
[BR-Z-03]-An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Zero rated" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63). |
/ubl:Invoice | /cn:CreditNote |
|
(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID)='Z'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) and (exists(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID) or exists(//cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID))) or not(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID) = 'Z'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'])) |
|
BR-Z-04 (fatal) |
[BR-Z-04]-An Invoice that contains a Document level charge where the Document level charge VAT category code (BT-102) is "Zero rated" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63). |
/ubl:Invoice | /cn:CreditNote |
|
(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cac:TaxCategory[normalize-space(cbc:ID)='Z'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) and (exists(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID)or exists(//cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID))) or not(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cac:TaxCategory[normalize-space(cbc:ID) = 'Z'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'])) |
|
BR-Z-05 (fatal) |
[BR-Z-05]-In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Zero rated" the Invoiced item VAT rate (BT-152) shall be 0 (zero). |
cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'Z'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] | cac:CreditNoteLine/cac:Item/cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'Z'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
(xs:decimal(cbc:Percent) = 0) |
|
BR-Z-06 (fatal) |
[BR-Z-06]-In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Zero rated" the Document level allowance VAT rate (BT-96) shall be 0 (zero). |
cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID)='Z'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
(xs:decimal(cbc:Percent) = 0) |
|
BR-Z-07 (fatal) |
[BR-Z-07]-In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Zero rated" the Document level charge VAT rate (BT-103) shall be 0 (zero). |
cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cac:TaxCategory[normalize-space(cbc:ID)='Z'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
(xs:decimal(cbc:Percent) = 0) |
|
BR-Z-08 (fatal) |
[BR-Z-08]-In a VAT breakdown (BG-23) where VAT category code (BT-118) is "Zero rated" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amount (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Zero rated". |
/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'Z'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
(exists(//cac:InvoiceLine) and (xs:decimal(../cbc:TaxableAmount) = (sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='Z']/xs:decimal(cbc:LineExtensionAmount)) + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='Z']/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='Z']/xs:decimal(cbc:Amount))))) or (exists(//cac:CreditNoteLine) and (xs:decimal(../cbc:TaxableAmount) = (sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='Z']/xs:decimal(cbc:LineExtensionAmount)) + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='Z']/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='Z']/xs:decimal(cbc:Amount))))) |
|
BR-Z-09 (fatal) |
[BR-Z-09]-The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where VAT category code (BT-118) is "Zero rated" shall equal 0 (zero). |
/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'Z'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
xs:decimal(../cbc:TaxAmount) = 0 |
|
BR-Z-10 (fatal) |
[BR-Z-10]-A VAT breakdown (BG-23) with VAT Category code (BT-118) "Zero rated" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120). |
/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'Z'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] |
|
notcbc:TaxExemptionReason) or (cbc:TaxExemptionReasonCode |
Appendix A: Restrizioni ed Estensioni alla EN16931
Di seguito vengono elencate le restrizioni alla EN 16931 applicate a questa Core Invoice Usage Specification (CIUS).
In aggiunta alle regole base di Peppol, alcune regole nazionali forniscono ulteriori restrizioni basate sul paese del venditore o IVA/VAT del paese. La lista di queste regole nazionali è riportata nelle Regole Nazionali.
Nello specifico contesto italiano, valgono ulteriori restrizioni/estensioni.
Le restrizioni per la fatturazione italiana cross-border (BT-40 Seller country code diverso da IT e BT-55 Buyer country code pari a IT) sono riportate al paragrafo Annex C.1.
Le restrizioni per la fatturazione domestica italiana (BT-40 Seller country code pari da IT e BT-55 Buyer country code pari a IT) sono riportate al paragrafo Annex C.2.
Le restrizioni per la fatturazione domestica italiana (BT-40 Seller country code pari da IT e BT-55 Buyer country code pari a IT) verso i privati, sono riportate al paragrafo Annex C.3.
Le estensioni per la fatturazione domestica italiana (BT-40 Seller country code pari da IT e BT-55 Buyer country code pari a IT) sono riportate al paragrafo Annex C.4.
Le estensioni per la fatturazione domestica italiana (BT-40 Seller country code pari da IT e BT-55 Buyer country code pari a IT) verso i privati, sono riportate al paragrafo Annex C.5.
Le restrizioni sotto riportate sono espresse come indicato nel capitolo 7.3.2 della EN 16931.
A.1. Restrizioni al profilo 01 - Fatturazione (Billing)
BT-ID | Termine di Business | Tipo Restrizione | Descrizione | Regola |
---|---|---|---|---|
BT-3 |
Invoice type code |
Mark defined values as not allowed |
Allowed set of values can be found in [Invoice Type Code] |
PEPPOL-EN16931-P0100, PEPPOL-EN16931-P0101 |
A.2. Restrizioni sulle transazioni della fattura e nota di credito
BT-ID | Termine di Business | Tipo Restrizione | Descrizione | Regola |
---|---|---|---|---|
BT-2 , BT-7 , BT-9 , BT-26, BT-72, BT-73, BT-74, BT-134, BT-135 |
All date elements |
Add new non-conflicting business rule to existing element(s) |
A date shall be formatted |
PEPPOL-EN16931-F001 |
BT-6 |
VAT accounting currency code |
Add new non-conflicting business rule to existing element(s) |
VAT accounting currency code shall be different from invoice currency code when provided. |
PEPPOL-EN16931-R005 |
BT-9, BT-20 |
Payment due date or payment terms |
Change to existing CEN TC434 rule (issue reported to TC434) |
Ensure the rule only fires for invoices, not credit notes |
BR-CO-25 |
BT-10, BT-13 |
Buyer reference or Purchase order |
Add new non-conflicting business rule to existing element(s) |
A buyer reference or purchase order reference shall be provided. |
PEPPOL-EN16931-R003 |
BG-1 |
Invoice note |
Decrease number of repetitions (x..n – > x..1) |
Change cardinality from 0..n to 0..1 |
PEPPOL-EN16931-R002 |
BT-21 |
Invoice note subject code |
Mark conditional information element not to be used |
Changing cardinality 0..1 to 0..0 |
Not applicable |
BT-23 |
Business process type |
Make a conditional element mandatory (0..x – > 1..x) |
Changing cardinality 0..1 to 1..1 |
PEPPOL-EN16931-R001 |
BT-24 |
Specification identifier |
Add new non-conflicting business rule to existing element(s) |
Specification identifier shall have the value |
PEPPOL-EN16931-R004 |
BT-34 |
Seller electronic address |
Make a conditional element mandatory (0..x – > 1..x) |
Seller electronic address shall be provided |
PEPPOL-EN16931-R020 |
BT-49 |
Buyer electronic address |
Make a conditional element mandatory (0..x – > 1..x) |
Buyer electronic address shall be provided |
PEPPOL-EN16931-R010 |
BG-19 |
Direct debit |
Add new non-conflicting business rule to existing element(s) |
Mandate reference shall be provided for direct debit. |
PEPPOL-EN16931-R061 |
BT-93, BT-100, BT-137, BT-142 |
Allowance/charge base amount |
Add new non-conflicting business rule to existing element(s) |
Allowance/charge base amount shall be provided when allowance/charge percentage is provided. |
PEPPOL-EN16931-R041 |
BT-94, BT-101, BT-138, BT-143 |
Allowance/charge percentage |
Add new non-conflicting business rule to existing element(s) |
Allowance/charge percentage shall be provided when allowance/charge base amount is provided. |
PEPPOL-EN16931-R042 |
BT-92, BT-99, BT-136, BT-141 |
Allowance/charge amount |
Add new non-conflicting business rule to existing element(s) |
If base amount and percentage exists in the instance, then |
PEPPOL-EN16931-R040 |
BT-98, BT-140 |
Allowance reason code |
Mark defined values as not allowed |
Reason code shall be according to subset of UNCL 5189 D.16B. |
PEPPOL-EN16931-CL002 |
BT-110 |
Invoice total VAT amount |
Add new non-conflicting business rule to existing element(s) |
Only one tax total without tax subtotals shall be provided when tax currency code is provided. |
PEPPOL-EN16931-R054 |
BG-23 |
VAT breakdown |
Add new non-conflicting business rule to existing element(s) |
Only one tax total with tax subtotals shall be provided |
PEPPOL-EN16931-R053 |
BG-23 |
VAT breakdown |
Add new non-conflicting business rule to existing element(s) |
Only one tax total without tax subtotals shall be provided when tax currency code is provided. |
PEPPOL-EN16931-R054 |
BT-131 |
Invoice line net amount |
Add new non-conflicting business rule to existing element(s) |
Calculation shall equal
\$ ("Invoiced quantity" times ("Item net price" div "item price base amount"))\$ |
PEPPOL-EN16931-R120 |
BT-134 |
Invoice line period start date |
Add new non-conflicting business rule to existing element(s) |
Start date of line period shall be within invoice period. |
PEPPOL-EN16931-R110 |
BT-135 |
Invoice line period end date |
Add new non-conflicting business rule to existing element(s) |
End date of line period shall be within invoice period. |
PEPPOL-EN16931-R111 |
BT-146 |
Item net price |
Add new non-conflicting business rule to existing element(s) |
Item net price shall equal (Gross price - Allowance amount) when gross price is provided. |
PEPPOL-EN16931-R046 |
BT-149 |
Item price base quantity |
Add new non-conflicting business rule to existing element(s) |
Base quantity shall be a positive number above zero. |
PEPPOL-EN16931-R121 |
BT-150 |
Item price base quantity unit of measure |
Add new non-conflicting business rule to existing element(s) |
Unit code of price base quantity shall be same as invoiced quantity. |
PEPPOL-EN16931-R130 |
Not applicable |
All currencyID attributes |
Add new non-conflicting business rule to existing element(s) |
All currencyID attributes shall have the same value as the invoice currency code (BT-5), except for the invoice total VAT amount in accounting currency (BT-111) |
PEPPOL-EN16931-R051 |
A.3. Restrizioni ai processi supportati
Questa Core Invoice Usage Specification (CIUS) ha applicato delle restrizioni per non supportare esplicitamente i seguenti processi di business:
- P10 - Fattura correttiva
-
Il processo descritto per la fatturazione correttiva è stato visto come non chiaro rispetto alla distinzione tra una fattura correttiva e una nota di credito, e questo processo è stato per questo definito fuori ambito.
A.4. Problematiche conosciute per il profilo 01 - Billing
BT-ID | Business Term | Known Issue | Work Around |
---|---|---|---|
BT-60, BT-90 |
Payee identifier with cardinality, Bank assigned creditor identifier |
In the EN 16931 data model BT-60 and BT-90 are business terms that are defined independently of each other. Both map onto PayeeParty/PartyIdentification/ID. However, the cardinalities stated in the syntax block simultaneous use of the BT-60 and BT-90 identifiers. This situation might arise if the payment provision is to be based on factored SEPA direct debit. |
None |
Appendix B: Cross Industry Invoice
Questa PEPPOL BIS supporta l’uso opzionale della UN/CEFACT XML Cross Industry Invoice, D16B (CII), che significa che i destinatari delle fatture possono registrarsi in un SMP per ricevere fatture CII parallelamente alla versione UBL obbligatoria.
Tutte le istanze delle fatture espresse in CII devono essere conformi alle restrizioni e alle regole realizzate in questa BIS, e quindi un’istanza CII, deve essere validata secondo specifiche regole PEPPOL, allo stesso modo delle istanze UBL.
L’identificatore della specifica (BT-24) e del tipo di processo di business (BT-23) sono le stesse sia nelle istanze CII che UBL, vedi Identificatori per la customizzazione e profilo
Appendix C: Regole Nazionali
Le seguenti regole sono state definite dalle Autorità Peppol in aggiunta alle regole PEPPOL BIS in generale. Queste regole sono applicate in base al paese di origine del venditore, e non saranno influenzate le fatture emesse in altri paesi. Queste si applicano a tutti i profili che utilizzano la specifica di questa transazione.
Le regole nazionali sono fornite dalle Autorità Peppol di ogni paese, e se sono necessarie modifiche o aggiunte a queste regole, pregasi contattare la vostra Autorità PEPPOL.
Regola | Messaggio/Contesto/Test |
---|---|
DE-R-001 (fatal) |
An invoice shall contain information on "PAYMENT INSTRUCTIONS" |
ubl-invoice:Invoice | ubl-creditnote:CreditNote[$supplierCountryIsDE and $customerCountryIsDE] |
|
cac:PaymentMeans |
|
DE-R-002 (fatal) |
The group "SELLER CONTACT" (BG-6) shall be provided. |
ubl-invoice:Invoice/cac:AccountingSupplierParty | ubl-creditnote:CreditNote/cac:AccountingSupplierParty)[$supplierCountryIsDE and $customerCountryIsDE] |
|
cac:Party/cac:Contact |
|
DE-R-003 (fatal) |
The element "Seller city" (BT-37) shall be provided. |
ubl-invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress | ubl-creditnote:CreditNote/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress)[$supplierCountryIsDE and $customerCountryIsDE] |
|
cbc:CityName[boolean(normalize-space(.))] |
|
DE-R-004 (fatal) |
The element "Seller post code" (BT-38) shall be provided. |
ubl-invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress | ubl-creditnote:CreditNote/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress)[$supplierCountryIsDE and $customerCountryIsDE] |
|
cbc:PostalZone[boolean(normalize-space(.))] |
|
DE-R-005 (fatal) |
The element "Seller contact point" (BT-41) shall be provided. |
ubl-invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact | ubl-creditnote:CreditNote/cac:AccountingSupplierParty/cac:Party/cac:Contact)[$supplierCountryIsDE and $customerCountryIsDE] |
|
cbc:Name[boolean(normalize-space(.))] |
|
DE-R-006 (fatal) |
The element "Seller contact telephone number" (BT-42) shall be provided. |
ubl-invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact | ubl-creditnote:CreditNote/cac:AccountingSupplierParty/cac:Party/cac:Contact)[$supplierCountryIsDE and $customerCountryIsDE] |
|
cbc:Telephone[boolean(normalize-space(.))] |
|
DE-R-007 (fatal) |
The element "Seller contact email address" (BT-43) shall be provided. |
ubl-invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact | ubl-creditnote:CreditNote/cac:AccountingSupplierParty/cac:Party/cac:Contact)[$supplierCountryIsDE and $customerCountryIsDE] |
|
cbc:ElectronicMail[boolean(normalize-space(.))] |
|
DE-R-008 (fatal) |
The element "Buyer city" (BT-52) shall be provided. |
ubl-invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress | ubl-creditnote:CreditNote/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress)[$supplierCountryIsDE and $customerCountryIsDE] |
|
cbc:CityName[boolean(normalize-space(.))] |
|
DE-R-009 (fatal) |
The element "Buyer post code" (BT-53) shall be provided. |
ubl-invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress | ubl-creditnote:CreditNote/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress)[$supplierCountryIsDE and $customerCountryIsDE] |
|
cbc:PostalZone[boolean(normalize-space(.))] |
|
DE-R-010 (fatal) |
The element "Deliver to city" (BT-77) shall be provided if the group "DELIVER TO ADDRESS" (BG-15) is delivered. |
ubl-invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress | ubl-creditnote:CreditNote/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress)[$supplierCountryIsDE and $customerCountryIsDE] |
|
cbc:CityName[boolean(normalize-space(.))] |
|
DE-R-011 (fatal) |
The element "Deliver to post code" (BT-78) shall be provided if the group "DELIVER TO ADDRESS" (BG-15) is delivered. |
ubl-invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress | ubl-creditnote:CreditNote/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress)[$supplierCountryIsDE and $customerCountryIsDE] |
|
cbc:PostalZone[boolean(normalize-space(.))] |
|
DE-R-014 (fatal) |
The element "VAT category rate" (BT-119) shall be provided. |
ubl-invoice:Invoice/cac:TaxTotal/cac:TaxSubtotal | ubl-creditnote:CreditNote/cac:TaxTotal/cac:TaxSubtotal)[$supplierCountryIsDE and $customerCountryIsDE] |
|
cac:TaxCategory/cbc:Percent[boolean(normalize-space(.))] |
|
DE-R-019 (warning) |
The element "Payment account identifier" (BT-84) should contain a valid IBAN if code 58 SEPA is provided in "Payment means type code" (BT-81). |
ubl-invoice:Invoice/cac:PaymentMeans[cbc:PaymentMeansCode = (30,58)] | ubl-creditnote:CreditNote/cac:PaymentMeans[cbc:PaymentMeansCode = (30,58)])[$supplierCountryIsDE and $customerCountryIsDE] |
|
"not(cbc:PaymentMeansCode = '58') or matches(normalize-space(replace(cac:PayeeFinancialAccount/cbc:ID, '([ \n\r\t\s])', '')), '^[A-Z]{2}[0-9]{2}[a-zA-Z0-9]{0,30}$') and xs:integer(string-join(for $cp in string-to-codepoints(concat(substring(normalize-space(replace(cac:PayeeFinancialAccount/cbc:ID, '([ \n\r\t\s])', '')),5),upper-case(substring(normalize-space(replace(cac:PayeeFinancialAccount/cbc:ID, '([ \n\r\t\s])', '')),1,2)),substring(normalize-space(replace(cac:PayeeFinancialAccount/cbc:ID, '([ \n\r\t\s])', '')),3,2))) return (if($cp > 64) then string($cp - 55) else string($cp - 48)),'')) mod 97 = 1 |
|
DE-R-020 (fatal) |
The element "Debited account identifier" (BT-91) should contain a valid IBAN if code 59 SEPA is provided in "Payment means type code" (BT-81). |
ubl-invoice:Invoice/cac:PaymentMeans[cbc:PaymentMeansCode = 59] | \ubl-creditnote:CreditNote/cac:PaymentMeans[cbc:PaymentMeansCode = 59])[$supplierCountryIsDE and $customerCountryIsDE] |
|
not(cbc:PaymentMeansCode = '59') or matches(normalize-space(replace(cac:PaymentMandate/cac:PayerFinancialAccount/cbc:ID, '([ \n\r\t\s])', '')), '^[A-Z]{2}[0-9]{2}[a-zA-Z0-9]{0,30}$') and xs:decimal(string-join(for $cp in string-to-codepoints(concat(substring(normalize-space(replace(cac:PaymentMandate/cac:PayerFinancialAccount/cbc:ID, '([ \n\r\t\s])', '')),5),upper-case(substring(normalize-space(replace(cac:PaymentMandate/cac:PayerFinancialAccount/cbc:ID, '([ \n\r\t\s])', '')),1,2)),substring(normalize-space(replace(cac:PaymentMandate/cac:PayerFinancialAccount/cbc:ID, '([ \n\r\t\s])', '')),3,2))) return (if($cp > 64) then string($cp - 55) else string($cp - 48)),'')) mod 97 = 1 |
|
DE-R-023-1 (fatal) |
If "Payment means type code" (BT-81) contains a code for credit transfer (30, 58), "CREDIT TRANSFER" (BG-17) shall be provided. |
ubl-invoice:Invoice/cac:PaymentMeans[cbc:PaymentMeansCode = (30,58)] | ubl-creditnote:CreditNote/cac:PaymentMeans[cbc:PaymentMeansCode = (30,58)])[$supplierCountryIsDE and $customerCountryIsDE] |
|
cac:PayeeFinancialAccount |
|
DE-R-023-2 (fatal) |
Payment means type code" (BT-81) contains a code for credit transfer (30, 58), BG-18 and BG-19 shall not be provided. |
ubl-invoice:Invoice/cac:PaymentMeans[cbc:PaymentMeansCode = (30,58)] | ubl-creditnote:CreditNote/cac:PaymentMeans[cbc:PaymentMeansCode = (30,58)])[$supplierCountryIsDE and $customerCountryIsDE] |
|
not(cac:CardAccount) and not(cac:PaymentMandate) |
|
DE-R-024-1 (fatal) |
If "Payment means type code" (BT-81) contains a code for payment card (48, 54, 55), "PAYMENT CARD INFORMATION" (BG-18) shall be provided. |
ubl-invoice:Invoice/cac:PaymentMeans[cbc:PaymentMeansCode = (48,54,55)] | ubl-creditnote:CreditNote/cac:PaymentMeans[cbc:PaymentMeansCode = (48,54,55)])[$supplierCountryIsDE and $customerCountryIsDE] |
|
cac:CardAccount |
|
DE-R-024-2 (fatal) |
If "Payment means type code" (BT-81) contains a code for payment card (48, 54, 55), BG-17 and BG-19 shall not be provided. |
ubl-invoice:Invoice/cac:PaymentMeans[cbc:PaymentMeansCode = (48,54,55)] | ubl-creditnote:CreditNote/cac:PaymentMeans[cbc:PaymentMeansCode = (48,54,55)])[$supplierCountryIsDE and $customerCountryIsDE] |
|
not(cac:PayeeFinancialAccount) and not(cac:PaymentMandate) |
|
DE-R-025-1 (fatal) |
If "Payment means type code" (BT-81) contains a code for payment card (48, 54, 55), "PAYMENT CARD INFORMATION" (BG-18) shall be provided. |
ubl-invoice:Invoice/cac:PaymentMeans[cbc:PaymentMeansCode = 59] | ubl-creditnote:CreditNote/cac:PaymentMeans[cbc:PaymentMeansCode = 59])[$supplierCountryIsDE and $customerCountryIsDE] |
|
cac:PaymentMandate |
|
DE-R-025-2 (fatal) |
If "Payment means type code" (BT-81) contains a code for direct debit (59), BG-17 and BG-18 shall not be provided. |
ubl-invoice:Invoice/cac:PaymentMeans[cbc:PaymentMeansCode = 59] | ubl-creditnote:CreditNote/cac:PaymentMeans[cbc:PaymentMeansCode = 59])[$supplierCountryIsDE and $customerCountryIsDE] |
|
not(cac:PayeeFinancialAccount) and not(cac:CardAccount) |
|
DE-R-027 (warning) |
The element "Seller contact email address" (BT-43) shall be provided. |
ubl-invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact | ubl-creditnote:CreditNote/cac:AccountingSupplierParty/cac:Party/cac:Contact)[$supplierCountryIsDE and $customerCountryIsDE] |
|
matches(normalize-space(cbc:Telephone), $XR-TELEPHONE-REGEX) |
|
DE-R-028 (warning) |
The element "Seller contact email address" (BT-43) shall be provided. |
ubl-invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact | ubl-creditnote:CreditNote/cac:AccountingSupplierParty/cac:Party/cac:Contact)[$supplierCountryIsDE and $customerCountryIsDE] |
|
matches(normalize-space(cbc:ElectronicMail), $XR-EMAIL-REGEX) |
|
DK-R-002-NA (warning) (not applied in the Italian context) |
Danish suppliers MUST provide legal entity (CVR-number) |
ubl-creditnote:CreditNote[$DKSupplierCountry = 'DK'] | ubl-invoice:Invoice[$DKSupplierCountry = 'DK'] |
|
(normalize-space(cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID/text()) != '') |
|
DK-R-003-NA (warning) (not applied in the Italian context) |
If ItemClassification is provided from Danish suppliers, UNSPSC version 19.0501 should be used. |
ubl-creditnote:CreditNote[$DKSupplierCountry = 'DK' and $DKCustomerCountry = 'DK']/cac:CreditNoteLine | ubl-invoice:Invoice[$DKSupplierCountry = 'DK' and $DKCustomerCountry = 'DK']/cac:InvoiceLine |
|
not((cac:Item/cac:CommodityClassification/cbc:ItemClassificationCode/@listID = 'TST') and not((cac:Item/cac:CommodityClassification/cbc:ItemClassificationCode/@listVersionID = '19.05.01') or (cac:Item/cac:CommodityClassification/cbc:ItemClassificationCode/@listVersionID = '19.0501') ) ) |
|
DK-R-004-NA (warning) (not applied in the Italian context) |
When specifying non-VAT Taxes for Danish customers, Danish suppliers MUST use the AllowanceChargeReasonCode="ZZZ" and the 4-digit Tax category MUST be specified in AllowanceChargeReason |
cac:AllowanceCharge[$DKSupplierCountry = 'DK' and $DKCustomerCountry = 'DK'] |
|
notcbc:AllowanceChargeReasonCode = 'ZZZ') and not((string-length(normalize-space(cbc:AllowanceChargeReason/text() = 4) and (number(cbc:AllowanceChargeReason) >= 0) and (number(cbc:AllowanceChargeReason) ⇐ 9999)) ) |
|
DK-R-005-NA (warning) (not applied in the Italian context) |
For Danish suppliers the following Payment means codes are allowed: 1, 10, 31, 42, 48, 49, 50, 58, 59, 93 and 97 |
ubl-invoice:Invoice[$DKSupplierCountry = 'DK' and $DKCustomerCountry = 'DK']/cac:PaymentMeans |
|
contains(' 1 10 31 42 48 49 50 58 59 93 97 ', concat(' ', cbc:PaymentMeansCode, ' ')) |
|
DK-R-006-NA (warning) (not applied in the Italian context) |
For Danish suppliers bank account and registration account is mandatory if payment means is 31 or 42 |
ubl-invoice:Invoice[$DKSupplierCountry = 'DK' and $DKCustomerCountry = 'DK']/cac:PaymentMeans |
|
not(cbc:PaymentMeansCode = '31') or (cbc:PaymentMeansCode = '42' and notnormalize-space(cac:PayeeFinancialAccount/cbc:ID/text( != '') and (normalize-space(cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cbc:ID/text()) != '')) ) |
|
DK-R-007-NA (warning) (not applied in the Italian context) |
For Danish suppliers PaymentMandate/ID and PayerFinancialAccount/ID are mandatory when payment means is 49 |
ubl-invoice:Invoice[$DKSupplierCountry = 'DK' and $DKCustomerCountry = 'DK']/cac:PaymentMeans |
|
notcbc:PaymentMeansCode = '49') and not((normalize-space(cac:PaymentMandate/cbc:ID/text( != '') and (normalize-space(cac:PaymentMandate/cac:PayerFinancialAccount/cbc:ID/text()) != '')) ) |
|
DK-R-008-NA (warning) (not applied in the Italian context) |
For Danish Suppliers PaymentID is mandatory and MUST start with 01#, 04# or 15# (kortartkode), and PayeeFinancialAccount/ID (Giro kontonummer) is mandatory and must be 7 characters long, when payment means equals 50 (Giro) |
ubl-invoice:Invoice[$DKSupplierCountry = 'DK' and $DKCustomerCountry = 'DK']/cac:PaymentMeans |
|
notcbc:PaymentMeansCode = '50') and not(((substring(cbc:PaymentID, 1, 3) = '01#') or (substring(cbc:PaymentID, 1, 3) = '04#') or (substring(cbc:PaymentID, 1, 3) = '15#' and (string-length(cac:PayeeFinancialAccount/cbc:ID/text()) = 7) ) ) |
|
DK-R-009-NA (warning) (not applied in the Italian context) |
For Danish Suppliers if the PaymentID is prefixed with 04# or 15# the 16 digits instruction Id must be added to the PaymentID eg. "04#1234567890123456" when Payment means equals 50 (Giro) |
ubl-invoice:Invoice[$DKSupplierCountry = 'DK' and $DKCustomerCountry = 'DK']/cac:PaymentMeans |
|
notcbc:PaymentMeansCode = '50') and ((substring(cbc:PaymentID, 1, 3) = '04#') or (substring(cbc:PaymentID, 1, 3) = '15#' and not(string-length(cbc:PaymentID) = 19) ) |
|
DK-R-010-NA (warning) (not applied in the Italian context) |
For Danish Suppliers the PaymentID is mandatory and MUST start with 71#, 73# or 75# (kortartkode) and PayeeFinancialAccount/ID (Kreditornummer) is mandatory and must be exactly 8 characters long, when Payment means equals 93 (FIK) |
ubl-invoice:Invoice[$DKSupplierCountry = 'DK' and $DKCustomerCountry = 'DK']/cac:PaymentMeans |
|
notcbc:PaymentMeansCode = '93') and not(((substring(cbc:PaymentID, 1, 3) = '71#') or (substring(cbc:PaymentID, 1, 3) = '73#') or (substring(cbc:PaymentID, 1, 3) = '75#' and (string-length(cac:PayeeFinancialAccount/cbc:ID/text()) = 8) ) ) |
|
DK-R-011-NA (warning) (not applied in the Italian context) |
For Danish Suppliers if the PaymentID is prefixed with 71# or 75# the 15-16 digits instruction Id must be added to the PaymentID eg. "71#1234567890123456" when payment Method equals 93 (FIK) |
ubl-invoice:Invoice[$DKSupplierCountry = 'DK' and $DKCustomerCountry = 'DK']/cac:PaymentMeans |
|
notcbc:PaymentMeansCode = '93') and ((substring(cbc:PaymentID, 1, 3) = '71#') or (substring(cbc:PaymentID, 1, 3) = '75#' and notstring-length(cbc:PaymentID) = 18) or (string-length(cbc:PaymentID) = 19 ) |
|
DK-R-013-NA (warning) (not applied in the Italian context) |
For Danish Suppliers it is mandatory to use schemeID when PartyIdentification/ID is used for AccountingCustomerParty or AccountingSupplierParty |
ubl-creditnote:CreditNote[$DKSupplierCountry = 'DK' and $DKCustomerCountry = 'DK']/cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification | ubl-creditnote:CreditNote[$DKSupplierCountry = 'DK' and $DKCustomerCountry = 'DK']/cac:AccountingCustomerParty/cac:Party/cac:PartyIdentification | ubl-invoice:Invoice[$DKSupplierCountry = 'DK' and $DKCustomerCountry = 'DK']/cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification | ubl-invoice:Invoice[$DKSupplierCountry = 'DK' and $DKCustomerCountry = 'DK']/cac:AccountingCustomerParty/cac:Party/cac:PartyIdentification |
|
notboolean(cbc:ID and (normalize-space(cbc:ID/@schemeID) = '') ) |
|
DK-R-014-NA (warning) (not applied in the Italian context) |
For Danish Suppliers it is mandatory to specify schemeID as "0184" (DK CVR-number) when PartyLegalEntity/CompanyID is used for AccountingSupplierParty |
ubl-creditnote:CreditNote[$DKSupplierCountry = 'DK'] | ubl-invoice:Invoice[$DKSupplierCountry = 'DK'] |
|
not(boolean(cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID and (normalize-space(cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID/@schemeID) != '0184')) ) |
|
DK-R-016-NA (warning) (not applied in the Italian context) |
For Danish Suppliers, a Credit note cannot have a negative total (PayableAmount) |
ubl-creditnote:CreditNote[$DKSupplierCountry = 'DK'] | ubl-invoice:Invoice[$DKSupplierCountry = 'DK'] |
|
notboolean(/ubl-creditnote:CreditNote) and ($DKCustomerCountry = 'DK' and (number(cac:LegalMonetaryTotal/cbc:PayableAmount/text()) < 0) ) |
|
GR-R-001-1 (fatal) |
When the Supplier is Greek, the Invoice Id should consist of 6 segments |
/ubl-invoice:Invoice/cbc:ID[$isGreekSender] | /ubl-creditnote:CreditNote/cbc:ID[$isGreekSender] |
|
count($IdSegments) = 6 |
|
GR-R-001-2 (warning) (not applied in the Italian context) |
When the Supplier is Greek, the Invoice Id first segment must be a valid TIN Number and match either the Supplier’s or the Tax Representative’s Tin Number |
/ubl-invoice:Invoice/cbc:ID[$isGreekSender] | /ubl-creditnote:CreditNote/cbc:ID[$isGreekSender] |
|
string-length(normalize-space($IdSegments[1])) = 9 and u:TinVerification($IdSegments[1]) and ($IdSegments[1] = //cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme[cac:TaxScheme/cbc:ID = 'VAT']/substring(cbc:CompanyID, 3, 9) or $IdSegments[1] = //cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/cbc:ID = 'VAT']/substring(cbc:CompanyID, 3, 9) ) |
|
GR-R-001-3 (warning) (not applied in the Italian context) |
When the Supplier is Greek, the Invoice Id second segment must be a valid Date that matches the invoice Issue Date |
/ubl-invoice:Invoice/cbc:ID[$isGreekSender] | /ubl-creditnote:CreditNote/cbc:ID[$isGreekSender] |
|
string-length(normalize-space($IdSegments[2]))>0 and matches($IdSegments[2],$dateRegExp) and ($tokenizedIdDate[1] = $tokenizedUblIssueDate[3] and $tokenizedIdDate[2] = $tokenizedUblIssueDate[2] and $tokenizedIdDate[3] = $tokenizedUblIssueDate[1]) |
|
GR-R-001-4 (warning) (not applied in the Italian context) |
When Supplier is Greek, the Invoice Id third segment must be a positive integer |
/ubl-invoice:Invoice/cbc:ID[$isGreekSender] | /ubl-creditnote:CreditNote/cbc:ID[$isGreekSender] |
|
string-length(normalize-space($IdSegments[3]))>0 and string(number($IdSegments[3])) != 'NaN' and xs:integer($IdSegments[3]) >= 0 |
|
GR-R-001-5 (warning) (not applied in the Italian context) |
When Supplier is Greek, the Invoice Id in the fourth segment must be a valid greek document type |
/ubl-invoice:Invoice/cbc:ID[$isGreekSender] | /ubl-creditnote:CreditNote/cbc:ID[$isGreekSender] |
|
string-length(normalize-space($IdSegments[4]))>0 and (some $c in $greekDocumentType satisfies $IdSegments[4] = $c) |
|
GR-R-001-6 (warning) (not applied in the Italian context) |
When Supplier is Greek, the Invoice Id fifth segment must not be empty |
/ubl-invoice:Invoice/cbc:ID[$isGreekSender] | /ubl-creditnote:CreditNote/cbc:ID[$isGreekSender] |
|
string-length($IdSegments[5]) > 0 |
|
GR-R-001-7 (warning) (not applied in the Italian context) |
When Supplier is Greek, the Invoice Id sixth segment must not be empty |
/ubl-invoice:Invoice/cbc:ID[$isGreekSender] | /ubl-creditnote:CreditNote/cbc:ID[$isGreekSender] |
|
string-length($IdSegments[6]) > 0 |
|
GR-R-002 (warning) (not applied in the Italian context) |
Greek Suppliers must provide their full name as they are registered in the Greek Business Registry (G.E.MH.) as a legal entity or in the Tax Registry as a natural person |
cac:AccountingSupplierParty[$isGreekSender]/cac:Party |
|
string-length(./cac:PartyName/cbc:Name)>0 |
|
GR-R-003 (warning) (not applied in the Italian context) |
For the Greek Suppliers, the VAT must start with 'EL' and must be a valid TIN number |
cac:AccountingSupplierParty[$isGreekSender]/cac:Party/cac:PartyTaxScheme[normalize-space(cac:TaxScheme/cbc:ID) = 'VAT']/cbc:CompanyID |
|
substring(.,1,2) = 'EL' and u:TinVerification(substring(.,3)) |
|
GR-R-004-1 (warning) (not applied in the Italian context) |
When Supplier is Greek, there must be one MARK Number |
/ubl-invoice:Invoice[$isGreekSender] | /ubl-creditnote:CreditNote[$isGreekSender] |
|
count(cac:AdditionalDocumentReference[cbc:DocumentDescription = 'M.AR.K'])=1 |
|
GR-R-004-2 (warning) (not applied in the Italian context) |
When Supplier is Greek, the MARK Number must be a positive integer |
cac:AdditionalDocumentReference[$isGreekSender and cbc:DocumentDescription = 'M.AR.K']/cbc:ID |
|
matches(.,'^[1-9]([0-9]*)') |
|
GR-R-005 (warning) (not applied in the Italian context) |
Greek Suppliers must provide the full name of the buyer |
cac:AccountingCustomerParty[$isGreekSender]/cac:Party |
|
string-length(./cac:PartyName/cbc:Name)>0 |
|
GR-R-006 (warning) (not applied in the Italian context) |
Greek Suppliers must provide the VAT number of the buyer, if the buyer is Greek |
cac:AccountingCustomerParty[$isGreekSenderandReceiver]/cac:Party |
|
count(cac:PartyTaxScheme[normalize-space(cac:TaxScheme/cbc:ID) = 'VAT']/cbc:CompanyID)=1 and substring(cac:PartyTaxScheme[normalize-space(cac:TaxScheme/cbc:ID) = 'VAT']/cbc:CompanyID,1,2) = 'EL' and u:TinVerification(substring(cac:PartyTaxScheme[normalize-space(cac:TaxScheme/cbc:ID) = 'VAT']/cbc:CompanyID,3)) |
|
GR-R-008-2 (warning) (not applied in the Italian context) |
When Supplier is Greek, there should be no more than one invoice url |
/ubl-invoice:Invoice[$isGreekSender] | /ubl-creditnote:CreditNote[$isGreekSender] |
|
(count(cac:AdditionalDocumentReference[cbc:DocumentDescription = 'INVOICE|URL']) = 0 ) or (count(cac:AdditionalDocumentReference[cbc:DocumentDescription = 'INVOICE|URL']) = 1 ) |
|
GR-R-008-3 (warning) (not applied in the Italian context) |
When Supplier is Greek and the INVOICE URL Document reference exists, the External Reference URI should be present |
cac:AdditionalDocumentReference[$isGreekSender and cbc:DocumentDescription = 'INVOICE|URL'] |
|
string-length(normalize-space(cac:Attachment/cac:ExternalReference/cbc:URI))>0 |
|
GR-R-009 (warning) (not applied in the Italian context) |
Greek suppliers that send an invoice through the Peppol network must use a correct TIN number as an electronic address according to Peppol Electronic Address Identifier scheme (schemeID 9933). |
cac:AccountingSupplierParty/cac:Party[$accountingSupplierCountry='GR' or $accountingSupplierCountry='EL']/cbc:EndpointID |
|
./@schemeID='9933' and u:TinVerification(.) |
|
GR-R-010 (warning) (not applied in the Italian context) |
Greek Suppliers that send an invoice through the Peppol network to a greek buyer must use a correct TIN number as an electronic address according to Peppol Electronic Address Identifier scheme (SchemeID 9933) |
cac:AccountingCustomerParty[$isGreekSenderandReceiver]/cac:Party/cbc:EndpointID |
|
./@schemeID='9933' and u:TinVerification(.) |
|
GR-S-008-1 (warning) (not applied in the Italian context) |
When Supplier is Greek, there should be one invoice url |
/ubl-invoice:Invoice[$isGreekSender] | /ubl-creditnote:CreditNote[$isGreekSender] |
|
count(cac:AdditionalDocumentReference[cbc:DocumentDescription = 'INVOICE|URL'])=1 |
|
GR-S-011 (warning) |
Greek suppliers must provide their Seller Tax Registration Number, prefixed by the country code |
cac:AccountingSupplierParty[$isGreekSender]/cac:Party |
|
count(cac:PartyTaxScheme[normalize-space(cac:TaxScheme/cbc:ID) = 'VAT']/cbc:CompanyID)=1 and substring(cac:PartyTaxScheme[normalize-space(cac:TaxScheme/cbc:ID) = 'VAT']/cbc:CompanyID,1,2) = 'EL' and u:TinVerification(substring(cac:PartyTaxScheme[normalize-space(cac:TaxScheme/cbc:ID) = 'VAT']/cbc:CompanyID,3)) |
|
IS-R-001 (warning) |
[IS-R-001]-If seller is icelandic then invoice type should be 380 or 381 — Ef seljandi er íslenskur þá ætti gerð reiknings (BT-3) að vera sölureikningur (380) eða kreditreikningur (381). |
ubl-creditnote:CreditNote[$SupplierCountry = 'IS'] | ubl-invoice:Invoice[$SupplierCountry = 'IS'] |
|
( ( not(contains(normalize-space(cbc:InvoiceTypeCode),' ')) and contains( ' 380 381 ',concat(' ',normalize-space(cbc:InvoiceTypeCode),' ') ) ) ) or ( ( not(contains(normalize-space(cbc:CreditNoteTypeCode),' ')) and contains( ' 380 381 ',concat(' ',normalize-space(cbc:CreditNoteTypeCode),' ') ) ) ) |
|
IS-R-002 (fatal) |
[IS-R-002]-If seller is icelandic then it shall contain sellers legal id — Ef seljandi er íslenskur þá skal reikningur innihalda íslenska kennitölu seljanda (BT-30). |
ubl-creditnote:CreditNote[$SupplierCountry = 'IS'] | ubl-invoice:Invoice[$SupplierCountry = 'IS'] |
|
exists(cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID) and cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID/@schemeID = '0196' |
|
IS-R-003 (fatal) |
[IS-R-003]-If seller is icelandic then it shall contain his address with street name and zip code — Ef seljandi er íslenskur þá skal heimilisfang seljanda innihalda götuheiti og póstnúmer (BT-35 og BT-38). |
ubl-creditnote:CreditNote[$SupplierCountry = 'IS'] | ubl-invoice:Invoice[$SupplierCountry = 'IS'] |
|
exists(cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:StreetName) and exists(cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:PostalZone) |
|
IS-R-004 (fatal) |
[IS-R-004]-If seller and buyer are icelandic then the invoice shall contain the buyers icelandic legal identifier — Ef seljandi og kaupandi eru íslenskir þá skal reikningurinn innihalda íslenska kennitölu kaupanda (BT-47). |
ubl-creditnote:CreditNote[$SupplierCountry = 'IS' and $CustomerCountry = 'IS']/cac:AccountingCustomerParty | ubl-invoice:Invoice[$SupplierCountry = 'IS' and $CustomerCountry = 'IS']/cac:AccountingCustomerParty |
|
exists(cac:Party/cac:PartyLegalEntity/cbc:CompanyID) and cac:Party/cac:PartyLegalEntity/cbc:CompanyID/@schemeID = '0196' |
|
IS-R-005 (fatal) |
[IS-R-005]-If seller and buyer are icelandic then the invoice shall contain the buyers address with street name and zip code — Ef seljandi og kaupandi eru íslenskir þá skal heimilisfang kaupanda innihalda götuheiti og póstnúmer (BT-50 og BT-53) |
ubl-creditnote:CreditNote[$SupplierCountry = 'IS' and $CustomerCountry = 'IS']/cac:AccountingCustomerParty | ubl-invoice:Invoice[$SupplierCountry = 'IS' and $CustomerCountry = 'IS']/cac:AccountingCustomerParty |
|
exists(cac:Party/cac:PostalAddress/cbc:StreetName) and exists(cac:Party/cac:PostalAddress/cbc:PostalZone) |
|
IS-R-006 (fatal) |
[IS-R-006]-If seller is icelandic and payment means code is 9 then a 12 digit account id must exist — Ef seljandi er íslenskur og greiðslumáti (BT-81) er krafa (kóti 9) þá skal koma fram 12 stafa númer (bankanúmer, höfuðbók 66 og reikningsnúmer) (BT-84) |
ubl-creditnote:CreditNote[$SupplierCountry = 'IS'] | ubl-invoice:Invoice[$SupplierCountry = 'IS'] |
|
exists(cac:PaymentMeans[cbc:PaymentMeansCode = '9']/cac:PayeeFinancialAccount/cbc:ID) and string-length(normalize-space(cac:PaymentMeans[cbc:PaymentMeansCode = '9']/cac:PayeeFinancialAccount/cbc:ID)) = 12 or not(exists(cac:PaymentMeans[cbc:PaymentMeansCode = '9'])) |
|
IS-R-007 (fatal) |
[IS-R-007]-If seller is icelandic and payment means code is 42 then a 12 digit account id must exist — Ef seljandi er íslenskur og greiðslumáti (BT-81) er millifærsla (kóti 42) þá skal koma fram 12 stafa reikningnúmer (BT-84) |
ubl-creditnote:CreditNote[$SupplierCountry = 'IS'] | ubl-invoice:Invoice[$SupplierCountry = 'IS'] |
|
exists(cac:PaymentMeans[cbc:PaymentMeansCode = '42']/cac:PayeeFinancialAccount/cbc:ID) and string-length(normalize-space(cac:PaymentMeans[cbc:PaymentMeansCode = '42']/cac:PayeeFinancialAccount/cbc:ID)) = 12 or not(exists(cac:PaymentMeans[cbc:PaymentMeansCode = '42'])) |
|
IS-R-008 (fatal) |
[IS-R-008]-If seller is icelandic and invoice contains supporting description EINDAGI then the id form must be YYYY-MM-DD — Ef seljandi er íslenskur þá skal eindagi (BT-122, DocumentDescription = EINDAGI) vera á forminu YYYY-MM-DD. |
ubl-creditnote:CreditNote[$SupplierCountry = 'IS'] | ubl-invoice:Invoice[$SupplierCountry = 'IS'] |
|
(exists(cac:AdditionalDocumentReference[cbc:DocumentDescription = 'EINDAGI']) and string-length(cac:AdditionalDocumentReference[cbc:DocumentDescription = 'EINDAGI']/cbc:ID) = 10 and (string(cac:AdditionalDocumentReference[cbc:DocumentDescription = 'EINDAGI']/cbc:ID) castable as xs:date)) or not(exists(cac:AdditionalDocumentReference[cbc:DocumentDescription = 'EINDAGI'])) |
|
IS-R-009 (fatal) |
[IS-R-009]-If seller is icelandic and invoice contains supporting description EINDAGI invoice must have due date — Ef seljandi er íslenskur þá skal reikningur sem inniheldur eindaga (BT-122, DocumentDescription = EINDAGI) einnig hafa gjalddaga (BT-9). |
ubl-creditnote:CreditNote[$SupplierCountry = 'IS'] | ubl-invoice:Invoice[$SupplierCountry = 'IS'] |
|
(exists(cac:AdditionalDocumentReference[cbc:DocumentDescription = 'EINDAGI']) and exists(cbc:DueDate)) or not(exists(cac:AdditionalDocumentReference[cbc:DocumentDescription = 'EINDAGI'])) |
|
IS-R-010 (fatal) |
[IS-R-010]-If seller is icelandic and invoice contains supporting description EINDAGI the id date must be same or later than due date — Ef seljandi er íslenskur þá skal eindagi (BT-122, DocumentDescription = EINDAGI) skal vera sami eða síðar en gjalddagi (BT-9) ef eindagi er til staðar. |
ubl-creditnote:CreditNote[$SupplierCountry = 'IS'] | ubl-invoice:Invoice[$SupplierCountry = 'IS'] |
|
(exists(cac:AdditionalDocumentReference[cbc:DocumentDescription = 'EINDAGI']) and (cbc:DueDate) ⇐ (cac:AdditionalDocumentReference[cbc:DocumentDescription = 'EINDAGI']/cbc:ID)) or not(exists(cac:AdditionalDocumentReference[cbc:DocumentDescription = 'EINDAGI'])) |
|
IT-R-001 (fatal) |
[IT-R-001] BT-32 (Seller tax registration identifier) - For Italian suppliers BT-32 minimum length 11 and maximum length shall be 16. Per i fornitori italiani il BT-32 deve avere una lunghezza tra 11 e 16 caratteri |
cac:AccountingSupplierParty/cac:Party[$supplierCountry = 'IT']/cac:PartyTaxScheme[normalize-space(cac:TaxScheme/cbc:ID) != 'VAT'] |
|
matches(normalize-space(cbc:CompanyID),'^[A-Z0-9]{11,16}$') |
|
IT-R-002 (fatal) |
[IT-R-002] BT-35 (Seller address line 1) - Italian suppliers MUST provide the postal address line 1 - I fornitori italiani devono indicare l’indirizzo postale. |
cac:AccountingSupplierParty/cac:Party[$supplierCountry = 'IT'] |
|
cac:PostalAddress/cbc:StreetName |
|
IT-R-003 (fatal) |
[IT-R-003] BT-37 (Seller city) - Italian suppliers MUST provide the postal address city - I fornitori italiani devono indicare la città di residenza. |
cac:AccountingSupplierParty/cac:Party[$supplierCountry = 'IT'] |
|
cac:PostalAddress/cbc:CityName |
|
IT-R-004 (fatal) |
[IT-R-004] BT-38 (Seller post code) - Italian suppliers MUST provide the postal address post code - I fornitori italiani devono indicare il CAP di residenza. |
cac:AccountingSupplierParty/cac:Party[$supplierCountry = 'IT'] |
|
cac:PostalAddress/cbc:PostalZone |
|
NL-R-001 (fatal) |
[NL-R-001] For suppliers in the Netherlands, if the document is a creditnote, the document MUST contain an invoice reference (cac:BillingReference/cac:InvoiceDocumentReference/cbc:ID) |
cbc:CreditNoteTypeCode[$supplierCountryIsNL] |
|
/*/cac:BillingReference/cac:InvoiceDocumentReference/cbc:ID |
|
NL-R-002 (fatal) |
[NL-R-002] For suppliers in the Netherlands the supplier’s address (cac:AccountingSupplierParty/cac:Party/cac:PostalAddress) MUST contain street name (cbc:StreetName), city (cbc:CityName) and post code (cbc:PostalZone) |
cac:AccountingSupplierParty/cac:Party/cac:PostalAddress[$supplierCountryIsNL] |
|
cbc:StreetName and cbc:CityName and cbc:PostalZone |
|
NL-R-003 (fatal) |
[NL-R-003] For suppliers in the Netherlands, the legal entity identifier MUST be either a KVK or OIN number (schemeID 0106 or 0190) |
cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID[$supplierCountryIsNL] |
|
(contains(concat(' ', string-join(@schemeID, ' '), ' '), ' 0106 ') or contains(concat(' ', string-join(@schemeID, ' '), ' '), ' 0190 ')) and (normalize-space(.) != '') |
|
NL-R-004 (fatal) |
[NL-R-004] For suppliers in the Netherlands, if the customer is in the Netherlands, the customer address (cac:AccountingCustomerParty/cac:Party/cac:PostalAddress) MUST contain the street name (cbc:StreetName), the city (cbc:CityName) and post code (cbc:PostalZone) |
cac:AccountingCustomerParty/cac:Party/cac:PostalAddress[$supplierCountryIsNL and $customerCountryIsNL] |
|
cbc:StreetName and cbc:CityName and cbc:PostalZone |
|
NL-R-005 (fatal) |
[NL-R-005] For suppliers in the Netherlands, if the customer is in the Netherlands, the customer’s legal entity identifier MUST be either a KVK or OIN number (schemeID 0106 or 0190) |
cac:AccountingCustomerParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID[$supplierCountryIsNL and $customerCountryIsNL] |
|
(contains(concat(' ', string-join(@schemeID, ' '), ' '), ' 0106 ') or contains(concat(' ', string-join(@schemeID, ' '), ' '), ' 0190 ')) and (normalize-space(.) != '') |
|
NL-R-006 (fatal) |
[NL-R-006] For suppliers in the Netherlands, if the fiscal representative is in the Netherlands, the representative’s address (cac:TaxRepresentativeParty/cac:PostalAddress) MUST contain street name (cbc:StreetName), city (cbc:CityName) and post code (cbc:PostalZone) |
cac:TaxRepresentativeParty/cac:PostalAddress[$supplierCountryIsNL and $taxRepresentativeCountryIsNL] |
|
cbc:StreetName and cbc:CityName and cbc:PostalZone |
|
NL-R-007 (fatal) |
[NL-R-007] For suppliers in the Netherlands, the supplier MUST provide a means of payment (cac:PaymentMeans) if the payment is from customer to supplier |
cac:LegalMonetaryTotal[$supplierCountryIsNL] |
|
xs:decimal(cbc:PayableAmount) ⇐ 0.0 or (//cac:PaymentMeans) |
|
NL-R-008 (fatal) |
For suppliers in the Netherlands, if the customer is in the Netherlands, the payment means code (cac:PaymentMeans/cbc:PaymentMeansCode) MUST be one of 30, 48, 49, 57, 58 or 59 |
cac:PaymentMeans[$supplierCountryIsNL and $customerCountryIsNL] |
|
normalize-space(cbc:PaymentMeansCode) = '30' or normalize-space(cbc:PaymentMeansCode) = '48' or normalize-space(cbc:PaymentMeansCode) = '49' or normalize-space(cbc:PaymentMeansCode) = '57' or normalize-space(cbc:PaymentMeansCode) = '58' or normalize-space(cbc:PaymentMeansCode) = '59' |
|
NL-R-009 (fatal) |
[NL-R-009] For suppliers in the Netherlands, if an order line reference (cac:OrderLineReference/cbc:LineID) is used, there must be an order reference on the document level (cac:OrderReference/cbc:ID) |
cac:OrderLineReference/cbc:LineID[$supplierCountryIsNL] |
|
exists(/*/cac:OrderReference/cbc:ID) |
|
NO-R-001 (fatal) |
For Norwegian suppliers, a VAT number MUST be the country code prefix NO followed by a valid Norwegian organization number (nine numbers) followed by the letters MVA. |
cac:AccountingSupplierParty/cac:Party[$supplierCountry = 'NO'] |
|
cac:PartyTaxScheme[normalize-space(cac:TaxScheme/cbc:ID) = 'VAT']/substring(cbc:CompanyID, 1, 2)='NO' and matches(cac:PartyTaxScheme[normalize-space(cac:TaxScheme/cbc:ID) = 'VAT']/substring(cbc:CompanyID,3), '^[0-9]{9}MVA$') and u:mod11(substring(cac:PartyTaxScheme[normalize-space(cac:TaxScheme/cbc:ID) = 'VAT']/cbc:CompanyID, 3, 9)) or not(cac:PartyTaxScheme[normalize-space(cac:TaxScheme/cbc:ID) = 'VAT']/substring(cbc:CompanyID, 1, 2)='NO') |
|
NO-R-002 (warning) |
For Norwegian suppliers, most invoice issuers are required to append "Foretaksregisteret" to their invoice. "Dersom selger er aksjeselskap, allmennaksjeselskap eller filial av utenlandsk selskap skal også ordet «Foretaksregisteret» fremgå av salgsdokumentet, jf. foretaksregisterloven § 10-2." |
cac:AccountingSupplierParty/cac:Party[$supplierCountry = 'NO'] |
|
normalize-space(cac:PartyTaxScheme[normalize-space(cac:TaxScheme/cbc:ID) = 'TAX']/cbc:CompanyID) = 'Foretaksregisteret' |
|
SE-R-001 (warning) (not applied in the Italian context) |
For Swedish suppliers, Swedish VAT-numbers must consist of 14 characters |
//cac:AccountingSupplierParty/cac:Party[cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'SE' and cac:PartyTaxScheme[cac:TaxScheme/cbc:ID = 'VAT']/substring(cbc:CompanyID, 1, 2) = 'SE'] |
|
string-length(normalize-space(cac:PartyTaxScheme[cac:TaxScheme/cbc:ID = 'VAT']/cbc:CompanyID)) = 14 |
|
SE-R-002 (warning) (not applied in the Italian context) |
For Swedish suppliers, the Swedish VAT-numbers must have the trailing 12 characters in numeric form |
//cac:AccountingSupplierParty/cac:Party[cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'SE' and cac:PartyTaxScheme[cac:TaxScheme/cbc:ID = 'VAT']/substring(cbc:CompanyID, 1, 2) = 'SE'] |
|
string(number(substring(cac:PartyTaxScheme[cac:TaxScheme/cbc:ID = 'VAT']/cbc:CompanyID, 3, 12))) != 'NaN' |
|
SE-R-003 (warning) (not applied in the Italian context) |
Swedish organisation numbers should be numeric |
//cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity[../cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'SE' and cbc:CompanyID] |
|
string(number(cbc:CompanyID)) != 'NaN' |
|
SE-R-004 (warning) (not applied in the Italian context) |
Swedish organisation numbers consist of 10 characters |
//cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity[../cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'SE' and cbc:CompanyID] |
|
string-length(normalize-space(cbc:CompanyID)) = 10 |
|
SE-R-005 (warning) (not applied in the Italian context) |
For Swedish suppliers, when using Seller tax registration identifier, 'Godkänd för F-skatt' must be stated |
//cac:AccountingSupplierParty/cac:Party[cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'SE' and exists(cac:PartyLegalEntity/cbc:CompanyID)]/cac:PartyTaxScheme[normalize-space(upper-case(cac:TaxScheme/cbc:ID)) != 'VAT']/cbc:CompanyID |
|
normalize-space(upper-case(.)) = 'GODKÄND FÖR F-SKATT' |
|
SE-R-006 (warning) (not applied in the Italian context) |
For Swedish suppliers, only standard VAT rate of 6, 12 or 25 are used |
//cac:TaxCategory[//cac:AccountingSupplierParty/cac:Party[cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'SE' and cac:PartyTaxScheme[cac:TaxScheme/cbc:ID = 'VAT']/substring(cbc:CompanyID, 1, 2) = 'SE'] and cbc:ID = 'S'] | //cac:ClassifiedTaxCategory[//cac:AccountingSupplierParty/cac:Party[cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'SE' and cac:PartyTaxScheme[cac:TaxScheme/cbc:ID = 'VAT']/substring(cbc:CompanyID, 1, 2) = 'SE'] and cbc:ID = 'S'] |
|
number(cbc:Percent) = 25 or number(cbc:Percent) = 12 or number(cbc:Percent) = 6 |
|
SE-R-007 (warning) (not applied in the Italian context) |
For Swedish suppliers using Plusgiro, the Account ID must be numeric |
//cac:PaymentMeans[//cac:AccountingSupplierParty/cac:Party[cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'SE'] and normalize-space(cbc:PaymentMeansCode) = '30' and normalize-space(cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cbc:ID) = 'SE:PLUSGIRO']/cac:PayeeFinancialAccount/cbc:ID |
|
string(number(normalize-space(.))) != 'NaN' |
|
SE-R-008 (warning) (not applied in the Italian context) |
For Swedish suppliers using Bankgiro, the Account ID must be numeric |
//cac:PaymentMeans[//cac:AccountingSupplierParty/cac:Party[cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'SE'] and normalize-space(cbc:PaymentMeansCode) = '30' and normalize-space(cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cbc:ID) = 'SE:BANKGIRO']/cac:PayeeFinancialAccount/cbc:ID |
|
string(number(normalize-space(.))) != 'NaN' |
|
SE-R-009 (warning) (not applied in the Italian context) |
For Swedish suppliers using Bankgiro, the Account ID must have 7-8 characters |
//cac:PaymentMeans[//cac:AccountingSupplierParty/cac:Party[cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'SE'] and normalize-space(cbc:PaymentMeansCode) = '30' and normalize-space(cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cbc:ID) = 'SE:BANKGIRO']/cac:PayeeFinancialAccount/cbc:ID |
|
string-length(normalize-space(.)) = 7 or string-length(normalize-space(.)) = 8 |
|
SE-R-010 (warning) (not applied in the Italian context) |
For Swedish suppliers using Plusgiro, the Account ID must have 2-8 characters |
//cac:PaymentMeans[//cac:AccountingSupplierParty/cac:Party[cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'SE'] and normalize-space(cbc:PaymentMeansCode) = '30' and normalize-space(cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cbc:ID) = 'SE:PLUSGIRO']/cac:PayeeFinancialAccount/cbc:ID |
|
string-length(normalize-space(.)) >= 2 and string-length(normalize-space(.)) <= 8" |
|
SE-R-011 (warning) (not applied in the Italian context) |
For Swedish suppliers using Swedish Bankgiro or Plusgiro, the proper way to indicate this is to use Code 30 for PaymentMeans and FinancialInstitutionBranch ID with code SE:BANKGIRO or SE:PLUSGIRO |
//cac:PaymentMeans[//cac:AccountingSupplierParty/cac:Party[cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'SE'] and (cbc:PaymentMeansCode = normalize-space('50') or cbc:PaymentMeansCode = normalize-space('56'))] |
|
false() |
|
SE-R-012 (warning) (not applied in the Italian context) |
>For domestic transactions between Swedish trading partners, credit transfer should be indicated by PaymentMeansCode="30" |
//cac:PaymentMeans[//cac:AccountingSupplierParty/cac:Party[cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'SE'] and //cac:AccountingCustomerParty/cac:Party[cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'SE'] and (cbc:PaymentMeansCode = normalize-space('31'))] |
|
false() |
|
SE-R-013 (warning) (not applied in the Italian context) |
The last digit of a Swedish organization number must be valid according to the Luhn algorithm |
//cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity[../cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'SE' and cbc:CompanyID] |
|
u:checkSEOrgnr(normalize-space(cbc:CompanyID)) |
C.1. CIUS
CIUS ID | Tipologia di regola | Terminologia di business | Elemento in XML PA | Descrizione regola |
---|---|---|---|---|
BR-IT-001* |
Value domain for an element - Require defined structured values |
BT-24 Specification Identifier |
Se il valore dell’elemento BT-40 (Seller country
code) è diverso da "IT", il BT-24 deve essere
valorizzato come segue: (rimuovere gli spazi prima dell’utilizzo) |
|
BR-IT-010 |
Value domain for an element - Restrict text or byte array length |
BT-1 Invoice number |
2.1.1.4 Numero |
La lunghezza dell’elemento non può superare i 20 caratteri e deve includere almeno una cifra. |
BR-IT-020 |
Value domain for an element - Restrict text or byte array length |
BT-11 Project reference |
2.1.3.6 CodiceCUP |
La lunghezza dell’elemento non può superare i 15 caratteri. |
BR-IT-030 |
Value domain for an element - Restrict text or byte array length |
BT-12 Contract reference |
2.1.3.2 IdDocumento |
La lunghezza dell’elemento non può superare i 20 caratteri. |
BR-IT-040 |
Value domain for an element - Restrict text or byte array length |
BT-13 Purchase order reference |
2.1.2.2. IdDocumento |
La lunghezza dell’elemento non può superare i 20 caratteri. |
BR-IT-050 |
Value domain for an element - Restrict text or byte array length |
BT-15 Receiving advice reference |
2.1.5.2 IdDocumento |
La lunghezza dell’elemento non può superare i 20 caratteri. |
BR-IT-060 |
Value domain for an element - Restrict text or byte array length |
BT-16 Despatch advice reference |
2.1.8.1 NumeroDDT |
La lunghezza dell’elemento non può superare i 20 caratteri. |
BR-IT-070 |
Value domain for an element - Restrict text or byte array length |
BT-17 Tender or lot reference |
2.1.3.7 CodiceCIG |
La lunghezza dell’elemento non può superare i 15 caratteri. |
BR-IT-071 |
Value domain for an element - Restrict text or byte array length |
BT-18 Invoiced object identifier |
2.1.4.2 IdDocumento (Convenzione) |
La lunghezza dell’elemento non può superare i 20 caratteri. |
BR-IT-080 |
Value domain for an element - Restrict text or byte array length |
BT-19 Buyer accounting reference |
1.2.6 RiferimentoAmministrazione |
La lunghezza dell’elemento non può superare i 20 caratteri. |
BR-IT-081 |
Value domain for an element - Restrict text or byte array length |
BT-22 Invoice note |
2.1.1.11 Causale |
La lunghezza dell’elemento non può superare i 200 caratteri. |
BR-IT-090 |
Value domain for an element - Restrict text or byte array length |
BT-25 Preceding Invoice number |
2.1.6.2 IdDocumento |
La lunghezza dell’elemento non può superare i 20 caratteri. |
BR-IT-091 |
Value domain for an element - Restrict text or byte array length |
BT-27 Seller name |
1.2.1.3.1 Denominazione |
In caso di persona giuridica, la lunghezza dell’elemento non deve superare gli 80 caratteri. |
BR-IT-120 |
Value domain for an element - Restrict text or byte array length |
BT-31 Seller VAT identifier |
1.2.1.1.1 IdPaese |
La lunghezza dell’elemento non può superare i 30 caratteri e deve iniziare con due caratteri alfabetici. |
BR-IT-171 |
Value domain for an element - Restrict text or byte array length |
BT-44 Buyer name |
1.4.1.3.1 Denominazione |
In caso di persona giuridica, la lunghezza dell’elemento non deve superare gli 80 caratteri. |
BR-IT-180 |
Value domain for an element - Restrict text or byte array length |
BT-48 Buyer VAT identifier |
1.4.1.1.1 IdPaese |
La lunghezza dell’elemento non può superare i 30 caratteri e deve iniziare con due caratteri alfabetici. |
BR-IT-190A* |
Cardinality - Make a conditional element mandatory (0..x -→ 1..x) |
BT-49 Buyer electroni caddress |
1.1.6 PECDestinatario |
Se Buyer country code (BT-55) = “IT”, allora l’elemento BT-49 (Buyer electronic address) deve contenere il Codice IPA, la PEC del destinatario della fattura oppure il Codice Destinatario. Di conseguenza, per l’elemento BT-49-1 (Buyer electronic address identification scheme identifier) sono previsti rispettivamente i valori 0201, 0202 oppure 0205. |
BR-IT-200 |
Value domain for an element - Restrict text or byte array length |
BT-49 Buyer electronic address |
1.1.4 CodiceDestinatario |
Se l’elemento BT-49-1 (Buyer electronic address identification scheme identifier) contiene il valore "0201", l’elemento BT-49 (Buyer electronic address) deve contenere un codice IPA con lunghezza pari a 6 caratteri alfanumerici maiuscoli. |
BR-IT-210 |
Cardinality - Make a conditional element mandatory (0..x -→ 1..x) |
BT-50 Buyer address line 1 |
1.4.2.1 Indirizzo |
Se Buyer country code (BT-55) = “IT”, tutti gli elementi sono obbligatori a meno del Numero Civico. |
BR-IT-220 |
Value domain for an element - Require defined structured values |
BT-54 Buyer country subdivision |
1.4.2.5 Provincia |
Se Buyer country code (BT-55) = “IT”, per l’elemento BT-54 Buyer country subdivision deve essere utilizzato uno dei valori della lista delle province italiane. Altrimenti l’informazione è riportata in allegato. |
BR-IT-222 |
Value domain for an element - Restrict text or byte array length |
BT-62 Seller tax representative |
1.3.1.3.1 Denominazione |
In caso di persona giuridica, la lunghezza dell’elemento non deve superare gli 80 caratteri. |
BR-IT-230 |
Value domain for an element - Restrict text or byte array length |
BT-63 Seller tax representa tive VAT identifier |
1.3.1.1.1 IdPaese |
La lunghezza dell’elemento non può superare i 30 caratteri e deve iniziare con due caratteri alfabetici. |
BR-IT-240 |
Cardinality - Make a conditional element mandatory (0..x -→ 1..x) |
BT-75 Deliver to address line 1 |
2.1.9.12.1 Indirizzo |
Se il valore dell’elemento BT-80 Deliver to country code è ”IT”, gli elementi devono essere obbligatoriamente valorizzati. |
BR-IT-250 |
Value domain for an element - Require defined structured values |
BT-79 Deliver to country subdivision |
2.1.9.12.5 Provincia |
Se l’elemento BT-80 Deliver to country code ha valore "IT", per l’elemento BT-79 Deliver to country subdivision deve essere utilizzato uno dei valori della lista delle province italiane. Altrimenti l’informazione deve essere riportata in allegato. |
BR-IT-260 |
Cardinality - Make a conditional element mandatory (0..x -→ 1..x) |
BG-16 Payment instructions |
2.4 DatIPagamento |
Il gruppo di elementi BG-16 Payment instructions deve essere obbligatorio. |
BR-IT-261 |
Cardinality - Make a conditional element mandatory (0..x -→ 1..x) |
BT-20 Payment terms |
2.4.1 CondizioniPagamento |
L’elemento BT-20 Payment Terms deve essere obbligatoriamente valorizzato. |
BR-IT-270 |
Business Terms - Make semantic definition narrower |
BT-84 Payment account identifier |
2.4.2.13 IBAN |
L’identificativo del pagamento BT-84 Payment account identifier deve essere un codice IBAN. |
BR-IT-280 |
Value domain for an element - Require defined structured values |
BT-86 Payment service provider identifier |
2.4.2.16 BIC |
La lunghezza dell’elemento deve essere compresa fra 8 e 11 caratteri (BIC). |
BR-IT-290 |
Value domain for an element - Require defined structured values |
BT-92 Document level allowance amount |
2.2.1.9 PrezzoUnitario |
La lunghezza dell’elemento non può superare i 15 caratteri incluso 2 cifre decimali. |
BR-IT-300 |
Value domain for an element - Require defined structured values |
BT-112 Invoice total amount with VAT |
2.1.1.9 ImportoTotaleDocumento |
La lunghezza dell’elemento non può superare i 15 caratteri incluso 2 cifre decimali. |
BR-IT-310 |
Value domain for an element - Require defined structured values |
BT-114 Rounding amount |
2.1.1.10 Arrotondamento |
La lunghezza dell’elemento non può superare i 15 caratteri incluso 2 cifre decimali. |
BR-IT-320 |
Value domain for an element - Require defined structured values |
BT-115 Amount due for payment |
2.4.2.6 ImportoPagamento |
La lunghezza dell’elemento non può superare i 15 caratteri incluso 2 cifre decimali. |
BR-IT-330 |
Value domain for an element - Require defined structured values |
BT-116 VAT category taxable amount |
2.2.2.5 ImponibileImporto |
La lunghezza dell’elemento non può superare i 15 caratteri incluso 2 cifre decimali. |
BR-IT-340 |
Value domain for an element - Require defined structured values |
BT-117 VAT category tax amount |
2.2.2.6 Imposta |
La lunghezza dell’elemento non può superare i 15 caratteri incluso 2 cifre decimali. |
BR-IT-350 |
Codes and identifiers - Mark defined values as not allowed |
BT-118 VAT category code |
I valori accettati sono esclusivamente AE E S G K Z B. |
|
BR-IT-360 |
Cardinality - Make a conditional element mandatory (0..x -→ 1..x) |
BT-124 External document location |
2.5.5 Attachment |
Se l’elemento l’elemento BT-122 Supporting document reference è valorizzato, è obbligatorio valorizzare almeno uno degli elementi BT-124 External document location e BT- 125 Attached document. |
BR-IT-361 |
Value domain for an element - Restrict text or byte array length |
BT-126 Invoice line identifier |
2.2.1.1 NumeroLinea |
L’elemento deve essere di tipo numerico e non superiore a "9999". |
BR-IT-370 |
Value domain for an element - Restrict text or byte array length |
BT-128 Invoice line object identifier |
2.1.2.5 Codice Commessa Convenzione, |
La lunghezza dell’elemento non può superare i 100 caratteri. |
BR-IT-380 |
Value domain for an element - Require defined structured values |
BT-129 Invoiced quantity |
2.2.1.5 Quantita |
La lunghezza dell’elemento non deve essere superiore a 21 caratteri e l’elemento dovrà avere 8 cifre decimali. |
BR-IT-390 |
Value domain for an element - Require defined structured values |
BT-131 Invoice line net amount |
2.2.1.11 PrezzoTotale |
La lunghezza dell’elemento non può superare i 15 caratteri incluso 2 cifre decimali. |
BR-IT-400 |
Value domain for an element - Restrict text or byte array length |
BT-132 Reference d purchase order line reference |
2.1.2.4 NumItem |
La lunghezza dell’elemento non può superare i 20 caratteri. |
BR-IT-410 |
Value domain for an element - Restrict text or byte array length |
BT-133 Invoice line Buyer accounting reference |
2.2.1.15 RiferimentoAmministrazione |
La lunghezza dell’elemento non può superare i 20 caratteri. |
BR-IT-431* |
Value domain for an element - Restrict text or byte array length |
BT-147 Item price discount |
2.2.1.10.3 Importo |
La lunghezza dell’elemento non deve essere superiore a 21 caratteri e l’elemento potrà avere fino a 8 cifre decimali. |
BR-IT-432* |
Cardinality - Make a conditional element mandatory (0..x -→ 1..x) |
BT-148 Item gross price |
2.2.1.9 PrezzoUnitario |
Il BT-148 Item gross price deve essere obbligatoriamente valorizzato. |
BR-IT-433* |
Value domain for an element - Restrict text or byte array length |
BT-148 Item gross price |
2.2.1.9 PrezzoUnitario |
La lunghezza dell’elemento non deve essere superiore a 21 caratteri e l’elemento potrà avere fino a 8 cifre decimali. |
BR-IT-440 |
Value domain for an element - Restrict text or byte array length |
BT-155 Item Seller’s identifier |
2.2.1.3.1 Codice Tipo |
La lunghezza dell’elemento non può superare i 35 caratteri. |
BR-IT-470 |
Value domain for an element - Restrict text or byte array length |
BT-158 Item classificati on identifier |
2.2.1.3.1 Codice Tipo |
La lunghezza dell’elemento non può superare i 35 caratteri. |
BR-IT-520A* |
Add new non-conflicting business rule to existing element(s) |
BT-47 Buyer legal registration identifier |
1.4.1.2 CodiceFiscale |
Se Buyer country code (BT-55) = “IT”, almeno uno degli elementi BT-48 (Buyer VAT identifier) o BT-47 (Buyer legal registration identifier) deve essere valorizzato. |
BR-IT-520B* |
Value domain for an element - Restrict text or byte array length |
BT-47 Buyer legal registration identifier |
1.4.1.2 CodiceFiscale |
Se Buyer country code (BT-55)="IT", la lunghezza dell’elemento è compresa fra 11 e 16 caratteri. |
BR-IT-520C* |
Cardinality - Make a conditional element mandatory (0..x — > 1..x) |
BT-47-1 Buyer legal registration identifier scheme identifier |
1.4.1.2 CodiceFiscale |
Se Buyer country code (BT-55) = “IT” ed esiste l’elemento Buyer legal registration identifier (BT-47), allora l’elemento Buyer legal registration identifier scheme identifier (BT-47-1) è obbligatorio e contiene il valore "0210". |
BR-IT-521 |
Value domain for an element - Restrict text or byte array length |
BT-46 Buyer identifier |
1.4.1.3.5 Codice EORI |
Se Buyer country code (BT-55) = “IT”, il Codice EORI (BT-46 Buyer identifier) deve essere preceduto dal prefisso 'EORI:' ed avere la lunghezza del codice compresa fra 13 e 17 caratteri alfanumerici. |
BR-IT-530 |
Value domain for an element - Restrict text or byte array length |
BT-153 Item Name |
2.2.1.4 Descrizione |
La lunghezza della concatenazione degli elementi non può superare i 1000 caratteri riconducibili ai blocchi Unicode Basic Latin e/o Latin 1-Supplement. |
(*) regola della Peppol Authority nazionale che integra le specifiche tecniche AdE
C.2. CIUS Domestiche
CIUS ID | Tipologia di regola | Terminologia di business | Elemento in XML PA | Descrizione regola |
---|---|---|---|---|
BR-IT-DC-002* |
Value domain for an element - Require defined structured values |
BT-24 Specification Identifier |
Se il valore dell’elemento BT-40 (Seller
country code) è uguale a "IT", il BT-24
deve essere valorizzato come segue: (rimuovere gli spazi prima dell’utilizzo) |
|
BR-IT-DC-100A* |
Value domain for an element - Restrict text or byte array length |
BT-29 Seller identifier |
1.2.1.3.5 CodEORI |
Se il valore dell’elemento BT-40 (Seller country code) è "IT", se il valore dell’elemento BT29 Seller identifier comincia con "EORI:", la sua lunghezza deve essere compresa fra 18 e 22 caratteri. |
BR-IT-DC-100B* |
Value domain for an element - Restrict text or byte array length |
BT-29 Seller identifier |
1.2.1.4 AlboProfessionale |
Se il valore dell’elemento BT-40 (Seller country code) è "IT", se il valore dell’elemento BT29 Seller identifier comincia con "ALBO:", la sua lunghezza non può superare i 137 caratteri e può essere indicato come "ALBO:AlboProfessionale |
BR-IT-DC-100C* |
Value domain for an element - Require defined structure values |
BT-29 Seller identifier |
1.2.4.1 Ufficio |
Se il valore dell’elemento BT-40 (Seller country code) è "IT", se il valore dell’elemento BT-29 Seller identifier comincia con "REA:", la sua lunghezza deve essere compresa fra 8 e 27 caratteri e deve essere indicato come "REA:Ufficio#NumeroREA". |
BR-IT-DC-110A* |
Cardinality - Make a conditional element mandatory (0..x -→ 1..x) |
BT-30 Seller legal registration identifier |
1.2.1.2 CodiceFiscale |
Se il valore dell’elemento BT-40 Seller country code è “IT”, gli elementi devono essere obbligatoriamente valorizzati. |
BR-IT-DC-110B* |
Value domain for an element - Restrict text or byte array length |
BT-30 Seller legal registration identifier |
1.2.1.2 CodiceFiscale |
Se il valore dell’elemento BT-40 (Seller country code) è "IT", se l’elemento BT-30-1 (Seller legal registration identifier scheme identifier) contiene il valore "0210", l’elemento BT-30 (Seller legal registration identifier) deve contenere un Codice Fiscale con lunghezza compresa fra 11 e 16 caratteri. |
BR-IT-DC-122* |
Value domain for an element - Restrict text or byte array length |
BT-33 Seller Additional Legal Information |
1.2.4.3 CapitaleSociale |
La lunghezza dell’elemento non può superare i 21 caratteri. |
BR-IT-DC-140 |
Cardinality - Make a conditional element mandatory (0..x -→ 1..x) |
BT-35 Seller address line 1 |
1.2.2.1 Indirizzo |
Se il valore dell’elemento BT-40 Seller country code è “IT”, gli elementi devono essere obbligatoriamente valorizzati. |
BR-IT-DC-141 |
Value domain for an element - Require defined structure values |
BT-36 Seller address line 2 |
1.2.2.2 NumeroCivico |
Se il valore dell’elemento BT-40 (Seller country code) è uguale a "IT", il BT-36 (Seller address line 2) DEVE contenere il numero civico o l’acronimo "s.n.c." (senza numero civico). |
BR-IT-DC-150 |
Value domain for an element - Require defined structured values |
BT-39 Seller country subdivision |
1.2.2.5 Provincia |
Se l’elemento BT-40 Seller country code ha valore "IT", per l’elemento BT-39 Seller country subdivision deve essere utilizzato uno dei valori della lista delle province italiane. Altrimenti l’informazione è riportata in allegato. |
BR-IT-DC-161 |
Value domain for an element - Restrict text or byte array length |
BT-42 Seller contact telephone number |
1.1.5.1 Telefono |
Se il valore dell’elemento BT-40 (Seller country code) è uguale a "IT", il BT-42 (Seller contact telephone number) DEVE essere composto da 5 fino ad un massimo di 12 caratteri alfanumerici. |
BR-IT-DC-221 |
Value domain for an element - Restrict text or byte array length |
BT-59 Payee name |
2.4.2.1 - Beneficiario |
Se il valore dell’elemento BT-40 (Seller country code) è uguale a "IT", il BT-59 (Payee name) DEVE essere composto da un massimo di 200 caratteri. |
BR-IT-DC-262 |
Value domain for an element - Restrict text or byte array length |
BT-83 Remittance information |
2.4.2.21 CodicePagamento |
Se il valore dell’elemento BT-40 (Seller country code) è uguale a "IT", il BT-83 (Remittance information) DEVE essere composto da un massimo di 60 caratteri alfanumerici. |
BR-IT-DC-291 |
Value domain for an element - Require defined structured values |
BT-104 Document level charge reason |
2.1.1.7.1 TipoCassa |
Se il valore dell’elemento BT-40 (Seller country code) è uguale a "IT" e viene applicata la Rivalsa Cassa Previdenziale, il BT-104 (Document level charge reason) DEVE contenere il tipo di cassa professionale compreso tra i valori "TC01" e "TC22". |
BR-IT-DC-351 |
Value domain for an element - Restrict text or byte array length |
BT-120 VAT exemption reason text |
2.2.2.8 RiferimentoNormativo |
Se il valore dell’elemento BT-40 (Seller country code) è uguale a "IT", il BT-120 (VAT exemption reason text) DEVE essere composto da un massimo di 105 caratteri latini. |
BR-IT-DC-480 |
Value domain for an element - Require defined structured values |
BT-95 Document level charge VAT category code, BT-99 Document level charge amount, BT-104 Document level charge reason, BT-105 Document level charge reason code |
2.1.1.6.1 BolloVirtuale |
Se l’elemento BT-40 (Seller country code) ha valore "IT", la fattura è soggetta alla marca da bollo e l’importo della fattura è superiore a 77,47 euro, allora il BT-105 (Document level charge reason code) deve essere posto a “SAE”; il BT-104 (Document level charge reason) deve essere posto a “BOLLO”; il BT-99 (Document level charge amount) deve essere posto a 0; il BT-95 (Document level charge VAT category code) deve essere posto a "Z" (zero). |
(*) regola della Peppol Authority nazionale che integra le specifiche tecniche AdE
C.3. CIUS Domestiche (fatturazione verso privati)
CIUS ID | Tipologia di regola | Terminologia di business | Elemento in XML PA | Descrizione regola |
---|---|---|---|---|
BR-IT-DC-202 |
Value domain for an element - Restrict text or byte array length |
BT-49 Buyer electronic address |
1.1.4 CodiceDestinatario |
Se l’elemento BT-49-1 (Buyer electronic address identification scheme identifier) contiene il valore "0205", l’elemento BT-49 (Buyer electronic address) deve contenere un Codice Destinatario con lunghezza pari a 7 caratteri. |
BR-IT-DC-203 |
Value domain for an element - Restrict text or byte array length |
BT-49 Buyer electronic address |
1.1.6 PECDestinatario |
Se l’elemento BT-49-1 (Buyer electronic address identification scheme identifier) contiene il valore "0202", l’elemento BT-49 (Buyer electronic address) deve contenere un indirizzo PEC di lunghezza compresa fra 7 e 256 caratteri. |
C.4. Estensioni Domestiche
CIUS ID | Elemento in XML PA | Descrizione regola |
---|---|---|
BR-IT-DE-001 |
1.6 Soggetto Emittente |
L’estensione deve contenere un elemento cbc:TypeCode valorizzato esclusivamente con i valori 'CC' o 'TZ'. |
BR-IT-DE-002 |
2.1.1.1 Tipo Documento |
L’estensione deve contenere un elemento cbc:TypeCode valorizzato esclusivamente con i valori del TipoDocumento, secondo la specifica FatturaPA 1.2.1. |
BR-IT-DE-003 |
2.1.1.5.1 Tipo Ritenuta |
L’estensione deve contenere un elemento cbc:TypeCode valorizzato esclusivamente con i valori del TipoRitenuta, secondo la specifica FatturaPA 1.2.1 |
BR-IT-DE-004 |
2.1.1.12 Art73 |
L’estensione deve contenere un elemento cbc:TypeCode valorizzato esclusivamente con il valore 'SI' per applicare l’Articolo 73 del DPR 633/72. |
BR-IT-DE-005 |
2.2.2.4 Arrotondamento |
L’estensione deve contenere un elemento cbc:Amount la cui lunghezza non può superare i 15 caratteri incluso 2 cifre decimali. |
BR-IT-DE-006 |
2.1.1.8 Sconto Maggiorazione |
L’estensione deve contenere uno o più elementi cac:AllowanceCharge. |
BR-IT-DE-007 |
2.1.1.8 Sconto Maggiorazione |
L’importo dello sconto o maggiorazione (cbc:Amount) deve contenere da 4 fino a 21 caratteri incluso 2 cifre decimali. |
BR-IT-DE-008 |
2.1.1.8 Sconto Maggiorazione |
L’importo dello sconto/maggiorazione in percentuale, se presente, (cbc:MultiplierFactorNumeric) deve contenere da 4 fino a 6 caratteri incluso 2 cifre decimali. |
BR-IT-DE-009NC1* |
2.1.1.5 Dati Ritenuta |
L’estensione deve contenere un elemento cac:WithholdingTaxTotal. |
BR-IT-DE-009FT1* |
2.1.1.5 Dati Ritenuta |
L’estensione deve contenere un elemento cac:WithholdingTaxTotal. |
BR-IT-DE-010 |
2.1.1.5 Dati Ritenuta |
L’importo totale delle ritenute (cbc:TaxAmount) deve contenere da 4 fino a 15 caratteri incluso 2 cifre decimali. |
BR-IT-DE-011 |
2.1.1.5 Dati Ritenuta |
Il cac:WithholdingTaxTotal deve contenere almeno una e al massimo due ritenute (cac:TaxSubtotal). |
BR-IT-DE-012 |
2.1.1.5.2 Importo Ritenuta |
L’importo di ogni ritenuta (cbc:TaxAmount) deve contenere da 4 fino a 15 caratteri incluso 2 cifre decimali. |
BR-IT-DE-013 |
2.1.1.5.1 Tipo Ritenuta |
Per ogni ritenuta di acconto, devono essere indicati la tipologia di ritenuta, l’importo della ritenuta (cbc:TaxAmount), la categoria della ritenuta (cac:TaxCategory) con identificativo uguale a "S" (cbc:ID), aliquota della ritenuta (cbcPercent) da 4 fino a 6 caratteri incluso 2 cifre decimali, schema della ritenuta (cac:TaxScheme/cbc:ID) valorizzato con "SWT" e causale del pagamento (cac:TaxScheme/cbc:TaxTypeCode). |
BR-IT-DE-014 |
2.1.10.1 NumeroFatturaPrincipale |
Se si vuole fare riferimento ad una fattura principale relativa al trasporto di beni devono essere obbligatoriamente valorizzati gli estremi della fattura con gli elementi ID e IssueDate. |
BR-IT-DE-015 |
2.1.10.1 NumeroFatturaPrincipale |
L’identificativo della fattura principale non può superare i 20 caratteri. |
BR-IT-DE-016 |
2.1.8.2 DataDDT |
La data del documento di trasporto deve essere obbligatoriamente valorizzata a livello di documento. |
BR-IT-DE-017 |
1.2.1.8 Regime Fiscale |
Il Regime Fiscale (cbc:TaxLevelCode) deve essere valorizzato esclusivamente con i valori della relativa codifica. |
BR-IT-DE-018 |
1.2.3 Stabile Organizzazione |
La Stabile Organizzazione deve fornire l’indirizzo completo di via e numero civico, comune, CAP, provincia e nazione. |
BR-IT-DE-019 |
1.2.3.1 Indirizzo |
La lunghezza dell’elemento non può superare i 60 caratteri. |
BR-IT-DE-020 |
1.2.3.4 Comune |
La lunghezza dell’elemento non può superare i 60 caratteri. |
BR-IT-DE-021 |
1.2.3.3 CAP |
La lunghezza dell’elemento deve essere costituita da 5 cifre. |
BR-IT-DE-022 |
1.2.3.5 Provincia |
La lunghezza dell’elemento non può superare 2 caratteri. |
BR-IT-DE-023 |
1.5 Terzo Intermediario |
Il Terzo Intermediario o Soggetto Emittente deve contenere la P.IVA, lo schema fiscale = 'VAT', la ragione sociale o una persona fisica (Nome e Cognome). |
BR-IT-DE-024 |
1.3.1.2 Codice Fiscale |
Il Codice Fiscale deve specificare l’attributo @schemeID valorizzato con "0210" ed avere la lunghezza del codice compresa fra 11 e 16 caratteri alfanumerici. |
BR-IT-DE-025 |
1.3.1.3.5 Codice EORI |
Il Codice EORI deve essere preceduto dal prefisso 'EORI:' ed avere la lunghezza del codice compresa fra 13 e 17 caratteri alfanumerici. |
BR-IT-DE-026 |
2.1.9.1.2 Codice Fiscale |
Il Codice Fiscale deve specificare l’attributo @schemeID valorizzato con "0210" ed avere la lunghezza del codice compresa fra 11 e 16 caratteri alfanumerici. |
BR-IT-DE-027 |
2.1.9.1.3.1 Denominazione |
Se la Denominazione del Vettore è valorizzata, la sua lunghezza non può superare 80 caratteri, alternativamente, se è invece valorizzato il Nome e il Cognome, la loro lunghezza non potrà superare 60 caratteri. |
BR-IT-DE-028 |
2.1.9.1.1 Partita IVA |
La lunghezza dell’elemento non può superare i 30 caratteri. |
BR-IT-DE-029 |
L’identificativo del TaxScheme deve essere valorizzato con 'VAT'. |
|
BR-IT-DE-030 |
2.1.9.1.4 Numero Licenza Guida |
Se il Numero Licenza Guida è valorizzata, la sua lunghezza non può superare 20 caratteri e il tipo documento (cbc:DocumentTypeCode) deve essere '40'. |
BR-IT-DE-031 |
2.1.9.7 Peso Lordo |
La lunghezza del Peso Lordo o Netto deve essere da 4 a 7 caratteri, incluse 1 o 2 cifre decimali. |
BR-IT-DE-032 |
2.1.9.4 Numero Colli |
Il Numero di Colli può essere da 1 a 9999. |
BR-IT-DE-033 |
2.1.9.5 Descrizione Merce |
La lunghezza dell’elemento non può superare i 100 caratteri. |
BR-IT-DE-034 |
2.1.9.2 Mezzo di Trasporto |
La lunghezza dell’elemento non può superare gli 80 caratteri. |
BR-IT-DE-035 |
2.1.9.3 Causale Trasporto |
La lunghezza dell’elemento non può superare i 100 caratteri. |
BR-IT-DE-036 |
2.1.9.11 Tipo Resa Merce |
La lunghezza dell’elemento deve essere di 3 caratteri. |
BR-IT-DE-037 |
2.4.2.17 Sconto Pagamento Anticipato |
La lunghezza dell’elemento deve essere di almeno 4 caratteri e non può superare i 15 caratteri incluso 2 cifre decimali. |
BR-IT-DE-038 |
2.4.2.19 Penalita Pagamenti Ritardati |
La lunghezza dell’elemento deve essere di almeno 4 caratteri e non può superare i 15 caratteri incluso 2 cifre decimali. |
BR-IT-DE-039 |
2.1.2.2 Numero Ordine |
La lunghezza dell’elemento non può superare i 20 caratteri. |
BR-IT-DE-040 |
Il riferimento ad una riga DDT dalla riga fattura non supportato da SDI, valorizzarlo sempre con 'NA'. |
|
BR-IT-DE-041 |
2.1.8.1 Numero DDT |
La lunghezza dell’elemento non può superare i 20 caratteri. |
BR-IT-DE-042 |
2.1.8.2 DataDDT |
La data del documento di trasporto deve essere obbligatoriamente valorizzata a livello di riga. |
BR-IT-DE-050 |
1.5.1.2 Codice Fiscale |
Se il Terzo Intermediario o Soggetto Emittente è italiano, deve essere fornito il suo Codice Fiscale (cac:PartyIdentification/cbc:ID) qualificato dall’attributo @schemeID con il valore "0210" e la lunghezza del codice deve essere compresa fra 11 e 16 caratteri alfanumerici. |
BR-IT-DE-051 |
1.5.1.3.1 Denominazione |
La denominazione del Terzo Intermediario (cbc:Name) non può superare gli 80 caratteri. |
BR-IT-DE-052 |
2.1.2.2 Id Documento |
Se il valore dell’elemento BT-40 (Seller country code) è uguale a "IT" e in una riga di fattura è presente il riferimento ad una riga d’ordine (BT-132 Referenced purchase order line reference), DEVE essere indicato il riferimento all’ordine in testata (BT-13 Purchase order reference) o in riga. |
(*) regola della Peppol Authority nazionale che integra le specifiche tecniche AdE
C.5. Estensioni Domestiche (fatturazione verso privati)
CIUS ID | Elemento in XML PA | Descrizione regola |
---|---|---|
BR-IT-DE-043 |
1.4.3 Stabile Organizzazione |
La Stabile Organizzazione deve fornire l’indirizzo completo di via e numero civico, comune, cap, provincia e nazione. |
BR-IT-DE-044 |
1.4.3.1 Indirizzo |
La lunghezza dell’elemento non può superare i 60 caratteri. |
BR-IT-DE-045 |
1.4.3.4 Comune |
La lunghezza dell’elemento non può superare i 60 caratteri. |
BR-IT-DE-046 |
1.4.3.3 CAP |
La lunghezza dell’elemento deve essere costituita da 5 cifre. |
BR-IT-DE-047 |
1.4.3.5 Provincia |
La lunghezza dell’elemento non può superare 2 caratteri. |
BR-IT-DE-048 |
1.4.4 Rappresentante Fiscale |
Il Rappresentante Fiscale del Cliente deve contenere la P.IVA, lo schema fiscale = 'VAT', la ragione sociale e se viene specificata una persona fisica, il nome e cognome. |
BR-IT-DE-049 |
1.4.4.2 Denominazione |
La denominazione del Rappresentante Fiscale (cbc:RegistrationName) non può superare gli 80 caratteri. |
Appendix D: Regole di sintassi
Le regole di sintassi EN 16931 si applicano alle transazioni delle fatture e note di credito secondo questa PEPPOL BIS.
Regola | Messaggio/Contesto/Test |
---|---|
UBL-CR-001 (warning) |
[UBL-CR-001]-A UBL invoice should not include extensions |
/ubl:Invoice | /cn:CreditNote |
|
not(ext:UBLExtensions) |
|
UBL-CR-002 (warning) |
[UBL-CR-002]-A UBL invoice should not include the UBLVersionID or it should be 2.1 |
/ubl:Invoice | /cn:CreditNote |
|
not(cbc:UBLVersionID) or cbc:UBLVersionID = '2.1' |
|
UBL-CR-003 (warning) |
[UBL-CR-003]-A UBL invoice should not include the ProfileExecutionID |
/ubl:Invoice | /cn:CreditNote |
|
not(cbc:ProfileExecutionID) |
|
UBL-CR-004 (warning) |
[UBL-CR-004]-A UBL invoice should not include the CopyIndicator |
/ubl:Invoice | /cn:CreditNote |
|
not(cbc:CopyIndicator) |
|
UBL-CR-005 (warning) |
[UBL-CR-005]-A UBL invoice should not include the UUID |
/ubl:Invoice | /cn:CreditNote |
|
not(cbc:UUID) |
|
UBL-CR-006 (warning) |
[UBL-CR-006]-A UBL invoice should not include the IssueTime |
/ubl:Invoice | /cn:CreditNote |
|
not(cbc:IssueTime) |
|
UBL-CR-007 (warning) |
[UBL-CR-007]-A UBL invoice should not include the PricingCurrencyCode |
/ubl:Invoice | /cn:CreditNote |
|
not(cbc:PricingCurrencyCode) |
|
UBL-CR-008 (warning) |
[UBL-CR-008]-A UBL invoice should not include the PaymentCurrencyCode |
/ubl:Invoice | /cn:CreditNote |
|
not(cbc:PaymentCurrencyCode) |
|
UBL-CR-009 (warning) |
[UBL-CR-009]-A UBL invoice should not include the PaymentAlternativeCurrencyCode |
/ubl:Invoice | /cn:CreditNote |
|
not(cbc:PaymentAlternativeCurrencyCode) |
|
UBL-CR-010 (warning) |
[UBL-CR-010]-A UBL invoice should not include the AccountingCostCode |
/ubl:Invoice | /cn:CreditNote |
|
not(cbc:AccountingCostCode) |
|
UBL-CR-011 (warning) |
[UBL-CR-011]-A UBL invoice should not include the LineCountNumeric |
/ubl:Invoice | /cn:CreditNote |
|
not(cbc:LineCountNumeric) |
|
UBL-CR-012 (warning) |
[UBL-CR-012]-A UBL invoice should not include the InvoicePeriod StartTime |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:InvoicePeriod/cbc:StartTime) |
|
UBL-CR-013 (warning) |
[UBL-CR-013]-A UBL invoice should not include the InvoicePeriod EndTime |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:InvoicePeriod/cbc:EndTime) |
|
UBL-CR-014 (warning) |
[UBL-CR-014]-A UBL invoice should not include the InvoicePeriod DurationMeasure |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:InvoicePeriod/cbc:DurationMeasure) |
|
UBL-CR-015 (warning) |
[UBL-CR-015]-A UBL invoice should not include the InvoicePeriod Description |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:InvoicePeriod/cbc:Description) |
|
UBL-CR-016 (warning) |
[UBL-CR-016]-A UBL invoice should not include the OrderReference CopyIndicator |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:OrderReference/cbc:CopyIndicator) |
|
UBL-CR-017 (warning) |
[UBL-CR-017]-A UBL invoice should not include the OrderReference UUID |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:OrderReference/cbc:UUID) |
|
UBL-CR-018 (warning) |
[UBL-CR-018]-A UBL invoice should not include the OrderReference IssueDate |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:OrderReference/cbc:IssueDate) |
|
UBL-CR-019 (warning) |
[UBL-CR-019]-A UBL invoice should not include the OrderReference IssueTime |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:OrderReference/cbc:IssueTime) |
|
UBL-CR-020 (warning) |
[UBL-CR-020]-A UBL invoice should not include the OrderReference CustomerReference |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:OrderReference/cbc:CustomerReference) |
|
UBL-CR-021 (warning) |
[UBL-CR-021]-A UBL invoice should not include the OrderReference OrderTypeCode |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:OrderReference/cbc:OrderTypeCode) |
|
UBL-CR-022 (warning) |
[UBL-CR-022]-A UBL invoice should not include the OrderReference DocumentReference |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:OrderReference/cac:DocumentReference) |
|
UBL-CR-023 (warning) |
[UBL-CR-023]-A UBL invoice should not include the BillingReference CopyIndicator |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:BillingReference/cac:InvoiceDocumentReference/cbc:CopyIndicator) |
|
UBL-CR-024 (warning) |
[UBL-CR-024]-A UBL invoice should not include the BillingReference UUID |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:BillingReference/cac:InvoiceDocumentReference/cbc:UUID) |
|
UBL-CR-025 (warning) |
[UBL-CR-025]-A UBL invoice should not include the BillingReference IssueTime |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:BillingReference/cac:InvoiceDocumentReference/cbc:IssueTime) |
|
UBL-CR-026 (warning) |
[UBL-CR-026]-A UBL invoice should not include the BillingReference DocumentTypeCode |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:BillingReference/cac:InvoiceDocumentReference/cbc:DocumentTypeCode) |
|
UBL-CR-027 (warning) |
[UBL-CR-027]-A UBL invoice should not include the BillingReference DocumentType |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:BillingReference/cac:InvoiceDocumentReference/cbc:DocumentType) |
|
UBL-CR-028 (warning) |
[UBL-CR-028]-A UBL invoice should not include the BillingReference Xpath |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:BillingReference/cac:InvoiceDocumentReference/cbc:XPath) |
|
UBL-CR-029 (warning) |
[UBL-CR-029]-A UBL invoice should not include the BillingReference LanguageID |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:BillingReference/cac:InvoiceDocumentReference/cbc:LanguageID) |
|
UBL-CR-030 (warning) |
[UBL-CR-030]-A UBL invoice should not include the BillingReference LocaleCode |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:BillingReference/cac:InvoiceDocumentReference/cbc:LocaleCode) |
|
UBL-CR-031 (warning) |
[UBL-CR-031]-A UBL invoice should not include the BillingReference VersionID |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:BillingReference/cac:InvoiceDocumentReference/cbc:VersionID) |
|
UBL-CR-032 (warning) |
[UBL-CR-032]-A UBL invoice should not include the BillingReference DocumentStatusCode |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:BillingReference/cac:InvoiceDocumentReference/cbc:DocumentStatusCode) |
|
UBL-CR-033 (warning) |
[UBL-CR-033]-A UBL invoice should not include the BillingReference DocumenDescription |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:BillingReference/cac:InvoiceDocumentReference/cbc:DocumentDescription) |
|
UBL-CR-034 (warning) |
[UBL-CR-034]-A UBL invoice should not include the BillingReference Attachment |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:BillingReference/cac:InvoiceDocumentReference/cac:Attachment) |
|
UBL-CR-035 (warning) |
[UBL-CR-035]-A UBL invoice should not include the BillingReference ValidityPeriod |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:BillingReference/cac:InvoiceDocumentReference/cac:ValidityPeriod) |
|
UBL-CR-036 (warning) |
[UBL-CR-036]-A UBL invoice should not include the BillingReference IssuerParty |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:BillingReference/cac:InvoiceDocumentReference/cac:IssuerParty) |
|
UBL-CR-037 (warning) |
[UBL-CR-037]-A UBL invoice should not include the BillingReference ResultOfVerification |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:BillingReference/cac:InvoiceDocumentReference/cac:ResultOfVerification) |
|
UBL-CR-038 (warning) |
[UBL-CR-038]-A UBL invoice should not include the BillingReference SelfBilledInvoiceDocumentReference |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:BillingReference/cac:SelfBilledInvoiceDocumentReference) |
|
UBL-CR-039 (warning) |
[UBL-CR-039]-A UBL invoice should not include the BillingReference CreditNoteDocumentReference |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:BillingReference/cac:CreditNoteDocumentReference) |
|
UBL-CR-040 (warning) |
[UBL-CR-040]-A UBL invoice should not include the BillingReference SelfBilledCreditNoteDocumentReference |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:BillingReference/cac:SelfBilledCreditNoteDocumentReference) |
|
UBL-CR-041 (warning) |
[UBL-CR-041]-A UBL invoice should not include the BillingReference DebitNoteDocumentReference |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:BillingReference/cac:DebitNoteDocumentReference) |
|
UBL-CR-042 (warning) |
[UBL-CR-042]-A UBL invoice should not include the BillingReference ReminderDocumentReference |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:BillingReference/cac:ReminderDocumentReference) |
|
UBL-CR-043 (warning) |
[UBL-CR-043]-A UBL invoice should not include the BillingReference AdditionalDocumentReference |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:BillingReference/cac:AdditionalDocumentReference) |
|
UBL-CR-044 (warning) |
[UBL-CR-044]-A UBL invoice should not include the BillingReference BillingReferenceLine |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:BillingReference/cac:BillingReferenceLine) |
|
UBL-CR-045 (warning) |
[UBL-CR-045]-A UBL invoice should not include the DespatchDocumentReference CopyIndicator |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:DespatchDocumentReference/cbc:CopyIndicator) |
|
UBL-CR-046 (warning) |
[UBL-CR-046]-A UBL invoice should not include the DespatchDocumentReference UUID |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:DespatchDocumentReference/cbc:UUID) |
|
UBL-CR-047 (warning) |
[UBL-CR-047]-A UBL invoice should not include the DespatchDocumentReference IssueDate |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:DespatchDocumentReference/cbc:IssueDate) |
|
UBL-CR-048 (warning) |
[UBL-CR-048]-A UBL invoice should not include the DespatchDocumentReference IssueTime |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:DespatchDocumentReference/cbc:IssueTime) |
|
UBL-CR-049 (warning) |
[UBL-CR-049]-A UBL invoice should not include the DespatchDocumentReference DocumentTypeCode |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:DespatchDocumentReference/cbc:DocumentTypeCode) |
|
UBL-CR-050 (warning) |
[UBL-CR-050]-A UBL invoice should not include the DespatchDocumentReference DocumentType |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:DespatchDocumentReference/cbc:DocumentType) |
|
UBL-CR-051 (warning) |
[UBL-CR-051]-A UBL invoice should not include the DespatchDocumentReference Xpath |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:DespatchDocumentReference/cbc:XPath) |
|
UBL-CR-052 (warning) |
[UBL-CR-052]-A UBL invoice should not include the DespatchDocumentReference LanguageID |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:DespatchDocumentReference/cbc:LanguageID) |
|
UBL-CR-053 (warning) |
[UBL-CR-053]-A UBL invoice should not include the DespatchDocumentReference LocaleCode |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:DespatchDocumentReference/cbc:LocaleCode) |
|
UBL-CR-054 (warning) |
[UBL-CR-054]-A UBL invoice should not include the DespatchDocumentReference VersionID |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:DespatchDocumentReference/cbc:VersionID) |
|
UBL-CR-055 (warning) |
[UBL-CR-055]-A UBL invoice should not include the DespatchDocumentReference DocumentStatusCode |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:DespatchDocumentReference/cbc:DocumentStatusCode) |
|
UBL-CR-056 (warning) |
[UBL-CR-056]-A UBL invoice should not include the DespatchDocumentReference DocumentDescription |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:DespatchDocumentReference/cbc:DocumentDescription) |
|
UBL-CR-057 (warning) |
[UBL-CR-057]-A UBL invoice should not include the DespatchDocumentReference Attachment |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:DespatchDocumentReference/cac:Attachment) |
|
UBL-CR-058 (warning) |
[UBL-CR-058]-A UBL invoice should not include the DespatchDocumentReference ValidityPeriod |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:DespatchDocumentReference/cac:ValidityPeriod) |
|
UBL-CR-059 (warning) |
[UBL-CR-059]-A UBL invoice should not include the DespatchDocumentReference IssuerParty |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:DespatchDocumentReference/cac:IssuerParty) |
|
UBL-CR-060 (warning) |
[UBL-CR-060]-A UBL invoice should not include the DespatchDocumentReference ResultOfVerification |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:DespatchDocumentReference/cac:ResultOfVerification) |
|
UBL-CR-061 (warning) |
[UBL-CR-061]-A UBL invoice should not include the ReceiptDocumentReference CopyIndicator |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ReceiptDocumentReference/cbc:CopyIndicator) |
|
UBL-CR-062 (warning) |
[UBL-CR-062]-A UBL invoice should not include the ReceiptDocumentReference UUID |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ReceiptDocumentReference/cbc:UUID) |
|
UBL-CR-063 (warning) |
[UBL-CR-063]-A UBL invoice should not include the ReceiptDocumentReference IssueDate |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ReceiptDocumentReference/cbc:IssueDate) |
|
UBL-CR-064 (warning) |
[UBL-CR-064]-A UBL invoice should not include the ReceiptDocumentReference IssueTime |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ReceiptDocumentReference/cbc:IssueTime) |
|
UBL-CR-065 (warning) |
[UBL-CR-065]-A UBL invoice should not include the ReceiptDocumentReference DocumentTypeCode |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ReceiptDocumentReference/cbc:DocumentTypeCode) |
|
UBL-CR-066 (warning) |
[UBL-CR-066]-A UBL invoice should not include the ReceiptDocumentReference DocumentType |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ReceiptDocumentReference/cbc:DocumentType) |
|
UBL-CR-067 (warning) |
[UBL-CR-067]-A UBL invoice should not include the ReceiptDocumentReference Xpath |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ReceiptDocumentReference/cbc:XPath) |
|
UBL-CR-068 (warning) |
[UBL-CR-068]-A UBL invoice should not include the ReceiptDocumentReference LanguageID |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ReceiptDocumentReference/cbc:LanguageID) |
|
UBL-CR-069 (warning) |
[UBL-CR-069]-A UBL invoice should not include the ReceiptDocumentReference LocaleCode |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ReceiptDocumentReference/cbc:LocaleCode) |
|
UBL-CR-070 (warning) |
[UBL-CR-070]-A UBL invoice should not include the ReceiptDocumentReference VersionID |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ReceiptDocumentReference/cbc:VersionID) |
|
UBL-CR-071 (warning) |
[UBL-CR-071]-A UBL invoice should not include the ReceiptDocumentReference DocumentStatusCode |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ReceiptDocumentReference/cbc:DocumentStatusCode) |
|
UBL-CR-072 (warning) |
[UBL-CR-072]-A UBL invoice should not include the ReceiptDocumentReference DocumentDescription |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ReceiptDocumentReference/cbc:DocumentDescription) |
|
UBL-CR-073 (warning) |
[UBL-CR-073]-A UBL invoice should not include the ReceiptDocumentReference Attachment |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ReceiptDocumentReference/cac:Attachment) |
|
UBL-CR-074 (warning) |
[UBL-CR-074]-A UBL invoice should not include the ReceiptDocumentReference ValidityPeriod |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ReceiptDocumentReference/cac:ValidityPeriod) |
|
UBL-CR-075 (warning) |
[UBL-CR-075]-A UBL invoice should not include the ReceiptDocumentReference IssuerParty |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ReceiptDocumentReference/cac:IssuerParty) |
|
UBL-CR-076 (warning) |
[UBL-CR-076]-A UBL invoice should not include the ReceiptDocumentReference ResultOfVerification |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ReceiptDocumentReference/cac:ResultOfVerification) |
|
UBL-CR-077 (warning) |
[UBL-CR-077]-A UBL invoice should not include the StatementDocumentReference |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:StatementDocumentReference) |
|
UBL-CR-078 (warning) |
[UBL-CR-078]-A UBL invoice should not include the OriginatorDocumentReference CopyIndicator |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:OriginatorDocumentReference/cbc:CopyIndicator) |
|
UBL-CR-079 (warning) |
[UBL-CR-079]-A UBL invoice should not include the OriginatorDocumentReference UUID |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:OriginatorDocumentReference/cbc:UUID) |
|
UBL-CR-080 (warning) |
[UBL-CR-080]-A UBL invoice should not include the OriginatorDocumentReference IssueDate |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:OriginatorDocumentReference/cbc:IssueDate) |
|
UBL-CR-081 (warning) |
[UBL-CR-081]-A UBL invoice should not include the OriginatorDocumentReference IssueTime |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:OriginatorDocumentReference/cbc:IssueTime) |
|
UBL-CR-082 (warning) |
[UBL-CR-082]-A UBL invoice should not include the OriginatorDocumentReference DocumentTypeCode |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:OriginatorDocumentReference/cbc:DocumentTypeCode) |
|
UBL-CR-083 (warning) |
[UBL-CR-083]-A UBL invoice should not include the OriginatorDocumentReference DocumentType |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:OriginatorDocumentReference/cbc:DocumentType) |
|
UBL-CR-084 (warning) |
[UBL-CR-084]-A UBL invoice should not include the OriginatorDocumentReference Xpath |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:OriginatorDocumentReference/cbc:XPath) |
|
UBL-CR-085 (warning) |
[UBL-CR-085]-A UBL invoice should not include the OriginatorDocumentReference LanguageID |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:OriginatorDocumentReference/cbc:LanguageID) |
|
UBL-CR-086 (warning) |
[UBL-CR-086]-A UBL invoice should not include the OriginatorDocumentReference LocaleCode |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:OriginatorDocumentReference/cbc:LocaleCode) |
|
UBL-CR-087 (warning) |
[UBL-CR-087]-A UBL invoice should not include the OriginatorDocumentReference VersionID |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:OriginatorDocumentReference/cbc:VersionID) |
|
UBL-CR-088 (warning) |
[UBL-CR-088]-A UBL invoice should not include the OriginatorDocumentReference DocumentStatusCode |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:OriginatorDocumentReference/cbc:DocumentStatusCode) |
|
UBL-CR-089 (warning) |
[UBL-CR-089]-A UBL invoice should not include the OriginatorDocumentReference DocumentDescription |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:OriginatorDocumentReference/cbc:DocumentDescription) |
|
UBL-CR-090 (warning) |
[UBL-CR-090]-A UBL invoice should not include the OriginatorDocumentReference Attachment |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:OriginatorDocumentReference/cac:Attachment) |
|
UBL-CR-091 (warning) |
[UBL-CR-091]-A UBL invoice should not include the OriginatorDocumentReference ValidityPeriod |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:OriginatorDocumentReference/cac:ValidityPeriod) |
|
UBL-CR-092 (warning) |
[UBL-CR-092]-A UBL invoice should not include the OriginatorDocumentReference IssuerParty |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:OriginatorDocumentReference/cac:IssuerParty) |
|
UBL-CR-093 (warning) |
[UBL-CR-093]-A UBL invoice should not include the OriginatorDocumentReference ResultOfVerification |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:OriginatorDocumentReference/cac:ResultOfVerification) |
|
UBL-CR-094 (warning) |
[UBL-CR-094]-A UBL invoice should not include the ContractDocumentReference CopyIndicator |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ContractDocumentReference/cbc:CopyIndicator) |
|
UBL-CR-095 (warning) |
[UBL-CR-095]-A UBL invoice should not include the ContractDocumentReference UUID |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ContractDocumentReference/cbc:UUID) |
|
UBL-CR-096 (warning) |
[UBL-CR-096]-A UBL invoice should not include the ContractDocumentReference IssueDate |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ContractDocumentReference/cbc:IssueDate) |
|
UBL-CR-097 (warning) |
[UBL-CR-097]-A UBL invoice should not include the ContractDocumentReference IssueTime |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ContractDocumentReference/cbc:IssueTime) |
|
UBL-CR-098 (warning) |
[UBL-CR-098]-A UBL invoice should not include the ContractDocumentReference DocumentTypeCode |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ContractDocumentReference/cbc:DocumentTypeCode) |
|
UBL-CR-099 (warning) |
[UBL-CR-099]-A UBL invoice should not include the ContractDocumentReference DocumentType |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ContractDocumentReference/cbc:DocumentType) |
|
UBL-CR-100 (warning) |
[UBL-CR-100]-A UBL invoice should not include the ContractDocumentReference Xpath |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ContractDocumentReference/cbc:XPath) |
|
UBL-CR-101 (warning) |
[UBL-CR-101]-A UBL invoice should not include the ContractDocumentReference LanguageID |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ContractDocumentReference/cbc:LanguageID) |
|
UBL-CR-102 (warning) |
[UBL-CR-102]-A UBL invoice should not include the ContractDocumentReference LocaleCode |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ContractDocumentReference/cbc:LocaleCode) |
|
UBL-CR-103 (warning) |
[UBL-CR-103]-A UBL invoice should not include the ContractDocumentReference VersionID |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ContractDocumentReference/cbc:VersionID) |
|
UBL-CR-104 (warning) |
[UBL-CR-104]-A UBL invoice should not include the ContractDocumentReference DocumentStatusCode |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ContractDocumentReference/cbc:DocumentStatusCode) |
|
UBL-CR-105 (warning) |
[UBL-CR-105]-A UBL invoice should not include the ContractDocumentReference DocumentDescription |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ContractDocumentReference/cbc:DocumentDescription) |
|
UBL-CR-106 (warning) |
[UBL-CR-106]-A UBL invoice should not include the ContractDocumentReference Attachment |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ContractDocumentReference/cac:Attachment) |
|
UBL-CR-107 (warning) |
[UBL-CR-107]-A UBL invoice should not include the ContractDocumentReference ValidityPeriod |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ContractDocumentReference/cac:ValidityPeriod) |
|
UBL-CR-108 (warning) |
[UBL-CR-108]-A UBL invoice should not include the ContractDocumentReference IssuerParty |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ContractDocumentReference/cac:IssuerParty) |
|
UBL-CR-109 (warning) |
[UBL-CR-109]-A UBL invoice should not include the ContractDocumentReference ResultOfVerification |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ContractDocumentReference/cac:ResultOfVerification) |
|
UBL-CR-110 (warning) |
[UBL-CR-110]-A UBL invoice should not include the AdditionalDocumentReference CopyIndicator |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:AdditionalDocumentReference/cbc:CopyIndicator) |
|
UBL-CR-111 (warning) |
[UBL-CR-111]-A UBL invoice should not include the AdditionalDocumentReference UUID |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:AdditionalDocumentReference/cbc:UUID) |
|
UBL-CR-112 (warning) |
[UBL-CR-112]-A UBL invoice should not include the AdditionalDocumentReference IssueDate |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:AdditionalDocumentReference/cbc:IssueDate) |
|
UBL-CR-113 (warning) |
[UBL-CR-113]-A UBL invoice should not include the AdditionalDocumentReference IssueTime |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:AdditionalDocumentReference/cbc:IssueTime) |
|
UBL-CR-114 (warning) |
[UBL-CR-114]-A UBL invoice should not include the AdditionalDocumentReference DocumentType |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:AdditionalDocumentReference/cbc:DocumentType) |
|
UBL-CR-115 (warning) |
[UBL-CR-115]-A UBL invoice should not include the AdditionalDocumentReference Xpath |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:AdditionalDocumentReference/cbc:XPath) |
|
UBL-CR-116 (warning) |
[UBL-CR-116]-A UBL invoice should not include the AdditionalDocumentReference LanguageID |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:AdditionalDocumentReference/cbc:LanguageID) |
|
UBL-CR-117 (warning) |
[UBL-CR-117]-A UBL invoice should not include the AdditionalDocumentReference LocaleCode |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:AdditionalDocumentReference/cbc:LocaleCode) |
|
UBL-CR-118 (warning) |
[UBL-CR-118]-A UBL invoice should not include the AdditionalDocumentReference VersionID |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:AdditionalDocumentReference/cbc:VersionID) |
|
UBL-CR-119 (warning) |
[UBL-CR-119]-A UBL invoice should not include the AdditionalDocumentReference DocumentStatusCode |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:AdditionalDocumentReference/cbc:DocumentStatusCode) |
|
UBL-CR-121 (warning) |
[UBL-CR-121]-A UBL invoice should not include the AdditionalDocumentReference Attachment External DocumentHash |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:AdditionalDocumentReference/cac:Attachment/cac:ExternalReference/cbc:DocumentHash) |
|
UBL-CR-122 (warning) |
[UBL-CR-122]-A UBL invoice should not include the AdditionalDocumentReference Attachment External HashAlgorithmMethod |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:AdditionalDocumentReference/cac:Attachment/cac:ExternalReference/cbc:HashAlgorithmMethod) |
|
UBL-CR-123 (warning) |
[UBL-CR-123]-A UBL invoice should not include the AdditionalDocumentReference Attachment External ExpiryDate |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:AdditionalDocumentReference/cac:Attachment/cac:ExternalReference/cbc:ExpiryDate) |
|
UBL-CR-124 (warning) |
[UBL-CR-124]-A UBL invoice should not include the AdditionalDocumentReference Attachment External ExpiryTime |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:AdditionalDocumentReference/cac:Attachment/cac:ExternalReference/cbc:ExpiryTime) |
|
UBL-CR-125 (warning) |
[UBL-CR-125]-A UBL invoice should not include the AdditionalDocumentReference Attachment External MimeCode |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:AdditionalDocumentReference/cac:Attachment/cac:ExternalReference/cbc:MimeCode) |
|
UBL-CR-126 (warning) |
[UBL-CR-126]-A UBL invoice should not include the AdditionalDocumentReference Attachment External FormatCode |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:AdditionalDocumentReference/cac:Attachment/cac:ExternalReference/cbc:FormatCode) |
|
UBL-CR-127 (warning) |
[UBL-CR-127]-A UBL invoice should not include the AdditionalDocumentReference Attachment External EncodingCode |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:AdditionalDocumentReference/cac:Attachment/cac:ExternalReference/cbc:EncodingCode) |
|
UBL-CR-128 (warning) |
[UBL-CR-128]-A UBL invoice should not include the AdditionalDocumentReference Attachment External CharacterSetCode |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:AdditionalDocumentReference/cac:Attachment/cac:ExternalReference/cbc:CharacterSetCode) |
|
UBL-CR-129 (warning) |
[UBL-CR-129]-A UBL invoice should not include the AdditionalDocumentReference Attachment External FileName |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:AdditionalDocumentReference/cac:Attachment/cac:ExternalReference/cbc:FileName) |
|
UBL-CR-130 (warning) |
[UBL-CR-130]-A UBL invoice should not include the AdditionalDocumentReference Attachment External Descriprion |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:AdditionalDocumentReference/cac:Attachment/cac:ExternalReference/cbc:Description) |
|
UBL-CR-131 (warning) |
[UBL-CR-131]-A UBL invoice should not include the AdditionalDocumentReference ValidityPeriod |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:AdditionalDocumentReference/cac:ValidityPeriod) |
|
UBL-CR-132 (warning) |
[UBL-CR-132]-A UBL invoice should not include the AdditionalDocumentReference IssuerParty |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:AdditionalDocumentReference/cac:IssuerParty) |
|
UBL-CR-133 (warning) |
[UBL-CR-133]-A UBL invoice should not include the AdditionalDocumentReference ResultOfVerification |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:AdditionalDocumentReference/cac:ResultOfVerification) |
|
UBL-CR-134 (warning) |
[UBL-CR-134]-A UBL invoice should not include the ProjectReference UUID |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ProjectReference/cbc:UUID) |
|
UBL-CR-135 (warning) |
[UBL-CR-135]-A UBL invoice should not include the ProjectReference IssueDate |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ProjectReference/cbc:IssueDate) |
|
UBL-CR-136 (warning) |
[UBL-CR-136]-A UBL invoice should not include the ProjectReference WorkPhaseReference |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:ProjectReference/cac:WorkPhaseReference) |
|
UBL-CR-137 (warning) |
[UBL-CR-137]-A UBL invoice should not include the Signature |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:Signature) |
|
UBL-CR-138 (warning) |
[UBL-CR-138]-A UBL invoice should not include the AccountingSupplierParty CustomerAssignedAccountID |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:AccountingSupplierParty/cbc:CustomerAssignedAccountID) |
|
UBL-CR-139 (warning) |
[UBL-CR-139]-A UBL invoice should not include the AccountingSupplierParty AdditionalAccountID |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:AccountingSupplierParty/cbc:AdditionalAccountID) |
|
UBL-CR-140 (warning) |
[UBL-CR-140]-A UBL invoice should not include the AccountingSupplierParty DataSendingCapability |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:AccountingSupplierParty/cbc:DataSendingCapability) |
|
UBL-CR-141 (warning) |
[UBL-CR-141]-A UBL invoice should not include the AccountingSupplierParty Party MarkCareIndicator |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:AccountingSupplierParty/cac:Party/cbc:MarkCareIndicator) |
|
UBL-CR-142 (warning) |
[UBL-CR-142]-A UBL invoice should not include the AccountingSupplierParty Party MarkAttentionIndicator |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:AccountingSupplierParty/cac:Party/cbc:MarkAttentionIndicator) |
|
UBL-CR-143 (warning) |
[UBL-CR-143]-A UBL invoice should not include the AccountingSupplierParty Party WebsiteURI |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:AccountingSupplierParty/cac:Party/cbc:WebsiteURI) |
|
UBL-CR-144 (warning) |
[UBL-CR-144]-A UBL invoice should not include the AccountingSupplierParty Party LogoReferenceID |
/ubl:Invoice | /cn:CreditNote |
|
not(cac:AccountingSupplierParty/cac:Party/cbc:LogoReferenceID) |
|
UBL-CR-145 (warning) |
[UBL-CR-145]-A UBL invoice should not include the AccountingSupplierParty Party Indust |