mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2024-11-10 05:02:36 +01:00
FatturaPA tests
This commit is contained in:
parent
755e5c7846
commit
46a2cbc7b4
@ -90,7 +90,7 @@
|
||||
"shopify/shopify-api": "^4.3",
|
||||
"socialiteproviders/apple": "dev-master",
|
||||
"socialiteproviders/microsoft": "^4.1",
|
||||
"spatie/laravel-data": "^3.5",
|
||||
"spatie/laravel-data": "^4",
|
||||
"sprain/swiss-qr-bill": "^4.3",
|
||||
"square/square": "30.0.0.*",
|
||||
"stripe/stripe-php": "^12",
|
||||
|
47
composer.lock
generated
47
composer.lock
generated
@ -4,7 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "1356155e46e797b140685c105df97b8e",
|
||||
"content-hash": "fa16490174cf1031f3b7de1dba43be9f",
|
||||
"packages": [
|
||||
{
|
||||
"name": "adrienrn/php-mimetyper",
|
||||
@ -5034,18 +5034,18 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/invoiceninja/einvoice.git",
|
||||
"reference": "39aec367c528ba66d923dc1d9e5c96f673bb46c7"
|
||||
"reference": "8ce5e3d1b70ac6e4a417da0d1752bf8dfb477fa5"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/invoiceninja/einvoice/zipball/39aec367c528ba66d923dc1d9e5c96f673bb46c7",
|
||||
"reference": "39aec367c528ba66d923dc1d9e5c96f673bb46c7",
|
||||
"url": "https://api.github.com/repos/invoiceninja/einvoice/zipball/8ce5e3d1b70ac6e4a417da0d1752bf8dfb477fa5",
|
||||
"reference": "8ce5e3d1b70ac6e4a417da0d1752bf8dfb477fa5",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"illuminate/collections": "^10.48",
|
||||
"sabre/xml": "^4.0",
|
||||
"spatie/laravel-data": "^3.6"
|
||||
"spatie/laravel-data": "^4"
|
||||
},
|
||||
"require-dev": {
|
||||
"nesbot/carbon": "^2",
|
||||
@ -5075,7 +5075,7 @@
|
||||
"source": "https://github.com/invoiceninja/einvoice/tree/main",
|
||||
"issues": "https://github.com/invoiceninja/einvoice/issues"
|
||||
},
|
||||
"time": "2024-05-20T11:42:32+00:00"
|
||||
"time": "2024-05-21T10:01:09+00:00"
|
||||
},
|
||||
{
|
||||
"name": "invoiceninja/inspector",
|
||||
@ -11926,20 +11926,20 @@
|
||||
},
|
||||
{
|
||||
"name": "spatie/laravel-data",
|
||||
"version": "3.12.0",
|
||||
"version": "4.6.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/spatie/laravel-data.git",
|
||||
"reference": "d44e04839407bc32b029be59ba80090a5f720e91"
|
||||
"reference": "ee513f693f8ab8f915dc26cae079d7b2e5999a65"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/spatie/laravel-data/zipball/d44e04839407bc32b029be59ba80090a5f720e91",
|
||||
"reference": "d44e04839407bc32b029be59ba80090a5f720e91",
|
||||
"url": "https://api.github.com/repos/spatie/laravel-data/zipball/ee513f693f8ab8f915dc26cae079d7b2e5999a65",
|
||||
"reference": "ee513f693f8ab8f915dc26cae079d7b2e5999a65",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"illuminate/contracts": "^9.30|^10.0|^11.0",
|
||||
"illuminate/contracts": "^10.0|^11.0",
|
||||
"php": "^8.1",
|
||||
"phpdocumentor/type-resolver": "^1.5",
|
||||
"spatie/laravel-package-tools": "^1.9.0",
|
||||
@ -11948,21 +11948,21 @@
|
||||
"require-dev": {
|
||||
"fakerphp/faker": "^1.14",
|
||||
"friendsofphp/php-cs-fixer": "^3.0",
|
||||
"inertiajs/inertia-laravel": "^0.6.3",
|
||||
"inertiajs/inertia-laravel": "dev-master#4508fd1",
|
||||
"livewire/livewire": "^3.0",
|
||||
"mockery/mockery": "^1.6",
|
||||
"nesbot/carbon": "^2.63",
|
||||
"nette/php-generator": "^3.5",
|
||||
"nunomaduro/larastan": "^2.0",
|
||||
"orchestra/testbench": "^7.6|^8.0",
|
||||
"pestphp/pest": "^1.22",
|
||||
"pestphp/pest-plugin-laravel": "^1.3",
|
||||
"orchestra/testbench": "^8.0|^9.0",
|
||||
"pestphp/pest": "^2.31",
|
||||
"pestphp/pest-plugin-laravel": "^2.0",
|
||||
"pestphp/pest-plugin-livewire": "^2.1",
|
||||
"phpbench/phpbench": "^1.2",
|
||||
"phpstan/extension-installer": "^1.1",
|
||||
"phpunit/phpunit": "^9.3",
|
||||
"phpunit/phpunit": "^10.0",
|
||||
"spatie/invade": "^1.0",
|
||||
"spatie/laravel-typescript-transformer": "^2.1.6",
|
||||
"spatie/pest-plugin-snapshots": "^1.1",
|
||||
"spatie/phpunit-snapshot-assertions": "^4.2",
|
||||
"spatie/laravel-typescript-transformer": "^2.3",
|
||||
"spatie/pest-plugin-snapshots": "^2.1",
|
||||
"spatie/test-time": "^1.2"
|
||||
},
|
||||
"type": "library",
|
||||
@ -11975,8 +11975,7 @@
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Spatie\\LaravelData\\": "src",
|
||||
"Spatie\\LaravelData\\Database\\Factories\\": "database/factories"
|
||||
"Spatie\\LaravelData\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
@ -11999,7 +11998,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/spatie/laravel-data/issues",
|
||||
"source": "https://github.com/spatie/laravel-data/tree/3.12.0"
|
||||
"source": "https://github.com/spatie/laravel-data/tree/4.6.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -12007,7 +12006,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2024-04-24T09:27:45+00:00"
|
||||
"time": "2024-05-03T15:01:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "spatie/laravel-package-tools",
|
||||
|
@ -50,7 +50,6 @@ class FACT1Test extends TestCase
|
||||
|
||||
$this->assertIsArray($rules);
|
||||
|
||||
|
||||
$validation_array = Invoice::validate($array);
|
||||
|
||||
$this->assertIsArray($validation_array);
|
||||
|
@ -320,6 +320,7 @@ class FatturaPATest extends TestCase
|
||||
{
|
||||
|
||||
$files = [
|
||||
'tests/Integration/Einvoice/samples/fatturapa0.xml',
|
||||
'tests/Integration/Einvoice/samples/fatturapa1.xml',
|
||||
'tests/Integration/Einvoice/samples/fatturapa2.xml',
|
||||
'tests/Integration/Einvoice/samples/fatturapa3.xml',
|
||||
@ -337,15 +338,20 @@ class FatturaPATest extends TestCase
|
||||
$json = json_encode($xml);
|
||||
$payload = json_decode($json, true);
|
||||
|
||||
nlog($payload);
|
||||
|
||||
$validation_array = false;
|
||||
try {
|
||||
nlog($f);
|
||||
|
||||
$rules = FatturaElettronica::getValidationRules($this->payload);
|
||||
nlog($rules);
|
||||
// nlog($rules);
|
||||
|
||||
$this->assertIsArray($rules);
|
||||
|
||||
$payload = FatturaElettronica::from($payload)->toArray();
|
||||
// nlog($payload);
|
||||
nlog($payload);
|
||||
|
||||
$this->assertIsArray($payload);
|
||||
|
||||
$validation_array = FatturaElettronica::validate($payload);
|
||||
|
@ -77,7 +77,7 @@
|
||||
<TaxCategory>
|
||||
<ID>S</ID> // this is a speciffic identifier for the VAT type <Percent>
|
||||
19</Percent>
|
||||
<TaxScheme>
|
||||
<TaxScheme>
|
||||
<ID>VAT</ID>
|
||||
</TaxScheme>
|
||||
</TaxCategory>
|
||||
@ -92,21 +92,20 @@
|
||||
</LegalMonetaryTotal>
|
||||
<InvoiceLine>
|
||||
<ID>1</ID>
|
||||
<InvoicedQuantity unitCode="H87">1</InvoicedQuantity> // unitcode is a speciffic
|
||||
identifier for the type of product <LineExtensionAmount currencyID="RON">
|
||||
335.00</LineExtensionAmount>
|
||||
<Item>
|
||||
<InvoicedQuantity unitCode="H87">1</InvoicedQuantity> // unitcode is a speciffic identifier for the type of product
|
||||
<LineExtensionAmount currencyID="RON">335.00</LineExtensionAmount>
|
||||
<Item>
|
||||
<Description>Some Description</Description>
|
||||
<Name>Some product</Name>
|
||||
<ClassifiedTaxCategory>
|
||||
<ID>S</ID> // this is a speciffic identifier for the VAT type <Percent>
|
||||
19</Percent>
|
||||
<TaxScheme>
|
||||
<ID>S</ID> // this is a speciffic identifier for the VAT type
|
||||
<Percent>19</Percent>
|
||||
<TaxScheme>
|
||||
<ID>VAT</ID>
|
||||
</TaxScheme>
|
||||
</ClassifiedTaxCategory>
|
||||
</Item>
|
||||
<Price>
|
||||
<Price>
|
||||
<PriceAmount currencyID="RON">335</PriceAmount>
|
||||
</Price>
|
||||
</InvoiceLine>
|
||||
|
170
tests/Integration/Einvoice/samples/fatturapa0.xml
Normal file
170
tests/Integration/Einvoice/samples/fatturapa0.xml
Normal file
@ -0,0 +1,170 @@
|
||||
<?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>
|
||||
<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…
Reference in New Issue
Block a user