# fattura-elettronica-reader

[](https://raw.githubusercontent.com/frnmst/fattura-elettronica-reader/master/LICENSE.txt)

[](https://pepy.tech/project/fattura-elettronica-reader)
[](https://libraries.io/pypi/fattura-elettronica-reader/dependents)
[](https://buymeacoff.ee/frnmst)
Validate, extract, and generate printables of electronic invoice files
received from the *Sistema di Interscambio*.
<!--TOC-->
- [fattura-elettronica-reader](#fattura-elettronica-reader)
- [Documentation](#documentation)
- [API examples](#api-examples)
- [CLI helps](#cli-helps)
- [License](#license)
- [Changelog and trusted source](#changelog-and-trusted-source)
- [Crypto donations](#crypto-donations)
<!--TOC-->
## Documentation
<https://docs.franco.net.eu.org/fattura-elettronica-reader>
## API examples
fattura-elettronica-reader has a
[public API](https://docs.franco.net.eu.org/fattura-elettronica-reader/api.html).
This means for example that you can you easily read invoice files within
another Python program:
```python
>>> import fattura_elettronica_reader
>>> data = {
'patched': True,
'configuration_file': str(),
'write_default_configuration_file': False,
'extract_attachments': True,
'metadata_file': 'myfile.xml',
'invoice_xslt_type': 'ordinaria',
'no_invoice_xml_validation': False,
'force_invoice_schema_file_download': False,
'generate_html_output': True,
'invoice_filename': str(),
'no_checksum_check': False,
'force_invoice_xml_stylesheet_file_download': False,
'ignore_attachment_extension_whitelist': False,
'ignore_attachment_filetype_whitelist': False,
'ignore_signature_check': False,
'ignore_signers_certificate_check': False,
'force_trusted_list_file_download': False,
'keep_original_file': True,
'ignore_assets_checksum': False,
'destination_directory': '/dev/shm/invoices',
}
>>> fattura_elettronica_reader.assert_data_structure(source='invoice', file_type='p7m', data=data)
>>> fattura_elettronica_reader.pipeline(
source='invoice',
file_type='p7m',
data=data,
)
```
Have a look at the
[invoices](https://docs.franco.net.eu.org/ftutorials/en/content/desktop/download/invoices.html)
page in the [ftutorials](https://software.franco.net.eu.org/frnmst/ftutorials) repository.
## CLI helps
```shell
$ fattura_elettronica_reader --help
```
## License
Copyright (c) 2018 Enio Carboni - Italy
Copyright (C) 2019-2023 Franco Masotti (franco \D\o\T masotti {-A-T-} tutanota \D\o\T com)
fattura-elettronica-reader is free software: you can redistribute it
and/or modify it under the terms of the GNU General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
fattura-elettronica-reader is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.
You should have received a copy of the GNU General Public License along
with fattura-elettronica-reader. If not, see
<http://www.gnu.org/licenses/>.
## Changelog and trusted source
You can check the authenticity of new releases using my public key.
Changelogs, instructions, sources and keys can be found at
[blog.franco.net.eu.org/software#fattura-elettronica-reader](https://blog.franco.net.eu.org/software/#fattura-elettronica-reader).
## Crypto donations
- Bitcoin: `bc1qnkflazapw3hjupawj0lm39dh9xt88s7zal5mwu`
- Monero:
`84KHWDTd9hbPyGwikk33Qp5GW7o7zRwPb8kJ6u93zs4sNMpDSnM5ZTWVnUp2cudRYNT6rNqctnMQ9NbUewbj7MzCBUcrQEY`
- Dogecoin: `DMB5h2GhHiTNW7EcmDnqkYpKs6Da2wK3zP`
- Vertcoin: `vtc1qd8n3jvkd2vwrr6cpejkd9wavp4ld6xfu9hkhh0`