mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
Merge pull request #9533 from turbo124/v5-develop
Updates for einvoicing schemas/models
This commit is contained in:
commit
8ca4d7c197
@ -1,31 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc;
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\FatturaElettronicaHeader;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\FatturaElettronicaBody;
|
|
||||||
|
|
||||||
|
|
||||||
// minimum required fields
|
|
||||||
// public string $RegimeFiscale = 'RF01',
|
|
||||||
// public string $TipoDocumento = 'TD01',
|
|
||||||
// public string $ModalitaPagamento = 'MP01',
|
|
||||||
// public string $CondizioniPagamento = 'TP02',
|
|
||||||
|
|
||||||
class FatturaPA extends Data
|
|
||||||
{
|
|
||||||
public FatturaElettronicaHeader $FatturaElettronicaHeader;
|
|
||||||
public FatturaElettronicaBody $FatturaElettronicaBody;
|
|
||||||
|
|
||||||
}
|
|
@ -1,40 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA;
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
use Spatie\LaravelData\Optional;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\DatiVeicoli;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\Body\DatiGenerali;
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Max;
|
|
||||||
|
|
||||||
class Allegati extends Data
|
|
||||||
{
|
|
||||||
//string 60
|
|
||||||
#[Max(60)]
|
|
||||||
public string $NomeAttachment;
|
|
||||||
|
|
||||||
//base64 binary
|
|
||||||
public mixed $Attachment;
|
|
||||||
|
|
||||||
//string 10
|
|
||||||
#[Max(10)]
|
|
||||||
public string|Optional $AlgoritmoCompressione;
|
|
||||||
|
|
||||||
//string 10
|
|
||||||
#[Max(10)]
|
|
||||||
public string|Optional $FormatoAttachment;
|
|
||||||
|
|
||||||
//string 100
|
|
||||||
#[Max(100)]
|
|
||||||
public string|Optional $DescrizioneAttachment;
|
|
||||||
}
|
|
@ -1,42 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA;
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
use Illuminate\Support\Carbon;
|
|
||||||
use Spatie\LaravelData\Optional;
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Max;
|
|
||||||
use Spatie\LaravelData\Attributes\WithTransformer;
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Regex;
|
|
||||||
use Spatie\LaravelData\Transformers\DateTimeInterfaceTransformer;
|
|
||||||
|
|
||||||
class AltriDatiGestionali extends Data
|
|
||||||
{
|
|
||||||
//string 10
|
|
||||||
#[Max(10)]
|
|
||||||
public string $TipoDato;
|
|
||||||
|
|
||||||
//String60LatinType
|
|
||||||
#[Max(60)]
|
|
||||||
public string|Optional $RiferimentoTesto;
|
|
||||||
|
|
||||||
//Amount8DecimalType
|
|
||||||
#[Regex('/^[\-]?[0-9]{1,11}\.[0-9]{2,8}$/')]
|
|
||||||
public float|Optional $RiferimentoNumero;
|
|
||||||
|
|
||||||
//date
|
|
||||||
#[WithTransformer(DateTimeInterfaceTransformer::class, format: 'Y-m-d')]
|
|
||||||
public Carbon|Optional $RiferimentoData;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA;
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Max;
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
|
|
||||||
class Anagrafica extends Data
|
|
||||||
{
|
|
||||||
//choice
|
|
||||||
|
|
||||||
//either Deminominazione OR
|
|
||||||
//string length 80
|
|
||||||
#[Max(80)]
|
|
||||||
public string $Denominazione = '';
|
|
||||||
|
|
||||||
////////////////////////////////////////////
|
|
||||||
//2. Nome AND CogNome
|
|
||||||
//string length 60
|
|
||||||
#[Max(60)]
|
|
||||||
public string $Nome = '';
|
|
||||||
|
|
||||||
//string length 60
|
|
||||||
#[Max(60)]
|
|
||||||
public string $CogNome = '';
|
|
||||||
}
|
|
@ -1,30 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA\Body;
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
use Spatie\LaravelData\Optional;
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Size;
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Regex;
|
|
||||||
|
|
||||||
class DatiBollo extends Data
|
|
||||||
{
|
|
||||||
|
|
||||||
//SI
|
|
||||||
#[Size(2)]
|
|
||||||
public string $BolloVirtuale = 'SI';
|
|
||||||
|
|
||||||
//Amount2DecimalType
|
|
||||||
#[Regex('/^[\-]?[0-9]{1,11}\.[0-9]{2}$/')]
|
|
||||||
public float|Optional $ImportoBollo;
|
|
||||||
|
|
||||||
}
|
|
@ -1,53 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA\Body;
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
use Spatie\LaravelData\Optional;
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Max;
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Size;
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Regex;
|
|
||||||
|
|
||||||
class DatiCassaPrevidenziale extends Data
|
|
||||||
{
|
|
||||||
//string 4char options
|
|
||||||
#[Size(4)]
|
|
||||||
public string $TipoCassa;
|
|
||||||
|
|
||||||
//rate type 0-100
|
|
||||||
#[Regex('/^[0-9]{1,3}\.[0-9]{2}$/')]
|
|
||||||
public float $AlCassa = 0;
|
|
||||||
|
|
||||||
//Amount2DecimalType
|
|
||||||
#[Regex('/^[\-]?[0-9]{1,11}\.[0-9]{2}$/')]
|
|
||||||
public float $ImportoContributoCassa;
|
|
||||||
|
|
||||||
//rate type 0-100
|
|
||||||
#[Regex('/^[0-9]{1,3}\.[0-9]{2}$/')]
|
|
||||||
public float $AliquotaIVA;
|
|
||||||
|
|
||||||
//Amount2DecimalType
|
|
||||||
#[Regex('/^[\-]?[0-9]{1,11}\.[0-9]{2}$/')]
|
|
||||||
public float|Optional $ImponibileCassa;
|
|
||||||
|
|
||||||
//string string options
|
|
||||||
#[Size(4)]
|
|
||||||
public string|Optional $Ritenuta;
|
|
||||||
|
|
||||||
//string 2char options
|
|
||||||
public string|Optional $Natura;
|
|
||||||
|
|
||||||
//String20Type
|
|
||||||
#[Max(20)]
|
|
||||||
public string|Optional $RiferimentoAmministrazione;
|
|
||||||
|
|
||||||
}
|
|
@ -1,38 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA\Body;
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
use Spatie\LaravelData\Optional;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\DatiTrasporto;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\Generics\DatiDDT;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\Generics\DatiSAL;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\FatturaPrincipale;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\Generics\DatiDocumentiCorrelatiType;
|
|
||||||
|
|
||||||
class DatiGenerali extends Data
|
|
||||||
{
|
|
||||||
|
|
||||||
public DatiGeneraliDocumento $DatiGeneraliDocumento;
|
|
||||||
public DatiDocumentiCorrelatiType|Optional $DatiOrdineAcquisto;
|
|
||||||
public DatiDocumentiCorrelatiType|Optional $DatiContratto;
|
|
||||||
public DatiDocumentiCorrelatiType|Optional $DatiConvenzione;
|
|
||||||
public DatiDocumentiCorrelatiType|Optional $DatiRicezione;
|
|
||||||
public DatiDocumentiCorrelatiType|Optional $DatiFattureCollegate;
|
|
||||||
public DatiSAL|Optional $DatiSAL;
|
|
||||||
public DatiDDT|Optional $DatiDDT;
|
|
||||||
public DatiTrasporto|Optional $DatiTrasporto;
|
|
||||||
public FatturaPrincipale|Optional $FatturaPrincipale;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,64 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA\Body;
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
use Spatie\LaravelData\Optional;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\Body\DatiBollo;
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Max;
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Size;
|
|
||||||
use Spatie\LaravelData\Attributes\WithTransformer;
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Regex;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\Body\DatiRitenuta;
|
|
||||||
use Spatie\LaravelData\Transformers\DateTimeInterfaceTransformer;
|
|
||||||
|
|
||||||
class DatiGeneraliDocumento extends Data
|
|
||||||
{
|
|
||||||
|
|
||||||
//string regex [A-Z]{3}
|
|
||||||
public string $Divisa;
|
|
||||||
|
|
||||||
#[WithTransformer(DateTimeInterfaceTransformer::class, format: 'Y-m-d\TH:i:s.uP')]
|
|
||||||
public \Illuminate\Support\Carbon $Data;
|
|
||||||
|
|
||||||
//string max 20 char
|
|
||||||
#[Max(20)]
|
|
||||||
public string $Numero;
|
|
||||||
|
|
||||||
public DatiRitenuta|Optional $DatiRitenuta;
|
|
||||||
public DatiBollo|Optional $DatiBollo;
|
|
||||||
public DatiCassaPrevidenziale|Optional $DatiCassaPrevidenziale;
|
|
||||||
public ScontoMaggiorazione|Optional $ScontoMaggiorazione;
|
|
||||||
|
|
||||||
//float 2 decimal type
|
|
||||||
#[Regex('/^[\-]?[0-9]{1,11}\.[0-9]{2}$/')]
|
|
||||||
public float|Optional $ImportoTotaleDocumento;
|
|
||||||
|
|
||||||
//float 2 decimal type
|
|
||||||
|
|
||||||
#[Regex('/^[\-]?[0-9]{1,11}\.[0-9]{2}$/')]
|
|
||||||
public float|Optional $Arrotondamento;
|
|
||||||
|
|
||||||
//string 200char
|
|
||||||
/** @var string[] */
|
|
||||||
public array|Optional $Causale;
|
|
||||||
|
|
||||||
//SI = Documento emesso secondo modalità e termini stabiliti con DM ai sensi dell'art. 73 DPR 633/72
|
|
||||||
//optional 2 char - only value possible = SI
|
|
||||||
#[Size(2)]
|
|
||||||
public string|Optional $Art73;
|
|
||||||
|
|
||||||
//length 4 - optional
|
|
||||||
#[Size(4)]
|
|
||||||
public string $TipoDocumento = 'TD01';
|
|
||||||
|
|
||||||
}
|
|
@ -1,70 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA\Body;
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Max;
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Size;
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Regex;
|
|
||||||
|
|
||||||
class DatiRitenuta extends Data
|
|
||||||
{
|
|
||||||
//string 4 char options
|
|
||||||
#[Size(4)]
|
|
||||||
public string $TipoRitenuta;
|
|
||||||
|
|
||||||
//float 2 decimal
|
|
||||||
#[Regex('/^[\-]?[0-9]{1,11}\.[0-9]{2}$/')]
|
|
||||||
public float $ImportoRitenuta;
|
|
||||||
|
|
||||||
// <xs:restriction base="xs:decimal">
|
|
||||||
// <xs:maxInclusive value="100.00" />
|
|
||||||
// <xs:pattern value="/^[0-9]{1,3}\.[0-9]{2}$/" />
|
|
||||||
#[Regex('/^[\-]?[0-9]{1,11}\.[0-9]{2}$/')]
|
|
||||||
public float $AliquotaRitenuta;
|
|
||||||
|
|
||||||
/*
|
|
||||||
<xs:enumeration value="A" />
|
|
||||||
<xs:enumeration value="B" />
|
|
||||||
<xs:enumeration value="C" />
|
|
||||||
<xs:enumeration value="D" />
|
|
||||||
<xs:enumeration value="E" />
|
|
||||||
<xs:enumeration value="G" />
|
|
||||||
<xs:enumeration value="H" />
|
|
||||||
<xs:enumeration value="I" />
|
|
||||||
<xs:enumeration value="L" />
|
|
||||||
<xs:enumeration value="M" />
|
|
||||||
<xs:enumeration value="N" />
|
|
||||||
<xs:enumeration value="O" />
|
|
||||||
<xs:enumeration value="P" />
|
|
||||||
<xs:enumeration value="Q" />
|
|
||||||
<xs:enumeration value="R" />
|
|
||||||
<xs:enumeration value="S" />
|
|
||||||
<xs:enumeration value="T" />
|
|
||||||
<xs:enumeration value="U" />
|
|
||||||
<xs:enumeration value="V" />
|
|
||||||
<xs:enumeration value="W" />
|
|
||||||
<xs:enumeration value="X" />
|
|
||||||
<xs:enumeration value="Y" />
|
|
||||||
<!-- IL CODICE SEGUENTE (Z) NON SARA' PIU' VALIDO PER LE FATTURE EMESSE A PARTIRE DAL PRIMO GENNAIO 2021-->
|
|
||||||
<xs:enumeration value="Z" />
|
|
||||||
<xs:enumeration value="L1" />
|
|
||||||
<xs:enumeration value="M1" />
|
|
||||||
<xs:enumeration value="M2" />
|
|
||||||
<xs:enumeration value="O1" />
|
|
||||||
<xs:enumeration value="V1" />
|
|
||||||
<xs:enumeration value="ZO" />
|
|
||||||
*/
|
|
||||||
#[Max(2)]
|
|
||||||
public string $CausalePagamento;
|
|
||||||
|
|
||||||
}
|
|
@ -1,33 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA\Body;
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
use Spatie\LaravelData\Optional;
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Size;
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Regex;
|
|
||||||
|
|
||||||
class ScontoMaggiorazione extends Data
|
|
||||||
{
|
|
||||||
//string options
|
|
||||||
//SC - Sconto //discount
|
|
||||||
//MG - Maggiorazione //surcharge
|
|
||||||
#[Size(2)]
|
|
||||||
public string $Tipo;
|
|
||||||
//float 0-100
|
|
||||||
#[Regex('/^[0-9]{1,3}\.[0-9]{2}$/')]
|
|
||||||
public float|Optional $Percentuale;
|
|
||||||
|
|
||||||
//Amount8DecimalType
|
|
||||||
#[Regex('/^[\-]?[0-9]{1,11}\.[0-9]{2,8}$/')]
|
|
||||||
public float|Optional $Importo;
|
|
||||||
}
|
|
@ -1,22 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA;
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
use Spatie\LaravelData\Optional;
|
|
||||||
|
|
||||||
class Contatti extends Data
|
|
||||||
{
|
|
||||||
public string|Optional $Telefono;
|
|
||||||
public string|Optional $Fax;
|
|
||||||
public string|Optional $Email;
|
|
||||||
}
|
|
@ -1,28 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA;
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
use Spatie\LaravelData\Optional;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\Header\IdFiscaleIVA;
|
|
||||||
|
|
||||||
class DatiAnagraficiVettore extends Data
|
|
||||||
{
|
|
||||||
public IdFiscaleIVA $IdFiscaleIVA;
|
|
||||||
|
|
||||||
public Anagrafica $Anagrafica;
|
|
||||||
|
|
||||||
public string|Optional $CodiceFiscale;
|
|
||||||
|
|
||||||
//String20Type
|
|
||||||
public string|Optional $NumeroLicenzaGuida;
|
|
||||||
}
|
|
@ -1,22 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA;
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\DettaglioLinee;
|
|
||||||
|
|
||||||
class DatiBeniServizi extends Data
|
|
||||||
{
|
|
||||||
public DettaglioLinee $DettaglioLinee;
|
|
||||||
|
|
||||||
public DatiRiepilogo $DatiRiepilogo;
|
|
||||||
}
|
|
@ -1,23 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA;
|
|
||||||
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\DettaglioPagamento;
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
|
|
||||||
class DatiPagamento extends Data
|
|
||||||
{
|
|
||||||
//string min4 max4 - optionlist
|
|
||||||
public string $CondizioniPagamento = 'TP02';
|
|
||||||
|
|
||||||
public DettaglioPagamento $DettaglioPagamento;
|
|
||||||
}
|
|
@ -1,46 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA;
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
use Spatie\LaravelData\Optional;
|
|
||||||
|
|
||||||
class DatiRiepilogo extends Data
|
|
||||||
{
|
|
||||||
|
|
||||||
//float 0-100.0
|
|
||||||
public float $AliquotaIVA;
|
|
||||||
|
|
||||||
//Amount2DecimalType
|
|
||||||
public float $ImponibileImporto;
|
|
||||||
|
|
||||||
//Amount2DecimalType
|
|
||||||
public float $Imposta;
|
|
||||||
|
|
||||||
//string - options
|
|
||||||
public string|Optional $Natura;
|
|
||||||
|
|
||||||
//Amount2DecimalType
|
|
||||||
public float|Optional $SpeseAccessorie;
|
|
||||||
|
|
||||||
//Amount8DecimalType
|
|
||||||
public float|Optional $Arrotondamento;
|
|
||||||
|
|
||||||
//string options D/I/S
|
|
||||||
public string|Optional $EsigibilitaIVA;
|
|
||||||
|
|
||||||
//String100LatinType
|
|
||||||
public string|Optional $RiferimentoNormativo;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,70 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA;
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
use Illuminate\Support\Carbon;
|
|
||||||
use Spatie\LaravelData\Optional;
|
|
||||||
use Spatie\LaravelData\Attributes\WithTransformer;
|
|
||||||
use Spatie\LaravelData\Transformers\DateTimeInterfaceTransformer;
|
|
||||||
|
|
||||||
class DatiTrasporto extends Data
|
|
||||||
{
|
|
||||||
public DatiAnagraficiVettore|Optional $DatiAnagraficiVettore;
|
|
||||||
|
|
||||||
//String80LatinType
|
|
||||||
public string|Optional $MezzoTrasporto;
|
|
||||||
|
|
||||||
//String100LatinType
|
|
||||||
public string|Optional $CausaleTrasporto;
|
|
||||||
|
|
||||||
//int 1-9999
|
|
||||||
public int|Optional $NumeroColli;
|
|
||||||
|
|
||||||
//String100LatinType
|
|
||||||
public string|Optional $Descrizione;
|
|
||||||
|
|
||||||
//String10Type
|
|
||||||
public string|Optional $UnitaMisuraPeso;
|
|
||||||
|
|
||||||
|
|
||||||
//[0-9]{1,4}\.[0-9]{1,2} //decimal
|
|
||||||
public float|Optional $PesoLordo;
|
|
||||||
|
|
||||||
//[0-9]{1,4}\.[0-9]{1,2} //decimal
|
|
||||||
public float|Optional $PesoNetto;
|
|
||||||
|
|
||||||
//dateTime
|
|
||||||
#[WithTransformer(DateTimeInterfaceTransformer::class, format: 'Y-m-d\TH:i:s.uP')]
|
|
||||||
public Carbon|Optional $DataOraRitiro;
|
|
||||||
//date
|
|
||||||
#[WithTransformer(DateTimeInterfaceTransformer::class, format: 'Y-m-d')]
|
|
||||||
public Carbon|Optional $DataInizioTrasporto;
|
|
||||||
|
|
||||||
//[A-Z]{3}
|
|
||||||
public string|Optional $TipoResa;
|
|
||||||
|
|
||||||
public Sede|Optional $IndirizzoResa;
|
|
||||||
|
|
||||||
//dateTime
|
|
||||||
#[WithTransformer(DateTimeInterfaceTransformer::class, format: 'Y-m-d')]
|
|
||||||
public Carbon|Optional $DataOraConsegna;
|
|
||||||
|
|
||||||
|
|
||||||
// public function __construct()
|
|
||||||
// {
|
|
||||||
// $this->DataOraConsegna = new \DateTime();
|
|
||||||
// $this->DataInizioTrasporto = new \DateTime();
|
|
||||||
// $this->DataInizioTrasporto = new \DateTime();
|
|
||||||
// }
|
|
||||||
|
|
||||||
}
|
|
@ -1,32 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA;
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
use Illuminate\Support\Carbon;
|
|
||||||
use Spatie\LaravelData\Optional;
|
|
||||||
use Spatie\LaravelData\Attributes\WithTransformer;
|
|
||||||
use Spatie\LaravelData\Transformers\DateTimeInterfaceTransformer;
|
|
||||||
|
|
||||||
class DatiVeicoli extends Data
|
|
||||||
{
|
|
||||||
#[WithTransformer(DateTimeInterfaceTransformer::class, format: 'Y-m-d')]
|
|
||||||
public Carbon|Optional $Data;
|
|
||||||
|
|
||||||
//String15Type
|
|
||||||
public string $TotalePercorso;
|
|
||||||
|
|
||||||
public function __construct()
|
|
||||||
{
|
|
||||||
// $this->Data = new \DateTime();
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,77 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA;
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
use Spatie\LaravelData\Optional;
|
|
||||||
use Spatie\LaravelData\Attributes\WithTransformer;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\Generics\CodiceArticolo;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\Body\ScontoMaggiorazione;
|
|
||||||
use Spatie\LaravelData\Transformers\DateTimeInterfaceTransformer;
|
|
||||||
|
|
||||||
class DettaglioLinee extends Data
|
|
||||||
{
|
|
||||||
|
|
||||||
//1-9999
|
|
||||||
public int $NumeroLinea;
|
|
||||||
|
|
||||||
//String1000LatinType
|
|
||||||
public string $Descrizione;
|
|
||||||
|
|
||||||
//Amount8DecimalType
|
|
||||||
public float $PrezzoUnitario;
|
|
||||||
|
|
||||||
// Amount8DecimalType
|
|
||||||
public float $PrezzoTotale;
|
|
||||||
|
|
||||||
// <xs:restriction base="xs:decimal">
|
|
||||||
// <xs:maxInclusive value="100.00" />
|
|
||||||
// <xs:pattern value="/^[0-9]{1,3}\.[0-9]{2}$/" />
|
|
||||||
// 0-100
|
|
||||||
public float $AliquotaIVA;
|
|
||||||
|
|
||||||
//string 2 char options
|
|
||||||
public string|Optional $TipoCessionePrestazione;
|
|
||||||
|
|
||||||
public CodiceArticolo|Optional $CodiceArticolo;
|
|
||||||
|
|
||||||
// <xs:restriction base="xs:decimal">
|
|
||||||
// <xs:pattern value="[0-9]{1,12}\.[0-9]{2,8}" />
|
|
||||||
public float|Optional $Quantita;
|
|
||||||
|
|
||||||
//String10Type
|
|
||||||
public string|Optional $UnitaMisura;
|
|
||||||
|
|
||||||
//date
|
|
||||||
#[WithTransformer(DateTimeInterfaceTransformer::class, format: 'Y-m-d')]
|
|
||||||
public \Illuminate\Support\Carbon|Optional $DataInizioPeriodo;
|
|
||||||
|
|
||||||
//date
|
|
||||||
#[WithTransformer(DateTimeInterfaceTransformer::class, format: 'Y-m-d')]
|
|
||||||
public \Illuminate\Support\Carbon|Optional $DataFinePeriodo;
|
|
||||||
|
|
||||||
public ScontoMaggiorazione|Optional $ScontoMaggiorazione;
|
|
||||||
|
|
||||||
//4 char options
|
|
||||||
public string|Optional $Ritenuta;
|
|
||||||
|
|
||||||
//string options
|
|
||||||
public string|Optional $Natura;
|
|
||||||
|
|
||||||
//string 20 char
|
|
||||||
public string|Optional $RiferimentoAmministrazione;
|
|
||||||
|
|
||||||
public AltriDatiGestionali|Optional $AltriDatiGestionali;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,92 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA;
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
use Spatie\LaravelData\Optional;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\DatiVeicoli;
|
|
||||||
use Spatie\LaravelData\Attributes\WithTransformer;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\Body\DatiGenerali;
|
|
||||||
use Spatie\LaravelData\Transformers\DateTimeInterfaceTransformer;
|
|
||||||
|
|
||||||
class DettaglioPagamento extends Data
|
|
||||||
{
|
|
||||||
|
|
||||||
//string length 4 - options
|
|
||||||
public string $ModalitaPagamento = 'MP01';
|
|
||||||
|
|
||||||
// Amount2DecimalType
|
|
||||||
public float $ImportoPagamento;
|
|
||||||
|
|
||||||
//String200LatinType
|
|
||||||
public string|Optional $Beneficiario;
|
|
||||||
|
|
||||||
//date
|
|
||||||
public string|Optional $DataRiferimentoTerminiPagamento;
|
|
||||||
|
|
||||||
// <xs:restriction base="xs:integer">
|
|
||||||
// <xs:minInclusive value="0" />
|
|
||||||
// <xs:maxInclusive value="999" />
|
|
||||||
public int|Optional $GiorniTerminiPagamento;
|
|
||||||
|
|
||||||
//date
|
|
||||||
#[WithTransformer(DateTimeInterfaceTransformer::class, format: 'Y-m-d')]
|
|
||||||
public \Illuminate\Support\Carbon|Optional $DataScadenzaPagamento;
|
|
||||||
|
|
||||||
//String20Type
|
|
||||||
public string|Optional $CodUfficioPostale;
|
|
||||||
|
|
||||||
//String60LatinType
|
|
||||||
public string|Optional $CognomeQuietanzante;
|
|
||||||
|
|
||||||
//String60LatinType
|
|
||||||
public string|Optional $NomeQuietanzante;
|
|
||||||
|
|
||||||
//string [A-Z0-9]{16}
|
|
||||||
public string|Optional $CFQuietanzante;
|
|
||||||
|
|
||||||
//string {IsBasicLatin}{2,10}
|
|
||||||
public string|Optional $TitoloQuietanzante;
|
|
||||||
|
|
||||||
//string String80LatinType
|
|
||||||
public string|Optional $IstitutoFinanziario;
|
|
||||||
|
|
||||||
//[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{11,30}
|
|
||||||
public string|Optional $IBAN;
|
|
||||||
|
|
||||||
// string [0-9][0-9][0-9][0-9][0-9]
|
|
||||||
public string|Optional $ABI;
|
|
||||||
|
|
||||||
//[0-9][0-9][0-9][0-9][0-9]
|
|
||||||
public string|Optional $CAB;
|
|
||||||
|
|
||||||
//[A-Z]{6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3}){0,1}
|
|
||||||
public string|Optional $BIC;
|
|
||||||
|
|
||||||
//Amount2DecimalType
|
|
||||||
public float|Optional $ScontoPagamentoAnticipato;
|
|
||||||
|
|
||||||
//Date
|
|
||||||
#[WithTransformer(DateTimeInterfaceTransformer::class, format: 'Y-m-d')]
|
|
||||||
public \Illuminate\Support\Carbon|Optional $DataLimitePagamentoAnticipato;
|
|
||||||
|
|
||||||
//Amount2DecimalType
|
|
||||||
public float|Optional $PenalitaPagamentiRitardati;
|
|
||||||
|
|
||||||
//date
|
|
||||||
#[WithTransformer(DateTimeInterfaceTransformer::class, format: 'Y-m-d')]
|
|
||||||
public \Illuminate\Support\Carbon|Optional $DataDecorrenzaPenale;
|
|
||||||
|
|
||||||
//String60Type
|
|
||||||
public string|Optional $CodicePagamento;
|
|
||||||
|
|
||||||
}
|
|
@ -1,29 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA;
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
use Spatie\LaravelData\Optional;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\DatiVeicoli;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\DatiBeniServizi;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\Body\DatiGenerali;
|
|
||||||
|
|
||||||
class FatturaElettronicaBody extends Data
|
|
||||||
{
|
|
||||||
|
|
||||||
public DatiGenerali $DatiGenerali;
|
|
||||||
public DatiBeniServizi $DatiBeniServizi;
|
|
||||||
public DatiVeicoli|Optional $DatiVeicoli;
|
|
||||||
public DatiPagamento|Optional $DatiPagamento;
|
|
||||||
public Allegati|Optional $Allegati;
|
|
||||||
|
|
||||||
}
|
|
@ -1,24 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA;
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\Header\DatiTrasmissione;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\Header\CedentePrestatore;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\Header\CessionarioCommittente;
|
|
||||||
|
|
||||||
class FatturaElettronicaHeader extends Data
|
|
||||||
{
|
|
||||||
public DatiTrasmissione $DatiTrasmissione; //DatiTrasmissione
|
|
||||||
public CedentePrestatore $CedentePrestatore; //CedentePrestatore
|
|
||||||
public CessionarioCommittente $CessionarioCommittente; //CessionarioCommittente
|
|
||||||
}
|
|
@ -1,26 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA;
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
use Spatie\LaravelData\Optional;
|
|
||||||
use Spatie\LaravelData\Attributes\WithTransformer;
|
|
||||||
use Spatie\LaravelData\Transformers\DateTimeInterfaceTransformer;
|
|
||||||
|
|
||||||
class FatturaPrincipale extends Data
|
|
||||||
{
|
|
||||||
//String20Type
|
|
||||||
public string $NumeroFatturaPrincipale;
|
|
||||||
//dateTime
|
|
||||||
#[WithTransformer(DateTimeInterfaceTransformer::class, format: 'Y-m-d')]
|
|
||||||
public \Illuminate\Support\Carbon|Optional $DataFatturaPrincipale;
|
|
||||||
}
|
|
@ -1,27 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA\Generics;
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Max;
|
|
||||||
|
|
||||||
class CodiceArticolo extends Data
|
|
||||||
{
|
|
||||||
//string 35 char
|
|
||||||
#[Max(35)]
|
|
||||||
public string $CodiceTipo;
|
|
||||||
|
|
||||||
//string 35 char
|
|
||||||
#[Max(35)]
|
|
||||||
public string $CodiceValore;
|
|
||||||
}
|
|
||||||
|
|
@ -1,32 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA\Generics;
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Between;
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
use Spatie\LaravelData\Optional;
|
|
||||||
use Spatie\LaravelData\Attributes\WithTransformer;
|
|
||||||
use Spatie\LaravelData\Transformers\DateTimeInterfaceTransformer;
|
|
||||||
|
|
||||||
class DatiDDT extends Data
|
|
||||||
{
|
|
||||||
//String20Type
|
|
||||||
public string $NumeroDDT;
|
|
||||||
|
|
||||||
#[WithTransformer(DateTimeInterfaceTransformer::class, format: 'Y-m-d')]
|
|
||||||
public \Illuminate\Support\Carbon $DataDDT;
|
|
||||||
|
|
||||||
//int 1-9999
|
|
||||||
#[Between(1,9999)]
|
|
||||||
public int|Optional $RiferimentoNumeroLinea;
|
|
||||||
|
|
||||||
}
|
|
@ -1,43 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA\Generics;
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
use Spatie\LaravelData\Optional;
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Max;
|
|
||||||
use Spatie\LaravelData\Attributes\WithTransformer;
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Between;
|
|
||||||
use Spatie\LaravelData\Transformers\DateTimeInterfaceTransformer;
|
|
||||||
|
|
||||||
class DatiDocumentiCorrelatiType extends Data
|
|
||||||
{
|
|
||||||
//String20Type
|
|
||||||
#[Max(20)]
|
|
||||||
public string $IdDocumento;
|
|
||||||
//int 1-9999
|
|
||||||
#[Between(1,9999)]
|
|
||||||
public int|Optional $RiferimentoNumeroLinea;
|
|
||||||
#[WithTransformer(DateTimeInterfaceTransformer::class, format: 'Y-m-d')]
|
|
||||||
public \Illuminate\Support\Carbon|Optional $Data;
|
|
||||||
//String20Type
|
|
||||||
#[Max(20)]
|
|
||||||
public string|Optional $NumItem;
|
|
||||||
//String100LatinType
|
|
||||||
#[Max(100)]
|
|
||||||
public string|Optional $CodiceCommessaConvenzione;
|
|
||||||
//String15Type
|
|
||||||
#[Max(15)]
|
|
||||||
public string|Optional $CodiceCUP;
|
|
||||||
//String15Type
|
|
||||||
#[Max(15)]
|
|
||||||
public string|Optional $CodiceCIG;
|
|
||||||
}
|
|
@ -1,24 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA\Generics;
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Between;
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
|
|
||||||
class DatiSAL extends Data
|
|
||||||
{
|
|
||||||
|
|
||||||
//int 1-999
|
|
||||||
#[Between(1,999)]
|
|
||||||
public int $RiferimentoFase;
|
|
||||||
|
|
||||||
}
|
|
@ -1,40 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA\Header;
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
use Spatie\LaravelData\Optional;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\Sede;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\Contatti;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\IscrizioneREA;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\Header\DatiAnagrafici;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\StabileOrganizzazione;
|
|
||||||
|
|
||||||
class CedentePrestatore extends Data
|
|
||||||
{
|
|
||||||
|
|
||||||
public function __construct(
|
|
||||||
|
|
||||||
public DatiAnagrafici $DatiAnagrafici,
|
|
||||||
|
|
||||||
public Sede $Sede,
|
|
||||||
|
|
||||||
public StabileOrganizzazione|Optional $StabileOrganizzazione,
|
|
||||||
|
|
||||||
public IscrizioneREA|Optional $IscrizioneREA,
|
|
||||||
|
|
||||||
public Contatti|Optional $Contatti,
|
|
||||||
|
|
||||||
public string|Optional $RiferimentoAmministrazione,
|
|
||||||
){}
|
|
||||||
|
|
||||||
}
|
|
@ -1,31 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA\Header;
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
use Spatie\LaravelData\Optional;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\Sede;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\RappresentanteFiscale;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\Header\DatiAnagraficiCedenteType;
|
|
||||||
|
|
||||||
class CessionarioCommittente extends Data
|
|
||||||
{
|
|
||||||
public DatiAnagraficiCedenteType $DatiAnagrafici;
|
|
||||||
|
|
||||||
/** @var Sede[] */
|
|
||||||
public array $Sede;
|
|
||||||
|
|
||||||
/** @var Sede[] */
|
|
||||||
public array|Optional $StabileOrganizzazione;
|
|
||||||
|
|
||||||
public RappresentanteFiscale|Optional $RappresentanteFiscale;
|
|
||||||
}
|
|
@ -1,57 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA\Header;
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
use Spatie\LaravelData\Optional;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\Anagrafica;
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Max;
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Size;
|
|
||||||
use Spatie\LaravelData\Attributes\WithTransformer;
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Regex;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\Header\IdFiscaleIVA;
|
|
||||||
use Spatie\LaravelData\Transformers\DateTimeInterfaceTransformer;
|
|
||||||
|
|
||||||
class DatiAnagrafici extends Data
|
|
||||||
{
|
|
||||||
public function __construct(
|
|
||||||
|
|
||||||
public Anagrafica $Anagrafica,
|
|
||||||
|
|
||||||
public IdFiscaleIVA $IdFiscaleIVA,
|
|
||||||
|
|
||||||
// string length 4 - options = 'RF01'
|
|
||||||
#[Max(4)]
|
|
||||||
public string|Optional $RegimeFiscale,
|
|
||||||
|
|
||||||
#[Regex('/^[A-Z0-9]{11,16}$/')]
|
|
||||||
public string|Optional $CodiceFiscale,
|
|
||||||
|
|
||||||
//string 60 char
|
|
||||||
#[Max(60)]
|
|
||||||
public string|Optional $AlboProfessionale,
|
|
||||||
|
|
||||||
//string 2 char
|
|
||||||
#[Regex('/^[A-Z]{2}$/')]
|
|
||||||
#[Size(2)]
|
|
||||||
public string|Optional $ProvinciaAlbo,
|
|
||||||
|
|
||||||
//string 60 char
|
|
||||||
#[Max(60)]
|
|
||||||
public string|Optional $NumeroIscrizioneAlbo,
|
|
||||||
|
|
||||||
//Date
|
|
||||||
#[WithTransformer(DateTimeInterfaceTransformer::class, format: 'Y-m-d')]
|
|
||||||
public \Datetime|Optional $DataIscrizioneAlbo,
|
|
||||||
|
|
||||||
){}
|
|
||||||
}
|
|
@ -1,58 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA\Header;
|
|
||||||
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
use Spatie\LaravelData\Optional;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\Anagrafica;
|
|
||||||
use Spatie\LaravelData\Attributes\WithTransformer;
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\Header\IdFiscaleIVA;
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Max;
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Regex;
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Size;
|
|
||||||
use Spatie\LaravelData\Transformers\DateTimeInterfaceTransformer;
|
|
||||||
|
|
||||||
class DatiAnagraficiCedenteType extends Data
|
|
||||||
{
|
|
||||||
public function __construct(
|
|
||||||
|
|
||||||
public Anagrafica $Anagrafica,
|
|
||||||
|
|
||||||
public IdFiscaleIVA|Optional $IdFiscaleIVA,
|
|
||||||
|
|
||||||
// string length 4 - options = 'RF01'
|
|
||||||
#[Size(4)]
|
|
||||||
public string|Optional $RegimeFiscale,
|
|
||||||
|
|
||||||
//[A-Z0-9]{11,16}
|
|
||||||
#[Regex('/^[A-Z0-9]{11,16}$/')]
|
|
||||||
public string|Optional $CodiceFiscale,
|
|
||||||
|
|
||||||
//string 60 char
|
|
||||||
#[Max(20)]
|
|
||||||
public string|Optional $AlboProfessionale,
|
|
||||||
|
|
||||||
//string 2 chat [A-Z]{2}
|
|
||||||
#[Size(2)]
|
|
||||||
#[Regex('/^[A-Z]{2}$/')]
|
|
||||||
public string|Optional $ProvinciaAlbo,
|
|
||||||
|
|
||||||
//string 60 char
|
|
||||||
#[Max(60)]
|
|
||||||
public string|Optional $NumeroIscrizioneAlbo,
|
|
||||||
|
|
||||||
//Date
|
|
||||||
#[WithTransformer(DateTimeInterfaceTransformer::class, format: 'Y-m-d')]
|
|
||||||
public \Datetime|Optional $DataIscrizioneAlbo,
|
|
||||||
){}
|
|
||||||
}
|
|
@ -1,33 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA\Header;
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Max;
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Regex;
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Size;
|
|
||||||
|
|
||||||
class DatiTrasmissione extends Data
|
|
||||||
{
|
|
||||||
public IdTrasmittente $IdTrasmittente; //IdTrasmittente
|
|
||||||
|
|
||||||
#[Max(10)]
|
|
||||||
public string $ProgressivoInvio = ''; //String
|
|
||||||
|
|
||||||
#[Size(5)]
|
|
||||||
public string $FormatoTrasmissione = ''; //String
|
|
||||||
|
|
||||||
#[Regex('/^[A-Z0-9]{6,7}$/')]
|
|
||||||
public string $CodiceDestinatario = ''; //String
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
@ -1,31 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA\Header;
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Max;
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Min;
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Regex;
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
|
|
||||||
class IdFiscaleIVA extends Data
|
|
||||||
{
|
|
||||||
public function __construct(
|
|
||||||
// #[\Required]
|
|
||||||
#[Regex('/^[A-Z]{2}$/')]
|
|
||||||
public string $IdPaese = '',
|
|
||||||
|
|
||||||
// #[\Required]
|
|
||||||
#[Min(1)]
|
|
||||||
#[Max(28)]
|
|
||||||
public string $IdCodice = '',
|
|
||||||
){}
|
|
||||||
}
|
|
@ -1,28 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA\Header;
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Max;
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Min;
|
|
||||||
use Spatie\LaravelData\Attributes\Validation\Regex;
|
|
||||||
|
|
||||||
class IdTrasmittente extends Data
|
|
||||||
{
|
|
||||||
#[Regex('/^[A-Z]{2}$/')]
|
|
||||||
public string $IdPaese; //String
|
|
||||||
|
|
||||||
#[Min(1)]
|
|
||||||
#[Max(28)]
|
|
||||||
public string $IdCodice; //String
|
|
||||||
|
|
||||||
}
|
|
@ -1,38 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA;
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
use Spatie\LaravelData\Optional;
|
|
||||||
|
|
||||||
class IscrizioneREA extends Data
|
|
||||||
{
|
|
||||||
//[A-Z]{2}
|
|
||||||
public string $Ufficio;
|
|
||||||
|
|
||||||
//string length 20
|
|
||||||
public string|Optional $NumeroREA;
|
|
||||||
|
|
||||||
//precision 2
|
|
||||||
public float|Optional $CapitaleSociale;
|
|
||||||
|
|
||||||
// options
|
|
||||||
// SU - socio unico (sole trader)
|
|
||||||
// SN - piu soci (multiple shareholders)
|
|
||||||
public string|Optional $SocioUnico;
|
|
||||||
|
|
||||||
// options
|
|
||||||
// LS - In Liquidation
|
|
||||||
// LN - Not in liquidation
|
|
||||||
public string $StatoLiquidazione = 'LN';
|
|
||||||
|
|
||||||
}
|
|
@ -1,26 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA;
|
|
||||||
|
|
||||||
use App\DataMapper\EDoc\FatturaPA\Header\IdFiscaleIVA;
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
use Spatie\LaravelData\Optional;
|
|
||||||
|
|
||||||
class RappresentanteFiscale extends Data
|
|
||||||
{
|
|
||||||
public IdFiscaleIVA $IdFiscaleIVA;
|
|
||||||
|
|
||||||
public Anagrafica $Anagrafica;
|
|
||||||
|
|
||||||
// <xs:pattern value="[A-Z0-9]{11,16}" />
|
|
||||||
public string|Optional $CodiceFiscaleType;
|
|
||||||
}
|
|
@ -1,30 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA;
|
|
||||||
|
|
||||||
use Spatie\LaravelData\Data;
|
|
||||||
use Spatie\LaravelData\Optional;
|
|
||||||
|
|
||||||
class Sede extends Data
|
|
||||||
{
|
|
||||||
public string $Indirizzo = ''; //string - address, 60char limit
|
|
||||||
|
|
||||||
public int $CAP = 12345; //[0-9][0-9][0-9][0-9][0-9] ie 12345
|
|
||||||
|
|
||||||
public string $Comune = ''; //String 60char limit
|
|
||||||
|
|
||||||
public string $Nazione = 'IT'; //String default IT
|
|
||||||
|
|
||||||
public string|Optional $Provincia; //String [A-Z]{2}
|
|
||||||
|
|
||||||
public string|Optional $NumeroCivico; // regex \p{IsBasicLatin}{1,8})
|
|
||||||
}
|
|
@ -1,17 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com).
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\DataMapper\EDoc\FatturaPA;
|
|
||||||
|
|
||||||
class StabileOrganizzazione extends Sede
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
File diff suppressed because one or more lines are too long
@ -13,17 +13,17 @@ namespace App\DataMapper;
|
|||||||
|
|
||||||
use Spatie\LaravelData\Data;
|
use Spatie\LaravelData\Data;
|
||||||
use Spatie\LaravelData\Optional;
|
use Spatie\LaravelData\Optional;
|
||||||
use App\DataMapper\EDoc\FatturaPA;
|
use Invoiceninja\Einvoice\Models\FatturaPA\FatturaElettronica;
|
||||||
|
|
||||||
class EDocSettings extends Data
|
class EDocSettings extends Data
|
||||||
{
|
{
|
||||||
public FatturaPA|Optional $FatturaPA;
|
public FatturaElettronica|Optional $FatturaElettronica;
|
||||||
|
|
||||||
public function __construct() {}
|
public function __construct() {}
|
||||||
|
|
||||||
public function createFatturaPA(): FatturaPA
|
public function createFatturaPA(): FatturaElettronica
|
||||||
{
|
{
|
||||||
return $this->FatturaPA ??= new FatturaPA();
|
return $this->FatturaElettronica ??= new FatturaElettronica;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -82,22 +82,13 @@ class EpcQrGenerator
|
|||||||
$this->company->present()->name(),
|
$this->company->present()->name(),
|
||||||
isset($this->company?->custom_fields?->company1) ? $this->company->settings->custom_value1 : '',
|
isset($this->company?->custom_fields?->company1) ? $this->company->settings->custom_value1 : '',
|
||||||
$this->formatMoney($this->amount),
|
$this->formatMoney($this->amount),
|
||||||
$this->getPurposeCode(),
|
$this->sepa['purpose'],
|
||||||
substr($this->invoice->number, 0, 34),
|
substr($this->invoice->number, 0, 34),
|
||||||
'',
|
'',
|
||||||
' '
|
' '
|
||||||
]), "\n");
|
]), "\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
private function getPurposeCode(): string
|
|
||||||
{
|
|
||||||
if(isset($this->invoice->client->id_number) && strlen($this->invoice->client->id_number) > 2)
|
|
||||||
return $this->invoice->client->id_number;
|
|
||||||
|
|
||||||
return $this->sepa['purpose'];
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private function validateFields()
|
private function validateFields()
|
||||||
{
|
{
|
||||||
if (Ninja::isSelfHost() && isset($this->company?->custom_fields?->company2)) {
|
if (Ninja::isSelfHost() && isset($this->company?->custom_fields?->company2)) {
|
||||||
|
@ -11,9 +11,9 @@
|
|||||||
|
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use App\DataMapper\EDoc\Schema\RO;
|
|
||||||
use App\Utils\Statics;
|
use App\Utils\Statics;
|
||||||
use Illuminate\Http\Response;
|
use Illuminate\Http\Response;
|
||||||
|
use Invoiceninja\Einvoice\Decoder\Schema;
|
||||||
|
|
||||||
class StaticController extends BaseController
|
class StaticController extends BaseController
|
||||||
{
|
{
|
||||||
@ -61,9 +61,8 @@ class StaticController extends BaseController
|
|||||||
|
|
||||||
if(request()->has('einvoice')){
|
if(request()->has('einvoice')){
|
||||||
|
|
||||||
$ro = new RO;
|
$schema = new Schema();
|
||||||
|
$response_data['einvoice_schema'] = $schema('FACT1');
|
||||||
$response_data['einvoice_schema'] = $ro();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return response()->json($response_data, 200, ['Content-type' => 'application/json; charset=utf-8'], JSON_PRETTY_PRINT);
|
return response()->json($response_data, 200, ['Content-type' => 'application/json; charset=utf-8'], JSON_PRETTY_PRINT);
|
||||||
|
@ -75,11 +75,22 @@ trait CleanLineItems
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(isset($item['notes'])) {
|
if(isset($item['notes'])) {
|
||||||
$item['notes'] = str_replace("</sc", "<-", $item['notes']);
|
$item['notes'] = str_replace(["</sc","onerror","prompt(","alert(",], "<-", $item['notes']);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isset($item['product_key'])) {
|
if(isset($item['product_key'])) {
|
||||||
$item['product_key'] = str_replace("</sc", "<-", $item['product_key']);
|
$item['product_key'] = str_replace(["</sc","onerror","prompt(","alert(",], "<-", $item['product_key']);
|
||||||
|
}
|
||||||
|
if(isset($item['custom_value1'])){
|
||||||
|
$item['custom_value1'] = str_replace(["</sc","onerror","prompt(","alert(",], "<-", $item['custom_value1']);
|
||||||
|
}
|
||||||
|
if(isset($item['custom_value2'])) {
|
||||||
|
$item['custom_value2'] = str_replace(["</sc","onerror","prompt(","alert(",], "<-", $item['custom_value2']);
|
||||||
|
}
|
||||||
|
if(isset($item['custom_value3'])) {
|
||||||
|
$item['custom_value3'] = str_replace(["</sc","onerror","prompt(","alert(",], "<-", $item['custom_value3']);
|
||||||
|
}
|
||||||
|
if(isset($item['custom_value4'])) {
|
||||||
|
$item['custom_value4'] = str_replace(["</sc","onerror","prompt(","alert(",], "<-", $item['custom_value4']);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -105,7 +105,8 @@
|
|||||||
"webpatser/laravel-countries": "dev-master#75992ad",
|
"webpatser/laravel-countries": "dev-master#75992ad",
|
||||||
"wepay/php-sdk": "^0.3",
|
"wepay/php-sdk": "^0.3",
|
||||||
"wildbit/postmark-php": "^4.0",
|
"wildbit/postmark-php": "^4.0",
|
||||||
"hyvor/php-json-exporter": "^0.0.3"
|
"hyvor/php-json-exporter": "^0.0.3",
|
||||||
|
"invoiceninja/einvoice": "dev-main"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"php": "^8.1|^8.2",
|
"php": "^8.1|^8.2",
|
||||||
@ -180,6 +181,10 @@
|
|||||||
{
|
{
|
||||||
"type": "vcs",
|
"type": "vcs",
|
||||||
"url": "https://github.com/turbo124/apple"
|
"url": "https://github.com/turbo124/apple"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type":"vcs",
|
||||||
|
"url": "https://github.com/invoiceninja/einvoice"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"minimum-stability": "dev",
|
"minimum-stability": "dev",
|
||||||
|
1527
composer.lock
generated
1527
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@ -18,7 +18,7 @@ return [
|
|||||||
'transformers' => [
|
'transformers' => [
|
||||||
DateTimeInterface::class => \Spatie\LaravelData\Transformers\DateTimeInterfaceTransformer::class,
|
DateTimeInterface::class => \Spatie\LaravelData\Transformers\DateTimeInterfaceTransformer::class,
|
||||||
\Illuminate\Contracts\Support\Arrayable::class => \Spatie\LaravelData\Transformers\ArrayableTransformer::class,
|
\Illuminate\Contracts\Support\Arrayable::class => \Spatie\LaravelData\Transformers\ArrayableTransformer::class,
|
||||||
BackedEnum::class => Spatie\LaravelData\Transformers\EnumTransformer::class,
|
BackedEnum::class => Spatie\LaravelData\Transformers\EnumTransformer::class
|
||||||
],
|
],
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
73
tests/Integration/Einvoice/FACT1Test.php
Normal file
73
tests/Integration/Einvoice/FACT1Test.php
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Invoice Ninja (https://invoiceninja.com).
|
||||||
|
*
|
||||||
|
* @link https://github.com/invoiceninja/invoiceninja source repository
|
||||||
|
*
|
||||||
|
* @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com)
|
||||||
|
*
|
||||||
|
* @license https://www.elastic.co/licensing/elastic-license
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Tests\Integration\Einvoice;
|
||||||
|
|
||||||
|
use Tests\TestCase;
|
||||||
|
use Invoiceninja\Einvoice\Models\FACT1\Invoice;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @test
|
||||||
|
*/
|
||||||
|
class FACT1Test extends TestCase
|
||||||
|
{
|
||||||
|
|
||||||
|
protected function setUp(): void
|
||||||
|
{
|
||||||
|
parent::setUp();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testValidationFact1()
|
||||||
|
{
|
||||||
|
|
||||||
|
$files = [
|
||||||
|
'tests/Integration/Einvoice/samples/fact1.xml',
|
||||||
|
];
|
||||||
|
|
||||||
|
foreach($files as $f) {
|
||||||
|
|
||||||
|
$xmlstring = file_get_contents($f);
|
||||||
|
|
||||||
|
// nlog($xmlstring);
|
||||||
|
|
||||||
|
$xml = simplexml_load_string($xmlstring, "SimpleXMLElement");
|
||||||
|
$json = json_encode($xml);
|
||||||
|
$payload = json_decode($json, true);
|
||||||
|
|
||||||
|
nlog($xml);
|
||||||
|
nlog($payload);
|
||||||
|
$validation_array = false;
|
||||||
|
try {
|
||||||
|
$rules = Invoice::getValidationRules($payload);
|
||||||
|
nlog($rules);
|
||||||
|
|
||||||
|
$this->assertIsArray($rules);
|
||||||
|
|
||||||
|
$payload = Invoice::from($payload)->toArray();
|
||||||
|
nlog($payload);
|
||||||
|
$this->assertIsArray($payload);
|
||||||
|
|
||||||
|
$validation_array = Invoice::validate($payload);
|
||||||
|
|
||||||
|
$this->assertIsArray($validation_array);
|
||||||
|
|
||||||
|
} catch(\Illuminate\Validation\ValidationException $e) {
|
||||||
|
|
||||||
|
nlog($e->errors());
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->assertIsArray($validation_array);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
243
tests/Integration/Einvoice/FatturaPATest.php
Normal file
243
tests/Integration/Einvoice/FatturaPATest.php
Normal file
@ -0,0 +1,243 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Invoice Ninja (https://invoiceninja.com).
|
||||||
|
*
|
||||||
|
* @link https://github.com/invoiceninja/invoiceninja source repository
|
||||||
|
*
|
||||||
|
* @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com)
|
||||||
|
*
|
||||||
|
* @license https://www.elastic.co/licensing/elastic-license
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Tests\Integration\Einvoice;
|
||||||
|
|
||||||
|
use Tests\TestCase;
|
||||||
|
use Invoiceninja\Einvoice\Models\FatturaPA\FatturaElettronica;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @test
|
||||||
|
*/
|
||||||
|
class FatturaPATest extends TestCase
|
||||||
|
{
|
||||||
|
|
||||||
|
protected function setUp(): void
|
||||||
|
{
|
||||||
|
parent::setUp();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private array $payload = [
|
||||||
|
'FatturaElettronicaHeader' => [
|
||||||
|
'DatiTrasmissione' => [
|
||||||
|
'IdTrasmittente' => [
|
||||||
|
'IdPaese' => 'IT',
|
||||||
|
'IdCodice' => '01234567890',
|
||||||
|
],
|
||||||
|
'ProgressivoInvio' => '00001',
|
||||||
|
'FormatoTrasmissione' => 'FPA12',
|
||||||
|
'CodiceDestinatario' => 'AAAAAA',
|
||||||
|
],
|
||||||
|
'CedentePrestatore' => [
|
||||||
|
'DatiAnagrafici' => [
|
||||||
|
'IdFiscaleIVA' => [
|
||||||
|
'IdPaese' => 'IT',
|
||||||
|
'IdCodice' => '01234567890',
|
||||||
|
],
|
||||||
|
'Anagrafica' => [
|
||||||
|
'Denominazione' => 'ALPHA SRL',
|
||||||
|
],
|
||||||
|
'RegimeFiscale' => 'RF19',
|
||||||
|
],
|
||||||
|
'Sede' => [
|
||||||
|
'Indirizzo' => 'VIALE ROMA 543',
|
||||||
|
'CAP' => '07100',
|
||||||
|
'Comune' => 'SASSARI',
|
||||||
|
'Provincia' => 'SS',
|
||||||
|
'Nazione' => 'IT',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'CessionarioCommittente' => [
|
||||||
|
'DatiAnagrafici' => [
|
||||||
|
'CodiceFiscale' => '09876543210',
|
||||||
|
'Anagrafica' => [
|
||||||
|
'Denominazione' => 'AMMINISTRAZIONE BETA',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'Sede' => [
|
||||||
|
'Indirizzo' => 'VIA TORINO 38-B',
|
||||||
|
'CAP' => '00145',
|
||||||
|
'Comune' => 'ROMA',
|
||||||
|
'Provincia' => 'RM',
|
||||||
|
'Nazione' => 'IT',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'FatturaElettronicaBody' => [
|
||||||
|
'DatiGenerali' => [
|
||||||
|
'DatiGeneraliDocumento' => [
|
||||||
|
'TipoDocumento' => 'TD01',
|
||||||
|
'Divisa' => 'EUR',
|
||||||
|
'Data' => '2017-01-18',
|
||||||
|
'Numero' => '123',
|
||||||
|
'Causale' => [
|
||||||
|
0 => 'LA FATTURA FA RIFERIMENTO ',
|
||||||
|
1 => 'SEGUE DESCRIZIONE CAUSALE NEL CASO IN CUI NON SIANO STATI SUFFICIENTI 200
|
||||||
|
CARATTERI AAAAAAAAAAA BBBBBBBBBBBBBBBBB',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'DatiOrdineAcquisto' => [
|
||||||
|
'RiferimentoNumeroLinea' => '1',
|
||||||
|
'IdDocumento' => '66685',
|
||||||
|
'NumItem' => '1',
|
||||||
|
'CodiceCUP' => '123abc',
|
||||||
|
'CodiceCIG' => '456def',
|
||||||
|
],
|
||||||
|
'DatiContratto' => [
|
||||||
|
'RiferimentoNumeroLinea' => '1',
|
||||||
|
'IdDocumento' => '123',
|
||||||
|
'Data' => '2016-09-01',
|
||||||
|
'NumItem' => '5',
|
||||||
|
'CodiceCUP' => '123abc',
|
||||||
|
'CodiceCIG' => '456def',
|
||||||
|
],
|
||||||
|
'DatiConvenzione' => [
|
||||||
|
'RiferimentoNumeroLinea' => '1',
|
||||||
|
'IdDocumento' => '456',
|
||||||
|
'NumItem' => '5',
|
||||||
|
'CodiceCUP' => '123abc',
|
||||||
|
'CodiceCIG' => '456def',
|
||||||
|
],
|
||||||
|
'DatiRicezione' => [
|
||||||
|
'RiferimentoNumeroLinea' => '1',
|
||||||
|
'IdDocumento' => '789',
|
||||||
|
'NumItem' => '5',
|
||||||
|
'CodiceCUP' => '123abc',
|
||||||
|
'CodiceCIG' => '456def',
|
||||||
|
],
|
||||||
|
'DatiTrasporto' => [
|
||||||
|
'DatiAnagraficiVettore' => [
|
||||||
|
'IdFiscaleIVA' => [
|
||||||
|
'IdPaese' => 'IT',
|
||||||
|
'IdCodice' => '24681012141',
|
||||||
|
],
|
||||||
|
'Anagrafica' => [
|
||||||
|
'Denominazione' => 'Trasporto spa',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'DataOraConsegna' => '2017-01-10T16:46:12.000+02:00',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'DatiBeniServizi' => [
|
||||||
|
'DettaglioLinee' => [
|
||||||
|
'NumeroLinea' => '1',
|
||||||
|
'Descrizione' => 'DESCRIZIONE DELLA FORNITURA',
|
||||||
|
'Quantita' => '5.00',
|
||||||
|
'PrezzoUnitario' => '1.00',
|
||||||
|
'PrezzoTotale' => '5.00',
|
||||||
|
'AliquotaIVA' => '22.00',
|
||||||
|
],
|
||||||
|
'DatiRiepilogo' => [
|
||||||
|
'AliquotaIVA' => '22.00',
|
||||||
|
'ImponibileImporto' => '5.00',
|
||||||
|
'Imposta' => '1.10',
|
||||||
|
'EsigibilitaIVA' => 'I',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'DatiPagamento' => [
|
||||||
|
'CondizioniPagamento' => 'TP01',
|
||||||
|
'DettaglioPagamento' => [
|
||||||
|
'ModalitaPagamento' => 'MP01',
|
||||||
|
'DataScadenzaPagamento' => '2017-02-18',
|
||||||
|
'ImportoPagamento' => '6.10',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
|
public function testBulkValidation()
|
||||||
|
{
|
||||||
|
|
||||||
|
$files = [
|
||||||
|
'tests/Integration/Einvoice/samples/fatturapa1.xml',
|
||||||
|
'tests/Integration/Einvoice/samples/fatturapa2.xml',
|
||||||
|
'tests/Integration/Einvoice/samples/fatturapa3.xml',
|
||||||
|
'tests/Integration/Einvoice/samples/fatturapa4.xml',
|
||||||
|
'tests/Integration/Einvoice/samples/fatturapa5.xml',
|
||||||
|
'tests/Integration/Einvoice/samples/fatturapa6.xml',
|
||||||
|
];
|
||||||
|
|
||||||
|
foreach($files as $f)
|
||||||
|
{
|
||||||
|
|
||||||
|
// nlog("File => {$f}");
|
||||||
|
|
||||||
|
$xmlstring = file_get_contents($f);
|
||||||
|
|
||||||
|
$xml = simplexml_load_string($xmlstring, "SimpleXMLElement", LIBXML_NOCDATA);
|
||||||
|
$json = json_encode($xml);
|
||||||
|
$payload = json_decode($json, true);
|
||||||
|
|
||||||
|
$validation_array = false;
|
||||||
|
try {
|
||||||
|
$rules = FatturaElettronica::getValidationRules($this->payload);
|
||||||
|
// nlog($rules);
|
||||||
|
|
||||||
|
$this->assertIsArray($rules);
|
||||||
|
|
||||||
|
$payload = FatturaElettronica::from($payload)->toArray();
|
||||||
|
// nlog($payload);
|
||||||
|
$this->assertIsArray($payload);
|
||||||
|
|
||||||
|
$validation_array = FatturaElettronica::validate($payload);
|
||||||
|
|
||||||
|
$this->assertIsArray($validation_array);
|
||||||
|
|
||||||
|
} catch(\Illuminate\Validation\ValidationException $e) {
|
||||||
|
|
||||||
|
nlog($e->errors());
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->assertIsArray($validation_array);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testLaravelDataValidation()
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
$rules = FatturaElettronica::getValidationRules($this->payload);
|
||||||
|
// nlog($rules);
|
||||||
|
|
||||||
|
|
||||||
|
$this->assertIsArray($rules);
|
||||||
|
|
||||||
|
// $validation_array = false;
|
||||||
|
|
||||||
|
try {
|
||||||
|
$validation_array = FatturaElettronica::validate($this->payload);
|
||||||
|
}
|
||||||
|
catch(\Illuminate\Validation\ValidationException $e) {
|
||||||
|
|
||||||
|
nlog($e->errors());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->assertIsArray($validation_array);
|
||||||
|
|
||||||
|
// try{
|
||||||
|
$array = FatturaElettronica::from($this->payload)->toArray();
|
||||||
|
// }
|
||||||
|
// catch(\Exception $e){
|
||||||
|
|
||||||
|
// echo $e->errors();
|
||||||
|
// $errors = $e->getErrors();
|
||||||
|
|
||||||
|
// echo $e->getMessage().PHP_EOL;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// $this->assertIsArray($array);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
131
tests/Integration/Einvoice/samples/fatturapa1.xml
Normal file
131
tests/Integration/Einvoice/samples/fatturapa1.xml
Normal file
@ -0,0 +1,131 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<p:FatturaElettronica versione="FPA12" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
|
||||||
|
xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2 http://www.fatturapa.gov.it/export/fatturazione/sdi/fatturapa/v1.2/Schema_del_file_xml_FatturaPA_versione_1.2.xsd">
|
||||||
|
<FatturaElettronicaHeader>
|
||||||
|
<DatiTrasmissione>
|
||||||
|
<IdTrasmittente>
|
||||||
|
<IdPaese>IT</IdPaese>
|
||||||
|
<IdCodice>01234567890</IdCodice>
|
||||||
|
</IdTrasmittente>
|
||||||
|
<ProgressivoInvio>00001</ProgressivoInvio>
|
||||||
|
<FormatoTrasmissione>FPA12</FormatoTrasmissione>
|
||||||
|
<CodiceDestinatario>AAAAAA</CodiceDestinatario>
|
||||||
|
</DatiTrasmissione>
|
||||||
|
<CedentePrestatore>
|
||||||
|
<DatiAnagrafici>
|
||||||
|
<IdFiscaleIVA>
|
||||||
|
<IdPaese>IT</IdPaese>
|
||||||
|
<IdCodice>01234567890</IdCodice>
|
||||||
|
</IdFiscaleIVA>
|
||||||
|
<Anagrafica>
|
||||||
|
<Denominazione>ALPHA SRL</Denominazione>
|
||||||
|
</Anagrafica>
|
||||||
|
<RegimeFiscale>RF19</RegimeFiscale>
|
||||||
|
</DatiAnagrafici>
|
||||||
|
<Sede>
|
||||||
|
<Indirizzo>VIALE ROMA 543</Indirizzo>
|
||||||
|
<CAP>07100</CAP>
|
||||||
|
<Comune>SASSARI</Comune>
|
||||||
|
<Provincia>SS</Provincia>
|
||||||
|
<Nazione>IT</Nazione>
|
||||||
|
</Sede>
|
||||||
|
</CedentePrestatore>
|
||||||
|
<CessionarioCommittente>
|
||||||
|
<DatiAnagrafici>
|
||||||
|
<CodiceFiscale>09876543210</CodiceFiscale>
|
||||||
|
<Anagrafica>
|
||||||
|
<Denominazione>AMMINISTRAZIONE BETA</Denominazione>
|
||||||
|
</Anagrafica>
|
||||||
|
</DatiAnagrafici>
|
||||||
|
<Sede>
|
||||||
|
<Indirizzo>VIA TORINO 38-B</Indirizzo>
|
||||||
|
<CAP>00145</CAP>
|
||||||
|
<Comune>ROMA</Comune>
|
||||||
|
<Provincia>RM</Provincia>
|
||||||
|
<Nazione>IT</Nazione>
|
||||||
|
</Sede>
|
||||||
|
</CessionarioCommittente>
|
||||||
|
</FatturaElettronicaHeader>
|
||||||
|
<FatturaElettronicaBody>
|
||||||
|
<DatiGenerali>
|
||||||
|
<DatiGeneraliDocumento>
|
||||||
|
<TipoDocumento>TD01</TipoDocumento>
|
||||||
|
<Divisa>EUR</Divisa>
|
||||||
|
<Data>2017-01-18</Data>
|
||||||
|
<Numero>123</Numero>
|
||||||
|
<Causale>LA FATTURA FA RIFERIMENTO AD UNA OPERAZIONE AAAA BBBBBBBBBBBBBBBBBB CCC
|
||||||
|
DDDDDDDDDDDDDDD E FFFFFFFFFFFFFFFFFFFF GGGGGGGGGG HHHHHHH II LLLLLLLLLLLLLLLLL
|
||||||
|
MMM NNNNN OO PPPPPPPPPPP QQQQ RRRR SSSSSSSSSSSSSS</Causale>
|
||||||
|
<Causale>SEGUE DESCRIZIONE CAUSALE NEL CASO IN CUI NON SIANO STATI SUFFICIENTI 200
|
||||||
|
CARATTERI AAAAAAAAAAA BBBBBBBBBBBBBBBBB</Causale>
|
||||||
|
</DatiGeneraliDocumento>
|
||||||
|
<DatiOrdineAcquisto>
|
||||||
|
<RiferimentoNumeroLinea>1</RiferimentoNumeroLinea>
|
||||||
|
<IdDocumento>66685</IdDocumento>
|
||||||
|
<NumItem>1</NumItem>
|
||||||
|
<CodiceCUP>123abc</CodiceCUP>
|
||||||
|
<CodiceCIG>456def</CodiceCIG>
|
||||||
|
</DatiOrdineAcquisto>
|
||||||
|
<DatiContratto>
|
||||||
|
<RiferimentoNumeroLinea>1</RiferimentoNumeroLinea>
|
||||||
|
<IdDocumento>123</IdDocumento>
|
||||||
|
<Data>2016-09-01</Data>
|
||||||
|
<NumItem>5</NumItem>
|
||||||
|
<CodiceCUP>123abc</CodiceCUP>
|
||||||
|
<CodiceCIG>456def</CodiceCIG>
|
||||||
|
</DatiContratto>
|
||||||
|
<DatiConvenzione>
|
||||||
|
<RiferimentoNumeroLinea>1</RiferimentoNumeroLinea>
|
||||||
|
<IdDocumento>456</IdDocumento>
|
||||||
|
<NumItem>5</NumItem>
|
||||||
|
<CodiceCUP>123abc</CodiceCUP>
|
||||||
|
<CodiceCIG>456def</CodiceCIG>
|
||||||
|
</DatiConvenzione>
|
||||||
|
<DatiRicezione>
|
||||||
|
<RiferimentoNumeroLinea>1</RiferimentoNumeroLinea>
|
||||||
|
<IdDocumento>789</IdDocumento>
|
||||||
|
<NumItem>5</NumItem>
|
||||||
|
<CodiceCUP>123abc</CodiceCUP>
|
||||||
|
<CodiceCIG>456def</CodiceCIG>
|
||||||
|
</DatiRicezione>
|
||||||
|
<DatiTrasporto>
|
||||||
|
<DatiAnagraficiVettore>
|
||||||
|
<IdFiscaleIVA>
|
||||||
|
<IdPaese>IT</IdPaese>
|
||||||
|
<IdCodice>24681012141</IdCodice>
|
||||||
|
</IdFiscaleIVA>
|
||||||
|
<Anagrafica>
|
||||||
|
<Denominazione>Trasporto spa</Denominazione>
|
||||||
|
</Anagrafica>
|
||||||
|
</DatiAnagraficiVettore>
|
||||||
|
<DataOraConsegna>2017-01-10T16:46:12.000+02:00</DataOraConsegna>
|
||||||
|
</DatiTrasporto>
|
||||||
|
</DatiGenerali>
|
||||||
|
<DatiBeniServizi>
|
||||||
|
<DettaglioLinee>
|
||||||
|
<NumeroLinea>1</NumeroLinea>
|
||||||
|
<Descrizione>DESCRIZIONE DELLA FORNITURA</Descrizione>
|
||||||
|
<Quantita>5.00</Quantita>
|
||||||
|
<PrezzoUnitario>1.00</PrezzoUnitario>
|
||||||
|
<PrezzoTotale>5.00</PrezzoTotale>
|
||||||
|
<AliquotaIVA>22.00</AliquotaIVA>
|
||||||
|
</DettaglioLinee>
|
||||||
|
<DatiRiepilogo>
|
||||||
|
<AliquotaIVA>22.00</AliquotaIVA>
|
||||||
|
<ImponibileImporto>5.00</ImponibileImporto>
|
||||||
|
<Imposta>1.10</Imposta>
|
||||||
|
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||||
|
</DatiRiepilogo>
|
||||||
|
</DatiBeniServizi>
|
||||||
|
<DatiPagamento>
|
||||||
|
<CondizioniPagamento>TP01</CondizioniPagamento>
|
||||||
|
<DettaglioPagamento>
|
||||||
|
<ModalitaPagamento>MP01</ModalitaPagamento>
|
||||||
|
<DataScadenzaPagamento>2017-02-18</DataScadenzaPagamento>
|
||||||
|
<ImportoPagamento>6.10</ImportoPagamento>
|
||||||
|
</DettaglioPagamento>
|
||||||
|
</DatiPagamento>
|
||||||
|
</FatturaElettronicaBody>
|
||||||
|
</p:FatturaElettronica>
|
141
tests/Integration/Einvoice/samples/fatturapa2.xml
Normal file
141
tests/Integration/Einvoice/samples/fatturapa2.xml
Normal file
@ -0,0 +1,141 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<p:FatturaElettronica versione="FPA12" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
|
||||||
|
xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2 http://www.fatturapa.gov.it/export/fatturazione/sdi/fatturapa/v1.2/Schema_del_file_xml_FatturaPA_versione_1.2.xsd">
|
||||||
|
<FatturaElettronicaHeader>
|
||||||
|
<DatiTrasmissione>
|
||||||
|
<IdTrasmittente>
|
||||||
|
<IdPaese>IT</IdPaese>
|
||||||
|
<IdCodice>01234567890</IdCodice>
|
||||||
|
</IdTrasmittente>
|
||||||
|
<ProgressivoInvio>00001</ProgressivoInvio>
|
||||||
|
<FormatoTrasmissione>FPA12</FormatoTrasmissione>
|
||||||
|
<CodiceDestinatario>AAAAAA</CodiceDestinatario>
|
||||||
|
</DatiTrasmissione>
|
||||||
|
<CedentePrestatore>
|
||||||
|
<DatiAnagrafici>
|
||||||
|
<IdFiscaleIVA>
|
||||||
|
<IdPaese>IT</IdPaese>
|
||||||
|
<IdCodice>01234567890</IdCodice>
|
||||||
|
</IdFiscaleIVA>
|
||||||
|
<Anagrafica>
|
||||||
|
<Denominazione>ALPHA SRL</Denominazione>
|
||||||
|
</Anagrafica>
|
||||||
|
<RegimeFiscale>RF01</RegimeFiscale>
|
||||||
|
</DatiAnagrafici>
|
||||||
|
<Sede>
|
||||||
|
<Indirizzo>VIALE ROMA 543</Indirizzo>
|
||||||
|
<CAP>07100</CAP>
|
||||||
|
<Comune>SASSARI</Comune>
|
||||||
|
<Provincia>SS</Provincia>
|
||||||
|
<Nazione>IT</Nazione>
|
||||||
|
</Sede>
|
||||||
|
</CedentePrestatore>
|
||||||
|
<CessionarioCommittente>
|
||||||
|
<DatiAnagrafici>
|
||||||
|
<CodiceFiscale>09876543210</CodiceFiscale>
|
||||||
|
<Anagrafica>
|
||||||
|
<Denominazione>AMMINISTRAZIONE BETA</Denominazione>
|
||||||
|
</Anagrafica>
|
||||||
|
</DatiAnagrafici>
|
||||||
|
<Sede>
|
||||||
|
<Indirizzo>VIA TORINO 38-B</Indirizzo>
|
||||||
|
<CAP>00145</CAP>
|
||||||
|
<Comune>ROMA</Comune>
|
||||||
|
<Provincia>RM</Provincia>
|
||||||
|
<Nazione>IT</Nazione>
|
||||||
|
</Sede>
|
||||||
|
</CessionarioCommittente>
|
||||||
|
</FatturaElettronicaHeader>
|
||||||
|
<FatturaElettronicaBody>
|
||||||
|
<DatiGenerali>
|
||||||
|
<DatiGeneraliDocumento>
|
||||||
|
<TipoDocumento>TD01</TipoDocumento>
|
||||||
|
<Divisa>EUR</Divisa>
|
||||||
|
<Data>2017-01-18</Data>
|
||||||
|
<Numero>123</Numero>
|
||||||
|
<Causale>LA FATTURA FA RIFERIMENTO AD UNA OPERAZIONE AAAA BBBBBBBBBBBBBBBBBB CCC
|
||||||
|
DDDDDDDDDDDDDDD E FFFFFFFFFFFFFFFFFFFF GGGGGGGGGG HHHHHHH II LLLLLLLLLLLLLLLLL
|
||||||
|
MMM NNNNN OO PPPPPPPPPPP QQQQ RRRR SSSSSSSSSSSSSS</Causale>
|
||||||
|
<Causale>SEGUE DESCRIZIONE CAUSALE NEL CASO IN CUI NON SIANO STATI SUFFICIENTI 200
|
||||||
|
CARATTERI AAAAAAAAAAA BBBBBBBBBBBBBBBBB</Causale>
|
||||||
|
</DatiGeneraliDocumento>
|
||||||
|
<DatiOrdineAcquisto>
|
||||||
|
<RiferimentoNumeroLinea>1</RiferimentoNumeroLinea>
|
||||||
|
<IdDocumento>66685</IdDocumento>
|
||||||
|
<NumItem>1</NumItem>
|
||||||
|
<CodiceCUP>123abc</CodiceCUP>
|
||||||
|
<CodiceCIG>456def</CodiceCIG>
|
||||||
|
</DatiOrdineAcquisto>
|
||||||
|
<DatiContratto>
|
||||||
|
<RiferimentoNumeroLinea>1</RiferimentoNumeroLinea>
|
||||||
|
<IdDocumento>123</IdDocumento>
|
||||||
|
<Data>2016-09-01</Data>
|
||||||
|
<NumItem>5</NumItem>
|
||||||
|
<CodiceCUP>123abc</CodiceCUP>
|
||||||
|
<CodiceCIG>456def</CodiceCIG>
|
||||||
|
</DatiContratto>
|
||||||
|
<DatiConvenzione>
|
||||||
|
<RiferimentoNumeroLinea>1</RiferimentoNumeroLinea>
|
||||||
|
<IdDocumento>456</IdDocumento>
|
||||||
|
<NumItem>5</NumItem>
|
||||||
|
<CodiceCUP>123abc</CodiceCUP>
|
||||||
|
<CodiceCIG>456def</CodiceCIG>
|
||||||
|
</DatiConvenzione>
|
||||||
|
<DatiRicezione>
|
||||||
|
<RiferimentoNumeroLinea>1</RiferimentoNumeroLinea>
|
||||||
|
<IdDocumento>789</IdDocumento>
|
||||||
|
<NumItem>5</NumItem>
|
||||||
|
<CodiceCUP>123abc</CodiceCUP>
|
||||||
|
<CodiceCIG>456def</CodiceCIG>
|
||||||
|
</DatiRicezione>
|
||||||
|
<DatiTrasporto>
|
||||||
|
<DatiAnagraficiVettore>
|
||||||
|
<IdFiscaleIVA>
|
||||||
|
<IdPaese>IT</IdPaese>
|
||||||
|
<IdCodice>24681012141</IdCodice>
|
||||||
|
</IdFiscaleIVA>
|
||||||
|
<Anagrafica>
|
||||||
|
<Denominazione>Trasporto spa</Denominazione>
|
||||||
|
</Anagrafica>
|
||||||
|
</DatiAnagraficiVettore>
|
||||||
|
<DataOraConsegna>2017-01-10T16:46:12.000+02:00</DataOraConsegna>
|
||||||
|
</DatiTrasporto>
|
||||||
|
</DatiGenerali>
|
||||||
|
<DatiBeniServizi>
|
||||||
|
<DettaglioLinee>
|
||||||
|
<NumeroLinea>1</NumeroLinea>
|
||||||
|
<Descrizione>LA DESCRIZIONE DELLA FORNITURA PUO' SUPERARE I CENTO CARATTERI CHE
|
||||||
|
RAPPRESENTAVANO IL PRECEDENTE LIMITE DIMENSIONALE. TALE LIMITE NELLA NUOVA
|
||||||
|
VERSIONE E' STATO PORTATO A MILLE CARATTERI</Descrizione>
|
||||||
|
<Quantita>5.00</Quantita>
|
||||||
|
<PrezzoUnitario>1.00</PrezzoUnitario>
|
||||||
|
<PrezzoTotale>5.00</PrezzoTotale>
|
||||||
|
<AliquotaIVA>22.00</AliquotaIVA>
|
||||||
|
</DettaglioLinee>
|
||||||
|
<DettaglioLinee>
|
||||||
|
<NumeroLinea>2</NumeroLinea>
|
||||||
|
<Descrizione>FORNITURE VARIE PER UFFICIO</Descrizione>
|
||||||
|
<Quantita>10.00</Quantita>
|
||||||
|
<PrezzoUnitario>2.00</PrezzoUnitario>
|
||||||
|
<PrezzoTotale>20.00</PrezzoTotale>
|
||||||
|
<AliquotaIVA>22.00</AliquotaIVA>
|
||||||
|
</DettaglioLinee>
|
||||||
|
<DatiRiepilogo>
|
||||||
|
<AliquotaIVA>22.00</AliquotaIVA>
|
||||||
|
<ImponibileImporto>25.00</ImponibileImporto>
|
||||||
|
<Imposta>5.50</Imposta>
|
||||||
|
<EsigibilitaIVA>D</EsigibilitaIVA>
|
||||||
|
</DatiRiepilogo>
|
||||||
|
</DatiBeniServizi>
|
||||||
|
<DatiPagamento>
|
||||||
|
<CondizioniPagamento>TP01</CondizioniPagamento>
|
||||||
|
<DettaglioPagamento>
|
||||||
|
<ModalitaPagamento>MP01</ModalitaPagamento>
|
||||||
|
<DataScadenzaPagamento>2017-03-30</DataScadenzaPagamento>
|
||||||
|
<ImportoPagamento>30.50</ImportoPagamento>
|
||||||
|
</DettaglioPagamento>
|
||||||
|
</DatiPagamento>
|
||||||
|
</FatturaElettronicaBody>
|
||||||
|
</p:FatturaElettronica>
|
211
tests/Integration/Einvoice/samples/fatturapa3.xml
Normal file
211
tests/Integration/Einvoice/samples/fatturapa3.xml
Normal file
@ -0,0 +1,211 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<p:FatturaElettronica versione="FPA12" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
|
||||||
|
xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2 http://www.fatturapa.gov.it/export/fatturazione/sdi/fatturapa/v1.2/Schema_del_file_xml_FatturaPA_versione_1.2.xsd">
|
||||||
|
<FatturaElettronicaHeader>
|
||||||
|
<DatiTrasmissione>
|
||||||
|
<IdTrasmittente>
|
||||||
|
<IdPaese>IT</IdPaese>
|
||||||
|
<IdCodice>01234567890</IdCodice>
|
||||||
|
</IdTrasmittente>
|
||||||
|
<ProgressivoInvio>00001</ProgressivoInvio>
|
||||||
|
<FormatoTrasmissione>FPA12</FormatoTrasmissione>
|
||||||
|
<CodiceDestinatario>AAAAAA</CodiceDestinatario>
|
||||||
|
</DatiTrasmissione>
|
||||||
|
<CedentePrestatore>
|
||||||
|
<DatiAnagrafici>
|
||||||
|
<IdFiscaleIVA>
|
||||||
|
<IdPaese>IT</IdPaese>
|
||||||
|
<IdCodice>01234567890</IdCodice>
|
||||||
|
</IdFiscaleIVA>
|
||||||
|
<Anagrafica>
|
||||||
|
<Denominazione>ALPHA SRL</Denominazione>
|
||||||
|
</Anagrafica>
|
||||||
|
<RegimeFiscale>RF01</RegimeFiscale>
|
||||||
|
</DatiAnagrafici>
|
||||||
|
<Sede>
|
||||||
|
<Indirizzo>VIALE ROMA 543</Indirizzo>
|
||||||
|
<CAP>07100</CAP>
|
||||||
|
<Comune>SASSARI</Comune>
|
||||||
|
<Provincia>SS</Provincia>
|
||||||
|
<Nazione>IT</Nazione>
|
||||||
|
</Sede>
|
||||||
|
</CedentePrestatore>
|
||||||
|
<CessionarioCommittente>
|
||||||
|
<DatiAnagrafici>
|
||||||
|
<CodiceFiscale>09876543210</CodiceFiscale>
|
||||||
|
<Anagrafica>
|
||||||
|
<Denominazione>AMMINISTRAZIONE BETA</Denominazione>
|
||||||
|
</Anagrafica>
|
||||||
|
</DatiAnagrafici>
|
||||||
|
<Sede>
|
||||||
|
<Indirizzo>VIA TORINO 38-B</Indirizzo>
|
||||||
|
<CAP>00145</CAP>
|
||||||
|
<Comune>ROMA</Comune>
|
||||||
|
<Provincia>RM</Provincia>
|
||||||
|
<Nazione>IT</Nazione>
|
||||||
|
</Sede>
|
||||||
|
</CessionarioCommittente>
|
||||||
|
</FatturaElettronicaHeader>
|
||||||
|
<FatturaElettronicaBody>
|
||||||
|
<DatiGenerali>
|
||||||
|
<DatiGeneraliDocumento>
|
||||||
|
<TipoDocumento>TD01</TipoDocumento>
|
||||||
|
<Divisa>EUR</Divisa>
|
||||||
|
<Data>2017-01-18</Data>
|
||||||
|
<Numero>12</Numero>
|
||||||
|
<Causale>LA FATTURA FA RIFERIMENTO AD UNA OPERAZIONE AAAA BBBBBBBBBBBBBBBBBB CCC
|
||||||
|
DDDDDDDDDDDDDDD E FFFFFFFFFFFFFFFFFFFF GGGGGGGGGG HHHHHHH II LLLLLLLLLLLLLLLLL
|
||||||
|
MMM NNNNN OO PPPPPPPPPPP QQQQ RRRR SSSSSSSSSSSSSS</Causale>
|
||||||
|
<Causale>SEGUE DESCRIZIONE CAUSALE NEL CASO IN CUI NON SIANO STATI SUFFICIENTI 200
|
||||||
|
CARATTERI AAAAAAAAAAA BBBBBBBBBBBBBBBBB</Causale>
|
||||||
|
</DatiGeneraliDocumento>
|
||||||
|
<DatiOrdineAcquisto>
|
||||||
|
<RiferimentoNumeroLinea>1</RiferimentoNumeroLinea>
|
||||||
|
<IdDocumento>66685</IdDocumento>
|
||||||
|
<NumItem>1</NumItem>
|
||||||
|
<CodiceCUP>123abc</CodiceCUP>
|
||||||
|
<CodiceCIG>456def</CodiceCIG>
|
||||||
|
</DatiOrdineAcquisto>
|
||||||
|
<DatiContratto>
|
||||||
|
<RiferimentoNumeroLinea>1</RiferimentoNumeroLinea>
|
||||||
|
<IdDocumento>123</IdDocumento>
|
||||||
|
<Data>2012-09-01</Data>
|
||||||
|
<NumItem>5</NumItem>
|
||||||
|
<CodiceCUP>123abc</CodiceCUP>
|
||||||
|
<CodiceCIG>456def</CodiceCIG>
|
||||||
|
</DatiContratto>
|
||||||
|
<DatiConvenzione>
|
||||||
|
<RiferimentoNumeroLinea>1</RiferimentoNumeroLinea>
|
||||||
|
<IdDocumento>456</IdDocumento>
|
||||||
|
<NumItem>5</NumItem>
|
||||||
|
<CodiceCUP>123abc</CodiceCUP>
|
||||||
|
<CodiceCIG>456def</CodiceCIG>
|
||||||
|
</DatiConvenzione>
|
||||||
|
<DatiRicezione>
|
||||||
|
<RiferimentoNumeroLinea>1</RiferimentoNumeroLinea>
|
||||||
|
<IdDocumento>789</IdDocumento>
|
||||||
|
<NumItem>5</NumItem>
|
||||||
|
<CodiceCUP>123abc</CodiceCUP>
|
||||||
|
<CodiceCIG>456def</CodiceCIG>
|
||||||
|
</DatiRicezione>
|
||||||
|
<DatiTrasporto>
|
||||||
|
<DatiAnagraficiVettore>
|
||||||
|
<IdFiscaleIVA>
|
||||||
|
<IdPaese>IT</IdPaese>
|
||||||
|
<IdCodice>24681012141</IdCodice>
|
||||||
|
</IdFiscaleIVA>
|
||||||
|
<Anagrafica>
|
||||||
|
<Denominazione>Trasporto spa</Denominazione>
|
||||||
|
</Anagrafica>
|
||||||
|
</DatiAnagraficiVettore>
|
||||||
|
<DataOraConsegna>2017-01-10T16:46:12.000+02:00</DataOraConsegna>
|
||||||
|
</DatiTrasporto>
|
||||||
|
</DatiGenerali>
|
||||||
|
<DatiBeniServizi>
|
||||||
|
<DettaglioLinee>
|
||||||
|
<NumeroLinea>1</NumeroLinea>
|
||||||
|
<Descrizione>LA DESCRIZIONE DELLA FORNITURA PUO' SUPERARE I CENTO CARATTERI CHE
|
||||||
|
RAPPRESENTAVANO IL PRECEDENTE LIMITE DIMENSIONALE. TALE LIMITE NELLA NUOVA
|
||||||
|
VERSIONE E' STATO PORTATO A MILLE CARATTERI</Descrizione>
|
||||||
|
<Quantita>5.00</Quantita>
|
||||||
|
<PrezzoUnitario>1.00</PrezzoUnitario>
|
||||||
|
<PrezzoTotale>5.00</PrezzoTotale>
|
||||||
|
<AliquotaIVA>22.00</AliquotaIVA>
|
||||||
|
</DettaglioLinee>
|
||||||
|
<DettaglioLinee>
|
||||||
|
<NumeroLinea>2</NumeroLinea>
|
||||||
|
<Descrizione>FORNITURE VARIE PER UFFICIO</Descrizione>
|
||||||
|
<Quantita>10.00</Quantita>
|
||||||
|
<PrezzoUnitario>2.00</PrezzoUnitario>
|
||||||
|
<PrezzoTotale>20.00</PrezzoTotale>
|
||||||
|
<AliquotaIVA>22.00</AliquotaIVA>
|
||||||
|
</DettaglioLinee>
|
||||||
|
<DatiRiepilogo>
|
||||||
|
<AliquotaIVA>22.00</AliquotaIVA>
|
||||||
|
<ImponibileImporto>25.00</ImponibileImporto>
|
||||||
|
<Imposta>5.50</Imposta>
|
||||||
|
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||||
|
</DatiRiepilogo>
|
||||||
|
</DatiBeniServizi>
|
||||||
|
<DatiPagamento>
|
||||||
|
<CondizioniPagamento>TP01</CondizioniPagamento>
|
||||||
|
<DettaglioPagamento>
|
||||||
|
<ModalitaPagamento>MP01</ModalitaPagamento>
|
||||||
|
<DataScadenzaPagamento>2017-02-18</DataScadenzaPagamento>
|
||||||
|
<ImportoPagamento>30.50</ImportoPagamento>
|
||||||
|
</DettaglioPagamento>
|
||||||
|
</DatiPagamento>
|
||||||
|
</FatturaElettronicaBody>
|
||||||
|
<FatturaElettronicaBody>
|
||||||
|
<DatiGenerali>
|
||||||
|
<DatiGeneraliDocumento>
|
||||||
|
<TipoDocumento>TD01</TipoDocumento>
|
||||||
|
<Divisa>EUR</Divisa>
|
||||||
|
<Data>2017-01-20</Data>
|
||||||
|
<Numero>456</Numero>
|
||||||
|
<Causale>LA FATTURA FA RIFERIMENTO AD UNA OPERAZIONE AAAA BBBBBBBBBBBBBBBBBB CCC
|
||||||
|
DDDDDDDDDDDDDDD E FFFFFFFFFFFFFFFFFFFF GGGGGGGGGG HHHHHHH II LLLLLLLLLLLLLLLLL
|
||||||
|
MMM NNNNN OO PPPPPPPPPPP QQQQ RRRR SSSSSSSSSSSSSS</Causale>
|
||||||
|
<Causale>SEGUE DESCRIZIONE CAUSALE NEL CASO IN CUI NON SIANO STATI SUFFICIENTI 200
|
||||||
|
CARATTERI AAAAAAAAAAA BBBBBBBBBBBBBBBBB</Causale>
|
||||||
|
</DatiGeneraliDocumento>
|
||||||
|
<DatiOrdineAcquisto>
|
||||||
|
<RiferimentoNumeroLinea>1</RiferimentoNumeroLinea>
|
||||||
|
<IdDocumento>85666</IdDocumento>
|
||||||
|
<NumItem>1</NumItem>
|
||||||
|
<CodiceCUP>123abc</CodiceCUP>
|
||||||
|
<CodiceCIG>456def</CodiceCIG>
|
||||||
|
</DatiOrdineAcquisto>
|
||||||
|
<DatiContratto>
|
||||||
|
<RiferimentoNumeroLinea>1</RiferimentoNumeroLinea>
|
||||||
|
<IdDocumento>321</IdDocumento>
|
||||||
|
<Data>2016-09-01</Data>
|
||||||
|
<NumItem>5</NumItem>
|
||||||
|
<CodiceCUP>123abc</CodiceCUP>
|
||||||
|
<CodiceCIG>456def</CodiceCIG>
|
||||||
|
</DatiContratto>
|
||||||
|
<DatiConvenzione>
|
||||||
|
<RiferimentoNumeroLinea>1</RiferimentoNumeroLinea>
|
||||||
|
<IdDocumento>654</IdDocumento>
|
||||||
|
<NumItem>5</NumItem>
|
||||||
|
<CodiceCUP>123abc</CodiceCUP>
|
||||||
|
<CodiceCIG>456def</CodiceCIG>
|
||||||
|
</DatiConvenzione>
|
||||||
|
<DatiRicezione>
|
||||||
|
<RiferimentoNumeroLinea>1</RiferimentoNumeroLinea>
|
||||||
|
<IdDocumento>987</IdDocumento>
|
||||||
|
<NumItem>5</NumItem>
|
||||||
|
<CodiceCUP>123abc</CodiceCUP>
|
||||||
|
<CodiceCIG>456def</CodiceCIG>
|
||||||
|
</DatiRicezione>
|
||||||
|
</DatiGenerali>
|
||||||
|
<DatiBeniServizi>
|
||||||
|
<DettaglioLinee>
|
||||||
|
<NumeroLinea>1</NumeroLinea>
|
||||||
|
<Descrizione>PRESTAZIONE DEL SEGUENTE SERVIZIO PROFESSIONALE: LA DESCRIZIONE DELLA
|
||||||
|
PRESTAZIONE PUO' SUPERARE I CENTO CARATTERI CHE RAPPRESENTAVANO IL PRECEDENTE
|
||||||
|
LIMITE DIMENSIONALE. TALE LIMITE NELLA NUOVA VERSIONE E' STATO PORTATO A MILLE
|
||||||
|
CARATTERI</Descrizione>
|
||||||
|
<PrezzoUnitario>2000.00</PrezzoUnitario>
|
||||||
|
<PrezzoTotale>2000.00</PrezzoTotale>
|
||||||
|
<AliquotaIVA>22.00</AliquotaIVA>
|
||||||
|
</DettaglioLinee>
|
||||||
|
<DatiRiepilogo>
|
||||||
|
<AliquotaIVA>22.00</AliquotaIVA>
|
||||||
|
<ImponibileImporto>2000.00</ImponibileImporto>
|
||||||
|
<Imposta>440.00</Imposta>
|
||||||
|
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||||
|
</DatiRiepilogo>
|
||||||
|
</DatiBeniServizi>
|
||||||
|
<DatiPagamento>
|
||||||
|
<CondizioniPagamento>TP01</CondizioniPagamento>
|
||||||
|
<DettaglioPagamento>
|
||||||
|
<ModalitaPagamento>MP19</ModalitaPagamento>
|
||||||
|
<DataScadenzaPagamento>2017-02-20</DataScadenzaPagamento>
|
||||||
|
<ImportoPagamento>2440.00</ImportoPagamento>
|
||||||
|
</DettaglioPagamento>
|
||||||
|
</DatiPagamento>
|
||||||
|
</FatturaElettronicaBody>
|
||||||
|
</p:FatturaElettronica>
|
116
tests/Integration/Einvoice/samples/fatturapa4.xml
Normal file
116
tests/Integration/Einvoice/samples/fatturapa4.xml
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<p:FatturaElettronica versione="FPR12" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
|
||||||
|
xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2 http://www.fatturapa.gov.it/export/fatturazione/sdi/fatturapa/v1.2/Schema_del_file_xml_FatturaPA_versione_1.2.xsd">
|
||||||
|
<FatturaElettronicaHeader>
|
||||||
|
<DatiTrasmissione>
|
||||||
|
<IdTrasmittente>
|
||||||
|
<IdPaese>IT</IdPaese>
|
||||||
|
<IdCodice>01234567890</IdCodice>
|
||||||
|
</IdTrasmittente>
|
||||||
|
<ProgressivoInvio>00001</ProgressivoInvio>
|
||||||
|
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||||
|
<CodiceDestinatario>ABC1234</CodiceDestinatario>
|
||||||
|
<ContattiTrasmittente />
|
||||||
|
</DatiTrasmissione>
|
||||||
|
<CedentePrestatore>
|
||||||
|
<DatiAnagrafici>
|
||||||
|
<IdFiscaleIVA>
|
||||||
|
<IdPaese>IT</IdPaese>
|
||||||
|
<IdCodice>01234567890</IdCodice>
|
||||||
|
</IdFiscaleIVA>
|
||||||
|
<Anagrafica>
|
||||||
|
<Denominazione>SOCIETA' ALPHA SRL</Denominazione>
|
||||||
|
</Anagrafica>
|
||||||
|
<RegimeFiscale>RF19</RegimeFiscale>
|
||||||
|
</DatiAnagrafici>
|
||||||
|
<Sede>
|
||||||
|
<Indirizzo>VIALE ROMA 543</Indirizzo>
|
||||||
|
<CAP>07100</CAP>
|
||||||
|
<Comune>SASSARI</Comune>
|
||||||
|
<Provincia>SS</Provincia>
|
||||||
|
<Nazione>IT</Nazione>
|
||||||
|
</Sede>
|
||||||
|
</CedentePrestatore>
|
||||||
|
<CessionarioCommittente>
|
||||||
|
<DatiAnagrafici>
|
||||||
|
<CodiceFiscale>09876543210</CodiceFiscale>
|
||||||
|
<Anagrafica>
|
||||||
|
<Denominazione>DITTA BETA</Denominazione>
|
||||||
|
</Anagrafica>
|
||||||
|
</DatiAnagrafici>
|
||||||
|
<Sede>
|
||||||
|
<Indirizzo>VIA TORINO 38-B</Indirizzo>
|
||||||
|
<CAP>00145</CAP>
|
||||||
|
<Comune>ROMA</Comune>
|
||||||
|
<Provincia>RM</Provincia>
|
||||||
|
<Nazione>IT</Nazione>
|
||||||
|
</Sede>
|
||||||
|
</CessionarioCommittente>
|
||||||
|
</FatturaElettronicaHeader>
|
||||||
|
<FatturaElettronicaBody>
|
||||||
|
<DatiGenerali>
|
||||||
|
<DatiGeneraliDocumento>
|
||||||
|
<TipoDocumento>TD01</TipoDocumento>
|
||||||
|
<Divisa>EUR</Divisa>
|
||||||
|
<Data>2014-12-18</Data>
|
||||||
|
<Numero>123</Numero>
|
||||||
|
<Causale>LA FATTURA FA RIFERIMENTO AD UNA OPERAZIONE AAAA BBBBBBBBBBBBBBBBBB CCC
|
||||||
|
DDDDDDDDDDDDDDD E FFFFFFFFFFFFFFFFFFFF GGGGGGGGGG HHHHHHH II LLLLLLLLLLLLLLLLL
|
||||||
|
MMM NNNNN OO PPPPPPPPPPP QQQQ RRRR SSSSSSSSSSSSSS</Causale>
|
||||||
|
<Causale>SEGUE DESCRIZIONE CAUSALE NEL CASO IN CUI NON SIANO STATI SUFFICIENTI 200
|
||||||
|
CARATTERI AAAAAAAAAAA BBBBBBBBBBBBBBBBB</Causale>
|
||||||
|
</DatiGeneraliDocumento>
|
||||||
|
<DatiOrdineAcquisto>
|
||||||
|
<RiferimentoNumeroLinea>1</RiferimentoNumeroLinea>
|
||||||
|
<IdDocumento>66685</IdDocumento>
|
||||||
|
<NumItem>1</NumItem>
|
||||||
|
</DatiOrdineAcquisto>
|
||||||
|
<DatiContratto>
|
||||||
|
<RiferimentoNumeroLinea>1</RiferimentoNumeroLinea>
|
||||||
|
<IdDocumento>123</IdDocumento>
|
||||||
|
<Data>2012-09-01</Data>
|
||||||
|
<NumItem>5</NumItem>
|
||||||
|
<CodiceCUP>123abc</CodiceCUP>
|
||||||
|
<CodiceCIG>456def</CodiceCIG>
|
||||||
|
</DatiContratto>
|
||||||
|
<DatiTrasporto>
|
||||||
|
<DatiAnagraficiVettore>
|
||||||
|
<IdFiscaleIVA>
|
||||||
|
<IdPaese>IT</IdPaese>
|
||||||
|
<IdCodice>24681012141</IdCodice>
|
||||||
|
</IdFiscaleIVA>
|
||||||
|
<Anagrafica>
|
||||||
|
<Denominazione>Trasporto spa</Denominazione>
|
||||||
|
</Anagrafica>
|
||||||
|
</DatiAnagraficiVettore>
|
||||||
|
<DataOraConsegna>2012-10-22T16:46:12.000+02:00</DataOraConsegna>
|
||||||
|
</DatiTrasporto>
|
||||||
|
</DatiGenerali>
|
||||||
|
<DatiBeniServizi>
|
||||||
|
<DettaglioLinee>
|
||||||
|
<NumeroLinea>1</NumeroLinea>
|
||||||
|
<Descrizione>DESCRIZIONE DELLA FORNITURA</Descrizione>
|
||||||
|
<Quantita>5.00</Quantita>
|
||||||
|
<PrezzoUnitario>1.00</PrezzoUnitario>
|
||||||
|
<PrezzoTotale>5.00</PrezzoTotale>
|
||||||
|
<AliquotaIVA>22.00</AliquotaIVA>
|
||||||
|
</DettaglioLinee>
|
||||||
|
<DatiRiepilogo>
|
||||||
|
<AliquotaIVA>22.00</AliquotaIVA>
|
||||||
|
<ImponibileImporto>5.00</ImponibileImporto>
|
||||||
|
<Imposta>1.10</Imposta>
|
||||||
|
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||||
|
</DatiRiepilogo>
|
||||||
|
</DatiBeniServizi>
|
||||||
|
<DatiPagamento>
|
||||||
|
<CondizioniPagamento>TP01</CondizioniPagamento>
|
||||||
|
<DettaglioPagamento>
|
||||||
|
<ModalitaPagamento>MP01</ModalitaPagamento>
|
||||||
|
<DataScadenzaPagamento>2015-01-30</DataScadenzaPagamento>
|
||||||
|
<ImportoPagamento>6.10</ImportoPagamento>
|
||||||
|
</DettaglioPagamento>
|
||||||
|
</DatiPagamento>
|
||||||
|
</FatturaElettronicaBody>
|
||||||
|
</p:FatturaElettronica>
|
114
tests/Integration/Einvoice/samples/fatturapa5.xml
Normal file
114
tests/Integration/Einvoice/samples/fatturapa5.xml
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<p:FatturaElettronica versione="FPR12" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
|
||||||
|
xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2 http://www.fatturapa.gov.it/export/fatturazione/sdi/fatturapa/v1.2/Schema_del_file_xml_FatturaPA_versione_1.2.xsd">
|
||||||
|
<FatturaElettronicaHeader>
|
||||||
|
<DatiTrasmissione>
|
||||||
|
<IdTrasmittente>
|
||||||
|
<IdPaese>IT</IdPaese>
|
||||||
|
<IdCodice>01234567890</IdCodice>
|
||||||
|
</IdTrasmittente>
|
||||||
|
<ProgressivoInvio>00001</ProgressivoInvio>
|
||||||
|
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||||
|
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||||
|
<PECDestinatario>betagamma@pec.it</PECDestinatario>
|
||||||
|
<ContattiTrasmittente/>
|
||||||
|
</DatiTrasmissione>
|
||||||
|
<CedentePrestatore>
|
||||||
|
<DatiAnagrafici>
|
||||||
|
<IdFiscaleIVA>
|
||||||
|
<IdPaese>IT</IdPaese>
|
||||||
|
<IdCodice>01234567890</IdCodice>
|
||||||
|
</IdFiscaleIVA>
|
||||||
|
<Anagrafica>
|
||||||
|
<Denominazione>SOCIETA' ALPHA SRL</Denominazione>
|
||||||
|
</Anagrafica>
|
||||||
|
<RegimeFiscale>RF01</RegimeFiscale>
|
||||||
|
</DatiAnagrafici>
|
||||||
|
<Sede>
|
||||||
|
<Indirizzo>VIALE ROMA 543</Indirizzo>
|
||||||
|
<CAP>07100</CAP>
|
||||||
|
<Comune>SASSARI</Comune>
|
||||||
|
<Provincia>SS</Provincia>
|
||||||
|
<Nazione>IT</Nazione>
|
||||||
|
</Sede>
|
||||||
|
</CedentePrestatore>
|
||||||
|
<CessionarioCommittente>
|
||||||
|
<DatiAnagrafici>
|
||||||
|
<CodiceFiscale>09876543210</CodiceFiscale>
|
||||||
|
<Anagrafica>
|
||||||
|
<Denominazione>BETA GAMMA</Denominazione>
|
||||||
|
</Anagrafica>
|
||||||
|
</DatiAnagrafici>
|
||||||
|
<Sede>
|
||||||
|
<Indirizzo>VIA TORINO 38-B</Indirizzo>
|
||||||
|
<CAP>00145</CAP>
|
||||||
|
<Comune>ROMA</Comune>
|
||||||
|
<Provincia>RM</Provincia>
|
||||||
|
<Nazione>IT</Nazione>
|
||||||
|
</Sede>
|
||||||
|
</CessionarioCommittente>
|
||||||
|
</FatturaElettronicaHeader>
|
||||||
|
<FatturaElettronicaBody>
|
||||||
|
<DatiGenerali>
|
||||||
|
<DatiGeneraliDocumento>
|
||||||
|
<TipoDocumento>TD01</TipoDocumento>
|
||||||
|
<Divisa>EUR</Divisa>
|
||||||
|
<Data>2014-12-18</Data>
|
||||||
|
<Numero>123</Numero>
|
||||||
|
<Causale>LA FATTURA FA RIFERIMENTO AD UNA OPERAZIONE AAAA BBBBBBBBBBBBBBBBBB CCC DDDDDDDDDDDDDDD E FFFFFFFFFFFFFFFFFFFF GGGGGGGGGG HHHHHHH II LLLLLLLLLLLLLLLLL MMM NNNNN OO PPPPPPPPPPP QQQQ RRRR SSSSSSSSSSSSSS</Causale>
|
||||||
|
<Causale>SEGUE DESCRIZIONE CAUSALE NEL CASO IN CUI NON SIANO STATI SUFFICIENTI 200 CARATTERI AAAAAAAAAAA BBBBBBBBBBBBBBBBB</Causale>
|
||||||
|
</DatiGeneraliDocumento>
|
||||||
|
<DatiOrdineAcquisto>
|
||||||
|
<RiferimentoNumeroLinea>1</RiferimentoNumeroLinea>
|
||||||
|
<IdDocumento>66685</IdDocumento>
|
||||||
|
<NumItem>1</NumItem>
|
||||||
|
</DatiOrdineAcquisto>
|
||||||
|
<DatiTrasporto>
|
||||||
|
<DatiAnagraficiVettore>
|
||||||
|
<IdFiscaleIVA>
|
||||||
|
<IdPaese>IT</IdPaese>
|
||||||
|
<IdCodice>24681012141</IdCodice>
|
||||||
|
</IdFiscaleIVA>
|
||||||
|
<Anagrafica>
|
||||||
|
<Denominazione>Trasporto spa</Denominazione>
|
||||||
|
</Anagrafica>
|
||||||
|
</DatiAnagraficiVettore>
|
||||||
|
<DataOraConsegna>2012-10-22T16:46:12.000+02:00</DataOraConsegna>
|
||||||
|
</DatiTrasporto>
|
||||||
|
</DatiGenerali>
|
||||||
|
<DatiBeniServizi>
|
||||||
|
<DettaglioLinee>
|
||||||
|
<NumeroLinea>1</NumeroLinea>
|
||||||
|
<Descrizione>LA DESCRIZIONE DELLA FORNITURA PUO' SUPERARE I CENTO CARATTERI CHE RAPPRESENTAVANO IL PRECEDENTE LIMITE DIMENSIONALE. TALE LIMITE NELLA NUOVA VERSIONE E' STATO PORTATO A MILLE CARATTERI</Descrizione>
|
||||||
|
<Quantita>5.00</Quantita>
|
||||||
|
<PrezzoUnitario>1.00</PrezzoUnitario>
|
||||||
|
<PrezzoTotale>5.00</PrezzoTotale>
|
||||||
|
<AliquotaIVA>22.00</AliquotaIVA>
|
||||||
|
</DettaglioLinee>
|
||||||
|
<DettaglioLinee>
|
||||||
|
<NumeroLinea>2</NumeroLinea>
|
||||||
|
<Descrizione>FORNITURE VARIE PER UFFICIO</Descrizione>
|
||||||
|
<Quantita>10.00</Quantita>
|
||||||
|
<PrezzoUnitario>2.00</PrezzoUnitario>
|
||||||
|
<PrezzoTotale>20.00</PrezzoTotale>
|
||||||
|
<AliquotaIVA>22.00</AliquotaIVA>
|
||||||
|
</DettaglioLinee>
|
||||||
|
<DatiRiepilogo>
|
||||||
|
<AliquotaIVA>22.00</AliquotaIVA>
|
||||||
|
<ImponibileImporto>27.00</ImponibileImporto>
|
||||||
|
<Imposta>5.95</Imposta>
|
||||||
|
<EsigibilitaIVA>D</EsigibilitaIVA>
|
||||||
|
</DatiRiepilogo>
|
||||||
|
</DatiBeniServizi>
|
||||||
|
<DatiPagamento>
|
||||||
|
<CondizioniPagamento>TP01</CondizioniPagamento>
|
||||||
|
<DettaglioPagamento>
|
||||||
|
<ModalitaPagamento>MP01</ModalitaPagamento>
|
||||||
|
<DataScadenzaPagamento>2015-01-30</DataScadenzaPagamento>
|
||||||
|
<ImportoPagamento>32.95</ImportoPagamento>
|
||||||
|
</DettaglioPagamento>
|
||||||
|
</DatiPagamento>
|
||||||
|
</FatturaElettronicaBody>
|
||||||
|
</p:FatturaElettronica>
|
164
tests/Integration/Einvoice/samples/fatturapa6.xml
Normal file
164
tests/Integration/Einvoice/samples/fatturapa6.xml
Normal file
@ -0,0 +1,164 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<p:FatturaElettronica versione="FPR12" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
|
||||||
|
xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2 http://www.fatturapa.gov.it/export/fatturazione/sdi/fatturapa/v1.2/Schema_del_file_xml_FatturaPA_versione_1.2.xsd">
|
||||||
|
<FatturaElettronicaHeader>
|
||||||
|
<DatiTrasmissione>
|
||||||
|
<IdTrasmittente>
|
||||||
|
<IdPaese>IT</IdPaese>
|
||||||
|
<IdCodice>01234567890</IdCodice>
|
||||||
|
</IdTrasmittente>
|
||||||
|
<ProgressivoInvio>00001</ProgressivoInvio>
|
||||||
|
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||||
|
<CodiceDestinatario>ABC1234</CodiceDestinatario>
|
||||||
|
<ContattiTrasmittente />
|
||||||
|
</DatiTrasmissione>
|
||||||
|
<CedentePrestatore>
|
||||||
|
<DatiAnagrafici>
|
||||||
|
<IdFiscaleIVA>
|
||||||
|
<IdPaese>IT</IdPaese>
|
||||||
|
<IdCodice>01234567890</IdCodice>
|
||||||
|
</IdFiscaleIVA>
|
||||||
|
<Anagrafica>
|
||||||
|
<Denominazione>SOCIETA' ALPHA SRL</Denominazione>
|
||||||
|
</Anagrafica>
|
||||||
|
<RegimeFiscale>RF01</RegimeFiscale>
|
||||||
|
</DatiAnagrafici>
|
||||||
|
<Sede>
|
||||||
|
<Indirizzo>VIALE ROMA 543</Indirizzo>
|
||||||
|
<CAP>07100</CAP>
|
||||||
|
<Comune>SASSARI</Comune>
|
||||||
|
<Provincia>SS</Provincia>
|
||||||
|
<Nazione>IT</Nazione>
|
||||||
|
</Sede>
|
||||||
|
</CedentePrestatore>
|
||||||
|
<CessionarioCommittente>
|
||||||
|
<DatiAnagrafici>
|
||||||
|
<CodiceFiscale>09876543210</CodiceFiscale>
|
||||||
|
<Anagrafica>
|
||||||
|
<Denominazione>BETA GAMMA</Denominazione>
|
||||||
|
</Anagrafica>
|
||||||
|
</DatiAnagrafici>
|
||||||
|
<Sede>
|
||||||
|
<Indirizzo>VIA TORINO 38-B</Indirizzo>
|
||||||
|
<CAP>00145</CAP>
|
||||||
|
<Comune>ROMA</Comune>
|
||||||
|
<Provincia>RM</Provincia>
|
||||||
|
<Nazione>IT</Nazione>
|
||||||
|
</Sede>
|
||||||
|
</CessionarioCommittente>
|
||||||
|
</FatturaElettronicaHeader>
|
||||||
|
<FatturaElettronicaBody>
|
||||||
|
<DatiGenerali>
|
||||||
|
<DatiGeneraliDocumento>
|
||||||
|
<TipoDocumento>TD01</TipoDocumento>
|
||||||
|
<Divisa>EUR</Divisa>
|
||||||
|
<Data>2014-12-18</Data>
|
||||||
|
<Numero>123</Numero>
|
||||||
|
<Causale>LA FATTURA FA RIFERIMENTO AD UNA OPERAZIONE AAAA BBBBBBBBBBBBBBBBBB CCC
|
||||||
|
DDDDDDDDDDDDDDD E FFFFFFFFFFFFFFFFFFFF GGGGGGGGGG HHHHHHH II LLLLLLLLLLLLLLLLL
|
||||||
|
MMM NNNNN OO PPPPPPPPPPP QQQQ RRRR SSSSSSSSSSSSSS</Causale>
|
||||||
|
<Causale>SEGUE DESCRIZIONE CAUSALE NEL CASO IN CUI NON SIANO STATI SUFFICIENTI 200
|
||||||
|
CARATTERI AAAAAAAAAAA BBBBBBBBBBBBBBBBB</Causale>
|
||||||
|
</DatiGeneraliDocumento>
|
||||||
|
<DatiOrdineAcquisto>
|
||||||
|
<RiferimentoNumeroLinea>1</RiferimentoNumeroLinea>
|
||||||
|
<IdDocumento>66685</IdDocumento>
|
||||||
|
<NumItem>1</NumItem>
|
||||||
|
</DatiOrdineAcquisto>
|
||||||
|
<DatiTrasporto>
|
||||||
|
<DatiAnagraficiVettore>
|
||||||
|
<IdFiscaleIVA>
|
||||||
|
<IdPaese>IT</IdPaese>
|
||||||
|
<IdCodice>24681012141</IdCodice>
|
||||||
|
</IdFiscaleIVA>
|
||||||
|
<Anagrafica>
|
||||||
|
<Denominazione>Trasporto spa</Denominazione>
|
||||||
|
</Anagrafica>
|
||||||
|
</DatiAnagraficiVettore>
|
||||||
|
<DataOraConsegna>2012-10-22T16:46:12.000+02:00</DataOraConsegna>
|
||||||
|
</DatiTrasporto>
|
||||||
|
</DatiGenerali>
|
||||||
|
<DatiBeniServizi>
|
||||||
|
<DettaglioLinee>
|
||||||
|
<NumeroLinea>1</NumeroLinea>
|
||||||
|
<Descrizione>LA DESCRIZIONE DELLA FORNITURA PUO' SUPERARE I CENTO CARATTERI CHE
|
||||||
|
RAPPRESENTAVANO IL PRECEDENTE LIMITE DIMENSIONALE. TALE LIMITE NELLA NUOVA
|
||||||
|
VERSIONE E' STATO PORTATO A MILLE CARATTERI</Descrizione>
|
||||||
|
<Quantita>5.00</Quantita>
|
||||||
|
<PrezzoUnitario>1.00</PrezzoUnitario>
|
||||||
|
<PrezzoTotale>5.00</PrezzoTotale>
|
||||||
|
<AliquotaIVA>22.00</AliquotaIVA>
|
||||||
|
</DettaglioLinee>
|
||||||
|
<DettaglioLinee>
|
||||||
|
<NumeroLinea>2</NumeroLinea>
|
||||||
|
<Descrizione>FORNITURE VARIE PER UFFICIO</Descrizione>
|
||||||
|
<Quantita>10.00</Quantita>
|
||||||
|
<PrezzoUnitario>2.00</PrezzoUnitario>
|
||||||
|
<PrezzoTotale>20.00</PrezzoTotale>
|
||||||
|
<AliquotaIVA>22.00</AliquotaIVA>
|
||||||
|
</DettaglioLinee>
|
||||||
|
<DatiRiepilogo>
|
||||||
|
<AliquotaIVA>22.00</AliquotaIVA>
|
||||||
|
<ImponibileImporto>27.00</ImponibileImporto>
|
||||||
|
<Imposta>5.95</Imposta>
|
||||||
|
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||||
|
</DatiRiepilogo>
|
||||||
|
</DatiBeniServizi>
|
||||||
|
<DatiPagamento>
|
||||||
|
<CondizioniPagamento>TP01</CondizioniPagamento>
|
||||||
|
<DettaglioPagamento>
|
||||||
|
<ModalitaPagamento>MP01</ModalitaPagamento>
|
||||||
|
<DataScadenzaPagamento>2015-01-30</DataScadenzaPagamento>
|
||||||
|
<ImportoPagamento>32.95</ImportoPagamento>
|
||||||
|
</DettaglioPagamento>
|
||||||
|
</DatiPagamento>
|
||||||
|
</FatturaElettronicaBody>
|
||||||
|
<FatturaElettronicaBody>
|
||||||
|
<DatiGenerali>
|
||||||
|
<DatiGeneraliDocumento>
|
||||||
|
<TipoDocumento>TD01</TipoDocumento>
|
||||||
|
<Divisa>EUR</Divisa>
|
||||||
|
<Data>2014-12-20</Data>
|
||||||
|
<Numero>456</Numero>
|
||||||
|
<Causale>LA FATTURA FA RIFERIMENTO AD UNA OPERAZIONE AAAA BBBBBBBBBBBBBBBBBB CCC
|
||||||
|
DDDDDDDDDDDDDDD E FFFFFFFFFFFFFFFFFFFF GGGGGGGGGG HHHHHHH II LLLLLLLLLLLLLLLLL
|
||||||
|
MMM NNNNN OO PPPPPPPPPPP QQQQ RRRR SSSSSSSSSSSSSS</Causale>
|
||||||
|
<Causale>SEGUE DESCRIZIONE CAUSALE NEL CASO IN CUI NON SIANO STATI SUFFICIENTI 200
|
||||||
|
CARATTERI AAAAAAAAAAA BBBBBBBBBBBBBBBBB</Causale>
|
||||||
|
</DatiGeneraliDocumento>
|
||||||
|
<DatiOrdineAcquisto>
|
||||||
|
<RiferimentoNumeroLinea>1</RiferimentoNumeroLinea>
|
||||||
|
<IdDocumento>66685</IdDocumento>
|
||||||
|
<NumItem>1</NumItem>
|
||||||
|
</DatiOrdineAcquisto>
|
||||||
|
</DatiGenerali>
|
||||||
|
<DatiBeniServizi>
|
||||||
|
<DettaglioLinee>
|
||||||
|
<NumeroLinea>1</NumeroLinea>
|
||||||
|
<Descrizione>PRESTAZIONE DEL SEGUENTE SERVIZIO PROFESSIONALE: LA DESCRIZIONE DELLA
|
||||||
|
PRESTAZIONE PUO' SUPERARE I CENTO CARATTERI CHE RAPPRESENTAVANO IL PRECEDENTE
|
||||||
|
LIMITE DIMENSIONALE. TALE LIMITE NELLA NUOVA VERSIONE E' STATO PORTATO A MILLE
|
||||||
|
CARATTERI</Descrizione>
|
||||||
|
<PrezzoUnitario>2000.00</PrezzoUnitario>
|
||||||
|
<PrezzoTotale>2000.00</PrezzoTotale>
|
||||||
|
<AliquotaIVA>22.00</AliquotaIVA>
|
||||||
|
</DettaglioLinee>
|
||||||
|
<DatiRiepilogo>
|
||||||
|
<AliquotaIVA>22.00</AliquotaIVA>
|
||||||
|
<ImponibileImporto>2000.00</ImponibileImporto>
|
||||||
|
<Imposta>440.00</Imposta>
|
||||||
|
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||||
|
</DatiRiepilogo>
|
||||||
|
</DatiBeniServizi>
|
||||||
|
<DatiPagamento>
|
||||||
|
<CondizioniPagamento>TP01</CondizioniPagamento>
|
||||||
|
<DettaglioPagamento>
|
||||||
|
<ModalitaPagamento>MP19</ModalitaPagamento>
|
||||||
|
<DataScadenzaPagamento>2015-01-28</DataScadenzaPagamento>
|
||||||
|
<ImportoPagamento>2440.00</ImportoPagamento>
|
||||||
|
</DettaglioPagamento>
|
||||||
|
</DatiPagamento>
|
||||||
|
</FatturaElettronicaBody>
|
||||||
|
</p:FatturaElettronica>
|
Loading…
x
Reference in New Issue
Block a user