PHPackages                             taocomp/php-sdicoop-client - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. taocomp/php-sdicoop-client

ActiveLibrary

taocomp/php-sdicoop-client
==========================

A PHP package for connecting to Italian Exchange System (aka SdI) web services

v0.1.10(7y ago)227.5k↓34.6%6[2 PRs](https://github.com/taocomp/php-sdicoop-client/pulls)GPL-3.0-or-laterPHPPHP &gt;=5.5CI failing

Since Dec 21Pushed 3y ago4 watchersCompare

[ Source](https://github.com/taocomp/php-sdicoop-client)[ Packagist](https://packagist.org/packages/taocomp/php-sdicoop-client)[ RSS](/packages/taocomp-php-sdicoop-client/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (1)Versions (12)Used By (0)

PHP SdICoop - Client
====================

[](#php-sdicoop---client)

A PHP package for connecting to [Italian Exchange System (aka “SdI”)](https://www.fatturapa.gov.it/export/fatturazione/en/sdi.htm?l=en) web services.

*(Pacchetto PHP per inviare fatture e notifiche ai webservices del SdI).*

Please refer to

- [PHP SdICoop - Server](https://github.com/taocomp/php-sdicoop-server) to implement your web services required by SdI
- [PHP E-invoice It](https://github.com/taocomp/php-e-invoice-it) for managing italian e-invoice and notice XML formats

See [Forum Italia - Fatturazione Elettronica](https://forum.italia.it/c/fattura-pa) for server configuration, interoperability tests, etc. In particular:

 Apache configuration[Accreditamento SDICoop: configurazione SSL su Apache - Fatturazione Elettroni…](https://forum.italia.it/t/accreditamento-sdicoop-configurazione-ssl-su-apache/3314) Interoperability tests[Test Interoperabilità Soluzioni - Fatturazione Elettronica - Forum Italia](https://forum.italia.it/t/test-interoperabilita-soluzioni/4370)Getting started
===============

[](#getting-started)

Dependencies
------------

[](#dependencies)

- PHP &gt;=5.5
- `php-curl`
- `php-soap`

Install
-------

[](#install)

### Composer

[](#composer)

```
composer require taocomp/php-sdicoop-client
```

### Manually

[](#manually)

- Clone/download the repository
- `require_once('/path/to/php-sdicoop-client/vendor/autoload.php');`

### Namespaces

[](#namespaces)

Please note namespace is changed (v0.1.5), it is now `Taocomp\Einvoicing\SdicoopClient`.

So to use e.g. `Client` class:

```
use \Taocomp\Einvoicing\SdicoopClient\Client;
```

Setup
-----

[](#setup)

According to Italian Exchange System (aka SdI), you need:

- a client key
- a client certificate
- a CA certificate

to send invoices and notices to SdI web services.

Additionally you must provide an endpoint to connect to and the correspondent WSDL for each web service.

You can configure key and certs as follow:

```
Client::setPrivateKey('/path/to/client.key');
Client::setClientCert('/path/to/client.pem');
Client::setCaCert('/path/to/ca.pem');
```

You can also configure a proxy if needed:

```
Client::setProxyUrl('proxy_url');
Client::setProxyAuth('username:password');
```

And then you can instantiate the client by providing endpoint/WSDL.

Web service `SdIRiceviFile` (test) for sending invoices:

```
$client = new Client(array(
    'endpoint' => 'https://testservizi.fatturapa.it/ricevi_file',
    'wsdl'     => '/path/to/php-sdicoop-client/assets/wsdl/SdIRiceviFile_v1.0.wsdl'
));
```

Web service `SdIRiceviNotifica` (test) for sending notices:

```
$client = new Client(array(
    'endpoint' => 'https://testservizi.fatturapa.it/ricevi_notifica',
    'wsdl'     => '/path/to/php-sdicoop-client/assets/wsdl/SdIRiceviNotifica_v1.0.wsdl'
));
```

Or you can pass all parameters (key, certs, wsdl, endpoint) to client constructor:

```
$client = new Client(array(
    'key'      => '/path/to/client.key',
    'cert'     => '/path/to/client.pem',
    'ca_cert'  => '/path/to/ca.pem',
    'endpoint' => 'https://testservizi.fatturapa.it/ricevi_file',
    'wsdl'     => '/path/to/php-sdicoop-client/assets/wsdl/SdIRiceviFile_v1.0.wsdl'
));
```

Send invoices to SdI (web service “SdIRiceviFile”)
--------------------------------------------------

[](#send-invoices-to-sdi-web-service-sdiricevifile)

```
$fileSdI = new FileSdIBase();
$fileSdI->load('/path/to/invoice.xml');
$response = new RispostaSdIRiceviFile($client->RiceviFile($fileSdI));

// Process response:
// -----------------------------------------
// $id       = $response->IdentificativoSdI;
// $datetime = $response->DataOraRicezione;
// $error    = $response->Errore;
// -----------------------------------------
```

See `examples/invoice.php` for a working example.

You can also send `\Taocomp\Einvoicing\FatturaElettronica` objects: see .

Send notices to SdI (web service “SdIRiceviNotifica”, endpoint test)
--------------------------------------------------------------------

[](#send-notices-to-sdi-web-service-sdiricevinotifica-endpoint-test)

```
$fileSdI = new FileSdI();
$fileSdI->load('/path/to/notice.xml');
$response = new RispostaSdINotificaEsito($client->NotificaEsito($fileSdI));

// Process response:
// ----------------------------------
// $result          = $response->Esito;
// $discard         = $response->ScartoEsito;
// $discardFilename = $discard->NomeFile;
// $discardFile     = $discard->File;
// ----------------------------------
```

See `examples/notice.php` for a working example.

You can also send `\Taocomp\Einvoicing\EsitoCommittente` objects: see .

Credits
=======

[](#credits)

We want to thank all contributors of [Forum Italia - Fatturazione Elettronica](https://forum.italia.it/c/fattura-pa) who have shared their snippets and any available info.

Thanks to Luca Cristofalo for testing the code on his old PHP 5.5.38. :-)

License
=======

[](#license)

GPLv3.

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity35

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~4 days

Recently: every ~10 days

Total

11

Last Release

2659d ago

PHP version history (3 changes)v0.1PHP ^5.5

v0.1.1PHP &gt;=5.5

v0.1.2PHP ^7

### Community

Maintainers

![](https://www.gravatar.com/avatar/1ea7d04d8e0f805f5c6640e39adf070989a860e63c7da12a2ba35ca85939e283?d=identicon)[taocomp](/maintainers/taocomp)

---

Tags

cliente-invoiceeinvoicefatturafattura-elettronicafattura-pafatturazione-elettronicainvoiceitalyopen-sourceopensourcephpsdisdicoopsoap

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/taocomp-php-sdicoop-client/health.svg)

```
[![Health](https://phpackages.com/badges/taocomp-php-sdicoop-client/health.svg)](https://phpackages.com/packages/taocomp-php-sdicoop-client)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
