mirror of
https://github.com/bringout/oca-ocb-l10n_europe.git
synced 2026-04-26 09:42:07 +02:00
19.0 vanilla
This commit is contained in:
parent
ff721d030e
commit
7721452493
1826 changed files with 124775 additions and 274114 deletions
|
|
@ -12,39 +12,16 @@ pip install odoo-bringout-oca-ocb-l10n_it_edi
|
|||
|
||||
## Dependencies
|
||||
|
||||
This addon depends on:
|
||||
- l10n_it
|
||||
- account_edi
|
||||
- account_edi_proxy_client
|
||||
|
||||
## Manifest Information
|
||||
|
||||
- **Name**: Italy - E-invoicing
|
||||
- **Version**: 0.3
|
||||
- **Category**: Accounting/Localizations/EDI
|
||||
- **License**: LGPL-3
|
||||
- **Installable**: False
|
||||
- account_debit_note
|
||||
|
||||
## Source
|
||||
|
||||
Based on [OCA/OCB](https://github.com/OCA/OCB) branch 16.0, addon `l10n_it_edi`.
|
||||
- Repository: https://github.com/OCA/OCB
|
||||
- Branch: 19.0
|
||||
- Path: addons/l10n_it_edi
|
||||
|
||||
## License
|
||||
|
||||
This package maintains the original LGPL-3 license from the upstream Odoo project.
|
||||
|
||||
## Documentation
|
||||
|
||||
- Overview: doc/OVERVIEW.md
|
||||
- Architecture: doc/ARCHITECTURE.md
|
||||
- Models: doc/MODELS.md
|
||||
- Controllers: doc/CONTROLLERS.md
|
||||
- Wizards: doc/WIZARDS.md
|
||||
- Reports: doc/REPORTS.md
|
||||
- Security: doc/SECURITY.md
|
||||
- Install: doc/INSTALL.md
|
||||
- Usage: doc/USAGE.md
|
||||
- Configuration: doc/CONFIGURATION.md
|
||||
- Dependencies: doc/DEPENDENCIES.md
|
||||
- Troubleshooting: doc/TROUBLESHOOTING.md
|
||||
- FAQ: doc/FAQ.md
|
||||
This package preserves the original LGPL-3 license.
|
||||
|
|
|
|||
|
|
@ -1,32 +1,13 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
import logging
|
||||
|
||||
from . import models
|
||||
from . import tools
|
||||
from . import controllers, models, tools
|
||||
|
||||
from odoo import api, SUPERUSER_ID
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def _l10n_it_edi_update_export_tax(env):
|
||||
chart_template = env.ref('l10n_it.l10n_it_chart_template_generic', raise_if_not_found=False)
|
||||
if chart_template:
|
||||
for company in env['res.company'].search([('chart_template_id', '=', chart_template.id)]):
|
||||
tax = env.ref(f'l10n_it.{company.id}_00eu', raise_if_not_found=False)
|
||||
if tax:
|
||||
tax.write({
|
||||
'l10n_it_has_exoneration': True,
|
||||
'l10n_it_kind_exoneration': 'N3.2',
|
||||
'l10n_it_law_reference': 'Art. 41, DL n. 331/93',
|
||||
})
|
||||
service_tax = env.ref(f'l10n_it.{company.id}_00eus', raise_if_not_found=False)
|
||||
if service_tax:
|
||||
service_tax.write({
|
||||
'l10n_it_has_exoneration': True,
|
||||
'l10n_it_kind_exoneration': 'N3.2',
|
||||
'l10n_it_law_reference': 'Art. 7ter, DPR 633/1972',
|
||||
})
|
||||
def _l10n_it_edi_post_init(env):
|
||||
env['ir.config_parameter'].set_param('l10n_it_edi.proxy_user_edi_mode', 'prod')
|
||||
|
||||
|
||||
def _l10n_it_edi_post_init(cr, registry):
|
||||
env = api.Environment(cr, SUPERUSER_ID, {})
|
||||
_l10n_it_edi_update_export_tax(env)
|
||||
def uninstall_hook(env):
|
||||
env["res.partner"]._clear_removed_edi_formats("it_edi_xml")
|
||||
|
|
|
|||
|
|
@ -1,19 +1,12 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
{
|
||||
'name': 'Italy - E-invoicing',
|
||||
'icon': '/l10n_it/static/description/icon.png',
|
||||
'version': '0.3',
|
||||
'version': '0.4',
|
||||
'depends': [
|
||||
'l10n_it',
|
||||
# Although account_edi is a dependency of account_edi_proxy_client,
|
||||
# it is here because it's in the auto-install
|
||||
'account_edi',
|
||||
'account_edi_proxy_client',
|
||||
'account_debit_note',
|
||||
],
|
||||
'auto_install': False,
|
||||
'author': 'Odoo',
|
||||
'auto_install': ['l10n_it'],
|
||||
'description': """
|
||||
E-invoice implementation
|
||||
""",
|
||||
|
|
@ -21,16 +14,32 @@ E-invoice implementation
|
|||
'website': 'http://www.odoo.com/',
|
||||
'data': [
|
||||
'security/ir.model.access.csv',
|
||||
'data/account_edi_data.xml',
|
||||
'data/invoice_it_template.xml',
|
||||
'data/account.account.tag.csv',
|
||||
'data/invoice_it_simplified_template.xml',
|
||||
'data/invoice_it_template.xml',
|
||||
'data/ir_cron.xml',
|
||||
'views/res_config_settings_views.xml',
|
||||
'data/l10n_it.document.type.csv',
|
||||
'views/account_payment_method.xml',
|
||||
'views/account_tax_view.xml',
|
||||
'views/l10n_it_document_type.xml',
|
||||
'views/l10n_it_view.xml',
|
||||
'views/portal_address_templates.xml',
|
||||
'views/report_invoice.xml',
|
||||
'views/res_config_settings_views.xml',
|
||||
],
|
||||
'assets': {
|
||||
'web.assets_frontend': [
|
||||
'l10n_it_edi/static/src/interactions/**/*',
|
||||
],
|
||||
'web.assets_tests': [
|
||||
'l10n_it_edi/static/tests/tours/*.js',
|
||||
],
|
||||
},
|
||||
'demo': [
|
||||
'data/account_invoice_demo.xml',
|
||||
],
|
||||
'post_init_hook': '_l10n_it_edi_post_init',
|
||||
'author': 'Odoo S.A.',
|
||||
'license': 'LGPL-3',
|
||||
'post_init_hook': '_l10n_it_edi_post_init',
|
||||
'uninstall_hook': 'uninstall_hook',
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,3 @@
|
|||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from . import portal
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo import _
|
||||
from odoo.exceptions import UserError
|
||||
from odoo.http import request
|
||||
|
||||
from odoo.addons.account.controllers.portal import PortalAccount
|
||||
|
||||
|
||||
class L10nITPortalAccount(PortalAccount):
|
||||
|
||||
def _validate_address_values(self, address_values, *args, **kwargs):
|
||||
invalid_fields, missing_fields, error_messages = super()._validate_address_values(
|
||||
address_values, *args, **kwargs
|
||||
)
|
||||
|
||||
if address_values.get('l10n_it_codice_fiscale'):
|
||||
partner_dummy = request.env['res.partner'].new({
|
||||
'l10n_it_codice_fiscale': address_values.get('l10n_it_codice_fiscale')
|
||||
})
|
||||
try:
|
||||
partner_dummy.validate_codice_fiscale()
|
||||
except UserError as e:
|
||||
invalid_fields.add('l10n_it_codice_fiscale')
|
||||
error_messages.append(e.args)
|
||||
|
||||
pa_index = address_values.get('l10n_it_pa_index')
|
||||
if pa_index and (len(pa_index) < 6 or len(pa_index) > 7):
|
||||
invalid_fields.add('l10n_it_pa_index')
|
||||
error_messages.append(_("Destination Code (SDI) must have between 6 and 7 characters."))
|
||||
|
||||
return invalid_fields, missing_fields, error_messages
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
"id","name","applicability","country_id/id","name@it"
|
||||
"l10n_it_edi_professional_fees_tag","Professional fees","accounts","base.it","Onorari professionali"
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<record id="edi_fatturaPA" model="account.edi.format">
|
||||
<field name="name">Fattura PA (IT)</field>
|
||||
<field name="code">fattura_pa</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
<odoo>
|
||||
<data noupdate="1">
|
||||
<!-- add VAT, codice fiscal and tax system for main company -->
|
||||
<record id="l10n_it.demo_company_it" model="res.company">
|
||||
<record id="base.demo_company_it" model="res.company">
|
||||
<field name="vat">IT01654010345</field>
|
||||
<field name="street">Test Street</field>
|
||||
<field name="city">Prova</field>
|
||||
|
|
@ -12,7 +12,7 @@
|
|||
<field name="zip">12345</field>
|
||||
</record>
|
||||
|
||||
<record id="l10n_it.partner_demo_company_it" model="res.partner">
|
||||
<record id="base.partner_demo_company_it" model="res.partner">
|
||||
<field name="l10n_it_pa_index">0803HR0</field>
|
||||
</record>
|
||||
|
||||
|
|
@ -32,8 +32,8 @@
|
|||
<field name="acc_type">iban</field>
|
||||
<field name="acc_number">BE71096123456769</field>
|
||||
<field name="bank_id" ref="base.bank_bnp"/>
|
||||
<field name="partner_id" ref="l10n_it.partner_demo_company_it"/>
|
||||
<field name="company_id" ref="l10n_it.demo_company_it"/>
|
||||
<field name="partner_id" ref="base.partner_demo_company_it"/>
|
||||
<field name="company_id" ref="base.demo_company_it"/>
|
||||
</record>
|
||||
|
||||
<record id="demo_l10n_it_edi_partner_a" model="res.partner">
|
||||
|
|
@ -60,21 +60,18 @@
|
|||
<field name="l10n_it_pa_index">SOOTJS</field>
|
||||
</record>
|
||||
|
||||
<record id="demo_l10n_it_edi_partner_pa_fiscal_position" model="ir.property" forcecreate="0">
|
||||
<field name="name">property_account_position_id</field>
|
||||
<field name="fields_id" search="[('model', '=', 'res.partner'), ('name', '=', 'property_account_position_id')]"/>
|
||||
<field name="res_id" model="res.partner" eval="'res.partner,' + str(obj().env.ref('l10n_it_edi.demo_l10n_it_edi_partner_pa').id)"/>
|
||||
<field name="value" eval="'account.fiscal.position,'
|
||||
+ str(ref('l10n_it.' + str(ref('l10n_it.demo_company_it')) + '_split_payment_fiscal_position'))"/>
|
||||
<field name="company_id" ref="l10n_it.demo_company_it"/>
|
||||
<record id="demo_l10n_it_edi_key" model="certificate.key">
|
||||
<field name="name">demo IT private key</field>
|
||||
<field name="content" type="base64" file="l10n_it_edi/data/pkey.key"/>
|
||||
</record>
|
||||
|
||||
<record id="demo_l10n_it_edi_proxy_user" model="account_edi_proxy_client.user">
|
||||
<field name="id_client">demo_id_client</field>
|
||||
<field name="company_id" ref="l10n_it.demo_company_it"/>
|
||||
<field name="edi_format_id" ref="l10n_it_edi.edi_fatturaPA"/>
|
||||
<field name="company_id" ref="base.demo_company_it"/>
|
||||
<field name="proxy_type">l10n_it_edi</field>
|
||||
<field name="edi_mode">demo</field>
|
||||
<field name="edi_identification">01654010345</field>
|
||||
<field name="private_key">1234</field>
|
||||
<field name="private_key_id" ref="demo_l10n_it_edi_key"/>
|
||||
<field name="refresh_token">demo</field>
|
||||
</record>
|
||||
|
||||
|
|
|
|||
|
|
@ -4,96 +4,104 @@
|
|||
<template id="account_invoice_line_it_simplified_FatturaPA">
|
||||
<DatiBeniServizi>
|
||||
<Descrizione>
|
||||
<t t-esc="format_alphanumeric(line.name[:1000])"/>
|
||||
<t t-if="not line.name" t-esc="'NO NAME'"/>
|
||||
<t t-out="format_alphanumeric(line.name, 1000)"/>
|
||||
<t t-if="not line.name" t-out="'NO NAME'"/>
|
||||
</Descrizione>
|
||||
<Importo t-esc="format_monetary(line.price_total, currency)"/>
|
||||
<Importo t-out="format_monetary(line.price_total, currency)"/>
|
||||
<DatiIVA>
|
||||
<Imposta t-esc="format_monetary(line.price_total - line.price_subtotal, currency)"/>
|
||||
<Imposta t-out="format_monetary(line.price_total - line.price_subtotal, currency)"/>
|
||||
</DatiIVA>
|
||||
<Natura t-if="line.tax_ids.l10n_it_has_exoneration" t-esc="line.tax_ids.l10n_it_kind_exoneration"/>
|
||||
<Natura t-if="line.tax_ids.l10n_it_exempt_reason" t-out="line.tax_ids.l10n_it_exempt_reason"/>
|
||||
</DatiBeniServizi>
|
||||
</template>
|
||||
|
||||
<template id="account_invoice_it_simplified_FatturaPA_export">
|
||||
<t t-set="currency" t-value="record.currency_id or record.company_currency_id"/>
|
||||
<t t-set="bank" t-value="record.partner_bank_id"/>
|
||||
<p:FatturaElettronicaSemplificata t-att-versione="formato_trasmissione" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.0 http://www.fatturapa.gov.it/export/fatturazione/sdi/fatturapa/v1.0/Schema_del_file_xml_FatturaPA_versione_1.0.xsd">
|
||||
<FatturaElettronicaHeader>
|
||||
<p:FatturaElettronicaSemplificata t-att-versione="formato_trasmissione" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.0 http://www.fatturapa.gov.it/export/fatturazione/sdi/fatturapa/v1.0/Schema_del_file_xml_FatturaPA_versione_1.0.xsd">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese t-esc="get_vat_country(record.company_id.vat)"/>
|
||||
<IdCodice t-esc="normalize_codice_fiscale(record.company_id.l10n_it_codice_fiscale) or get_vat_number(record.company_id.vat)"/>
|
||||
<IdPaese t-out="sender_info['country_code']"/>
|
||||
<IdCodice t-out="sender_info['codice_fiscale'] or sender_info['vat']"/>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio t-esc="format_alphanumeric(record.name.replace('/','')[-10:])"/>
|
||||
<FormatoTrasmissione t-esc="formato_trasmissione"/>
|
||||
<CodiceDestinatario t-if="record.commercial_partner_id.l10n_it_pa_index" t-esc="record.commercial_partner_id.l10n_it_pa_index.upper()"/>
|
||||
<CodiceDestinatario t-if="not record.commercial_partner_id.l10n_it_pa_index" t-esc="'0000000'"/>
|
||||
<PECDestinatario t-if="record.commercial_partner_id.l10n_it_pec_email" t-esc="record.commercial_partner_id.l10n_it_pec_email"/>
|
||||
<ProgressivoInvio t-out="format_alphanumeric(record.name.replace('/',''), -10)"/>
|
||||
<FormatoTrasmissione t-out="formato_trasmissione"/>
|
||||
<CodiceDestinatario t-if="buyer_info['pa_index']" t-out="buyer_info['pa_index']"/>
|
||||
<PECDestinatario t-if="buyer.l10n_it_pec_email" t-out="buyer.l10n_it_pec_email"/>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese t-esc="get_vat_country(record.company_id.vat)"/>
|
||||
<IdCodice t-esc="get_vat_number(record.company_id.vat)"/>
|
||||
<IdPaese t-out="seller_info['country_code']"/>
|
||||
<IdCodice t-out="seller_info['vat']"/>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale t-if="record.company_id.l10n_it_codice_fiscale" t-esc="normalize_codice_fiscale(record.company_id.l10n_it_codice_fiscale)"/>
|
||||
<Denominazione t-esc="format_alphanumeric(record.company_id.partner_id.display_name[:80])"/>
|
||||
<t t-call="l10n_it_edi.account_invoice_it_FatturaPA_sede">
|
||||
<t t-set="partner" t-value="record.company_id.partner_id"/>
|
||||
<CodiceFiscale t-if="seller_info['codice_fiscale']" t-out="seller_info['codice_fiscale']"/>
|
||||
<t t-if="seller_info['is_company']">
|
||||
<Denominazione t-out="format_alphanumeric(seller.display_name, 80)"/>
|
||||
</t>
|
||||
<RappresentanteFiscale t-if="record.company_id.l10n_it_has_tax_representative">
|
||||
<t t-else="">
|
||||
<Nome t-out="format_alphanumeric(seller_info['first_name'], 60)"/>
|
||||
<Cognome t-out="format_alphanumeric(seller_info['last_name'], 60)"/>
|
||||
</t>
|
||||
<t t-call="l10n_it_edi.account_invoice_it_FatturaPA_sede">
|
||||
<t t-set="partner" t-value="seller"/>
|
||||
<t t-set="partner_info" t-value="seller_info"/>
|
||||
</t>
|
||||
<RappresentanteFiscale t-if="seller.l10n_it_has_tax_representative">
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese t-esc="get_vat_country(record.company_id.l10n_it_tax_representative_partner_id.vat)"/>
|
||||
<IdCodice t-esc="get_vat_number(record.company_id.l10n_it_tax_representative_partner_id.vat)"/>
|
||||
<IdPaese t-out="representative_info['country_code']"/>
|
||||
<IdCodice t-out="representative_info['vat']"/>
|
||||
</IdFiscaleIVA>
|
||||
<Anagrafica>
|
||||
<Denominazione t-if="record.commercial_partner_id.is_company" t-esc="format_alphanumeric(record.commercial_partner_id.display_name[:80])"/>
|
||||
<Nome t-if="not record.commercial_partner_id.is_company" t-esc="format_alphanumeric(' '.join(record.commercial_partner_id.name.split()[:1])[:60])"/>
|
||||
<Cognome t-if="not record.commercial_partner_id.is_company" t-esc="format_alphanumeric(' '.join(record.commercial_partner_id.name.split()[1:])[:60])"/>
|
||||
<t t-if="representative_info['is_company']">
|
||||
<Denominazione t-out="format_alphanumeric(representative.display_name, 80)"/>
|
||||
</t>
|
||||
<t t-else="">
|
||||
<Nome t-out="format_alphanumeric(representative_info['first_name'], 60)"/>
|
||||
<Cognome t-out="format_alphanumeric(representative_info['last_name'], 60)"/>
|
||||
</t>
|
||||
</Anagrafica>
|
||||
</RappresentanteFiscale>
|
||||
<IscrizioneREA t-if="record.company_id.l10n_it_has_eco_index">
|
||||
<Ufficio t-esc="record.company_id.l10n_it_eco_index_office.code"/>
|
||||
<NumeroREA t-esc="format_alphanumeric(record.company_id.l10n_it_eco_index_number)"/>
|
||||
<CapitaleSociale t-if="record.company_id.l10n_it_eco_index_share_capital != 0" t-esc="format_numbers_two(record.company_id.l10n_it_eco_index_share_capital)"/>
|
||||
<SocioUnico t-if="record.company_id.l10n_it_eco_index_sole_shareholder != 'NO'" t-esc="record.company_id.l10n_it_eco_index_sole_shareholder"/>
|
||||
<StatoLiquidazione t-esc="record.company_id.l10n_it_eco_index_liquidation_state"/>
|
||||
<IscrizioneREA t-if="seller.l10n_it_has_eco_index">
|
||||
<Ufficio t-out="seller.l10n_it_eco_index_office.code"/>
|
||||
<NumeroREA t-out="format_alphanumeric(seller.l10n_it_eco_index_number)"/>
|
||||
<CapitaleSociale t-if="seller.l10n_it_eco_index_share_capital != 0" t-out="format_numbers_two(seller.l10n_it_eco_index_share_capital)"/>
|
||||
<SocioUnico t-if="seller.l10n_it_eco_index_sole_shareholder != 'NO'" t-out="seller.l10n_it_eco_index_sole_shareholder"/>
|
||||
<StatoLiquidazione t-out="seller.l10n_it_eco_index_liquidation_state"/>
|
||||
</IscrizioneREA>
|
||||
<RegimeFiscale t-esc="record.company_id.l10n_it_tax_system"/>
|
||||
<RegimeFiscale t-out="seller.l10n_it_tax_system"/>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<IdentificativiFiscali>
|
||||
<IdFiscaleIVA t-if="record.commercial_partner_id.vat and in_eu(record.commercial_partner_id)">
|
||||
<IdPaese t-esc="get_vat_country(record.commercial_partner_id.vat)"/>
|
||||
<IdCodice t-esc="get_vat_number(record.commercial_partner_id.vat)"/>
|
||||
<IdFiscaleIVA t-if="buyer_info['vat'] and buyer_info['in_eu']">
|
||||
<IdPaese t-out="buyer_info['country_code']"/>
|
||||
<IdCodice t-out="buyer_info['vat']"/>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale t-if="record.commercial_partner_id.l10n_it_codice_fiscale" t-esc="normalize_codice_fiscale(record.commercial_partner_id.l10n_it_codice_fiscale)"/>
|
||||
<CodiceFiscale t-if="buyer_info['codice_fiscale']" t-out="buyer_info['codice_fiscale']"/>
|
||||
</IdentificativiFiscali>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<!--2.1.1-->
|
||||
<TipoDocumento t-esc="document_type"/>
|
||||
<Divisa t-esc="currency.name"/>
|
||||
<Data t-esc="format_date(record.invoice_date)"/>
|
||||
<Numero t-esc="format_alphanumeric(record.name[-20:])"/>
|
||||
<TipoDocumento t-out="document_type"/>
|
||||
<Divisa t-out="currency.name"/>
|
||||
<Data t-out="format_date(record.invoice_date)"/>
|
||||
<Numero t-out="format_alphanumeric(record.name, -20)"/>
|
||||
</DatiGeneraliDocumento>
|
||||
<DatiFatturaRettificata t-if="record.move_type == 'out_refund' and record.reversed_entry_id">
|
||||
<NumeroFR t-esc="format_alphanumeric(record.reversed_entry_id.name[-20:])"/>
|
||||
<DataFR t-esc="format_date(record.reversed_entry_id.invoice_date)"/>
|
||||
<ElementiRettificati t-esc="format_alphanumeric(record.ref[:1000])"/>
|
||||
<NumeroFR t-out="format_alphanumeric(record.reversed_entry_id.name, -20)"/>
|
||||
<DataFR t-out="format_date(record.reversed_entry_id.invoice_date)"/>
|
||||
<ElementiRettificati t-out="format_alphanumeric(record.ref, 1000)"/>
|
||||
</DatiFatturaRettificata>
|
||||
</DatiGenerali>
|
||||
<!-- Invoice lines. -->
|
||||
<t t-foreach="record.invoice_line_ids.filtered(lambda l: l.display_type not in ('line_note', 'line_section'))" t-as="line">
|
||||
<t t-foreach="record.invoice_line_ids.filtered(lambda l: l.display_type not in ('line_section', 'line_subsection', 'line_note'))" t-as="line">
|
||||
<t t-call="l10n_it_edi.account_invoice_line_it_simplified_FatturaPA"/>
|
||||
</t>
|
||||
<Allegati t-if="pdf">
|
||||
<NomeAttachment t-esc="format_alphanumeric(pdf_name[:60])"/>
|
||||
<NomeAttachment t-out="format_alphanumeric(pdf_name, 60)"/>
|
||||
<FormatoAttachment t-translation="off">PDF</FormatoAttachment>
|
||||
<Attachment t-esc="pdf"/>
|
||||
<Attachment t-out="pdf"/>
|
||||
</Allegati>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronicaSemplificata>
|
||||
|
|
|
|||
|
|
@ -3,37 +3,43 @@
|
|||
<data>
|
||||
|
||||
<template id="account_invoice_line_it_FatturaPA">
|
||||
<t t-set="it_values" t-value="base_line['it_values']"/>
|
||||
<t t-set="line" t-value="base_line['record']"/>
|
||||
<t t-set="product" t-value="base_line['product_id']"/>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea t-esc="line_dict['line_number']"/>
|
||||
<CodiceArticolo t-if="line.product_id.barcode">
|
||||
<NumeroLinea t-out="it_values['numero_linea']"/>
|
||||
<CodiceArticolo t-if="product.barcode">
|
||||
<CodiceTipo t-translation="off">EAN</CodiceTipo>
|
||||
<CodiceValore t-esc="format_alphanumeric(line.product_id.barcode)[:35]"/>
|
||||
<CodiceValore t-out="format_alphanumeric(product.barcode, 35)"/>
|
||||
</CodiceArticolo>
|
||||
<CodiceArticolo t-elif="line.product_id.default_code">
|
||||
<CodiceArticolo t-elif="product.default_code">
|
||||
<CodiceTipo t-translation="off">INTERNAL</CodiceTipo>
|
||||
<CodiceValore t-esc="format_alphanumeric(line.product_id.default_code)[:35]"/>
|
||||
<CodiceValore t-out="format_alphanumeric(product.default_code, 35)"/>
|
||||
</CodiceArticolo>
|
||||
<Descrizione t-esc="format_alphanumeric(line_dict['description'])[:1000]"/>
|
||||
<Quantita t-esc="format_numbers(abs(line.quantity))"/>
|
||||
<UnitaMisura t-if="line.product_uom_id and line.product_uom_id.category_id != env.ref('uom.product_uom_categ_unit')" t-esc="format_alphanumeric(line.product_uom_id.name)[:10]"/>
|
||||
<PrezzoUnitario t-esc="'%.06f' % (line_dict['unit_price'])"/>
|
||||
<ScontoMaggiorazione t-if="line.discount != 0">
|
||||
<Tipo t-esc="discount_type(line.discount)"/>
|
||||
<Percentuale t-esc="format_numbers(abs(line.discount))"/>
|
||||
<Descrizione t-out="format_alphanumeric(it_values['descrizione'], 1000)"/>
|
||||
<Quantita t-out="format_float(it_values['quantita'], it_values['quantita_pd'])"/>
|
||||
<UnitaMisura t-if="line.product_uom_id and not line.product_uom_id._has_common_reference(env.ref('uom.product_uom_unit'))"
|
||||
t-out="format_alphanumeric(line.product_uom_id.name, 10)"/>
|
||||
<PrezzoUnitario t-out="format_float(it_values['prezzo_unitario'], 8)"/>
|
||||
<ScontoMaggiorazione t-foreach="it_values['sconto_maggiorazione_list']" t-as="sconto_maggiorazione">
|
||||
<Tipo t-out="format_alphanumeric(sconto_maggiorazione['tipo'])"/>
|
||||
<Percentuale t-if="sconto_maggiorazione['percentuale']"
|
||||
t-out="format_float(sconto_maggiorazione['percentuale'], 2)"/>
|
||||
</ScontoMaggiorazione>
|
||||
<PrezzoTotale t-esc="format_monetary(line_dict['subtotal_price'], currency)"/>
|
||||
<AliquotaIVA t-if="vat_tax.amount_type == 'percent'" t-esc="format_numbers(vat_tax.amount)"/>
|
||||
<AliquotaIVA t-elif="vat_tax.amount_type != 'percent'" t-esc="'0.00'"/>
|
||||
<Natura t-if="vat_tax.l10n_it_has_exoneration" t-esc="vat_tax.l10n_it_kind_exoneration"/>
|
||||
<AltriDatiGestionali t-if="conversion_rate">
|
||||
<TipoDato t-translation="off">DIVISA</TipoDato>
|
||||
<RiferimentoTesto t-esc="format_alphanumeric(record.currency_id.name)"/>
|
||||
<RiferimentoNumero t-esc="'%.06f' % line.price_subtotal"/>
|
||||
</AltriDatiGestionali>
|
||||
<AltriDatiGestionali t-if="conversion_rate">
|
||||
<TipoDato t-translation="off">CAMBIO</TipoDato>
|
||||
<RiferimentoNumero t-esc="conversion_rate"/>
|
||||
<RiferimentoData t-esc="format_date(record.invoice_date)"/>
|
||||
<PrezzoTotale t-out="format_float(it_values['prezzo_totale'], 8)"/>
|
||||
<AliquotaIVA t-foreach="it_values['aliquota_iva_list']"
|
||||
t-as="aliquota_iva"
|
||||
t-out="format_float(aliquota_iva, 2)"/>
|
||||
<Ritenuta t-if="it_values['ritenuta']" t-out="it_values['ritenuta']"/>
|
||||
<Natura t-if="it_values['natura']" t-out="it_values['natura']"/>
|
||||
<AltriDatiGestionali t-foreach="it_values['altri_dati_gestionali_list']" t-as="altri_dati_gestionali">
|
||||
<TipoDato t-out="altri_dati_gestionali['tipo_dato']"/>
|
||||
<RiferimentoTesto t-if="altri_dati_gestionali['riferimento_testo']"
|
||||
t-out="format_alphanumeric(altri_dati_gestionali['riferimento_testo'])"/>
|
||||
<RiferimentoNumero t-if="altri_dati_gestionali['riferimento_numero']"
|
||||
t-out="format_float(altri_dati_gestionali['riferimento_numero'], 8)"/>
|
||||
<RiferimentoData t-if="altri_dati_gestionali['riferimento_data']"
|
||||
t-out="format_date(altri_dati_gestionali['riferimento_data'])"/>
|
||||
</AltriDatiGestionali>
|
||||
</DettaglioLinee>
|
||||
</template>
|
||||
|
|
@ -43,18 +49,17 @@
|
|||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese t-esc="get_vat_country(sender.vat)"/>
|
||||
<IdCodice t-esc="normalize_codice_fiscale(sender.l10n_it_codice_fiscale) or get_vat_number(sender.vat)"/>
|
||||
<IdPaese t-out="sender_info['country_code']"/>
|
||||
<IdCodice t-out="sender_info['codice_fiscale'] or sender_info['vat']"/>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio t-esc="format_alphanumeric(record.name.replace('/','')[-10:])"/>
|
||||
<FormatoTrasmissione t-esc="formato_trasmissione"/>
|
||||
<CodiceDestinatario t-esc="codice_destinatario"/>
|
||||
<ProgressivoInvio t-out="format_alphanumeric(record.name.replace('/',''), -10)"/>
|
||||
<FormatoTrasmissione t-out="formato_trasmissione"/>
|
||||
<CodiceDestinatario t-out="buyer_info['pa_index']"/>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono t-if="sender_partner.phone" t-esc="format_alphanumeric(format_phone(sender_partner.phone))"/>
|
||||
<Telefono t-elif="sender_partner.mobile" t-esc="format_alphanumeric(format_phone(sender_partner.mobile))"/>
|
||||
<Email t-if="sender_partner.email" t-esc="sender_partner.email[:256]"/>
|
||||
<Telefono t-if="sender.phone" t-out="format_phone(sender.phone)"/>
|
||||
<Email t-if="sender.email" t-out="format_alphanumeric(sender.email, 256)"/>
|
||||
</ContattiTrasmittente>
|
||||
<PECDestinatario t-if="not is_self_invoice and partner.l10n_it_pec_email" t-esc="partner.l10n_it_pec_email[:256]"/>
|
||||
<PECDestinatario t-if="not is_self_invoice and buyer.l10n_it_pec_email" t-out="format_alphanumeric(buyer.l10n_it_pec_email, 256)"/>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
|
|
@ -62,37 +67,44 @@
|
|||
<IdPaese t-out="seller_info['country_code']"/>
|
||||
<IdCodice t-out="seller_info['vat']"/>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale t-if="seller.l10n_it_codice_fiscale" t-esc="normalize_codice_fiscale(seller.l10n_it_codice_fiscale)"/>
|
||||
<CodiceFiscale t-if="seller_info['codice_fiscale']" t-out="seller_info['codice_fiscale']"/>
|
||||
<Anagrafica>
|
||||
<Denominazione t-esc="format_alphanumeric(seller_partner.display_name[:80])"/>
|
||||
<t t-if="seller_info['is_company']">
|
||||
<Denominazione t-out="format_alphanumeric(seller.display_name, 80)"/>
|
||||
</t>
|
||||
<t t-else="">
|
||||
<Nome t-out="format_alphanumeric(seller_info['first_name'], 60)"/>
|
||||
<Cognome t-out="format_alphanumeric(seller_info['last_name'], 60)"/>
|
||||
</t>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale t-esc="regime_fiscale"/>
|
||||
<RegimeFiscale t-out="regime_fiscale"/>
|
||||
</DatiAnagrafici>
|
||||
<t t-call="l10n_it_edi.account_invoice_it_FatturaPA_sede">
|
||||
<t t-set="partner" t-value="seller_partner"/>
|
||||
<t t-set="partner" t-value="seller"/>
|
||||
<t t-set="partner_info" t-value="seller_info"/>
|
||||
</t>
|
||||
<IscrizioneREA t-if="not is_self_invoice and company.l10n_it_has_eco_index">
|
||||
<Ufficio t-esc="company.l10n_it_eco_index_office.code"/>
|
||||
<NumeroREA t-esc="format_alphanumeric(company.l10n_it_eco_index_number)"/>
|
||||
<CapitaleSociale t-if="company.l10n_it_eco_index_share_capital != 0" t-esc="format_numbers_two(company.l10n_it_eco_index_share_capital)"/>
|
||||
<SocioUnico t-if="company.l10n_it_eco_index_sole_shareholder != 'NO'" t-esc="company.l10n_it_eco_index_sole_shareholder"/>
|
||||
<StatoLiquidazione t-esc="company.l10n_it_eco_index_liquidation_state"/>
|
||||
<Ufficio t-out="company.l10n_it_eco_index_office.code"/>
|
||||
<NumeroREA t-out="format_alphanumeric(company.l10n_it_eco_index_number)"/>
|
||||
<CapitaleSociale t-if="company.l10n_it_eco_index_share_capital != 0" t-out="format_numbers_two(company.l10n_it_eco_index_share_capital)"/>
|
||||
<SocioUnico t-if="company.l10n_it_eco_index_sole_shareholder != 'NO'" t-out="company.l10n_it_eco_index_sole_shareholder"/>
|
||||
<StatoLiquidazione t-out="company.l10n_it_eco_index_liquidation_state"/>
|
||||
</IscrizioneREA>
|
||||
</CedentePrestatore>
|
||||
<RappresentanteFiscale t-if="not is_self_invoice and representative">
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese t-esc="get_vat_country(representative.vat)"/>
|
||||
<IdCodice t-esc="get_vat_number(representative.vat)"/>
|
||||
<IdPaese t-out="representative_info['country_code']"/>
|
||||
<IdCodice t-out="representative_info['vat']"/>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale t-if="representative.l10n_it_codice_fiscale" t-esc="normalize_codice_fiscale(representative.l10n_it_codice_fiscale)"/>
|
||||
<CodiceFiscale t-if="representative_info['codice_fiscale']" t-out="representative_info['codice_fiscale']"/>
|
||||
<Anagrafica>
|
||||
<t t-if="representative.is_company">
|
||||
<Denominazione t-esc="format_alphanumeric(representative.display_name[:80])"/>
|
||||
<t t-if="representative_info['is_company']">
|
||||
<Denominazione t-out="format_alphanumeric(representative.display_name, 80)"/>
|
||||
</t>
|
||||
<t t-else="">
|
||||
<Nome t-esc="format_alphanumeric(' '.join(representative.name.split()[:1])[:60])"/>
|
||||
<Cognome t-esc="format_alphanumeric(' '.join(representative.name.split()[1:])[:60])"/>
|
||||
<Nome t-out="format_alphanumeric(representative_info['first_name'], 60)"/>
|
||||
<Cognome t-out="format_alphanumeric(representative_info['last_name'], 60)"/>
|
||||
</t>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
|
|
@ -103,40 +115,68 @@
|
|||
<IdPaese t-out="buyer_info['country_code']"/>
|
||||
<IdCodice t-out="buyer_info['vat']"/>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale t-if="buyer.l10n_it_codice_fiscale" t-esc="normalize_codice_fiscale(buyer.l10n_it_codice_fiscale)"/>
|
||||
<CodiceFiscale t-if="buyer_info['codice_fiscale']" t-out="buyer_info['codice_fiscale']"/>
|
||||
<Anagrafica>
|
||||
<t t-if="buyer_is_company">
|
||||
<Denominazione t-esc="format_alphanumeric(buyer.display_name[:80])"/>
|
||||
<t t-if="buyer_info['is_company']">
|
||||
<Denominazione t-out="format_alphanumeric(buyer.display_name, 80)"/>
|
||||
</t>
|
||||
<t t-else="">
|
||||
<Nome t-esc="format_alphanumeric(' '.join(buyer.name.split()[:1])[:60])"/>
|
||||
<Cognome t-esc="format_alphanumeric(' '.join(buyer.name.split()[1:])[:60])"/>
|
||||
<Nome t-out="format_alphanumeric(buyer_info['first_name'], 60)"/>
|
||||
<Cognome t-out="format_alphanumeric(buyer_info['last_name'], 60)"/>
|
||||
</t>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<t t-call="l10n_it_edi.account_invoice_it_FatturaPA_sede">
|
||||
<t t-set="partner" t-value="buyer_partner"/>
|
||||
<t t-set="partner" t-value="buyer"/>
|
||||
<t t-set="partner_info" t-value="buyer_info"/>
|
||||
</t>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento t-esc="document_type"/>
|
||||
<Divisa t-esc="currency.name"/>
|
||||
<Data t-esc="format_date(get_move_invoice_template_date(record))"/>
|
||||
<Numero t-esc="format_alphanumeric(record.name[-20:])"/>
|
||||
<TipoDocumento t-out="document_type"/>
|
||||
<Divisa t-out="currency.name"/>
|
||||
<Data t-out="format_date(record.date if is_self_invoice else record.invoice_date)"/>
|
||||
<Numero t-out="format_alphanumeric(record.name, -20)"/>
|
||||
<t t-foreach="withholding_values" t-as="withholding">
|
||||
<DatiRitenuta>
|
||||
<TipoRitenuta t-out="format_alphanumeric(withholding['tipo_ritenuta'])"/>
|
||||
<ImportoRitenuta t-out="format_float(withholding['importo_ritenuta'], 2)"/>
|
||||
<AliquotaRitenuta t-out="format_float(withholding['aliquota_ritenuta'], 2)"/>
|
||||
<CausalePagamento t-out="format_alphanumeric(withholding['causale_pagamento'])"/>
|
||||
</DatiRitenuta>
|
||||
</t>
|
||||
<DatiBollo t-if="record.l10n_it_stamp_duty">
|
||||
<BolloVirtuale t-translation="off">SI</BolloVirtuale>
|
||||
<ImportoBollo t-esc="format_numbers(record.l10n_it_stamp_duty)"/>
|
||||
<ImportoBollo t-out="format_numbers(record.l10n_it_stamp_duty)"/>
|
||||
</DatiBollo>
|
||||
<ImportoTotaleDocumento t-esc="format_monetary(document_total, currency)"/>
|
||||
<t t-foreach="pension_fund_values" t-as="pension_fund">
|
||||
<DatiCassaPrevidenziale>
|
||||
<TipoCassa t-out="format_alphanumeric(pension_fund['tipo_cassa'])"/>
|
||||
<AlCassa t-out="format_float(pension_fund['al_cassa'], 2)"/>
|
||||
<ImportoContributoCassa t-out="format_float(pension_fund['importo_contributo_cassa'], 2)"/>
|
||||
<ImponibileCassa t-out="format_float(pension_fund['imponibile_cassa'], 2)"/>
|
||||
<AliquotaIVA t-out="format_float(pension_fund['aliquota_iva'], 2)"/>
|
||||
<Ritenuta t-if="pension_fund['ritenuta']"
|
||||
t-out="pension_fund['ritenuta']"/>
|
||||
<Natura t-if="pension_fund['natura']"
|
||||
t-out="format_alphanumeric(pension_fund['natura'])"/>
|
||||
<RiferimentoAmministrazione t-if="pension_fund['riferimento_amministrazione']"
|
||||
t-out="format_alphanumeric(pension_fund['riferimento_amministrazione'])"/>
|
||||
</DatiCassaPrevidenziale>
|
||||
</t>
|
||||
<ImportoTotaleDocumento t-out="format_monetary(importo_totale_documento, currency)"/>
|
||||
</DatiGeneraliDocumento>
|
||||
<DatiOrdineAcquisto t-if="origin_document_type == 'purchase_order'">
|
||||
<t t-call="l10n_it_edi.account_invoice_FatturaPA_origin_document"/>
|
||||
</DatiOrdineAcquisto>
|
||||
<Datifatturecollegate t-elif="record.debit_origin_id">
|
||||
<IdDocumento t-out="format_alphanumeric(record.ref, 20)"/>
|
||||
<Data t-out="format_date(record.debit_origin_id.date)"/>
|
||||
</Datifatturecollegate>
|
||||
<DatiOrdineAcquisto t-elif="record.ref and not record.reversed_entry_id">
|
||||
<IdDocumento t-esc="format_alphanumeric(record.ref[:20])"/>
|
||||
<IdDocumento t-out="format_alphanumeric(record.ref, 20)"/>
|
||||
</DatiOrdineAcquisto>
|
||||
<DatiContratto t-if="origin_document_type == 'contract'">
|
||||
<t t-call="l10n_it_edi.account_invoice_FatturaPA_origin_document"/>
|
||||
|
|
@ -144,43 +184,31 @@
|
|||
<DatiConvenzione t-if="origin_document_type == 'agreement'">
|
||||
<t t-call="l10n_it_edi.account_invoice_FatturaPA_origin_document"/>
|
||||
</DatiConvenzione>
|
||||
<DatiFattureCollegate t-if="record.reversed_entry_id">
|
||||
<IdDocumento t-out="format_alphanumeric(record.reversed_entry_id.name[-20:])"/>
|
||||
<Data t-out="format_date(get_move_invoice_template_date(record.reversed_entry_id))"/>
|
||||
</DatiFattureCollegate>
|
||||
<DatiFattureCollegate t-foreach="downpayment_moves" t-as="downpayment_move">
|
||||
<IdDocumento t-out="format_alphanumeric(downpayment_move.name[-20:])"/>
|
||||
<Data t-out="format_date(get_move_invoice_template_date(downpayment_move))"/>
|
||||
<DatiFattureCollegate t-foreach="linked_moves" t-as="linked_move">
|
||||
<IdDocumento t-out="format_alphanumeric(linked_move.name, -20)"/>
|
||||
<Data t-out="format_date(linked_move.date if linked_move.l10n_it_edi_is_self_invoice else linked_move.invoice_date)"/>
|
||||
</DatiFattureCollegate>
|
||||
<DatiDDT t-if="record.l10n_it_ddt_id">
|
||||
<NumeroDDT t-esc="format_alphanumeric(record.l10n_it_ddt_id.name[-20:])"/>
|
||||
<DataDDT t-esc="format_date(record.l10n_it_ddt_id.date)"/>
|
||||
<NumeroDDT t-out="format_alphanumeric(record.l10n_it_ddt_id.name, -20)"/>
|
||||
<DataDDT t-out="format_date(record.l10n_it_ddt_id.date)"/>
|
||||
</DatiDDT>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<t t-foreach="invoice_lines" t-as="line_dict">
|
||||
<t t-set="line" t-value="line_dict['line']"/>
|
||||
<t t-set="vat_tax" t-value="line_dict['vat_tax']"/>
|
||||
<t t-foreach="base_lines" t-as="base_line">
|
||||
<t t-call="l10n_it_edi.account_invoice_line_it_FatturaPA"/>
|
||||
</t>
|
||||
<t t-foreach="tax_lines" t-as="tax_line">
|
||||
<t t-set="tax" t-value="tax_line['tax']"/>
|
||||
<t t-set="has_exoneration" t-value="tax.l10n_it_has_exoneration"/>
|
||||
<t t-set="kind_exoneration" t-value="tax.l10n_it_kind_exoneration"/>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA t-esc="format_numbers(tax.amount)"/>
|
||||
<Natura t-if="has_exoneration" t-esc="kind_exoneration"/>
|
||||
<Arrotondamento t-if="tax_line.get('rounding')" t-esc="format_numbers(-tax_line['rounding'])"/>
|
||||
<t t-if="rc_refund">
|
||||
<ImponibileImporto t-esc="format_monetary(balance_multiplicator * tax_line['base_amount'], currency)"/>
|
||||
<Imposta t-esc="format_monetary(balance_multiplicator * tax_line['tax_amount'], currency)"/>
|
||||
</t>
|
||||
<t t-else="">
|
||||
<ImponibileImporto t-esc="format_monetary(tax_line['base_amount'], currency)"/>
|
||||
<Imposta t-esc="format_monetary(tax_line['tax_amount'], currency)"/>
|
||||
</t>
|
||||
<EsigibilitaIVA t-esc="tax_line['exigibility_code']"/>
|
||||
<RiferimentoNormativo t-if="tax.l10n_it_law_reference" t-esc="format_alphanumeric(tax.l10n_it_law_reference[:100])"/>
|
||||
<AliquotaIVA t-out="format_float(tax_line['aliquota_iva'], 2)"/>
|
||||
<Natura t-if="tax_line['natura']"
|
||||
t-out="tax_line['natura']"/>
|
||||
<Arrotondamento t-if="tax_line['arrotondamento']"
|
||||
t-out="format_float(tax_line['arrotondamento'], 8)"/>
|
||||
<ImponibileImporto t-out="format_float(tax_line['imponibile_importo'], 2)"/>
|
||||
<Imposta t-out="format_float(tax_line['imposta'], 2)"/>
|
||||
<EsigibilitaIVA t-out="tax_line['esigibilita_iva']"/>
|
||||
<RiferimentoNormativo t-if="tax_line['riferimento_normativo']"
|
||||
t-out="format_alphanumeric(tax_line['riferimento_normativo'][:100])"/>
|
||||
</DatiRiepilogo>
|
||||
</t>
|
||||
</DatiBeniServizi>
|
||||
|
|
@ -189,20 +217,20 @@
|
|||
<CondizioniPagamento t-translation="off"><t t-if="len(payments) == 1">TP02</t><t t-else="">TP01</t></CondizioniPagamento>
|
||||
<t t-foreach="payments" t-as="payment">
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento t-translation="off">MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento t-esc="format_date(payment.date_maturity)"/>
|
||||
<ImportoPagamento t-esc="format_monetary(abs(payment.amount_currency), currency)"/>
|
||||
<IstitutoFinanziario t-if="partner_bank.bank_id" t-esc="format_alphanumeric(partner_bank.bank_id.name[:80])"/>
|
||||
<IBAN t-if="partner_bank.acc_type == 'iban'" t-esc="partner_bank.sanitized_acc_number"/>
|
||||
<BIC t-elif="partner_bank.acc_type == 'bank' and partner_bank.bank_id.bic" t-esc="partner_bank.bank_id.bic"/>
|
||||
<CodicePagamento t-if="record.payment_reference" t-esc="format_alphanumeric(record.payment_reference[:60])"/>
|
||||
<ModalitaPagamento t-translation="off" t-out="payment_method"/>
|
||||
<DataScadenzaPagamento t-out="format_date(payment.date_maturity)"/>
|
||||
<ImportoPagamento t-out="format_monetary(abs(payment.amount_currency), currency)"/>
|
||||
<IstitutoFinanziario t-if="partner_bank.bank_id" t-out="format_alphanumeric(partner_bank.bank_id.name, 80)"/>
|
||||
<IBAN t-if="partner_bank.acc_type == 'iban'" t-out="partner_bank.sanitized_acc_number"/>
|
||||
<BIC t-elif="partner_bank.acc_type == 'bank' and partner_bank.bank_id.bic" t-out="partner_bank.bank_id.bic"/>
|
||||
<CodicePagamento t-if="record.payment_reference" t-out="format_alphanumeric(record.payment_reference, 60)"/>
|
||||
</DettaglioPagamento>
|
||||
</t>
|
||||
</DatiPagamento>
|
||||
<Allegati t-if="pdf">
|
||||
<NomeAttachment t-esc="format_alphanumeric(pdf_name[:60])"/>
|
||||
<NomeAttachment t-out="format_alphanumeric(pdf_name, 60)"/>
|
||||
<FormatoAttachment t-translation="off">PDF</FormatoAttachment>
|
||||
<Attachment t-esc="pdf"/>
|
||||
<Attachment t-out="pdf"/>
|
||||
</Allegati>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -210,19 +238,19 @@
|
|||
|
||||
<template id="account_invoice_it_FatturaPA_sede">
|
||||
<Sede>
|
||||
<Indirizzo><t t-if="partner.street or partner.street2" t-esc="format_alphanumeric((partner.street or '') + ' ' + (partner.street2 or ''))[:60]"/></Indirizzo>
|
||||
<CAP><t t-if="partner.country_id.code != 'IT'" t-esc="'00000'"/><t t-elif="partner.zip" t-esc="partner.zip"/></CAP>
|
||||
<Comune t-esc="format_alphanumeric(partner.city[:60])"/>
|
||||
<Provincia t-if="partner.country_id.code == 'IT' and partner.state_id" t-esc="partner.state_id.code[:2]"/>
|
||||
<Nazione t-esc="partner.country_id.code"/>
|
||||
<Indirizzo><t t-if="partner.street or partner.street2" t-out="format_address(partner.street, partner.street2, 60)"/></Indirizzo>
|
||||
<CAP><t t-out="partner_info['zip']"/></CAP>
|
||||
<Comune t-out="format_alphanumeric(partner.city, 60)"/>
|
||||
<Provincia t-if="partner_info['state_code']" t-out="format_alphanumeric(partner_info['state_code'], 2)"/>
|
||||
<Nazione t-out="partner_info['country_code']"/>
|
||||
</Sede>
|
||||
</template>
|
||||
|
||||
<template id="account_invoice_FatturaPA_origin_document">
|
||||
<IdDocumento t-if="origin_document_name" t-esc="format_alphanumeric(origin_document_name[:20])"/>
|
||||
<Data t-if="origin_document_date" t-esc="format_date(origin_document_date)"/>
|
||||
<CodiceCUP t-if="cup" t-esc="format_alphanumeric(cup)[-15:]"/>
|
||||
<CodiceCIG t-if="cig" t-esc="format_alphanumeric(cig)[-15:]"/>
|
||||
<IdDocumento t-if="origin_document_name" t-out="format_alphanumeric(origin_document_name, 20)"/>
|
||||
<Data t-if="origin_document_date" t-out="format_date(origin_document_date)"/>
|
||||
<CodiceCUP t-if="cup" t-out="format_alphanumeric(cup, 15)"/>
|
||||
<CodiceCIG t-if="cig" t-out="format_alphanumeric(cig, 15)"/>
|
||||
</template>
|
||||
|
||||
</data>
|
||||
|
|
|
|||
|
|
@ -1,13 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="ir_cron_receive_fattura_pa_invoice" model="ir.cron">
|
||||
<field name="name">FatturaPA: Receive invoices from the exchange system</field>
|
||||
<record id="ir_cron_l10n_it_edi_download_and_update" model="ir.cron">
|
||||
<field name="name">IT EDI: Receive invoices from the SdI</field>
|
||||
<field name="interval_number">1</field>
|
||||
<field name="interval_type">days</field>
|
||||
<field name="numbercall">-1</field>
|
||||
<field name="model_id" ref="account_edi.model_account_edi_format"/>
|
||||
<field name="code">model._cron_receive_fattura_pa()</field>
|
||||
<field name="doall" eval="False"/>
|
||||
<field name="model_id" ref="account.model_account_move"/>
|
||||
<field name="code">model.cron_l10n_it_edi_download_and_update()</field>
|
||||
<field name="state">code</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,23 @@
|
|||
"id","code","name","name@it"
|
||||
"l10n_it_document_type_01","TD01","Invoice","Fattura"
|
||||
"l10n_it_document_type_02","TD02","Deposit/advance on invoice","Acconto/anticipo su fattura"
|
||||
"l10n_it_document_type_03","TD03","Deposit/advance on vendor bill","Acconto/anticipo su fattura fornitore"
|
||||
"l10n_it_document_type_04","TD04","Credit note","Nota di credito"
|
||||
"l10n_it_document_type_05","TD05","Debit note","Nota di debito"
|
||||
"l10n_it_document_type_06","TD06","Vendor bill","Fattura fornitore"
|
||||
"l10n_it_document_type_07","TD07","Simplified invoice","Fattura semplificata"
|
||||
"l10n_it_document_type_08","TD08","Simplified credit note","Nota di credito semplificata"
|
||||
"l10n_it_document_type_09","TD09","Simplified debit note","Nota di debito semplificata"
|
||||
"l10n_it_document_type_16","TD16","Reverse charged vendor bill integration for domestic reverse charge","Integrazione fattura fornitore con reverse charge interno"
|
||||
"l10n_it_document_type_17","TD17","Reverse charged vendor bill integration for purchase of foreign services","Integrazione fattura fornitore con reverse charge per acquisto di servizi dall'estero"
|
||||
"l10n_it_document_type_18","TD18","Reverse charged vendor bill integration for the purchase of intra-EU goods","Integrazione fattura fornitore con reverse charge per acquisto di beni intracomunitari"
|
||||
"l10n_it_document_type_19","TD19","Reverse charged vendor bill integration for purchase of goods from foreign markets","Integrazione fattura fornitore con reverse charge per acquisto merci estere"
|
||||
"l10n_it_document_type_20","TD20","Self-invoice for invoice correction","Autofattura per regolarizzazione e integrazione delle fatture"
|
||||
"l10n_it_document_type_21","TD21","Self-invoice for exceeded threshold","Autofattura per splafonamento"
|
||||
"l10n_it_document_type_22","TD22","Withdrawal of goods from VAT warehouse","Estrazione beni da Deposito IVA"
|
||||
"l10n_it_document_type_23","TD23","Withdrawal of goods from VAT warehouse with VAT settlement","Estrazione beni da Deposito IVA con versamento dell'IVA"
|
||||
"l10n_it_document_type_24","TD24","Deferred invoice","Fattura differita"
|
||||
"l10n_it_document_type_25","TD25","Deferred invoice for dropshipping","Fattura differita per dropshipping"
|
||||
"l10n_it_document_type_26","TD26","Transfer of depreciable assets and internal transfers","Cessione di beni ammortizzabili e per passaggi interni"
|
||||
"l10n_it_document_type_27","TD27","Self-invoice for self-consumption, gifts or for free services","Autofattura per autoconsumo, cessioni di beni senza rivalsa o prestazioni gratuite"
|
||||
"l10n_it_document_type_28","TD28","Self-invoice for purchases from San Marino with VAT (paper invoice)","Autofattura per acquisti da San Marino con IVA (fattura cartacea)"
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
-- neutralize Fattura Elettronica (FatturaPA)
|
||||
UPDATE res_company
|
||||
SET l10n_it_edi_register = false;
|
||||
52
odoo-bringout-oca-ocb-l10n_it_edi/l10n_it_edi/data/pkey.key
Normal file
52
odoo-bringout-oca-ocb-l10n_it_edi/l10n_it_edi/data/pkey.key
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIIJQQIBADANBgkqhkiG9w0BAQEFAASCCSswggknAgEAAoICAQC6x1d6eQ7vmV0b
|
||||
dabsdctgZTwqoMYjia87Qu18S6DDcXmf0nXfTnTLRkxFGXh6LgtuqmqYyvEik6M8
|
||||
4laKOt6CeCbY+6fKu5YnJAa01C4/F7hQ2HSPqDdk7Wj99LvT4W+KzcMPD8CLSXMu
|
||||
yvznYaXI/YoeFbD+1Tg4G6ZsuNejM2Hzrq2ca72PIS1Q9vUn2YMUKcqHsgvDNl8W
|
||||
WXCt2hhJurhd8lngCwxPB5i2ez23UIOOyp4LkASHHwdYWMWZBvr5bfXiAARoLl7N
|
||||
WjrHQDJhZSlQCipQoRO8v3UNOS1RLA4bC0OWqlj00D/DvEZ8EeSuYOuuZxvB2UlH
|
||||
s+Gk0VDWeKFJuUngx9O6vv87rEz3dFnRlMUhwqim37+D755j0LR7uesgc1j7sMJd
|
||||
HAqKSo/C0WAdg9nJJeNY5twxp57vZX30DU9mdynEbH0fd9/7PfMpBzT767qjGSnp
|
||||
7+xVNTiDyGTgXPJWEs9LLDfgIw37MfOmSz7yFH2FYsgOnsnPy1IRRqeMbYpUL/ye
|
||||
1KNs1wXcCVcSVBwSq6Oc3yngS1m+moH8BIi50qzXazuy1LZRABTsGdTkrnEMuJvN
|
||||
omyr7V/EzuOIOljRRNPOSZuR595SFS1m+gpt/6hDtmRFqsqvl4WBOrhadK1YPAJr
|
||||
Tjm1y1Ju95A9Ehso+Q8ltF78H6ilfQIDAQABAoICAF0gjFzr5EcRxCsvV7m5p9xZ
|
||||
zYyBmhlZCo51Od0KBk+8kgReltfvEevSkq+3WestbxTQEpM5SM7RJwhx3+1PGeea
|
||||
ieARZeF+84hzfYaG7sIVjRh+PGvuVyRS/VD2R/qGgiuGmXW2iG3Kgww3OK8TcGpN
|
||||
BCMo9JWy8TOEkc/Ov/HG6lVqaHTAAYVOaP5gC+9BFAqnJazP2O6N+w41LSn5vrdw
|
||||
SoHJFwfO6mWzJ3EA9M4kblvxaajhN2i5z1s889Tvdo6MRZdYI9pgGHOyQ/FZ8GTA
|
||||
YD9guiV2ktU+7tlXg2FgIm5YiOwj5nO2K7zn8IrnDwrlF03faicWtGN0bJLVrMRQ
|
||||
y5xNXldDatts1NuocrvHsGqGLDbUwUMvmBA+yR9yOzSJK0mJOWsNIkUkcQiqWDUM
|
||||
5ej/+4bs22iY2dF2stOmPGI158PwPOOz0lpkM5QGRFlsDdofD9REXwJhfLsZf9CJ
|
||||
EZ7OZEmeMOxqTXYycNikzgYouvz+5a6WWUOgB41elDVIhO4BX8N+ao+8fY0yYMG3
|
||||
JoV6KJN0n8EwnMkA1QczYxmWEHHMhXtmH7VgqVJyN4HzD3jfXFYXA0wOrRIIoARA
|
||||
BO9U/XtOO6lYXOWprN5ihFgJfDIp9AeSAlN/PkRF+Q+QR/Spc8EECFGAwoNqcnlq
|
||||
PrWzkvvhrjpxWg9d5r1/AoIBAQDWi1Txg3bmf0XwFOVhrki5HC4BOR0YFFLtvi34
|
||||
032/j4HG+17e1VVD9P0ZYEojGR2mMgZY3OwwDeGC30pyzKo7YCcHqfTwwmboPjQ0
|
||||
gQ1ErpF/5CDLdup3rVvqEKOQoo4vodjrDgWzVk6r+Wxanbd6PZOF7xtu9U576z0l
|
||||
0J9UBSavtjyhLHvAYetJIxPrK4UC2WNBKES7Ug5EgMGfbQnYhzhjzQkEJ4B9NGMl
|
||||
X7godfBfzpMwUBNR4FdbSrNAQ6jV2Y84J+MNunHt2oegJPzjQDi8Is8nPjcumEP3
|
||||
KVF3GJiglWG/XG9ZULAe+EGD72Nat4tUQBLVJ3gvGC30i3NHAoIBAQDe3o37VPuH
|
||||
7k8aldztQCez3vp7flji2FyyjHm/rMMPaW9aHN1qY6D7zvWXKw4D3XPeuoTBim5X
|
||||
/fdu//HAU2nJK27fxGn6AFf938DO6b3AGvtn59q3JKzHnUHlck0hRkOOuYrp2OAt
|
||||
UAwF4zuTdE1vWwPAEMsghsfodUF+dsJuYWJ/M+pcPyjDqq6p6IIBXM8ag4X+OeHO
|
||||
HrCdPQMpBhHSrRkpjG5MC4H/mqkDdFPhPvS/5q0B4b1MEaC7iOzaREnx1HMLlANz
|
||||
2drOGEqZjsSl05LUJo6JdTh4IQN0vuMyEdpwVAvnOMCuYarhccx8hT9WYhMN2eZh
|
||||
b3FTFevJXRsbAoIBAED8JTeedYZt6LZG7g//ZYHEel7eeOSRS2k94Njs3rsGce3e
|
||||
uCbRAam67GsiUnJ9KhDsOCX0jQolOjiVAAzz12ByyH+2yD2g9ODF7rQ0nts98U6G
|
||||
wDRBCdZESYIFljW6N01QPc89CRcAPoYy39I20ZuSSTwZZ/rdDO/WGkh4/7nIcaZp
|
||||
kcXUHovwXP9jQ6ZJIVnylPDojKEcwruXMI7kzUWr97WrJl7+xBmoo5tvee2vg6bR
|
||||
gJ3ys1dql6tMXi1KETrtUkdVNZ4z6kx8k/Y7HeqLymOaO5sMalSPxI56EnX7mkeR
|
||||
1/DJw+SO3zoSQm3/Nd4FmItleQ7djLbfIRRgpQMCggEAM/4lj2GnAHInACPAE5Uo
|
||||
7fxx4Qd7wwgIsBq3eHDcXKcTNCmRufUeJECG6MpBjcNG+cn3mJMr5Nk5tSp+goiz
|
||||
IBxC1G8k7g7QeEiP2XWML9nblsTvMFSc/kCAk/+TYNTcg9pjPuS6f7ex5lm5l0/F
|
||||
lNndyRvh12e6EU/xhIg+GbQcX2KEJRsS7nrOHpNAaQL2yc+vHbzxIb3lI/mM2DAz
|
||||
TjvVp+y7+n+gxzmUflrQCrc+L9qnt82q9KkUH0v1PYI64fDXGfdgytEjC3t9Q8+b
|
||||
rrfqBBYuoIC5OMUy4jR6Gj8x/4yL7lg+EzBzxf5fXxlSyls86LlR1p9CB8kQZbyT
|
||||
ywKCAQB0+4g0YTG4W0UfQZ2NvBuHA+YmkUghBxmvhv5HH/DbEFqarynxBH9A6JVq
|
||||
vaKou4tN6WBIzjmwH/ORECVMBU0xyxMbI+/OI2PaAy4ZKd+47mOsFGS0Wz7IeLA1
|
||||
6Ti3S31hXaKxqUs1UytE5bANI+cPAx/PzZEYtHNcQu2BU8mbMcTRXvYm7s3YiV1K
|
||||
V+/MVmCrGMhSKHCsxzoMl6WRG7LRaSR8sAv+liVhFe6mESk/XYzIC88mRNKz0FPV
|
||||
pP/YHL/tLgRXdmkIrxwORb7wIkZwJws3Ky59F03hSth4iMwsp39CZYd3qnAQoDwH
|
||||
yEg8Sz5f+64iCzWSdX3DYZVhcNN4
|
||||
-----END PRIVATE KEY-----
|
||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,11 +1,10 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from . import res_partner
|
||||
from . import account_edi_proxy_user
|
||||
from . import account_move
|
||||
from . import account_move_send
|
||||
from . import account_payment_method_line
|
||||
from . import account_tax
|
||||
from . import ddt
|
||||
from . import l10n_it_document_type
|
||||
from . import res_company
|
||||
from . import res_config_settings
|
||||
from . import account_chart_template
|
||||
from . import account_invoice
|
||||
from . import account_edi_format
|
||||
from . import ddt
|
||||
from . import mail_template
|
||||
from . import res_partner
|
||||
|
|
|
|||
|
|
@ -1,33 +0,0 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo import models
|
||||
|
||||
|
||||
class AccountChartTemplate(models.Model):
|
||||
_inherit = 'account.chart.template'
|
||||
|
||||
def _load(self, company):
|
||||
"""
|
||||
Override normal default taxes, which are the ones with lowest sequence.
|
||||
"""
|
||||
result = super()._load(company)
|
||||
template = company.chart_template_id
|
||||
if template == self.env.ref('l10n_it.l10n_it_chart_template_generic'):
|
||||
company.account_sale_tax_id = self.env.ref(f'l10n_it.{company.id}_22v')
|
||||
company.account_purchase_tax_id = self.env.ref(f'l10n_it.{company.id}_22am')
|
||||
tax = self.env.ref(f'l10n_it.{company.id}_00eu', raise_if_not_found=False)
|
||||
if tax:
|
||||
tax.write({
|
||||
'l10n_it_has_exoneration': True,
|
||||
'l10n_it_kind_exoneration': 'N3.2',
|
||||
'l10n_it_law_reference': 'Art. 41, DL n. 331/93',
|
||||
})
|
||||
service_tax = self.env.ref(f'l10n_it.{company.id}_00eus', raise_if_not_found=False)
|
||||
if service_tax:
|
||||
service_tax.write({
|
||||
'l10n_it_has_exoneration': True,
|
||||
'l10n_it_kind_exoneration': 'N3.2',
|
||||
'l10n_it_law_reference': 'Art. 7ter, DPR 633/1972',
|
||||
})
|
||||
return result
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,60 @@
|
|||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
import logging
|
||||
|
||||
from odoo import _, fields, models
|
||||
from odoo.exceptions import UserError
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class Account_Edi_Proxy_ClientUser(models.Model):
|
||||
_inherit = 'account_edi_proxy_client.user'
|
||||
|
||||
proxy_type = fields.Selection(selection_add=[('l10n_it_edi', 'Italian EDI')], ondelete={'l10n_it_edi': 'cascade'})
|
||||
|
||||
_unique_identification_l10n_it_edi = models.UniqueIndex(
|
||||
"(edi_identification, proxy_type, edi_mode) WHERE (active AND proxy_type = 'l10n_it_edi')",
|
||||
"This edi identification is already assigned to an active user",
|
||||
)
|
||||
|
||||
def _get_proxy_urls(self):
|
||||
urls = super()._get_proxy_urls()
|
||||
urls['l10n_it_edi'] = {
|
||||
'demo': False,
|
||||
'prod': 'https://l10n-it-edi.api.odoo.com',
|
||||
'test': 'https://iap-services-test.odoo.com',
|
||||
}
|
||||
return urls
|
||||
|
||||
def _get_proxy_identification(self, company, proxy_type):
|
||||
if proxy_type == 'l10n_it_edi':
|
||||
if not company.l10n_it_codice_fiscale:
|
||||
raise UserError(_('Please fill your codice fiscale to be able to receive invoices from FatturaPA'))
|
||||
return company.partner_id._l10n_it_edi_normalized_codice_fiscale()
|
||||
return super()._get_proxy_identification(company, proxy_type)
|
||||
|
||||
def _toggle_proxy_user_active(self):
|
||||
"""
|
||||
Toggle the value of the ``active`` boolean field of the proxy_user,
|
||||
and handle sending the reactivate/deactivate requests to the IAP side.
|
||||
"""
|
||||
self.ensure_one()
|
||||
server_url = self._get_proxy_urls()['l10n_it_edi'][self.edi_mode]
|
||||
|
||||
if self.active:
|
||||
self._make_request(f"{server_url}/api/l10n_it_edi/1/deactivate_user")
|
||||
else:
|
||||
self._make_request(f"{server_url}/api/l10n_it_edi/1/reactivate_user")
|
||||
|
||||
self.active = not self.active
|
||||
|
||||
def _get_iap_params(self, company, proxy_type, private_key_sudo):
|
||||
iap_params = super()._get_iap_params(company, proxy_type, private_key_sudo)
|
||||
iap_params['l10n_it_vat'] = company.vat
|
||||
return iap_params
|
||||
|
||||
def _register_proxy_user(self, company, proxy_type, edi_mode):
|
||||
if proxy_type == 'l10n_it_edi':
|
||||
company = company._l10n_it_get_edi_company()
|
||||
return super()._register_proxy_user(company, proxy_type, edi_mode)
|
||||
|
|
@ -1,485 +0,0 @@
|
|||
# -*- coding:utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
import base64
|
||||
from functools import reduce
|
||||
import logging
|
||||
import re
|
||||
|
||||
from datetime import datetime
|
||||
|
||||
from odoo import api, fields, models, _
|
||||
from odoo.tools import float_repr, float_compare
|
||||
from odoo.exceptions import UserError, ValidationError
|
||||
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
DEFAULT_FACTUR_ITALIAN_DATE_FORMAT = '%Y-%m-%d'
|
||||
|
||||
|
||||
class AccountMove(models.Model):
|
||||
_inherit = 'account.move'
|
||||
|
||||
l10n_it_edi_transaction = fields.Char(copy=False, string="FatturaPA Transaction")
|
||||
l10n_it_edi_attachment_id = fields.Many2one('ir.attachment', copy=False, string="FatturaPA Attachment", ondelete="restrict")
|
||||
|
||||
l10n_it_stamp_duty = fields.Float(string="Dati Bollo", readonly=True, states={'draft': [('readonly', False)]})
|
||||
|
||||
l10n_it_ddt_id = fields.Many2one('l10n_it.ddt', string='DDT', readonly=True, states={'draft': [('readonly', False)]}, copy=False)
|
||||
|
||||
l10n_it_einvoice_name = fields.Char(compute='_compute_l10n_it_einvoice')
|
||||
|
||||
l10n_it_einvoice_id = fields.Many2one('ir.attachment', string="Electronic invoice", compute='_compute_l10n_it_einvoice')
|
||||
|
||||
def _get_l10n_it_amount_split_payment(self):
|
||||
self.ensure_one()
|
||||
if not self.is_sale_document(False):
|
||||
return 0.0
|
||||
sign = -1 if self.move_type == "out_invoice" else 1
|
||||
return sum(sign * line.balance for line in self.line_ids.filtered(lambda l: l.tax_line_id and l.tax_line_id._l10n_it_is_split_payment()))
|
||||
|
||||
@api.depends('edi_document_ids', 'edi_document_ids.attachment_id')
|
||||
def _compute_l10n_it_einvoice(self):
|
||||
fattura_pa = self.env.ref('l10n_it_edi.edi_fatturaPA')
|
||||
for invoice in self:
|
||||
einvoice = invoice.edi_document_ids.filtered(lambda d: d.edi_format_id == fattura_pa).sudo()
|
||||
invoice.l10n_it_einvoice_id = einvoice.attachment_id
|
||||
invoice.l10n_it_einvoice_name = einvoice.attachment_id.name
|
||||
|
||||
@api.depends('l10n_it_edi_transaction')
|
||||
def _compute_show_reset_to_draft_button(self):
|
||||
super(AccountMove, self)._compute_show_reset_to_draft_button()
|
||||
for move in self.filtered(lambda m: m.l10n_it_edi_transaction):
|
||||
move.show_reset_to_draft_button = False
|
||||
|
||||
def invoice_generate_xml(self):
|
||||
self.ensure_one()
|
||||
report_name = self.env['account.edi.format']._l10n_it_edi_generate_electronic_invoice_filename(self)
|
||||
|
||||
data = "<?xml version='1.0' encoding='UTF-8'?>" + str(self._l10n_it_edi_export_invoice_as_xml())
|
||||
description = _('Italian invoice: %s', self.move_type)
|
||||
attachment = self.env['ir.attachment'].create({
|
||||
'name': report_name,
|
||||
'res_id': self.id,
|
||||
'res_model': self._name,
|
||||
'raw': data.encode(),
|
||||
'description': description,
|
||||
'type': 'binary',
|
||||
})
|
||||
|
||||
self.message_post(
|
||||
body=(_("E-Invoice is generated on %s by %s") % (fields.Datetime.now(), self.env.user.display_name))
|
||||
)
|
||||
return {'attachment': attachment}
|
||||
|
||||
def _is_commercial_partner_pa(self):
|
||||
"""
|
||||
Returns True if the destination of the FatturaPA belongs to the Public Administration.
|
||||
"""
|
||||
return len(self.commercial_partner_id.l10n_it_pa_index or '') == 6
|
||||
|
||||
def _l10n_it_edi_prepare_fatturapa_line_details(self, reverse_charge_refund=False, is_downpayment=False, convert_to_euros=True):
|
||||
""" Returns a list of dictionaries passed to the template for the invoice lines (DettaglioLinee)
|
||||
"""
|
||||
invoice_lines = []
|
||||
lines = self.invoice_line_ids.filtered(lambda l: not l.display_type in ('line_note', 'line_section'))
|
||||
for num, line in enumerate(lines):
|
||||
sign = -1 if line.move_id.is_inbound() else 1
|
||||
price_subtotal = (line.balance * sign) if convert_to_euros else line.price_subtotal
|
||||
# The price_subtotal should be inverted when the line is a reverse charge refund.
|
||||
if reverse_charge_refund:
|
||||
price_subtotal = -price_subtotal
|
||||
|
||||
# Unit price
|
||||
price_unit = 0
|
||||
if line.quantity and line.discount != 100.0:
|
||||
price_unit = price_subtotal / ((1 - (line.discount or 0.0) / 100.0) * abs(line.quantity))
|
||||
else:
|
||||
price_unit = line.price_unit
|
||||
|
||||
description = line.name
|
||||
|
||||
# Down payment lines:
|
||||
# If there was a down paid amount that has been deducted from this move,
|
||||
# we need to put a reference to the down payment invoice in the DatiFattureCollegate tag
|
||||
downpayment_moves = self.env['account.move']
|
||||
if not is_downpayment and line.price_subtotal < 0:
|
||||
downpayment_moves = line._get_downpayment_lines().mapped("move_id")
|
||||
if downpayment_moves:
|
||||
downpayment_moves_description = ', '.join([m.name for m in downpayment_moves])
|
||||
sep = ', ' if description else ''
|
||||
description = f"{description}{sep}{downpayment_moves_description}"
|
||||
|
||||
vat_tax = line.tax_ids.flatten_taxes_hierarchy().filtered(lambda t: t._l10n_it_filter_kind('vat') and t.amount >= 0)
|
||||
invoice_lines.append({
|
||||
'line': line,
|
||||
'line_number': num + 1,
|
||||
'description': description or 'NO NAME',
|
||||
'unit_price': price_unit,
|
||||
'subtotal_price': price_subtotal,
|
||||
'vat_tax': vat_tax,
|
||||
'downpayment_moves': downpayment_moves,
|
||||
})
|
||||
return invoice_lines
|
||||
|
||||
def _l10n_it_edi_prepare_fatturapa_tax_details(self, tax_details, reverse_charge_refund=False):
|
||||
""" Returns a list of dictionaries passed to the template for the invoice lines (DatiRiepilogo)
|
||||
"""
|
||||
tax_lines = []
|
||||
for _tax_name, tax_dict in tax_details['tax_details'].items():
|
||||
# The assumption is that the company currency is EUR.
|
||||
tax = tax_dict['tax']
|
||||
base_amount = tax_dict['base_amount']
|
||||
tax_amount = tax_dict['tax_amount']
|
||||
tax_rate = tax.amount
|
||||
tax_exigibility_code = (
|
||||
'S' if tax._l10n_it_is_split_payment()
|
||||
else 'D' if tax.tax_exigibility == 'on_payment'
|
||||
else 'I' if tax.tax_exigibility == 'on_invoice'
|
||||
else False
|
||||
)
|
||||
expected_base_amount = tax_amount * 100 / tax_rate if tax_rate else False
|
||||
# Constraints within the edi make local rounding on price included taxes a problem.
|
||||
# To solve this there is a <Arrotondamento> or 'rounding' field, such that:
|
||||
# taxable base = sum(taxable base for each unit) + Arrotondamento
|
||||
if tax.price_include and tax.amount_type == 'percent':
|
||||
if expected_base_amount and float_compare(base_amount, expected_base_amount, 2):
|
||||
tax_dict['rounding'] = base_amount - (tax_amount * 100 / tax_rate)
|
||||
tax_dict['base_amount'] = base_amount - tax_dict['rounding']
|
||||
|
||||
tax_line_dict = {
|
||||
'tax': tax,
|
||||
'rounding': tax_dict.get('rounding', False),
|
||||
'base_amount': tax_dict['base_amount'],
|
||||
'tax_amount': tax_dict['tax_amount'],
|
||||
'exigibility_code': tax_exigibility_code,
|
||||
}
|
||||
tax_lines.append(tax_line_dict)
|
||||
return tax_lines
|
||||
|
||||
def _l10n_it_edi_filter_fatturapa_tax_details(self, line, tax_values):
|
||||
"""Filters tax details to only include the positive amounted lines regarding VAT taxes."""
|
||||
repartition_line = tax_values['tax_repartition_line']
|
||||
return (repartition_line.factor_percent >= 0 and repartition_line.tax_id.amount >= 0)
|
||||
|
||||
def _prepare_fatturapa_export_values(self):
|
||||
self.ensure_one()
|
||||
|
||||
def format_date(dt):
|
||||
# Format the date in the italian standard.
|
||||
dt = dt or datetime.now()
|
||||
return dt.strftime(DEFAULT_FACTUR_ITALIAN_DATE_FORMAT)
|
||||
|
||||
def format_monetary(number, currency):
|
||||
# Format the monetary values to avoid trailing decimals (e.g. 90.85000000000001).
|
||||
return float_repr(number, min(2, currency.decimal_places))
|
||||
|
||||
def format_numbers(number):
|
||||
#format number to str with between 2 and 8 decimals (event if it's .00)
|
||||
number_splited = str(number).split('.')
|
||||
if len(number_splited) == 1:
|
||||
return "%.02f" % number
|
||||
|
||||
cents = number_splited[1]
|
||||
if len(cents) > 8:
|
||||
return "%.08f" % number
|
||||
return float_repr(number, max(2, len(cents)))
|
||||
|
||||
def format_numbers_two(number):
|
||||
#format number to str with 2 (event if it's .00)
|
||||
return "%.02f" % number
|
||||
|
||||
def discount_type(discount):
|
||||
return 'SC' if discount > 0 else 'MG'
|
||||
|
||||
def format_phone(number):
|
||||
if not number:
|
||||
return False
|
||||
number = number.replace(' ', '').replace('/', '').replace('.', '')
|
||||
if len(number) > 4 and len(number) < 13:
|
||||
return number
|
||||
return False
|
||||
|
||||
def get_vat_number(vat):
|
||||
if vat[:2].isdecimal():
|
||||
return vat.replace(' ', '')
|
||||
return vat[2:].replace(' ', '')
|
||||
|
||||
def get_vat_country(vat):
|
||||
if vat[:2].isdecimal():
|
||||
return 'IT'
|
||||
return vat[:2].upper()
|
||||
|
||||
def format_alphanumeric(text_to_convert):
|
||||
return text_to_convert.encode('latin-1', 'replace').decode('latin-1') if text_to_convert else False
|
||||
|
||||
def get_move_invoice_template_date(move):
|
||||
return move.date if self.env['account.edi.format']._l10n_it_edi_is_self_invoice(move) else move.invoice_date
|
||||
|
||||
def get_vat_values(partner):
|
||||
""" Generate the VAT and country code needed by l10n_it_edi XML export.
|
||||
|
||||
VAT number:
|
||||
If there is a VAT number and the partner is not in EU and San Marino, then the exported value is 'OO99999999999'
|
||||
If there is a VAT number and the partner is in EU or San Marino, then remove the country prefix
|
||||
If there is no VAT and the partner is not in Italy, then the exported value is '0000000'
|
||||
If there is no VAT and the partner is in Italy, the VAT is not set and Codice Fiscale will be relevant in the XML.
|
||||
If there is no VAT and no Codice Fiscale, the invoice is not even exported, so this case is not handled.
|
||||
|
||||
Country:
|
||||
First, take the country configured on the partner.
|
||||
If there's a codice fiscale and no country, the country is 'IT'.
|
||||
"""
|
||||
europe = self.env.ref('base.europe', raise_if_not_found=False)
|
||||
in_eu = europe and partner.country_id and partner.country_id in europe.country_ids
|
||||
is_sm = partner.country_code == 'SM'
|
||||
|
||||
normalized_vat = partner.vat
|
||||
normalized_country = partner.country_code
|
||||
has_vat = partner.vat and not partner.vat in ['/', 'NA']
|
||||
if has_vat:
|
||||
normalized_vat = partner.vat.replace(' ', '')
|
||||
if in_eu:
|
||||
# If the partner is from the EU, the country-code prefix of the VAT must be taken away
|
||||
if not normalized_vat[:2].isdecimal():
|
||||
normalized_vat = normalized_vat[2:]
|
||||
# If customer is from San Marino
|
||||
elif is_sm:
|
||||
normalized_vat = normalized_vat if normalized_vat[:2].isdecimal() else normalized_vat[2:]
|
||||
# The Tax Agency arbitrarily decided that non-EU VAT are not interesting,
|
||||
# so this default code is used instead
|
||||
# Detect the country code from the partner country instead
|
||||
else:
|
||||
normalized_vat = 'OO99999999999'
|
||||
|
||||
# If it has a codice fiscale (and no country), it's an Italian partner
|
||||
if not normalized_country and partner.l10n_it_codice_fiscale:
|
||||
normalized_country = 'IT'
|
||||
# If customer has not VAT
|
||||
elif not has_vat and partner.country_id and partner.country_id.code != 'IT':
|
||||
normalized_vat = '0000000'
|
||||
|
||||
return {
|
||||
'vat': normalized_vat,
|
||||
'country_code': normalized_country,
|
||||
}
|
||||
|
||||
formato_trasmissione = "FPA12" if self._is_commercial_partner_pa() else "FPR12"
|
||||
|
||||
# Flags
|
||||
in_eu = self.env['account.edi.format']._l10n_it_edi_partner_in_eu
|
||||
is_self_invoice = self.env['account.edi.format']._l10n_it_edi_is_self_invoice(self)
|
||||
document_type = self.env['account.edi.format']._l10n_it_get_document_type(self)
|
||||
if self.env['account.edi.format']._l10n_it_is_simplified_document_type(document_type):
|
||||
formato_trasmissione = "FSM10"
|
||||
|
||||
# Represent if the document is a reverse charge refund in a single variable
|
||||
reverse_charge = document_type in ['TD17', 'TD18', 'TD19']
|
||||
is_downpayment = document_type in ['TD02']
|
||||
reverse_charge_refund = self.move_type == 'in_refund' and reverse_charge
|
||||
convert_to_euros = self.currency_id.name != 'EUR'
|
||||
|
||||
# b64encode returns a bytestring, the template tries to turn it to string,
|
||||
# but only gets the repr(pdf) --> "b'<base64_data>'"
|
||||
pdf = self.env['ir.actions.report']._render_qweb_pdf("account.account_invoices", self.id)[0]
|
||||
pdf = base64.b64encode(pdf).decode()
|
||||
pdf_name = re.sub(r'\W+', '', self.name) + '.pdf'
|
||||
|
||||
tax_details = self._prepare_edi_tax_details(filter_to_apply=self._l10n_it_edi_filter_fatturapa_tax_details)
|
||||
|
||||
company = self.company_id
|
||||
partner = self.commercial_partner_id
|
||||
buyer = partner if not is_self_invoice else company
|
||||
seller = company if not is_self_invoice else partner
|
||||
codice_destinatario = (
|
||||
(is_self_invoice and company.partner_id.l10n_it_pa_index)
|
||||
# San Marino is externally integrated with the SdI.
|
||||
# The country as a whole has a single fixed Destination Code (i.e. "2R4GTO8").
|
||||
# https://www.agenziaentrate.gov.it/portale/documents/20143/3788702/Modifiche+ProvvedimentonSanMarino+0248717-2021.pdf/429b5571-17b9-0cce-7f62-f79cf53086d7
|
||||
or (partner.country_code == 'SM' and '2R4GTO8')
|
||||
or partner.l10n_it_pa_index
|
||||
or (partner.country_id.code == 'IT' and '0000000')
|
||||
or 'XXXXXXX')
|
||||
|
||||
# Self-invoices are technically -100%/+100% repartitioned
|
||||
# but functionally need to be exported as 100%
|
||||
document_total = self.amount_total
|
||||
if is_self_invoice:
|
||||
document_total += sum([abs(v['tax_amount_currency']) for k, v in tax_details['tax_details'].items()])
|
||||
if reverse_charge_refund:
|
||||
document_total = -abs(document_total)
|
||||
split_payment_amount = self._get_l10n_it_amount_split_payment()
|
||||
if split_payment_amount:
|
||||
document_total += split_payment_amount
|
||||
|
||||
# Reference line for finding the conversion rate used in the document
|
||||
conversion_line = self.invoice_line_ids.sorted(lambda l: abs(l.balance), reverse=True)[0] if self.invoice_line_ids else None
|
||||
conversion_rate = float_repr(
|
||||
abs(conversion_line.balance / conversion_line.amount_currency), precision_digits=5,
|
||||
) if convert_to_euros and conversion_line and conversion_line.amount_currency else None
|
||||
|
||||
invoice_lines = self._l10n_it_edi_prepare_fatturapa_line_details(reverse_charge_refund, is_downpayment, convert_to_euros)
|
||||
tax_lines = self._l10n_it_edi_prepare_fatturapa_tax_details(tax_details, reverse_charge_refund)
|
||||
|
||||
# Reduce downpayment views to a single recordset
|
||||
downpayment_moves = [l.get('downpayment_moves', self.env['account.move']) for l in invoice_lines]
|
||||
downpayment_moves = self.browse(move.id for moves in downpayment_moves for move in moves)
|
||||
|
||||
# Create file content.
|
||||
template_values = {
|
||||
'record': self,
|
||||
'balance_multiplicator': -1 if self.is_inbound() else 1,
|
||||
'company': company,
|
||||
'sender': company,
|
||||
'sender_partner': company.partner_id,
|
||||
'partner': partner,
|
||||
'buyer': buyer,
|
||||
'buyer_partner': partner if not is_self_invoice else company.partner_id,
|
||||
'buyer_is_company': is_self_invoice or partner.is_company,
|
||||
'seller': seller,
|
||||
'seller_partner': company.partner_id if not is_self_invoice else partner,
|
||||
'origin_document_type': False, # see module l10n_it_edi_origin_document, will be merged in master
|
||||
'currency': self.currency_id or self.company_currency_id if not convert_to_euros else self.env.ref('base.EUR'),
|
||||
'document_total': document_total,
|
||||
'representative': company.l10n_it_tax_representative_partner_id,
|
||||
'codice_destinatario': codice_destinatario,
|
||||
'regime_fiscale': company.l10n_it_tax_system if not is_self_invoice else 'RF18',
|
||||
'is_self_invoice': is_self_invoice,
|
||||
'partner_bank': self.partner_bank_id,
|
||||
'format_date': format_date,
|
||||
'format_monetary': format_monetary,
|
||||
'format_numbers': format_numbers,
|
||||
'format_numbers_two': format_numbers_two,
|
||||
'format_phone': format_phone,
|
||||
'format_alphanumeric': format_alphanumeric,
|
||||
'discount_type': discount_type,
|
||||
'formato_trasmissione': formato_trasmissione,
|
||||
'document_type': document_type,
|
||||
'pdf': pdf,
|
||||
'pdf_name': pdf_name,
|
||||
'tax_details': tax_details,
|
||||
'downpayment_moves': downpayment_moves,
|
||||
'abs': abs,
|
||||
'normalize_codice_fiscale': partner._l10n_it_normalize_codice_fiscale,
|
||||
'get_vat_number': get_vat_number,
|
||||
'get_vat_country': get_vat_country,
|
||||
'in_eu': in_eu,
|
||||
'rc_refund': reverse_charge_refund,
|
||||
'invoice_lines': invoice_lines,
|
||||
'tax_lines': tax_lines,
|
||||
'conversion_rate': conversion_rate,
|
||||
'buyer_info': get_vat_values(buyer),
|
||||
'seller_info': get_vat_values(seller),
|
||||
'get_move_invoice_template_date': get_move_invoice_template_date,
|
||||
}
|
||||
return template_values
|
||||
|
||||
def _post(self, soft=True):
|
||||
# OVERRIDE
|
||||
posted = super()._post(soft=soft)
|
||||
return posted
|
||||
|
||||
def _compose_info_message(self, tree, element_tags):
|
||||
output_str = ""
|
||||
elements = tree.xpath(element_tags)
|
||||
for element in elements:
|
||||
output_str += "<ul>"
|
||||
for line in element.iter():
|
||||
if line.text:
|
||||
text = " ".join(line.text.split())
|
||||
if text:
|
||||
output_str += "<li>%s: %s</li>" % (line.tag, text)
|
||||
output_str += "</ul>"
|
||||
return output_str
|
||||
|
||||
def _compose_multi_info_message(self, tree, element_tags):
|
||||
output_str = "<ul>"
|
||||
|
||||
for element_tag in element_tags:
|
||||
elements = tree.xpath(element_tag)
|
||||
if not elements:
|
||||
continue
|
||||
for element in elements:
|
||||
text = " ".join(element.text.split())
|
||||
if text:
|
||||
output_str += "<li>%s: %s</li>" % (element.tag, text)
|
||||
return output_str + "</ul>"
|
||||
|
||||
class AccountTax(models.Model):
|
||||
_name = "account.tax"
|
||||
_inherit = "account.tax"
|
||||
|
||||
l10n_it_vat_due_date = fields.Selection([
|
||||
("I", "[I] IVA ad esigibilità immediata"),
|
||||
("D", "[D] IVA ad esigibilità differita"),
|
||||
("S", "[S] Scissione dei pagamenti")], default="I", string="VAT due date")
|
||||
|
||||
l10n_it_has_exoneration = fields.Boolean(string="Has exoneration of tax (Italy)", help="Tax has a tax exoneration.")
|
||||
l10n_it_kind_exoneration = fields.Selection(selection=[
|
||||
("N1", "[N1] Escluse ex art. 15"),
|
||||
("N2", "[N2] Non soggette"),
|
||||
("N2.1", "[N2.1] Non soggette ad IVA ai sensi degli artt. Da 7 a 7-septies del DPR 633/72"),
|
||||
("N2.2", "[N2.2] Non soggette – altri casi"),
|
||||
("N3", "[N3] Non imponibili"),
|
||||
("N3.1", "[N3.1] Non imponibili – esportazioni"),
|
||||
("N3.2", "[N3.2] Non imponibili – cessioni intracomunitarie"),
|
||||
("N3.3", "[N3.3] Non imponibili – cessioni verso San Marino"),
|
||||
("N3.4", "[N3.4] Non imponibili – operazioni assimilate alle cessioni all’esportazione"),
|
||||
("N3.5", "[N3.5] Non imponibili – a seguito di dichiarazioni d’intento"),
|
||||
("N3.6", "[N3.6] Non imponibili – altre operazioni che non concorrono alla formazione del plafond"),
|
||||
("N4", "[N4] Esenti"),
|
||||
("N5", "[N5] Regime del margine / IVA non esposta in fattura"),
|
||||
("N6", "[N6] Inversione contabile (per le operazioni in reverse charge ovvero nei casi di autofatturazione per acquisti extra UE di servizi ovvero per importazioni di beni nei soli casi previsti)"),
|
||||
("N6.1", "[N6.1] Inversione contabile – cessione di rottami e altri materiali di recupero"),
|
||||
("N6.2", "[N6.2] Inversione contabile – cessione di oro e argento puro"),
|
||||
("N6.3", "[N6.3] Inversione contabile – subappalto nel settore edile"),
|
||||
("N6.4", "[N6.4] Inversione contabile – cessione di fabbricati"),
|
||||
("N6.5", "[N6.5] Inversione contabile – cessione di telefoni cellulari"),
|
||||
("N6.6", "[N6.6] Inversione contabile – cessione di prodotti elettronici"),
|
||||
("N6.7", "[N6.7] Inversione contabile – prestazioni comparto edile esettori connessi"),
|
||||
("N6.8", "[N6.8] Inversione contabile – operazioni settore energetico"),
|
||||
("N6.9", "[N6.9] Inversione contabile – altri casi"),
|
||||
("N7", "[N7] IVA assolta in altro stato UE (prestazione di servizi di telecomunicazioni, tele-radiodiffusione ed elettronici ex art. 7-octies, comma 1 lett. a, b, art. 74-sexies DPR 633/72)")],
|
||||
string="Exoneration",
|
||||
help="Exoneration type",
|
||||
default="N1")
|
||||
l10n_it_law_reference = fields.Char(string="Law Reference", size=100)
|
||||
|
||||
@api.constrains('l10n_it_has_exoneration',
|
||||
'l10n_it_kind_exoneration',
|
||||
'l10n_it_law_reference',
|
||||
'amount',
|
||||
'invoice_repartition_line_ids',
|
||||
'refund_repartition_line_ids')
|
||||
def _check_exoneration_with_no_tax(self):
|
||||
for tax in self:
|
||||
if tax.l10n_it_has_exoneration:
|
||||
if not tax.l10n_it_kind_exoneration or not tax.l10n_it_law_reference or tax.amount != 0:
|
||||
raise ValidationError(_("If the tax has exoneration, you must enter a kind of exoneration, a law reference and the amount of the tax must be 0.0."))
|
||||
if tax.l10n_it_kind_exoneration == 'N6' and tax._l10n_it_is_split_payment():
|
||||
raise UserError(_("Split Payment is not compatible with exoneration of kind 'N6'"))
|
||||
|
||||
def _l10n_it_filter_kind(self, kind):
|
||||
""" This can be overridden by l10n_it_edi_withholding for different kind of taxes (withholding, pension_fund)."""
|
||||
return self if kind == 'vat' else self.env['account.tax']
|
||||
|
||||
def _l10n_it_is_split_payment(self):
|
||||
""" Split payment means that the Public Administration buyer will pay VAT
|
||||
to the tax agency instead of the vendor
|
||||
"""
|
||||
self.ensure_one()
|
||||
|
||||
tax_tags = self.get_tax_tags(is_refund=False, repartition_type='base') | self.get_tax_tags(is_refund=False, repartition_type='tax')
|
||||
if not tax_tags:
|
||||
return False
|
||||
|
||||
it_tax_report_ve38_lines = self.env['account.report.line'].search([
|
||||
('report_id.country_id.code', '=', 'IT'),
|
||||
('code', '=', 'VE38'),
|
||||
])
|
||||
if not it_tax_report_ve38_lines:
|
||||
return False
|
||||
|
||||
ve38_lines_tags = it_tax_report_ve38_lines.expression_ids._get_matching_tags()
|
||||
return bool(tax_tags & ve38_lines_tags)
|
||||
2400
odoo-bringout-oca-ocb-l10n_it_edi/l10n_it_edi/models/account_move.py
Normal file
2400
odoo-bringout-oca-ocb-l10n_it_edi/l10n_it_edi/models/account_move.py
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,146 @@
|
|||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo import _, api, models
|
||||
import base64
|
||||
|
||||
|
||||
class AccountMoveSend(models.AbstractModel):
|
||||
_inherit = 'account.move.send'
|
||||
|
||||
@api.model
|
||||
def _is_it_edi_applicable(self, move):
|
||||
return all([
|
||||
move.company_id.account_fiscal_country_id.code == 'IT'
|
||||
and move._l10n_it_edi_ready_for_xml_export()
|
||||
and move.l10n_it_edi_state != 'rejected'
|
||||
])
|
||||
|
||||
def _get_all_extra_edis(self) -> dict:
|
||||
# EXTENDS 'account'
|
||||
res = super()._get_all_extra_edis()
|
||||
res.update({'it_edi_send': {'label': _("Send to Tax Agency"), 'is_applicable': self._is_it_edi_applicable, 'help': _("Send the e-invoice XML to the Italian Tax Agency.")}})
|
||||
return res
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# ALERTS
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
def _get_alerts(self, moves, moves_data):
|
||||
# EXTENDS 'account'
|
||||
alerts = super()._get_alerts(moves, moves_data)
|
||||
if it_moves := moves.filtered(lambda m: 'it_edi_send' in moves_data[m]['extra_edis'] or moves_data[m]['invoice_edi_format'] == 'it_edi_xml'):
|
||||
if it_alerts := it_moves._l10n_it_edi_export_data_check():
|
||||
alerts.update(**it_alerts)
|
||||
|
||||
# Invite the user to authorize Odoo and start using IT EDI in production mode
|
||||
if 'prod' not in it_moves.mapped('l10n_it_edi_proxy_mode'):
|
||||
alerts['l10n_it_edi_invite_authorize'] = {
|
||||
'level': 'info',
|
||||
'message': _("You must authorize Odoo in the Settings to use the IT EDI in production mode."),
|
||||
'action_text': _("View Settings"),
|
||||
'action': {
|
||||
'name': _("Settings"),
|
||||
'type': 'ir.actions.act_url',
|
||||
'target': 'self',
|
||||
'url': '/odoo/settings#l10n_it_edi_setting',
|
||||
},
|
||||
}
|
||||
|
||||
return alerts
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# SENDING METHODS
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
def _get_invoice_extra_attachments(self, invoice):
|
||||
# EXTENDS 'account'
|
||||
return super()._get_invoice_extra_attachments(invoice) + self.env['ir.attachment'].search([
|
||||
('res_model', '=', 'account.move'),
|
||||
('res_field', '=', 'l10n_it_edi_attachment_file'),
|
||||
('res_id', 'in', invoice.ids),
|
||||
])
|
||||
|
||||
def _hook_invoice_document_before_pdf_report_render(self, invoice, invoice_data):
|
||||
# EXTENDS 'account'
|
||||
super()._hook_invoice_document_before_pdf_report_render(invoice, invoice_data)
|
||||
if (
|
||||
('it_edi_send' in invoice_data['extra_edis'] and not invoice.l10n_it_edi_attachment_file)
|
||||
or (invoice_data['invoice_edi_format'] == 'it_edi_xml' and invoice._l10n_it_edi_ready_for_xml_export())
|
||||
):
|
||||
if errors := invoice._l10n_it_edi_export_data_check():
|
||||
invoice_data['error'] = {
|
||||
'error_title': _("Errors occurred while creating the e-invoice file:"),
|
||||
'errors': [error['message'] for error in errors.values()],
|
||||
}
|
||||
|
||||
def _hook_invoice_document_after_pdf_report_render(self, invoice, invoice_data):
|
||||
# EXTENDS 'account'
|
||||
super()._hook_invoice_document_after_pdf_report_render(invoice, invoice_data)
|
||||
if (
|
||||
invoice_data.get('pdf_attachment_values')
|
||||
and (
|
||||
('it_edi_send' in invoice_data['extra_edis'] and not invoice.l10n_it_edi_attachment_file)
|
||||
or (invoice_data['invoice_edi_format'] == 'it_edi_xml' and invoice._l10n_it_edi_ready_for_xml_export())
|
||||
)
|
||||
):
|
||||
invoice_data['l10n_it_edi_values'] = invoice._l10n_it_edi_get_attachment_values(
|
||||
pdf_values=invoice_data['pdf_attachment_values'])
|
||||
|
||||
def _call_web_service_after_invoice_pdf_render(self, invoices_data):
|
||||
# EXTENDS 'account'
|
||||
super()._call_web_service_after_invoice_pdf_render(invoices_data)
|
||||
attachments_vals = {}
|
||||
moves = self.env['account.move']
|
||||
|
||||
# Filter only l10n_it_edi attachments
|
||||
moves_data = {
|
||||
move: move_data
|
||||
for move, move_data in invoices_data.items()
|
||||
if 'it_edi_send' in move_data['extra_edis']
|
||||
}
|
||||
|
||||
# Prepare attachment data
|
||||
for move, move_data in moves_data.items():
|
||||
if attachment := move.l10n_it_edi_attachment_file:
|
||||
attachments_vals[move] = {'name': move.l10n_it_edi_attachment_name, 'raw': base64.b64decode(attachment)}
|
||||
moves |= move
|
||||
elif edi_values := move_data.get('l10n_it_edi_values'):
|
||||
attachments_vals[move] = edi_values
|
||||
moves |= move
|
||||
|
||||
# Send
|
||||
results = moves._l10n_it_edi_send(attachments_vals)
|
||||
|
||||
# Eventually update attachments with signed data
|
||||
for move, move_data in moves_data.items():
|
||||
if move.l10n_it_edi_attachment_file:
|
||||
attachment_name = move.l10n_it_edi_attachment_name
|
||||
elif attachment := move_data.get('l10n_it_edi_values'):
|
||||
attachment_name = attachment['name']
|
||||
attachment_data = results.get(attachment_name, {})
|
||||
if attachment_data.get('signed') and (signed_data := attachment_data.get('signed_data')):
|
||||
attachment['raw'] = signed_data.encode()
|
||||
# Show that those moves couldn't be sent
|
||||
if 'error_message' in attachment_data:
|
||||
moves_data[move]['error'] = {'error_title': attachment_data['error_message']}
|
||||
|
||||
def _link_invoice_documents(self, invoices_data):
|
||||
# EXTENDS 'account'
|
||||
super()._link_invoice_documents(invoices_data)
|
||||
|
||||
move_ids_to_names = {}
|
||||
for move, data in invoices_data.items():
|
||||
if values := data.get('l10n_it_edi_values'):
|
||||
move.l10n_it_edi_attachment_file = base64.b64encode(values['raw'])
|
||||
move.l10n_it_edi_attachment_name = values['name']
|
||||
move.invalidate_recordset(fnames=['l10n_it_edi_attachment_name', 'l10n_it_edi_attachment_file'])
|
||||
move_ids_to_names[move.id] = values['name']
|
||||
|
||||
if move_ids_to_names:
|
||||
attachments = self.env['ir.attachment'].search([
|
||||
('res_model', '=', 'account.move'),
|
||||
('res_field', '=', 'l10n_it_edi_attachment_file'),
|
||||
('res_id', 'in', list(move_ids_to_names)),
|
||||
])
|
||||
for attachment in attachments:
|
||||
attachment.name = move_ids_to_names.get(attachment.res_id)
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
from odoo import fields, models
|
||||
|
||||
L10N_IT_PAYMENT_METHOD_SELECTION = [
|
||||
('MP01', "MP01 - Cash"),
|
||||
('MP02', "MP02 - Check"),
|
||||
('MP03', "MP03 - Cashier's check"),
|
||||
('MP04', "MP04 - Cash at the Treasury"),
|
||||
('MP05', "MP05 - Wire transfer"),
|
||||
('MP06', "MP06 - Promissory note"),
|
||||
('MP07', "MP07 - Bank slip"),
|
||||
('MP08', "MP08 - Payment card"),
|
||||
('MP09', "MP09 - RID"),
|
||||
('MP10', "MP10 - RID users"),
|
||||
('MP11', "MP11 - Fast RID"),
|
||||
('MP12', "MP12 - RIBA"),
|
||||
('MP13', "MP13 - MAV"),
|
||||
('MP14', "MP14 - Treasury receipt"),
|
||||
('MP15', "MP15 - Transfer of special accounting accounts"),
|
||||
('MP16', "MP16 - Bank direct debit"),
|
||||
('MP17', "MP17 - Postal domiciliation"),
|
||||
('MP18', "MP18 - Postal account slip"),
|
||||
('MP19', "MP19 - SEPA Direct Debit"),
|
||||
('MP20', "MP20 - SEPA Direct Debit CORE"),
|
||||
('MP21', "MP21 - SEPA Direct Debit B2B"),
|
||||
('MP22', "MP22 - Withholding from sums already collected"),
|
||||
('MP23', "MP23 - PagoPA"),
|
||||
]
|
||||
|
||||
|
||||
class AccountPaymentMethodLine(models.Model):
|
||||
_inherit = "account.payment.method.line"
|
||||
|
||||
l10n_it_payment_method = fields.Selection(
|
||||
selection=L10N_IT_PAYMENT_METHOD_SELECTION,
|
||||
string="Italian Payment Method",
|
||||
default='MP05',
|
||||
)
|
||||
|
||||
def _get_l10n_it_payment_method_selection_code(self):
|
||||
return [payment_method[0] for payment_method in L10N_IT_PAYMENT_METHOD_SELECTION]
|
||||
|
|
@ -0,0 +1,120 @@
|
|||
from odoo import _, api, fields, models
|
||||
from odoo.exceptions import ValidationError
|
||||
|
||||
WITHHOLDING_TYPE_SELECTION = [
|
||||
('RT01', '[RT01] Withholding for persons'),
|
||||
('RT02', '[RT02] Withholding for personal businesses'),
|
||||
('RT03', '[RT03] INPS Pension fund contribution'),
|
||||
('RT04', '[RT04] ENASARCO pension fund contribution'),
|
||||
('RT05', '[RT05] ENPAM pension fund contribution'),
|
||||
('RT06', '[RT06] Other pension fund contribution'),
|
||||
]
|
||||
|
||||
WITHHOLDING_REASON_SELECTION = [
|
||||
('A', '[A] Autonomous work in the fields of art or profession'),
|
||||
('B', '[B] Income from the use of intellectual properties or patents or processes, formulas and informations in the fields of science, commerce or science'),
|
||||
('C', '[C] Income from work as part of association groups or other cooperation determined by contracts'),
|
||||
('D', '[D] Income as partner or founder of a corporation'),
|
||||
('E', '[E] Income from client-related bill protests made by town secretaries'),
|
||||
('G', '[G] Compensation for the end of a professional sport career'),
|
||||
('H', '[H] Compensation for the end of a societary career (excluded those earned before 31.12.2003) and already taxed'),
|
||||
('I', '[I] Compensation for the end of a notary career'),
|
||||
('K', '[K] Civil service checks, ref art. 16 D.lgs. n.40 6/03/2017'),
|
||||
('L', '[L] Income from the use of intellectual properties or patents or processes, formulas and informations in the fields of science, commerce or science, but not made by the author/inventor'),
|
||||
('L1', '[L1] Income from the use of intellectual properties or patents or processes, formulas and informations in the fields of science, commerce or science, from someone who actively bought the use rights'),
|
||||
('M', '[M] Autonomous work which isn\'t part of usual professional/artistic duties, or incomes due for an obligation to act, not to act, or to allow'),
|
||||
('M1', '[M1] Incomes due for an obligation to act, not to act, or to allow'),
|
||||
('M2', '[M2] Autonomous work which isn\'t part of usual professional/artistic duties, or incomes due for an obligation to act, not to act, or to allow - that require being registered to the "Gestione separata"'),
|
||||
('N', '[N] Compensation for travel, expenses, prizes, or other compensations for amateur sport activities'),
|
||||
('O', '[O] Autonomous work which isn\'t part of usual professional/artistic duties, or incomes due for an obligation to act, not to act, or to allow - that do not require being registered to the "Gestione separata"'),
|
||||
('O1', '[O1] Incomes due for an obligation to act, not to act, or to allow - that do not require being registered to the "Gestione Separata"'),
|
||||
('P', '[P] Compensation for people residing abroad for continuous use or concession of industrial machinery, commercial or scientific tools that are on the Italian soil'),
|
||||
('Q', '[Q] Provisions for exclusive agents or sales representatives\' work'),
|
||||
('R', '[R] Provisions for non-exclusive agents or sales representatives\' work'),
|
||||
('S', '[S] Provisions for commissioner work'),
|
||||
('T', '[T] Provisions for mediator work'),
|
||||
('U', '[U] Provisions for procurer work'),
|
||||
('V', '[V] Provisions for door-to-door sales persons and newspaper selling in kiosks'),
|
||||
('V1', '[V1] Income from unusual commercial activities (such as provisions for occasional work or sales representative, mediator, procurer)'),
|
||||
('V2', '[V2] Income from unusual work activities from door-to-door sales representatives'),
|
||||
('W', '[W] Income from 2015 tinders subject to law art. 25-ter D.P.R. 600/1973'),
|
||||
('X', '[X] Income from 2014 for foreign companies or institutions subject to law art. 26-quater, c. 1, lett. a) and b) D.P.R. 600/1973'),
|
||||
('Y', '[Y] Income from 1.01.2005 to 26.07.2005 from companies or institutions not included in the description above'),
|
||||
('Z', '[Z] Deprecated'),
|
||||
('ZO', '[ZO] Other reason'),
|
||||
]
|
||||
|
||||
PENSION_FUND_TYPE_SELECTION = [
|
||||
('TC01', '[TC01] National pension fund for lawyers and solicitors'),
|
||||
('TC02', '[TC02] Pension fund for accountants with a degree'),
|
||||
('TC03', '[TC03] Pension fund for surveyors'),
|
||||
('TC04', '[TC04] National pension fund for associated engineers and architects'),
|
||||
('TC05', '[TC05] National pension fund for notaries'),
|
||||
('TC06', '[TC06] Pension fund for accountants without a degree and commercial experts'),
|
||||
('TC07', '[TC07] ENASARCO pension fund for sales agents'),
|
||||
('TC08', '[TC08] ENPACL pension fund for labor consultants'),
|
||||
('TC09', '[TC09] ENPAM pension fund for doctors'),
|
||||
('TC10', '[TC10] ENPAF pension fund for chemists'),
|
||||
('TC11', '[TC11] ENPAV pension fund for veterinaries'),
|
||||
('TC12', '[TC12] ENPAIA pension fund for people working in agriculture'),
|
||||
('TC13', '[TC13] Pension fund for employees in delivery and marine agencies'),
|
||||
('TC14', '[TC14] INPGI pension fund for journalists'),
|
||||
('TC15', '[TC15] ONAOSI fund for sanitary orphans'),
|
||||
('TC16', '[TC16] CASAGIT Additional pension fund for journalists'),
|
||||
('TC17', '[TC17] EPPI pension fund for industrial experts'),
|
||||
('TC18', '[TC18] EPAP pension fund'),
|
||||
('TC19', '[TC19] ENPAB national pension fund for biologists'),
|
||||
('TC20', '[TC20] ENPAPI national pension fund for nurses'),
|
||||
('TC21', '[TC21] ENPAP national pension fund for psychologists'),
|
||||
('TC22', '[TC22] INPS national pension fund'),
|
||||
]
|
||||
|
||||
|
||||
class AccountTax(models.Model):
|
||||
_inherit = 'account.tax'
|
||||
|
||||
l10n_it_withholding_type = fields.Selection(WITHHOLDING_TYPE_SELECTION, string="Withholding tax type (Italy)", help="Withholding tax type. Only for Italian accounting EDI.")
|
||||
l10n_it_withholding_reason = fields.Selection(WITHHOLDING_REASON_SELECTION, string="Withholding tax reason (Italy)", help="Withholding tax reason. Only for Italian accounting EDI.")
|
||||
l10n_it_pension_fund_type = fields.Selection(PENSION_FUND_TYPE_SELECTION, string="Pension fund type (Italy)", help="Pension Fund Type. Only for Italian accounting EDI.")
|
||||
|
||||
def _l10n_it_filter_kind(self, kind):
|
||||
# EXTENDS l10n_it
|
||||
match kind:
|
||||
case 'withholding':
|
||||
return self.filtered(lambda tax: tax.l10n_it_withholding_type)
|
||||
case 'withholding_no_enasarco':
|
||||
# Enasarco has both withholding and pension fund types,
|
||||
# but it must be considered a pension fund for the checks.
|
||||
return self.filtered(lambda tax:
|
||||
tax.l10n_it_withholding_type
|
||||
and tax.l10n_it_withholding_type != 'RT04'
|
||||
)
|
||||
case 'pension_fund':
|
||||
return self.filtered(lambda tax: tax.l10n_it_pension_fund_type)
|
||||
case 'vat':
|
||||
return super()._l10n_it_filter_kind('vat').filtered(lambda tax:
|
||||
not tax.l10n_it_withholding_type
|
||||
and not tax.l10n_it_pension_fund_type,
|
||||
)
|
||||
case _:
|
||||
return super()._l10n_it_filter_kind(kind)
|
||||
|
||||
@api.onchange("l10n_it_withholding_type")
|
||||
def _onchange_l10n_it_withholding_type(self):
|
||||
""" When no withholding type is selected, there should be no withholding reason, the field is hidden """
|
||||
taxes_to_be_cleared = self.filtered(lambda tax: tax.l10n_it_withholding_reason and not tax.l10n_it_withholding_type)
|
||||
taxes_to_be_cleared.l10n_it_withholding_reason = False
|
||||
|
||||
@api.constrains('amount', 'l10n_it_withholding_type', 'l10n_it_withholding_reason', 'l10n_it_pension_fund_type')
|
||||
def _validate_withholding(self):
|
||||
for tax in self:
|
||||
if tax.l10n_it_withholding_type and tax.amount >= 0:
|
||||
raise ValidationError(_("Tax '%s' has a withholding type so the amount must be negative.", tax.name))
|
||||
if tax.l10n_it_withholding_type and not tax.l10n_it_withholding_reason:
|
||||
raise ValidationError(_("Tax '%s' has a withholding type, so the withholding reason must also be specified", tax.name))
|
||||
if tax.l10n_it_withholding_reason and not tax.l10n_it_withholding_type:
|
||||
raise ValidationError(_("Tax '%s' has a withholding reason, so the withholding type must also be specified", tax.name))
|
||||
if (tax.l10n_it_withholding_type == 'RT04') ^ (tax.l10n_it_pension_fund_type == 'TC07'):
|
||||
raise ValidationError(_("Tax '%s' has one of withholding and pension fund types that do not relate to ENASARCO, and one that does.", tax.name))
|
||||
if tax.l10n_it_withholding_type == 'RT04' and tax.l10n_it_withholding_reason != 'ZO':
|
||||
raise ValidationError(_("Tax '%s' has withholding type ENASARCO, the withholding reason should be [ZO] - Other reason.", tax.name))
|
||||
|
|
@ -3,7 +3,8 @@
|
|||
|
||||
from odoo import fields, models, api
|
||||
|
||||
class L10nItDdt(models.Model):
|
||||
|
||||
class L10n_ItDdt(models.Model):
|
||||
_name = 'l10n_it.ddt'
|
||||
_description = 'Transport Document'
|
||||
|
||||
|
|
@ -11,8 +12,7 @@ class L10nItDdt(models.Model):
|
|||
name = fields.Char(string="Numero DDT", size=20, help="Transport document number", required=True)
|
||||
date = fields.Date(string="Data DDT", help="Transport document date", required=True)
|
||||
|
||||
def name_get(self):
|
||||
res = []
|
||||
@api.depends('date')
|
||||
def _compute_display_name(self):
|
||||
for ddt in self:
|
||||
res.append((ddt.id, ("%s (%s)") % (ddt.name, ddt.date)))
|
||||
return res
|
||||
ddt.display_name = f"{ddt.name} ({ddt.date})"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,33 @@
|
|||
from odoo import _, api, fields, models
|
||||
from odoo.exceptions import ValidationError
|
||||
|
||||
|
||||
class L10n_ItDocumentType(models.Model):
|
||||
_name = 'l10n_it.document.type'
|
||||
_description = 'Italian Document Type'
|
||||
|
||||
name = fields.Char(required=True, help='The document type name', translate=True)
|
||||
code = fields.Char(required=True)
|
||||
# not used, to be removed in master
|
||||
type = fields.Selection(
|
||||
selection=[
|
||||
('sale', "Sale"),
|
||||
('purchase', "Purchase"),
|
||||
],
|
||||
)
|
||||
|
||||
def _compute_display_name(self):
|
||||
for document_type in self:
|
||||
document_type.display_name = f"{document_type.code} - {document_type.name}"
|
||||
|
||||
@api.constrains('code')
|
||||
def _check_code_unique(self):
|
||||
duplicate = self._read_group(
|
||||
domain=[],
|
||||
groupby=['code'],
|
||||
aggregates=['id:recordset'],
|
||||
having=[('__count', '>', 1)],
|
||||
limit=1,
|
||||
)
|
||||
if duplicate:
|
||||
raise ValidationError(_('Document Type code must be unique.'))
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from odoo import models
|
||||
|
||||
|
||||
class MailTemplate(models.Model):
|
||||
_inherit = "mail.template"
|
||||
|
||||
def _get_edi_attachments(self, document):
|
||||
"""
|
||||
Will return the information about the attachment of the edi document for adding the attachment in the mail.
|
||||
Can be overridden where e.g. a zip-file needs to be sent with the individual files instead of the entire zip
|
||||
:param document: an edi document
|
||||
:return: list with a tuple with the name and base64 content of the attachment
|
||||
"""
|
||||
if document.edi_format_id.code == 'fattura_pa':
|
||||
return {}
|
||||
return super()._get_edi_attachments(document)
|
||||
|
|
@ -1,4 +1,3 @@
|
|||
# -*- coding:utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo import api, fields, models, _
|
||||
|
|
@ -25,14 +24,27 @@ TAX_SYSTEM = [
|
|||
("RF19", "[RF19] Regime forfettario (art.1, c.54-89, L. 190/2014)"),
|
||||
]
|
||||
|
||||
|
||||
class ResCompany(models.Model):
|
||||
_name = 'res.company'
|
||||
_inherit = 'res.company'
|
||||
|
||||
l10n_it_codice_fiscale = fields.Char(string="Codice Fiscale", size=16, related='partner_id.l10n_it_codice_fiscale',
|
||||
store=True, readonly=False, help="Fiscal code of your company")
|
||||
l10n_it_tax_system = fields.Selection(selection=TAX_SYSTEM, string="Tax System",
|
||||
help="Please select the Tax system to which you are subjected.")
|
||||
l10n_it_edi_proxy_user_id = fields.Many2one(
|
||||
comodel_name="account_edi_proxy_client.user",
|
||||
compute="_compute_l10n_it_edi_proxy_user_id",
|
||||
)
|
||||
l10n_it_edi_register = fields.Boolean(default=False)
|
||||
l10n_it_edi_purchase_journal_id = fields.Many2one(
|
||||
comodel_name='account.journal',
|
||||
string='Italian Default Purchase Journal',
|
||||
domain=[('type', '=', 'purchase')],
|
||||
compute='_compute_l10n_it_edi_purchase_journal_id',
|
||||
store=True,
|
||||
readonly=False,
|
||||
)
|
||||
|
||||
# Economic and Administrative Index
|
||||
l10n_it_has_eco_index = fields.Boolean(
|
||||
|
|
@ -70,6 +82,12 @@ class ResCompany(models.Model):
|
|||
Italy")
|
||||
l10n_it_tax_representative_partner_id = fields.Many2one('res.partner', string='Tax representative partner')
|
||||
|
||||
@api.constrains('l10n_it_edi_purchase_journal_id')
|
||||
def _check_l10n_it_edi_purchase_journal_id(self):
|
||||
for company in self:
|
||||
if company.l10n_it_edi_purchase_journal_id and not company.l10n_it_edi_purchase_journal_id.default_account_id:
|
||||
raise ValidationError(_("The Italian default purchase journal requires a default account."))
|
||||
|
||||
@api.constrains('l10n_it_has_eco_index',
|
||||
'l10n_it_eco_index_office',
|
||||
'l10n_it_eco_index_number',
|
||||
|
|
@ -91,7 +109,8 @@ class ResCompany(models.Model):
|
|||
must be both present or not present. """
|
||||
for record in self:
|
||||
if (record.l10n_it_has_eco_index
|
||||
and bool(record.l10n_it_eco_index_share_capital) ^ bool(record.l10n_it_eco_index_sole_shareholder)):
|
||||
and (bool(record.l10n_it_eco_index_share_capital)
|
||||
^ (record.l10n_it_eco_index_sole_shareholder and record.l10n_it_eco_index_sole_shareholder != 'NO'))):
|
||||
raise ValidationError(_("If one of Share Capital or Sole Shareholder is present, "
|
||||
"then they must be both filled out."))
|
||||
|
||||
|
|
@ -108,8 +127,78 @@ class ResCompany(models.Model):
|
|||
if not record.l10n_it_tax_representative_partner_id.country_id:
|
||||
raise ValidationError(_("Your tax representative partner must have a country."))
|
||||
|
||||
@api.depends("account_edi_proxy_client_ids", "l10n_it_codice_fiscale")
|
||||
def _compute_l10n_it_edi_proxy_user_id(self):
|
||||
for company in self:
|
||||
edi_company = company._l10n_it_get_edi_company()
|
||||
company.l10n_it_edi_proxy_user_id = edi_company.account_edi_proxy_client_ids.filtered(lambda x: x.proxy_type == 'l10n_it_edi')
|
||||
|
||||
# If we can't find any proxy user, create a new demo proxy user for this italian company.
|
||||
# They must have the Codice Fiscale field filled for the registration process to work.
|
||||
if not company.l10n_it_edi_proxy_user_id and company.l10n_it_codice_fiscale:
|
||||
company.l10n_it_edi_proxy_user_id = self.env['account_edi_proxy_client.user']._register_proxy_user(
|
||||
company=company,
|
||||
proxy_type='l10n_it_edi',
|
||||
edi_mode='demo',
|
||||
)
|
||||
|
||||
@api.depends('country_code')
|
||||
def _compute_l10n_it_edi_purchase_journal_id(self):
|
||||
for company in self:
|
||||
if not company.l10n_it_edi_purchase_journal_id and company.country_code == 'IT':
|
||||
company.l10n_it_edi_purchase_journal_id = self.env['account.journal'].search([
|
||||
*self.env['account.journal']._check_company_domain(company),
|
||||
('type', '=', 'purchase'),
|
||||
('default_account_id', '!=', False),
|
||||
], limit=1)
|
||||
else:
|
||||
company.l10n_it_edi_purchase_journal_id = company.l10n_it_edi_purchase_journal_id
|
||||
|
||||
def _l10n_it_edi_export_check(self):
|
||||
checks = {
|
||||
'company_vat_codice_fiscale_missing': {
|
||||
'fields': [('vat', 'l10n_it_codice_fiscale')],
|
||||
'message': _("Company/ies should have a VAT number or Codice Fiscale."),
|
||||
},
|
||||
'company_address_missing': {
|
||||
'fields': [('street', 'street2'), ('zip',), ('city',), ('country_id',)],
|
||||
'message': _("Company/ies should have a complete address, verify their Street, City, Zipcode and Country."),
|
||||
},
|
||||
'company_l10n_it_tax_system_missing': {
|
||||
'fields': [('l10n_it_tax_system',)],
|
||||
'message': _("Company/ies should have a Tax System"),
|
||||
},
|
||||
}
|
||||
errors = {}
|
||||
for key, check in checks.items():
|
||||
for fields_tuple in check.pop('fields'):
|
||||
if invalid_records := self.filtered(lambda record: not any(record[field] for field in fields_tuple)):
|
||||
errors[f"l10n_it_edi_{key}"] = {
|
||||
'message': check['message'],
|
||||
'action_text': _("View Company/ies"),
|
||||
'action': invalid_records._get_records_action(name=_("Check Company Data")),
|
||||
}
|
||||
if self.filtered(lambda x: not x.l10n_it_edi_proxy_user_id):
|
||||
errors['l10n_it_edi_settings_l10n_it_edi_proxy_user_id'] = {
|
||||
'message': _("You need to set the Codice Fiscale on your company."),
|
||||
'action_text': _("View Company/ies"),
|
||||
'action': self._get_records_action(name=_("Check Company Data")),
|
||||
}
|
||||
return errors
|
||||
|
||||
@api.onchange("l10n_it_has_tax_representative")
|
||||
def _onchange_l10n_it_has_tax_represeentative(self):
|
||||
for company in self:
|
||||
if not company.l10n_it_has_tax_representative:
|
||||
company.l10n_it_tax_representative_partner_id = False
|
||||
|
||||
def _l10n_it_get_edi_company(self):
|
||||
self.ensure_one()
|
||||
if (
|
||||
self.root_id.id != self.id
|
||||
and self.l10n_it_codice_fiscale == self.root_id.l10n_it_codice_fiscale
|
||||
and self.vat == self.root_id.vat
|
||||
):
|
||||
return self.root_id
|
||||
else:
|
||||
return self
|
||||
|
|
|
|||
|
|
@ -1,100 +1,71 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo import api, models, fields, _
|
||||
from odoo.exceptions import UserError
|
||||
|
||||
|
||||
class ResConfigSettings(models.TransientModel):
|
||||
_inherit = 'res.config.settings'
|
||||
|
||||
is_edi_proxy_active = fields.Boolean(compute='_compute_is_edi_proxy_active')
|
||||
l10n_it_edi_proxy_current_state = fields.Char(compute='_compute_l10n_it_edi_proxy_current_state')
|
||||
l10n_it_edi_sdicoop_register = fields.Boolean(compute='_compute_l10n_it_edi_sdicoop_register', inverse='_set_l10n_it_edi_sdicoop_register_demo_mode')
|
||||
l10n_it_edi_sdicoop_demo_mode = fields.Selection(
|
||||
[('demo', 'Demo'),
|
||||
('test', 'Test (experimental)'),
|
||||
('prod', 'Official')],
|
||||
compute='_compute_l10n_it_edi_sdicoop_demo_mode',
|
||||
inverse='_set_l10n_it_edi_sdicoop_register_demo_mode',
|
||||
readonly=False)
|
||||
l10n_it_edi_register = fields.Boolean(
|
||||
compute='_compute_l10n_it_edi_register',
|
||||
inverse='_set_l10n_it_edi_register',
|
||||
readonly=False,
|
||||
)
|
||||
l10n_it_edi_purchase_journal_id = fields.Many2one(
|
||||
related='company_id.l10n_it_edi_purchase_journal_id',
|
||||
readonly=False,
|
||||
)
|
||||
l10n_it_edi_show_purchase_journal_id = fields.Boolean(compute='_compute_l10n_it_edi_show_purchase_journal_id')
|
||||
use_root_proxy_user = fields.Boolean(compute='_compute_use_root_proxy_user')
|
||||
|
||||
def _create_proxy_user(self, company_id):
|
||||
fattura_pa = self.env.ref('l10n_it_edi.edi_fatturaPA')
|
||||
edi_identification = fattura_pa._get_proxy_identification(company_id)
|
||||
self.env['account_edi_proxy_client.user']._register_proxy_user(company_id, fattura_pa, edi_identification)
|
||||
|
||||
@api.depends('company_id.account_edi_proxy_client_ids', 'company_id.account_edi_proxy_client_ids.active')
|
||||
def _compute_l10n_it_edi_sdicoop_demo_mode(self):
|
||||
for config in self:
|
||||
config.l10n_it_edi_sdicoop_demo_mode = self.env['account_edi_proxy_client.user']._get_demo_state()
|
||||
|
||||
def _set_l10n_it_edi_sdicoop_demo_mode(self):
|
||||
for config in self:
|
||||
self.env['ir.config_parameter'].set_param('account_edi_proxy_client.demo', config.l10n_it_edi_sdicoop_demo_mode)
|
||||
|
||||
@api.depends('company_id.account_edi_proxy_client_ids', 'company_id.account_edi_proxy_client_ids.active')
|
||||
def _compute_is_edi_proxy_active(self):
|
||||
for config in self:
|
||||
config.is_edi_proxy_active = config.company_id.account_edi_proxy_client_ids
|
||||
|
||||
@api.depends('company_id.account_edi_proxy_client_ids', 'company_id.account_edi_proxy_client_ids.active')
|
||||
def _compute_l10n_it_edi_proxy_current_state(self):
|
||||
fattura_pa = self.env.ref('l10n_it_edi.edi_fatturaPA')
|
||||
for config in self:
|
||||
proxy_user = config.company_id.account_edi_proxy_client_ids.search([
|
||||
('company_id', '=', config.company_id.id),
|
||||
('edi_format_id', '=', fattura_pa.id),
|
||||
], limit=1)
|
||||
|
||||
config.l10n_it_edi_proxy_current_state = 'inactive' if not proxy_user else 'demo' if proxy_user.id_client[:4] == 'demo' else 'active'
|
||||
def _create_proxy_user(self, company_id, edi_mode):
|
||||
return self.env['account_edi_proxy_client.user']._register_proxy_user(company_id, 'l10n_it_edi', edi_mode)
|
||||
|
||||
@api.depends('company_id')
|
||||
def _compute_l10n_it_edi_sdicoop_register(self):
|
||||
"""Needed because it expects a compute"""
|
||||
self.l10n_it_edi_sdicoop_register = False
|
||||
|
||||
def button_create_proxy_user(self):
|
||||
# For now, only fattura_pa uses the proxy.
|
||||
# To use it for more, we have to either make the activation of the proxy on a format basis
|
||||
# or create a user per format here (but also when installing new formats)
|
||||
fattura_pa = self.env.ref('l10n_it_edi.edi_fatturaPA')
|
||||
edi_identification = fattura_pa._get_proxy_identification(self.company_id)
|
||||
if not edi_identification:
|
||||
return
|
||||
|
||||
self.env['account_edi_proxy_client.user']._register_proxy_user(self.company_id, fattura_pa, edi_identification)
|
||||
|
||||
def _set_l10n_it_edi_sdicoop_register_demo_mode(self):
|
||||
|
||||
fattura_pa = self.env.ref('l10n_it_edi.edi_fatturaPA')
|
||||
def _compute_l10n_it_edi_show_purchase_journal_id(self):
|
||||
for config in self:
|
||||
# Only show the setting when there exists more than 1 purchase journal.
|
||||
purchase_journal_count = self.env['account.journal'].search_count([
|
||||
*self.env['account.journal']._check_company_domain(config.company_id._l10n_it_get_edi_company()),
|
||||
('type', '=', 'purchase'),
|
||||
])
|
||||
config.l10n_it_edi_show_purchase_journal_id = purchase_journal_count >= 2
|
||||
|
||||
proxy_user = self.env['account_edi_proxy_client.user'].search([
|
||||
('company_id', '=', config.company_id.id),
|
||||
('edi_format_id', '=', fattura_pa.id)
|
||||
@api.depends('company_id')
|
||||
def _compute_l10n_it_edi_register(self):
|
||||
for config in self:
|
||||
config.l10n_it_edi_register = config.company_id._l10n_it_get_edi_company().l10n_it_edi_register
|
||||
|
||||
def _set_l10n_it_edi_register(self):
|
||||
for config in self:
|
||||
company = config.company_id._l10n_it_get_edi_company()
|
||||
company.l10n_it_edi_register = config.l10n_it_edi_register
|
||||
proxy_user = self.env['account_edi_proxy_client.user'].sudo().search([
|
||||
('company_id', '=', company.id),
|
||||
('proxy_type', '=', 'l10n_it_edi'),
|
||||
('edi_mode', '!=', 'demo'), # make sure it's a "real" proxy_user (edi_mode is 'test' or 'prod')
|
||||
], limit=1)
|
||||
|
||||
real_proxy_users = self.env['account_edi_proxy_client.user'].sudo().search([
|
||||
('id_client', 'not like', 'demo'),
|
||||
])
|
||||
if proxy_user and proxy_user.active != config.l10n_it_edi_register:
|
||||
# Deactivate / Reactive the current proxy user based on the config's l10n_it_edi_register value
|
||||
proxy_user._toggle_proxy_user_active()
|
||||
elif config.l10n_it_edi_register and not proxy_user:
|
||||
# Create a new proxy user
|
||||
edi_mode = self.env['ir.config_parameter'].sudo().get_param('l10n_it_edi.proxy_user_edi_mode') or 'prod'
|
||||
proxy_user = self._create_proxy_user(company, edi_mode)
|
||||
|
||||
# Update the config as per the selected radio button
|
||||
previous_demo_state = proxy_user._get_demo_state()
|
||||
self.env['ir.config_parameter'].set_param('account_edi_proxy_client.demo', config.l10n_it_edi_sdicoop_demo_mode)
|
||||
if proxy_user:
|
||||
# Delete any previously created demo proxy user
|
||||
self.env['account_edi_proxy_client.user'].sudo().search([
|
||||
('company_id', '=', company.id),
|
||||
('proxy_type', '=', 'l10n_it_edi'),
|
||||
('edi_mode', '=', 'demo'),
|
||||
('id', '!=', proxy_user.id),
|
||||
]).unlink()
|
||||
|
||||
# If the user is trying to change from a state in which they have a registered official or testing proxy client
|
||||
# to another state, we should stop them
|
||||
if real_proxy_users and previous_demo_state != config.l10n_it_edi_sdicoop_demo_mode:
|
||||
raise UserError(_("The company has already registered with the service as 'Test' or 'Official', it cannot change."))
|
||||
|
||||
if config.l10n_it_edi_sdicoop_register:
|
||||
# There should only be one user at a time, if there are no users, register one
|
||||
if not proxy_user:
|
||||
self._create_proxy_user(config.company_id)
|
||||
return
|
||||
|
||||
# If there is a demo user, and we are transitioning from demo to test or production, we should
|
||||
# delete all demo users and then create the new user.
|
||||
elif proxy_user.id_client[:4] == 'demo' and config.l10n_it_edi_sdicoop_demo_mode != 'demo':
|
||||
self.env['account_edi_proxy_client.user'].search([('id_client', '=like', 'demo%')]).sudo().unlink()
|
||||
self._create_proxy_user(config.company_id)
|
||||
@api.depends('company_id.account_edi_proxy_client_ids', 'company_id.account_edi_proxy_client_ids.active')
|
||||
def _compute_use_root_proxy_user(self):
|
||||
for record in self:
|
||||
main_company = self.company_id.root_id
|
||||
edi_company = self.company_id._l10n_it_get_edi_company()
|
||||
record.use_root_proxy_user = edi_company == main_company and self.company_id != main_company
|
||||
|
|
|
|||
|
|
@ -1,41 +1,143 @@
|
|||
# -*- coding:utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from stdnum.it import codicefiscale, iva
|
||||
|
||||
from odoo import api, fields, models, _
|
||||
from odoo.exceptions import UserError
|
||||
|
||||
import re
|
||||
|
||||
|
||||
class ResPartner(models.Model):
|
||||
_name = 'res.partner'
|
||||
_inherit = 'res.partner'
|
||||
|
||||
invoice_edi_format = fields.Selection(selection_add=[('it_edi_xml', 'Italy (Factura PA)')])
|
||||
l10n_it_pec_email = fields.Char(string="PEC e-mail")
|
||||
l10n_it_codice_fiscale = fields.Char(string="Codice Fiscale", size=16)
|
||||
l10n_it_pa_index = fields.Char(string="Destination Code",
|
||||
l10n_it_pa_index = fields.Char(
|
||||
string="Destination Code (SDI)",
|
||||
size=7,
|
||||
help="Must contain the 6-character (or 7) code, present in the PA\
|
||||
Index in the information relative to the electronic invoicing service,\
|
||||
associated with the office which, within the addressee administration, deals\
|
||||
with receiving (and processing) the invoice.")
|
||||
help="Must contain the 6-character (or 7) code, present in the PA Index "
|
||||
"in the information relative to the electronic invoicing service, "
|
||||
"associated with the office which, within the addressee administration, deals "
|
||||
"with receiving (and processing) the invoice.",
|
||||
)
|
||||
|
||||
_sql_constraints = [
|
||||
('l10n_it_codice_fiscale',
|
||||
"CHECK(l10n_it_codice_fiscale IS NULL OR l10n_it_codice_fiscale = '' OR LENGTH(l10n_it_codice_fiscale) >= 11)",
|
||||
"Codice fiscale must have between 11 and 16 characters."),
|
||||
_l10n_it_codice_fiscale = models.Constraint(
|
||||
"CHECK(l10n_it_codice_fiscale IS NULL OR l10n_it_codice_fiscale = '' OR LENGTH(l10n_it_codice_fiscale) >= 11)",
|
||||
'Codice fiscale must have between 11 and 16 characters.',
|
||||
)
|
||||
_l10n_it_pa_index = models.Constraint(
|
||||
"CHECK(l10n_it_pa_index IS NULL OR l10n_it_pa_index = '' OR LENGTH(l10n_it_pa_index) >= 6)",
|
||||
'Destination Code (SDI) must have between 6 and 7 characters.',
|
||||
)
|
||||
|
||||
('l10n_it_pa_index',
|
||||
"CHECK(l10n_it_pa_index IS NULL OR l10n_it_pa_index = '' OR LENGTH(l10n_it_pa_index) >= 6)",
|
||||
"Destination Code must have between 6 and 7 characters."),
|
||||
]
|
||||
def _l10n_it_edi_is_public_administration(self):
|
||||
""" Returns True if the destination of the FatturaPA belongs to the Public Administration. """
|
||||
self.ensure_one()
|
||||
return self.country_id.code == 'IT' and len(self.l10n_it_pa_index or '') == 6
|
||||
|
||||
@api.model
|
||||
def _l10n_it_normalize_codice_fiscale(self, codice):
|
||||
if codice and re.match(r'^IT[0-9]{11}$', codice):
|
||||
return codice[2:13]
|
||||
return codice
|
||||
def _l10n_it_edi_get_values(self):
|
||||
""" Generates all partner values needed by l10n_it_edi XML export.
|
||||
|
||||
VAT number:
|
||||
If there is a VAT number and the partner is not in EU, then we use the VAT number as is,
|
||||
as an alphanumeric value identifying the counterparty, up to a maximum of
|
||||
28 alphanumeric characters, on which the SdI does not perform validity checks.
|
||||
If there is a VAT number and the partner is in EU, then remove the country prefix
|
||||
If there is no VAT and the partner is not in EU, then the exported value is 'OO99999999999'
|
||||
If there is no VAT and the partner is in EU, then the exported value is '0000000'
|
||||
If there is no VAT and the partner is in Italy, the VAT is not set and Codice Fiscale will be relevant in the XML.
|
||||
If there is no VAT and no Codice Fiscale, the invoice is not even exported, so this case is not handled.
|
||||
|
||||
Country:
|
||||
First, try and deduct the country from the VAT number.
|
||||
If not, take the country directly from the partner.
|
||||
If there's a codice fiscale, the country is 'IT'.
|
||||
|
||||
PA Index:
|
||||
If the partner is in Italy, then the l10n_it_pa_index is used, and '0000000' if missing.
|
||||
If the partner is not in Italy, the default 'XXXXXXX' is used.
|
||||
|
||||
Codice Fiscale:
|
||||
If the Tax Code is equal to the Italian VAT, it may mistakenly have the country prefix,
|
||||
so we try and remove it if we can
|
||||
|
||||
Zip(code):
|
||||
Non-italian countries are not mapped by the Tax Agency, so it's fixed at '00000'
|
||||
"""
|
||||
if not self or len(self) > 1:
|
||||
return {}
|
||||
|
||||
europe = self.env.ref('base.europe', raise_if_not_found=False)
|
||||
in_eu = not europe or not self.country_id or self.country_id in europe.country_ids
|
||||
is_sm = self.country_id and self.country_id.code == "SM"
|
||||
|
||||
# VAT number and country code
|
||||
normalized_vat = self.vat
|
||||
normalized_country = self.country_code
|
||||
if has_vat := self.vat not in [False, '/', 'NA']:
|
||||
normalized_vat = self.vat.replace(' ', '')
|
||||
if in_eu:
|
||||
# If there is no country-code prefix, it's domestic to Italy
|
||||
if normalized_vat[:2].isdecimal():
|
||||
if not normalized_country:
|
||||
normalized_country = 'IT'
|
||||
# If the partner is from the EU, the country-code prefix of the VAT must be taken away
|
||||
else:
|
||||
if not normalized_country:
|
||||
normalized_country = normalized_vat[:2].upper()
|
||||
normalized_vat = normalized_vat[2:]
|
||||
# If customer is from San Marino
|
||||
elif is_sm:
|
||||
normalized_vat = normalized_vat if normalized_vat[:2].isdecimal() else normalized_vat[2:]
|
||||
|
||||
# If it has a codice fiscale (and no country), it's an Italian partner
|
||||
if not normalized_country and self.l10n_it_codice_fiscale:
|
||||
normalized_country = 'IT'
|
||||
elif not has_vat and self.country_id and self.country_id.code != 'IT':
|
||||
if in_eu:
|
||||
normalized_vat = '0000000'
|
||||
else:
|
||||
normalized_vat = 'OO99999999999'
|
||||
|
||||
if normalized_country == 'IT':
|
||||
pa_index = (self.l10n_it_pa_index or '0000000').upper()
|
||||
zipcode = self.zip
|
||||
state_code = self.state_id and self.state_id.code
|
||||
else:
|
||||
# San Marino is externally integrated with the SdI.
|
||||
# The country as a whole has a single fixed Destination Code.
|
||||
# https://www.agenziaentrate.gov.it/portale/documents/20143/3788702/Modifiche+ProvvedimentonSanMarino+0248717-2021.pdf/429b5571-17b9-0cce-7f62-f79cf53086d7
|
||||
pa_index = '2R4GTO8' if is_sm else 'XXXXXXX'
|
||||
zipcode = '00000'
|
||||
state_code = False
|
||||
|
||||
return {
|
||||
'codice_fiscale': self._l10n_it_edi_normalized_codice_fiscale(),
|
||||
'vat': normalized_vat,
|
||||
'country_code': normalized_country,
|
||||
'state_code': state_code,
|
||||
'pa_index': pa_index,
|
||||
'zip': zipcode,
|
||||
'in_eu': in_eu,
|
||||
'is_company': self.is_company,
|
||||
'first_name': ' '.join(self.name.split()[:1]),
|
||||
'last_name': ' '.join(self.name.split()[1:]),
|
||||
}
|
||||
|
||||
def _l10n_it_edi_normalized_codice_fiscale(self, l10n_it_codice_fiscale=None):
|
||||
""" Normalize the Italian Tax Code for export.
|
||||
If the Tax Code is equal to the Italian VAT, it may mistakenly have the country prefix,
|
||||
so we try and remove it if we can
|
||||
"""
|
||||
if l10n_it_codice_fiscale is None:
|
||||
self.ensure_one()
|
||||
l10n_it_codice_fiscale = self.l10n_it_codice_fiscale
|
||||
if l10n_it_codice_fiscale:
|
||||
if codicefiscale._code_re.match(l10n_it_codice_fiscale):
|
||||
# Personal codice
|
||||
return codicefiscale.compact(l10n_it_codice_fiscale)
|
||||
# Company codice
|
||||
return iva.compact(l10n_it_codice_fiscale)
|
||||
|
||||
@api.onchange('vat', 'country_id')
|
||||
def _l10n_it_onchange_vat(self):
|
||||
|
|
@ -44,7 +146,7 @@ class ResPartner(models.Model):
|
|||
if self.country_code
|
||||
else self.vat.startswith("IT")
|
||||
):
|
||||
self.l10n_it_codice_fiscale = self._l10n_it_normalize_codice_fiscale(self.vat)
|
||||
self.l10n_it_codice_fiscale = self._l10n_it_edi_normalized_codice_fiscale(self.vat)
|
||||
else:
|
||||
self.l10n_it_codice_fiscale = False
|
||||
|
||||
|
|
@ -52,4 +154,70 @@ class ResPartner(models.Model):
|
|||
def validate_codice_fiscale(self):
|
||||
for record in self:
|
||||
if record.l10n_it_codice_fiscale and (not codicefiscale.is_valid(record.l10n_it_codice_fiscale) and not iva.is_valid(record.l10n_it_codice_fiscale)):
|
||||
raise UserError(_("Invalid Codice Fiscale '%s': should be like 'MRTMTT91D08F205J' for physical person and '12345670546' or 'IT12345670546' for businesses.", record.l10n_it_codice_fiscale))
|
||||
raise UserError(_("Invalid Codice Fiscale '%s': should be like 'MRTMTT91D08F205J' for physical person and '12345670546' for businesses.", record.l10n_it_codice_fiscale))
|
||||
|
||||
def _l10n_it_edi_export_check(self, checks=None):
|
||||
checks = checks or ['partner_vat_codice_fiscale_missing', 'partner_address_missing']
|
||||
fields_to_check = {
|
||||
'partner_vat_missing': {
|
||||
'fields': [('vat',)],
|
||||
'message': _("Partner(s) should have a VAT number."),
|
||||
},
|
||||
'partner_vat_codice_fiscale_missing': {
|
||||
'fields': [('vat', 'l10n_it_codice_fiscale')],
|
||||
'message': _("Partner(s) should have a VAT number or Codice Fiscale."),
|
||||
},
|
||||
'partner_country_missing': {
|
||||
'fields': [('country_id',)],
|
||||
'message': _("Partner(s) should have a Country when used for simplified invoices."),
|
||||
},
|
||||
'partner_address_missing': {
|
||||
'fields': [('street', 'street2'), ('zip',), ('city',), ('country_id',)],
|
||||
'message': _("Partner(s) should have a complete address, verify their Street, City, Zipcode and Country."),
|
||||
},
|
||||
}
|
||||
selected_checks = {k: v for k, v in fields_to_check.items() if k in checks}
|
||||
single_views = [(False, 'form')]
|
||||
list_view = (self.env.ref('l10n_it_edi.res_partner_tree_l10n_it', raise_if_not_found=False))
|
||||
multi_views = [(list_view.id if list_view else False, 'list'), (False, 'form')]
|
||||
errors = {}
|
||||
for key, check in selected_checks.items():
|
||||
for fields_tuple in check['fields']:
|
||||
if invalid_records := self.filtered(lambda record: not any(record[field] for field in fields_tuple)):
|
||||
views = single_views if len(invalid_records) == 1 else multi_views
|
||||
errors[f"l10n_it_edi_{key}"] = {
|
||||
'message': check['message'],
|
||||
'action_text': _("View Partner(s)"),
|
||||
'action': invalid_records._get_records_action(name=_("Check Partner(s)"), views=views),
|
||||
}
|
||||
return errors
|
||||
|
||||
def _deduce_country_code(self):
|
||||
if self.l10n_it_codice_fiscale:
|
||||
return 'IT'
|
||||
return super()._deduce_country_code()
|
||||
|
||||
def _peppol_eas_endpoint_depends(self):
|
||||
# extends account_edi_ubl_cii
|
||||
return super()._peppol_eas_endpoint_depends() + ['l10n_it_codice_fiscale']
|
||||
|
||||
def _get_frontend_writable_fields(self):
|
||||
frontend_writable_fields = super()._get_frontend_writable_fields()
|
||||
frontend_writable_fields.update({'l10n_it_codice_fiscale', 'l10n_it_pa_index'})
|
||||
|
||||
return frontend_writable_fields
|
||||
|
||||
def _get_suggested_invoice_edi_format(self):
|
||||
# EXTENDS 'account'
|
||||
res = super()._get_suggested_invoice_edi_format()
|
||||
if self.country_code == 'IT':
|
||||
return 'it_edi_xml'
|
||||
else:
|
||||
return res
|
||||
|
||||
def create_company(self):
|
||||
res = super().create_company()
|
||||
if res:
|
||||
it_values = self._convert_fields_to_values(('l10n_it_codice_fiscale', 'l10n_it_pa_index'))
|
||||
self.parent_id.update(it_values)
|
||||
return res
|
||||
|
|
|
|||
|
|
@ -1,2 +1,3 @@
|
|||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
"access_it_ddt_manager","it_ddt manager","model_l10n_it_ddt","account.group_account_invoice",1,1,1,1
|
||||
"access_it_ddt_manager","it_ddt manager","model_l10n_it_ddt","account.group_account_invoice",1,1,1,1
|
||||
"access_l10n_it_document_type","access_l10n_it_document_type","model_l10n_it_document_type","account.group_account_invoice",1,1,1,1
|
||||
|
|
|
|||
|
|
|
@ -0,0 +1,30 @@
|
|||
import { patch } from '@web/core/utils/patch';
|
||||
import { patchDynamicContent } from '@web/public/utils';
|
||||
import { CustomerAddress } from '@portal/interactions/address';
|
||||
|
||||
patch(CustomerAddress.prototype, {
|
||||
setup() {
|
||||
super.setup();
|
||||
patchDynamicContent(this.dynamicContent, {
|
||||
'input[name="vat"], select[name="country_id"]': {
|
||||
't-on-change': this.computeCodiceFiscale.bind(this),
|
||||
},
|
||||
});
|
||||
},
|
||||
|
||||
computeCodiceFiscale() {
|
||||
const vat = this.el.querySelector('input[name="vat"]');
|
||||
const countryValue = this.el.querySelector('select[name="country_id"]')
|
||||
.selectedOptions[0]?.getAttribute('code');
|
||||
const l10nItCodiceFiscaleInput = this.el.querySelector('input[name="l10n_it_codice_fiscale"]');
|
||||
|
||||
if (
|
||||
l10nItCodiceFiscaleInput
|
||||
&& vat
|
||||
&& (vat.value.startsWith('IT') || countryValue === 'IT')
|
||||
) {
|
||||
l10nItCodiceFiscaleInput.value = /^IT[0-9]{11}$/.test(vat.value)
|
||||
? vat.value.slice(2, 13) : vat.value;
|
||||
}
|
||||
},
|
||||
});
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
import { registry } from "@web/core/registry";
|
||||
|
||||
registry.category("web_tour.tours").add("portal_compute_codice_fiscale", {
|
||||
steps: () => [
|
||||
{
|
||||
content: "Check portal is loaded",
|
||||
trigger: 'a[href*="/my/account"]:contains("Edit"):first',
|
||||
run: "click",
|
||||
expectUnloadPage: true,
|
||||
},
|
||||
{
|
||||
content: "Load my account details",
|
||||
trigger: 'input[value="IT User"]',
|
||||
run: "click",
|
||||
},
|
||||
{
|
||||
content: "Fill address form: phone",
|
||||
trigger: `form.address_autoformat input[name="phone"]`,
|
||||
run: "edit 99999999",
|
||||
},
|
||||
{
|
||||
content: "Fill address form: email",
|
||||
trigger: `form.address_autoformat input[name="email"]`,
|
||||
run: "edit abc@odoo.com",
|
||||
},
|
||||
{
|
||||
content: "Fill address form: vat",
|
||||
trigger: `form.address_autoformat input[name="vat"]`,
|
||||
run: "edit IT12345670017",
|
||||
},
|
||||
{
|
||||
content: "Fill address form: street",
|
||||
trigger: `form.address_autoformat input[name="street"]`,
|
||||
run: "edit SO1 Billing Street, 33",
|
||||
},
|
||||
{
|
||||
content: "Fill address form: city",
|
||||
trigger: `form.address_autoformat input[name="city"]`,
|
||||
run: "edit SO1BillingCity",
|
||||
},
|
||||
{
|
||||
content: "Fill address form: zip",
|
||||
trigger: `form.address_autoformat input[name="zip"]`,
|
||||
run: "edit 10000",
|
||||
},
|
||||
{
|
||||
id: "o_country_id",
|
||||
content: "Select country with code 'IT' to trigger compute of Codice Fiscale",
|
||||
trigger: 'select[name="country_id"]',
|
||||
run: `selectByLabel Italy`,
|
||||
},
|
||||
{
|
||||
content: "Check if the Codice Fiscale value matches",
|
||||
trigger: "input[name='l10n_it_codice_fiscale']:value(12345670017)",
|
||||
},
|
||||
{
|
||||
content: "Add state",
|
||||
trigger: 'select[name="state_id"]',
|
||||
run: "selectByIndex 2",
|
||||
},
|
||||
{
|
||||
content: "Submit the form",
|
||||
trigger: "button[id=save_address]",
|
||||
run: "click",
|
||||
expectUnloadPage: true,
|
||||
},
|
||||
{
|
||||
content: "Check that we are back on the portal",
|
||||
trigger: 'a[href*="/my/account"]:contains("Edit"):first',
|
||||
},
|
||||
],
|
||||
});
|
||||
|
|
@ -1,7 +1,14 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
from . import common
|
||||
from . import test_account_move_document_type
|
||||
from . import test_account_move_payment_method
|
||||
from . import test_account_move_send
|
||||
from . import test_edi_address
|
||||
from . import test_edi_export
|
||||
from . import test_edi_import
|
||||
from . import test_edi_pa
|
||||
from . import test_edi_reverse_charge
|
||||
from . import test_it_document_type
|
||||
from . import test_res_partner
|
||||
from . import test_withholding
|
||||
|
|
|
|||
|
|
@ -1,40 +1,68 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
import base64
|
||||
from lxml import etree
|
||||
from unittest.mock import patch, MagicMock
|
||||
|
||||
from odoo import tools
|
||||
from odoo.tests import tagged
|
||||
from odoo.addons.account_edi.tests.common import AccountEdiTestCommon
|
||||
from odoo.addons.account_edi_proxy_client.models.account_edi_proxy_user import AccountEdiProxyClientUser
|
||||
from odoo.tools.misc import file_open
|
||||
from odoo.addons.account.tests.common import AccountTestInvoicingCommon
|
||||
|
||||
|
||||
@tagged('post_install_l10n', 'post_install', '-at_install')
|
||||
class TestItEdi(AccountEdiTestCommon):
|
||||
class TestItEdi(AccountTestInvoicingCommon):
|
||||
|
||||
class RepartitionLine:
|
||||
def __init__(self, factor_percent, repartition_type, tag_ids):
|
||||
self.factor_percent = factor_percent
|
||||
self.repartition_type = repartition_type
|
||||
self.tag_ids = tag_ids
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls, chart_template_ref='l10n_it.l10n_it_chart_template_generic', edi_format_ref="l10n_it_edi.edi_fatturaPA"):
|
||||
super().setUpClass(chart_template_ref=chart_template_ref, edi_format_ref=edi_format_ref)
|
||||
def get_tag_ids(cls, tag_codes):
|
||||
""" Helper function to define tag ids for taxes """
|
||||
return cls.env['account.account.tag'].search([
|
||||
('applicability', '=', 'taxes'),
|
||||
('country_id.code', '=', 'IT'),
|
||||
('name', 'in', tag_codes)]).ids
|
||||
|
||||
@classmethod
|
||||
def repartition_lines(cls, *lines):
|
||||
""" Helper function to define repartition lines in taxes """
|
||||
return ([(5, 0, 0)] + [(0, 0, {
|
||||
**line.__dict__,
|
||||
'tag_ids': cls.get_tag_ids(line.tag_ids)
|
||||
}) for line in lines])
|
||||
|
||||
@classmethod
|
||||
@AccountTestInvoicingCommon.setup_country('it')
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
|
||||
# Company data ------
|
||||
cls.company_data_2 = cls.setup_other_company(
|
||||
name='company_2_data',
|
||||
vat='IT01234560157',
|
||||
phone='0266766700',
|
||||
email='test@test.it',
|
||||
street="1234 Test Street",
|
||||
zip="12345",
|
||||
city="Prova",
|
||||
l10n_it_codice_fiscale='01234560157',
|
||||
l10n_it_tax_system="RF01",
|
||||
)
|
||||
cls.company = cls.company_data_2['company']
|
||||
cls.company.l10n_it_codice_fiscale = '01234560157'
|
||||
cls.company.partner_id.l10n_it_pa_index = "0803HR0"
|
||||
cls.company.vat = 'IT01234560157'
|
||||
cls.company.partner_id.write({
|
||||
'l10n_it_pa_index': "0803HR0"
|
||||
})
|
||||
|
||||
cls.test_bank = cls.env['res.partner.bank'].with_company(cls.company).create({
|
||||
cls.test_bank = cls.env['res.partner.bank'].create({
|
||||
'partner_id': cls.company.partner_id.id,
|
||||
'acc_number': 'IT1212341234123412341234123',
|
||||
'bank_name': 'BIG BANK',
|
||||
'bank_bic': 'BIGGBANQ',
|
||||
'allow_out_payment': True,
|
||||
})
|
||||
|
||||
cls.company.l10n_it_tax_system = "RF01"
|
||||
cls.company.street = "1234 Test Street"
|
||||
cls.company.zip = "12345"
|
||||
cls.company.city = "Prova"
|
||||
cls.company.country_id = cls.env.ref('base.it')
|
||||
|
||||
# Partners
|
||||
cls.italian_partner_a = cls.env['res.partner'].create({
|
||||
'name': 'Alessi',
|
||||
|
|
@ -44,8 +72,9 @@ class TestItEdi(AccountEdiTestCommon):
|
|||
'street': 'Via Privata Alessi 6',
|
||||
'zip': '28887',
|
||||
'city': 'Milan',
|
||||
'company_id': cls.company.id,
|
||||
'company_id': False,
|
||||
'is_company': True,
|
||||
'invoice_edi_format': 'it_edi_xml',
|
||||
})
|
||||
|
||||
cls.italian_partner_b = cls.env['res.partner'].create({
|
||||
|
|
@ -57,7 +86,8 @@ class TestItEdi(AccountEdiTestCommon):
|
|||
'street': 'Via Test PA',
|
||||
'zip': '32121',
|
||||
'city': 'PA Town',
|
||||
'is_company': True
|
||||
'is_company': True,
|
||||
'invoice_edi_format': 'it_edi_xml',
|
||||
})
|
||||
|
||||
cls.italian_partner_no_address_codice = cls.env['res.partner'].create({
|
||||
|
|
@ -80,45 +110,79 @@ class TestItEdi(AccountEdiTestCommon):
|
|||
})
|
||||
|
||||
# We create this because we are unable to post without a proxy user existing
|
||||
cls.private_key_id = cls.env['certificate.key'].create({
|
||||
'name': 'IT test key',
|
||||
'content': base64.b64encode(file_open('l10n_it_edi/data/pkey.key', 'rb').read()),
|
||||
})
|
||||
cls.proxy_user = cls.env['account_edi_proxy_client.user'].create({
|
||||
'proxy_type': 'l10n_it_edi',
|
||||
'id_client': 'l10n_it_edi_test',
|
||||
'company_id': cls.company.id,
|
||||
'edi_format_id': cls.edi_format.id,
|
||||
'edi_identification': 'l10n_it_edi_test',
|
||||
'private_key': 'l10n_it_edi_test',
|
||||
'private_key_id': cls.private_key_id.id,
|
||||
})
|
||||
|
||||
cls.standard_line = {
|
||||
'name': 'standard_line',
|
||||
'quantity': 1,
|
||||
'price_unit': 800.40,
|
||||
'tax_ids': [(6, 0, [cls.company.account_sale_tax_id.id])]
|
||||
}
|
||||
cls.default_tax = cls.env['account.tax'].with_company(cls.company).create({
|
||||
'name': "22% default",
|
||||
'amount': 22.0,
|
||||
'amount_type': 'percent',
|
||||
})
|
||||
|
||||
cls.edi_basis_xml = cls._get_test_file_content('IT00470550013_basis.xml')
|
||||
cls.edi_simplified_basis_xml = cls._get_test_file_content('IT00470550013_simpl.xml')
|
||||
cls.module = 'l10n_it_edi'
|
||||
|
||||
@classmethod
|
||||
def _get_test_file_content(cls, filename):
|
||||
""" Get the content of a test file inside this module """
|
||||
path = 'l10n_it_edi/tests/expected_xmls/' + filename
|
||||
with tools.file_open(path, mode='rb') as test_file:
|
||||
return test_file.read()
|
||||
def _assert_export_invoice(self, invoice, filename):
|
||||
path = f'{self.module}/tests/export_xmls/{filename}'
|
||||
with tools.file_open(path, mode='rb') as fd:
|
||||
expected_tree = etree.fromstring(fd.read())
|
||||
xml = invoice._l10n_it_edi_render_xml()
|
||||
invoice_etree = etree.fromstring(xml)
|
||||
try:
|
||||
self.assertXmlTreeEqual(invoice_etree, expected_tree)
|
||||
except AssertionError as ae:
|
||||
ae.args = (ae.args[0] + f"\nFile used for comparison: {filename}", )
|
||||
raise
|
||||
|
||||
def _cleanup_etree(self, content, xpaths=None):
|
||||
xpaths = {
|
||||
**(xpaths or {}),
|
||||
'//FatturaElettronicaBody/Allegati': 'Allegati',
|
||||
'//DatiTrasmissione/ProgressivoInvio': 'ProgressivoInvio',
|
||||
}
|
||||
return self.with_applied_xpath(
|
||||
etree.fromstring(content),
|
||||
"".join([f"<xpath expr='{x}' position='replace'>{y}</xpath>" for x, y in xpaths.items()])
|
||||
)
|
||||
def _assert_import_invoice(self, filename, expected_values_list, xml_to_apply=None, move_type="in_invoice"):
|
||||
""" Tests an invoice imported from an XML vendor bill file on the filesystem
|
||||
against expected values. XPATHs can be applied with the `xml_to_apply`
|
||||
argument to the XML content before it's imported.
|
||||
"""
|
||||
path = f'{self.module}/tests/import_xmls/{filename}'
|
||||
with tools.file_open(path, mode='rb') as fd:
|
||||
import_content = fd.read()
|
||||
|
||||
def _test_invoice_with_sample_file(self, invoice, filename, xpaths_file=None, xpaths_result=None):
|
||||
invoice_xml = self.edi_format._l10n_it_edi_export_invoice_as_xml(invoice)
|
||||
expected_xml = self._get_test_file_content(filename)
|
||||
result = self._cleanup_etree(invoice_xml, xpaths_result)
|
||||
expected = self._cleanup_etree(expected_xml, xpaths_file)
|
||||
self.assertXmlTreeEqual(result, expected)
|
||||
if xml_to_apply:
|
||||
tree = self.with_applied_xpath(
|
||||
etree.fromstring(import_content),
|
||||
xml_to_apply
|
||||
)
|
||||
import_content = etree.tostring(tree)
|
||||
|
||||
attachment = self.env['ir.attachment'].create({
|
||||
'name': filename,
|
||||
'raw': import_content,
|
||||
})
|
||||
|
||||
journal_type = {
|
||||
'in_invoice': 'default_journal_purchase',
|
||||
'out_invoice': 'default_journal_sale',
|
||||
}[move_type]
|
||||
purchase_journal = self.company_data_2[journal_type].with_context(default_move_type=move_type)
|
||||
invoices = purchase_journal._create_document_from_attachment(attachment.ids)
|
||||
|
||||
expected_invoice_values_list = []
|
||||
expected_invoice_line_ids_values_list = []
|
||||
for expected_values in expected_values_list:
|
||||
invoice_values = dict(expected_values)
|
||||
if 'invoice_line_ids' in invoice_values:
|
||||
expected_invoice_line_ids_values_list += invoice_values.pop('invoice_line_ids')
|
||||
expected_invoice_values_list.append(invoice_values)
|
||||
try:
|
||||
self.assertRecordValues(invoices, expected_invoice_values_list)
|
||||
if expected_invoice_line_ids_values_list:
|
||||
self.assertRecordValues(invoices.invoice_line_ids, expected_invoice_line_ids_values_list)
|
||||
except AssertionError as ae:
|
||||
ae.args = (ae.args[0] + f"\nFile used for comparison: {filename}", )
|
||||
raise
|
||||
|
||||
return invoices
|
||||
|
|
|
|||
|
|
@ -1,42 +0,0 @@
|
|||
<p:FatturaElettronicaSemplificata xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.0" xsi:schemaLocation="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.0 http://www.fatturapa.gov.it/export/fatturazione/sdi/fatturapa/v1.0/Schema_del_file_xml_FatturaPA_versione_1.0.xsd" versione="FSM10">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>___ignore___</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FSM10</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street </Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD07</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-03-24</Data>
|
||||
<Numero>___ignore___</Numero>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
</DatiBeniServizi>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronicaSemplificata>
|
||||
|
|
@ -1,113 +0,0 @@
|
|||
<?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>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>00001</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>ABC1234</CodiceDestinatario>
|
||||
<ContattiTrasmittente/>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</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>01234560157</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>01234567890</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>01234567890</IdDocumento>
|
||||
<Data>2012-09-01</Data>
|
||||
<NumItem>5</NumItem>
|
||||
<CodiceCUP>01234567890abc</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>
|
||||
|
|
@ -1,71 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="DT_v1.0.xsl"?>
|
||||
<types:NotificaDecorrenzaTermini xmlns:types="http://www.fatturapa.gov.it/sdi/messaggi/v1.0" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" IntermediarioConDupliceRuolo="Si" versione="1.0" xsi:schemaLocation="http://www.fatturapa.gov.it/sdi/messaggi/v1.0 MessaggiTypes_v1.0.xsd http://www.w3.org/2000/09/xmldsig# xmldsig-core-schema.xsd">
|
||||
<IdentificativoSdI>111</IdentificativoSdI>
|
||||
<NomeFile>IT01234567890_FPR01.xml</NomeFile>
|
||||
<Descrizione>Notifica di esempio</Descrizione>
|
||||
<MessageId>123456</MessageId>
|
||||
<Note>Esempio</Note>
|
||||
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature1">
|
||||
<ds:SignedInfo>
|
||||
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
|
||||
<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
|
||||
<ds:Reference Id="reference-document" URI="">
|
||||
<ds:Transforms>
|
||||
<ds:Transform Algorithm="http://www.w3.org/2002/06/xmldsig-filter2">
|
||||
<XPath xmlns="http://www.w3.org/2002/06/xmldsig-filter2" Filter="subtract">/descendant::ds:Signature</XPath>
|
||||
</ds:Transform>
|
||||
</ds:Transforms>
|
||||
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
|
||||
<ds:DigestValue>g6h8KnGd+Y4DCdnGk5oIUbBwjJB3MMGlyizaFyCqH7I=</ds:DigestValue>
|
||||
</ds:Reference>
|
||||
<ds:Reference Id="reference-signedpropeties" Type="http://uri.etsi.org/01903#SignedProperties" URI="#SignedProperties_1">
|
||||
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
|
||||
<ds:DigestValue>LkOlfB97QK/evb7mYg+KkxW3BSiZre63y3Qeh/rV28E=</ds:DigestValue>
|
||||
</ds:Reference>
|
||||
<ds:Reference Id="reference-keyinfo" URI="#KeyInfoId">
|
||||
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
|
||||
<ds:DigestValue>BaZyFTXyxM8aIJhtiemem1lEwKR75ksXb33lsMqD89w=</ds:DigestValue>
|
||||
</ds:Reference>
|
||||
</ds:SignedInfo>
|
||||
<ds:SignatureValue Id="SignatureValue1">
|
||||
Z8/Kt/ZF/syaHxYr6/qoTz+nTJe3IV1m9Hj3WPOl1CZ/p5intUORW0IinpMum4rvPkLYpKPVbi39
|
||||
WCJujEqVOVFw5xezZlwmrRghmUeyTyKazK7mKEEMXCad+FGCZj2Gz1nkqi5aNyNX/lN7m9Ix7rZ8
|
||||
br3Fi3bi3nNMdyUmwog=
|
||||
</ds:SignatureValue>
|
||||
<ds:KeyInfo Id="KeyInfoId">
|
||||
<ds:X509Data>
|
||||
<ds:X509Certificate>
|
||||
MIIEYDCCA0igAwIBAgIDEIgbMA0GCSqGSIb3DQEBBQUAMG0xCzAJBgNVBAYTAklUMR4wHAYDVQQK
|
||||
ExVBZ2VuemlhIGRlbGxlIEVudHJhdGUxGzAZBgNVBAsTElNlcnZpemkgVGVsZW1hdGljaTEhMB8G
|
||||
A1UEAxMYQ0EgQWdlbnppYSBkZWxsZSBFbnRyYXRlMB4XDTExMDcwNDEzMTkyNFoXDTE0MDcwNDEz
|
||||
MTkyM1owdDELMAkGA1UEBhMCSVQxHjAcBgNVBAoTFUFnZW56aWEgZGVsbGUgRW50cmF0ZTEbMBkG
|
||||
A1UECxMSU2Vydml6aSBUZWxlbWF0aWNpMSgwJgYDVQQDEx9TaXN0ZW1hIEludGVyc2NhbWJpbyBG
|
||||
YXR0dXJhIFBBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDMxOQj1dj6xgQBwB/S5naHvVqP
|
||||
FL25Y3GnAulrcaeO8ZFFK5fWKPgiBwfyJ7qdlzn/RF7y+w92XLgh9zROmNlIjsJcp3rRwsAiKjuW
|
||||
CkqwVXE0/Qtvxpo2Eovk1SV4+rf+7WKSHtabjmWXbM2FVccyN2AOvfR4WAdpr4hHkoEIiwIDAQAB
|
||||
o4IBhDCCAYAwDgYDVR0PAQH/BAQDAgZAMIGZBgNVHSMEgZEwgY6AFOpEPx8Z4zc+q6qUgqWf6/wW
|
||||
un+1oXGkbzBtMQswCQYDVQQGEwJJVDEeMBwGA1UEChMVQWdlbnppYSBkZWxsZSBFbnRyYXRlMRsw
|
||||
GQYDVQQLExJTZXJ2aXppIFRlbGVtYXRpY2kxITAfBgNVBAMTGENBIEFnZW56aWEgZGVsbGUgRW50
|
||||
cmF0ZYIDEGJwMIGyBgNVHR8EgaowgacwgaSggaGggZ6GgZtsZGFwOi8vY2Fkcy5lbnRyYXRlLmZp
|
||||
bmFuemUuaXQvY24lM2RDQSUyMEFnZW56aWElMjBkZWxsZSUyMEVudHJhdGUsb3UlM2RTZXJ2aXpp
|
||||
JTIwVGVsZW1hdGljaSxvJTNkQWdlbnppYSUyMGRlbGxlJTIwRW50cmF0ZSxjJTNkaXQ/Y2VydGlm
|
||||
aWNhdGVSZXZvY2F0aW9uTGlzdDAdBgNVHQ4EFgQUn+JY07NI6xlrCUXERiHoFFN66dkwDQYJKoZI
|
||||
hvcNAQEFBQADggEBALZ0po2uLhLyZ8uiVfQUCAQd8s5o8ZJw2mcgZc/iaoNmDfcslZnTLWeuT6Gr
|
||||
UFgG0uc1rY0UwWx/R1UOyc0ZesRo7Z6+kFmVubT1tbjLMuLjjUIyt4zWeNjf4PwNS0+s6Y6eC8tx
|
||||
fOJmQNGQIbujWhAejoIteG01ciGeeII6AMnGK8KvbCA0UZmWl3Bou49zWajiEjtHFGkq/WNfDwRa
|
||||
Fd4UWjR+UWS3rLahV7iOfh/+Yy7h1F0RzQuPJk7TCm7iHyc9QtgwxHHCmknRyNXMv6DeTOfK8ciq
|
||||
uFWd6DasmblXLUm+uqhsWVRIkj2Bz63bpjuJU+8ptRfxHrVnzyCr9M4=
|
||||
</ds:X509Certificate>
|
||||
</ds:X509Data>
|
||||
</ds:KeyInfo>
|
||||
<ds:Object>
|
||||
<xades:QualifyingProperties xmlns:xades="http://uri.etsi.org/01903/v1.3.2#" Target="#Signature1">
|
||||
<xades:SignedProperties Id="SignedProperties_1">
|
||||
<xades:SignedSignatureProperties>
|
||||
<xades:SigningTime>2014-06-05T14:27:51Z</xades:SigningTime>
|
||||
</xades:SignedSignatureProperties>
|
||||
</xades:SignedProperties>
|
||||
</xades:QualifyingProperties>
|
||||
</ds:Object>
|
||||
</ds:Signature>
|
||||
</types:NotificaDecorrenzaTermini>
|
||||
|
|
@ -1,72 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="RC_v1.0.xsl"?>
|
||||
<types:RicevutaConsegna xmlns:types="http://www.fatturapa.gov.it/sdi/messaggi/v1.0" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" IntermediarioConDupliceRuolo="Si" versione="1.0" xsi:schemaLocation="http://www.fatturapa.gov.it/sdi/messaggi/v1.0 MessaggiTypes_v1.0.xsd ">
|
||||
<IdentificativoSdI>111</IdentificativoSdI>
|
||||
<NomeFile>IT01234567890_FPR01.xml</NomeFile>
|
||||
<DataOraRicezione>2013-06-06T12:00:00Z</DataOraRicezione>
|
||||
<DataOraConsegna>2013-06-06T12:01:00Z</DataOraConsegna>
|
||||
<Destinatario>
|
||||
<Codice>AAA111</Codice>
|
||||
<Descrizione>Amministrazione di prova</Descrizione>
|
||||
</Destinatario>
|
||||
<MessageId>123456</MessageId>
|
||||
<Note>Esempio</Note>
|
||||
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature1">
|
||||
<ds:SignedInfo>
|
||||
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
|
||||
<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
|
||||
<ds:Reference Id="reference-document" URI="">
|
||||
<ds:Transforms>
|
||||
<ds:Transform Algorithm="http://www.w3.org/2002/06/xmldsig-filter2">
|
||||
<XPath xmlns="http://www.w3.org/2002/06/xmldsig-filter2" Filter="subtract">/descendant::ds:Signature</XPath>
|
||||
</ds:Transform>
|
||||
</ds:Transforms>
|
||||
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
|
||||
<ds:DigestValue>c+5ntDV6t4+PxIKEU6rbCUGu3ne9RMxoADu4yK4XIak=</ds:DigestValue>
|
||||
</ds:Reference>
|
||||
<ds:Reference Id="reference-signedpropeties" Type="http://uri.etsi.org/01903#SignedProperties" URI="#SignedProperties_1">
|
||||
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
|
||||
<ds:DigestValue>AhiGZ+LPENybg4dQwMwjg0Nxdxzu+3M5i0w+UI6X89E=</ds:DigestValue>
|
||||
</ds:Reference>
|
||||
<ds:Reference Id="reference-keyinfo" URI="#KeyInfoId">
|
||||
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
|
||||
<ds:DigestValue>BaZyFTXyxM8aIJhtiemem1lEwKR75ksXb33lsMqD89w=</ds:DigestValue>
|
||||
</ds:Reference>
|
||||
</ds:SignedInfo>
|
||||
<ds:SignatureValue Id="SignatureValue1">G0FOBC+E8JKtJ5K2C+LBlvv3oarzkub7w2q5U1UQZnobWmFBbZ4WzgBNTMKUjdi2ZLkUpOSEwedf
|
||||
VLgl5SyhaKYY6TizDNbxededjUpqKhyIgaWBLc/iDI6H//x+3axnLU4WwFzdr3AwqPQjPuugGX07
|
||||
gOcjBHtbr7ie2Wr//o8=</ds:SignatureValue>
|
||||
<ds:KeyInfo Id="KeyInfoId">
|
||||
<ds:X509Data>
|
||||
<ds:X509Certificate>MIIEYDCCA0igAwIBAgIDEIgbMA0GCSqGSIb3DQEBBQUAMG0xCzAJBgNVBAYTAklUMR4wHAYDVQQK
|
||||
ExVBZ2VuemlhIGRlbGxlIEVudHJhdGUxGzAZBgNVBAsTElNlcnZpemkgVGVsZW1hdGljaTEhMB8G
|
||||
A1UEAxMYQ0EgQWdlbnppYSBkZWxsZSBFbnRyYXRlMB4XDTExMDcwNDEzMTkyNFoXDTE0MDcwNDEz
|
||||
MTkyM1owdDELMAkGA1UEBhMCSVQxHjAcBgNVBAoTFUFnZW56aWEgZGVsbGUgRW50cmF0ZTEbMBkG
|
||||
A1UECxMSU2Vydml6aSBUZWxlbWF0aWNpMSgwJgYDVQQDEx9TaXN0ZW1hIEludGVyc2NhbWJpbyBG
|
||||
YXR0dXJhIFBBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDMxOQj1dj6xgQBwB/S5naHvVqP
|
||||
FL25Y3GnAulrcaeO8ZFFK5fWKPgiBwfyJ7qdlzn/RF7y+w92XLgh9zROmNlIjsJcp3rRwsAiKjuW
|
||||
CkqwVXE0/Qtvxpo2Eovk1SV4+rf+7WKSHtabjmWXbM2FVccyN2AOvfR4WAdpr4hHkoEIiwIDAQAB
|
||||
o4IBhDCCAYAwDgYDVR0PAQH/BAQDAgZAMIGZBgNVHSMEgZEwgY6AFOpEPx8Z4zc+q6qUgqWf6/wW
|
||||
un+1oXGkbzBtMQswCQYDVQQGEwJJVDEeMBwGA1UEChMVQWdlbnppYSBkZWxsZSBFbnRyYXRlMRsw
|
||||
GQYDVQQLExJTZXJ2aXppIFRlbGVtYXRpY2kxITAfBgNVBAMTGENBIEFnZW56aWEgZGVsbGUgRW50
|
||||
cmF0ZYIDEGJwMIGyBgNVHR8EgaowgacwgaSggaGggZ6GgZtsZGFwOi8vY2Fkcy5lbnRyYXRlLmZp
|
||||
bmFuemUuaXQvY24lM2RDQSUyMEFnZW56aWElMjBkZWxsZSUyMEVudHJhdGUsb3UlM2RTZXJ2aXpp
|
||||
JTIwVGVsZW1hdGljaSxvJTNkQWdlbnppYSUyMGRlbGxlJTIwRW50cmF0ZSxjJTNkaXQ/Y2VydGlm
|
||||
aWNhdGVSZXZvY2F0aW9uTGlzdDAdBgNVHQ4EFgQUn+JY07NI6xlrCUXERiHoFFN66dkwDQYJKoZI
|
||||
hvcNAQEFBQADggEBALZ0po2uLhLyZ8uiVfQUCAQd8s5o8ZJw2mcgZc/iaoNmDfcslZnTLWeuT6Gr
|
||||
UFgG0uc1rY0UwWx/R1UOyc0ZesRo7Z6+kFmVubT1tbjLMuLjjUIyt4zWeNjf4PwNS0+s6Y6eC8tx
|
||||
fOJmQNGQIbujWhAejoIteG01ciGeeII6AMnGK8KvbCA0UZmWl3Bou49zWajiEjtHFGkq/WNfDwRa
|
||||
Fd4UWjR+UWS3rLahV7iOfh/+Yy7h1F0RzQuPJk7TCm7iHyc9QtgwxHHCmknRyNXMv6DeTOfK8ciq
|
||||
uFWd6DasmblXLUm+uqhsWVRIkj2Bz63bpjuJU+8ptRfxHrVnzyCr9M4=</ds:X509Certificate>
|
||||
</ds:X509Data>
|
||||
</ds:KeyInfo>
|
||||
<ds:Object>
|
||||
<xades:QualifyingProperties xmlns:xades="http://uri.etsi.org/01903/v1.3.2#" Target="#Signature1">
|
||||
<xades:SignedProperties Id="SignedProperties_1">
|
||||
<xades:SignedSignatureProperties>
|
||||
<xades:SigningTime>2014-06-05T14:24:28Z</xades:SigningTime>
|
||||
</xades:SignedSignatureProperties>
|
||||
</xades:SignedProperties>
|
||||
</xades:QualifyingProperties>
|
||||
</ds:Object>
|
||||
</ds:Signature>
|
||||
</types:RicevutaConsegna>
|
||||
|
|
@ -0,0 +1,94 @@
|
|||
<p:FatturaElettronica 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"
|
||||
versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>2022040001</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0803HR0</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>FR</IdPaese>
|
||||
<IdCodice>15437982937</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<Anagrafica>
|
||||
<Denominazione>Alessi</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF18</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>Avenue Test rue</Indirizzo>
|
||||
<CAP>00000</CAP>
|
||||
<Comune>Avignon</Comune>
|
||||
<Nazione>FR</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street</Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD18</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-04-01</Data>
|
||||
<Numero>BILL/2022/04/0001</Numero>
|
||||
<ImportoTotaleDocumento>832.42</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>
|
||||
Product B, taxed 4%
|
||||
</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>800.40000000</PrezzoUnitario>
|
||||
<PrezzoTotale>800.40000000</PrezzoTotale>
|
||||
<AliquotaIVA>4.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>4.00</AliquotaIVA>
|
||||
<ImponibileImporto>800.40</ImponibileImporto>
|
||||
<Imposta>32.02</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2022-03-24</DataScadenzaPagamento>
|
||||
<ImportoPagamento>800.40</ImportoPagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -1,14 +1,20 @@
|
|||
<p:FatturaElettronica 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" versione="FPR12">
|
||||
<p:FatturaElettronica xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2"
|
||||
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
|
||||
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"
|
||||
versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>2022030001</ProgressivoInvio>
|
||||
<ProgressivoInvio>2022040001</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0803HR0</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
|
|
@ -51,7 +57,7 @@
|
|||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD18</TipoDocumento>
|
||||
<TipoDocumento>TD19</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-04-01</Data>
|
||||
<Numero>BILL/2022/04/0001</Numero>
|
||||
|
|
@ -59,47 +65,42 @@
|
|||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>
|
||||
Product A
|
||||
</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>800.400000</PrezzoUnitario>
|
||||
<PrezzoTotale>800.40</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<Descrizione>
|
||||
Product B, taxed 4%
|
||||
</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>800.400000</PrezzoUnitario>
|
||||
<PrezzoTotale>800.40</PrezzoTotale>
|
||||
<AliquotaIVA>4.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<ImponibileImporto>800.40</ImponibileImporto>
|
||||
<Imposta>176.09</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>4.00</AliquotaIVA>
|
||||
<ImponibileImporto>800.40</ImponibileImporto>
|
||||
<Imposta>32.02</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>Product A</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>800.40000000</PrezzoUnitario>
|
||||
<PrezzoTotale>800.40000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<Descrizione>Product B, taxed 4% Already in Italy</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>800.40000000</PrezzoUnitario>
|
||||
<PrezzoTotale>800.40000000</PrezzoTotale>
|
||||
<AliquotaIVA>4.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<ImponibileImporto>800.40</ImponibileImporto>
|
||||
<Imposta>176.09</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>4.00</AliquotaIVA>
|
||||
<ImponibileImporto>800.40</ImponibileImporto>
|
||||
<Imposta>32.02</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2022-03-24</DataScadenzaPagamento>
|
||||
<ImportoPagamento>1600.80</ImportoPagamento>
|
||||
</DettaglioPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2022-03-24</DataScadenzaPagamento>
|
||||
<ImportoPagamento>1600.80</ImportoPagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
<Allegati></Allegati>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,106 @@
|
|||
<p:FatturaElettronica xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
|
||||
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"
|
||||
versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>2022040001</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0803HR0</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>SM</IdPaese>
|
||||
<IdCodice>6784</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<Anagrafica>
|
||||
<Denominazione>Prospectra</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF18</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>Via Ventotto Luglio 212 Centro Uffici</Indirizzo>
|
||||
<CAP>00000</CAP>
|
||||
<Comune>San Marino</Comune>
|
||||
<Nazione>SM</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street</Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD28</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-04-01</Data>
|
||||
<Numero>BILL/2022/04/0001</Numero>
|
||||
<ImportoTotaleDocumento>1808.91</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>Product A</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>800.40000000</PrezzoUnitario>
|
||||
<PrezzoTotale>800.40000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<Descrizione>Product B, taxed 4%</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>800.40000000</PrezzoUnitario>
|
||||
<PrezzoTotale>800.40000000</PrezzoTotale>
|
||||
<AliquotaIVA>4.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<ImponibileImporto>800.40</ImponibileImporto>
|
||||
<Imposta>176.09</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>4.00</AliquotaIVA>
|
||||
<ImponibileImporto>800.40</ImponibileImporto>
|
||||
<Imposta>32.02</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2022-03-24</DataScadenzaPagamento>
|
||||
<ImportoPagamento>1600.80</ImportoPagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,96 @@
|
|||
<p:FatturaElettronica xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
|
||||
xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2"
|
||||
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"
|
||||
versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>2022040001</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0803HR0</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>FR</IdPaese>
|
||||
<IdCodice>15437982937</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<Anagrafica>
|
||||
<Denominazione>Alessi</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF18</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>Street test</Indirizzo>
|
||||
<CAP>00000</CAP>
|
||||
<Comune>Test</Comune>
|
||||
<Nazione>FR</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street</Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD18</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-04-01</Data>
|
||||
<Numero>RBILL/2022/04/0001</Numero>
|
||||
<ImportoTotaleDocumento>-976.49</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
<DatiFattureCollegate>
|
||||
<IdDocumento>BILL/2022/04/0001</IdDocumento>
|
||||
<Data>2022-04-01</Data>
|
||||
</DatiFattureCollegate>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>Product A</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>-800.40000000</PrezzoUnitario>
|
||||
<PrezzoTotale>-800.40000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<ImponibileImporto>-800.40</ImponibileImporto>
|
||||
<Imposta>-176.09</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2022-04-01</DataScadenzaPagamento>
|
||||
<ImportoPagamento>800.40</ImportoPagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,97 @@
|
|||
<p:FatturaElettronica 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"
|
||||
versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>V202200001</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street</Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>00465840031</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>93026890017</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>Alessi</Denominazione>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>Via Privata Alessi 6</Indirizzo>
|
||||
<CAP>28887</CAP>
|
||||
<Comune>Milan</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD04</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-03-24</Data>
|
||||
<Numero>RINV/2022/00001</Numero>
|
||||
<ImportoTotaleDocumento>1830.98</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
<DatiFattureCollegate>
|
||||
<IdDocumento>___ignore___</IdDocumento>
|
||||
<Data>___ignore___</Data>
|
||||
</DatiFattureCollegate>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>standard_line</Descrizione>
|
||||
<Quantita>2.00</Quantita>
|
||||
<PrezzoUnitario>800.40000000</PrezzoUnitario>
|
||||
<PrezzoTotale>1600.80000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<Descrizione>negative_line</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>-100.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>-100.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<ImponibileImporto>1500.80</ImponibileImporto>
|
||||
<Imposta>330.18</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<p:FatturaElettronica xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2" 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" versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
|
|
@ -5,10 +6,12 @@
|
|||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>___ignore___</ProgressivoInvio>
|
||||
<ProgressivoInvio>2022030001</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
|
|
@ -24,7 +27,7 @@
|
|||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street </Indirizzo>
|
||||
<Indirizzo>1234 Test Street</Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
|
|
@ -42,7 +45,7 @@
|
|||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>Via Privata Alessi 6 </Indirizzo>
|
||||
<Indirizzo>Via Privata Alessi 6</Indirizzo>
|
||||
<CAP>28887</CAP>
|
||||
<Comune>Milan</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
|
|
@ -52,22 +55,38 @@
|
|||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD01</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-03-24</Data>
|
||||
<Numero>___ignore___</Numero>
|
||||
<ImportoTotaleDocumento></ImportoTotaleDocumento>
|
||||
<Numero>RBILL/2022/03/0001</Numero>
|
||||
<ImportoTotaleDocumento>832.42</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
<DatiFattureCollegate>
|
||||
<IdDocumento>BILL/2022/03/0001</IdDocumento>
|
||||
<Data>2022-03-24</Data>
|
||||
</DatiFattureCollegate>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>Product A</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>800.40000000</PrezzoUnitario>
|
||||
<PrezzoTotale>800.40000000</PrezzoTotale>
|
||||
<AliquotaIVA>4.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>4.00</AliquotaIVA>
|
||||
<ImponibileImporto>800.40</ImponibileImporto>
|
||||
<Imposta>32.02</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2022-03-24</DataScadenzaPagamento>
|
||||
<ImportoPagamento></ImportoPagamento>
|
||||
<CodicePagamento>___ignore___</CodicePagamento>
|
||||
<ImportoPagamento>832.42</ImportoPagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
|
|
@ -0,0 +1,114 @@
|
|||
<p:FatturaElettronica xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
|
||||
xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2"
|
||||
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"
|
||||
versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>2022040001</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0803HR0</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>FR</IdPaese>
|
||||
<IdCodice>15437982937</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<Anagrafica>
|
||||
<Denominazione>Alessi</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF18</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>Avenue Test rue</Indirizzo>
|
||||
<CAP>00000</CAP>
|
||||
<Comune>Avignon</Comune>
|
||||
<Nazione>FR</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street</Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD18</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-04-01</Data>
|
||||
<Numero>RBILL/2022/04/0001</Numero>
|
||||
<ImportoTotaleDocumento>-1392.91</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
<DatiFattureCollegate>
|
||||
<IdDocumento>BILL/2022/04/0001</IdDocumento>
|
||||
<Data>2022-04-01</Data>
|
||||
</DatiFattureCollegate>
|
||||
<DatiFattureCollegate>
|
||||
<IdDocumento>BILL/2022/04/0002</IdDocumento>
|
||||
<Data>2022-04-01</Data>
|
||||
</DatiFattureCollegate>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>Product A</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>-800.40000000</PrezzoUnitario>
|
||||
<PrezzoTotale>-800.40000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<Descrizione>Product B, taxed 4%</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>-400.40000000</PrezzoUnitario>
|
||||
<PrezzoTotale>-400.40000000</PrezzoTotale>
|
||||
<AliquotaIVA>4.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<ImponibileImporto>-800.40</ImponibileImporto>
|
||||
<Imposta>-176.09</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>4.00</AliquotaIVA>
|
||||
<ImponibileImporto>-400.40</ImponibileImporto>
|
||||
<Imposta>-16.02</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2022-03-24</DataScadenzaPagamento>
|
||||
<ImportoPagamento>1200.80</ImportoPagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,153 @@
|
|||
<?xml version="1.0"?>
|
||||
<p:FatturaElettronica xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2"
|
||||
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
|
||||
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" versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>___ignore___</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street </Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>00465840031</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>93026890017</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>Alessi</Denominazione>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>Via Privata Alessi 6 </Indirizzo>
|
||||
<CAP>28887</CAP>
|
||||
<Comune>Milan</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD01</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-03-24</Data>
|
||||
<Numero>___ignore___</Numero>
|
||||
<DatiRitenuta>
|
||||
<TipoRitenuta>RT02</TipoRitenuta>
|
||||
<ImportoRitenuta>86.25</ImportoRitenuta>
|
||||
<AliquotaRitenuta>23.00</AliquotaRitenuta>
|
||||
<CausalePagamento>ZO</CausalePagamento>
|
||||
</DatiRitenuta>
|
||||
<DatiRitenuta>
|
||||
<TipoRitenuta>RT04</TipoRitenuta>
|
||||
<ImportoRitenuta>63.75</ImportoRitenuta>
|
||||
<AliquotaRitenuta>8.50</AliquotaRitenuta>
|
||||
<CausalePagamento>ZO</CausalePagamento>
|
||||
</DatiRitenuta>
|
||||
<ImportoTotaleDocumento>915.00</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>Ordinary accounting service for the year</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>350.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>350.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
<AltriDatiGestionali>
|
||||
<TipoDato>CASSA-PREV</TipoDato>
|
||||
<RiferimentoTesto>TC07 - ENASARCO (8.5%)</RiferimentoTesto>
|
||||
<RiferimentoNumero>29.75000000</RiferimentoNumero>
|
||||
</AltriDatiGestionali>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<Descrizione>Balance deposit for the past year</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>300.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>300.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
<AltriDatiGestionali>
|
||||
<TipoDato>CASSA-PREV</TipoDato>
|
||||
<RiferimentoTesto>TC07 - ENASARCO (8.5%)</RiferimentoTesto>
|
||||
<RiferimentoNumero>25.50000000</RiferimentoNumero>
|
||||
</AltriDatiGestionali>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>3</NumeroLinea>
|
||||
<Descrizione>Ordinary accounting service for the trimester</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>50.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>50.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
<AltriDatiGestionali>
|
||||
<TipoDato>CASSA-PREV</TipoDato>
|
||||
<RiferimentoTesto>TC07 - ENASARCO (8.5%)</RiferimentoTesto>
|
||||
<RiferimentoNumero>4.25000000</RiferimentoNumero>
|
||||
</AltriDatiGestionali>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>4</NumeroLinea>
|
||||
<Descrizione>Electronic invoices management</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>50.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>50.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
<AltriDatiGestionali>
|
||||
<TipoDato>CASSA-PREV</TipoDato>
|
||||
<RiferimentoTesto>TC07 - ENASARCO (8.5%)</RiferimentoTesto>
|
||||
<RiferimentoNumero>4.25000000</RiferimentoNumero>
|
||||
</AltriDatiGestionali>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<ImponibileImporto>750.00</ImponibileImporto>
|
||||
<Imposta>165.00</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2022-03-24</DataScadenzaPagamento>
|
||||
<ImportoPagamento>765.00</ImportoPagamento>
|
||||
<CodicePagamento>___ignore___</CodicePagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,123 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<p:FatturaElettronica xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" 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" versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>V202400003</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>XXXXXXX</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street</Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>US</IdPaese>
|
||||
<IdCodice>OO99999999999</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<Anagrafica>
|
||||
<Denominazione>US Partner</Denominazione>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>123 Rainbow Road</Indirizzo>
|
||||
<CAP>00000</CAP>
|
||||
<Comune>Test city</Comune>
|
||||
<Nazione>US</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD01</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2024-08-07</Data>
|
||||
<Numero>INV/2024/00003</Numero>
|
||||
<ImportoTotaleDocumento>474.62</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>A productive product</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>659.99629252</PrezzoUnitario>
|
||||
<PrezzoTotale>659.99629252</PrezzoTotale>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<Natura>N3.1</Natura>
|
||||
<AltriDatiGestionali>
|
||||
<TipoDato>DIVISA</TipoDato>
|
||||
<RiferimentoTesto>USD</RiferimentoTesto>
|
||||
<RiferimentoNumero>712.07000000</RiferimentoNumero>
|
||||
</AltriDatiGestionali>
|
||||
<AltriDatiGestionali>
|
||||
<TipoDato>CAMBIO</TipoDato>
|
||||
<RiferimentoNumero>1.07890000</RiferimentoNumero>
|
||||
<RiferimentoData>2024-08-07</RiferimentoData>
|
||||
</AltriDatiGestionali>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<Descrizione>A global discount</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>-185.37399203</PrezzoUnitario>
|
||||
<PrezzoTotale>-185.37399203</PrezzoTotale>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<Natura>N3.1</Natura>
|
||||
<AltriDatiGestionali>
|
||||
<TipoDato>DIVISA</TipoDato>
|
||||
<RiferimentoTesto>USD</RiferimentoTesto>
|
||||
<RiferimentoNumero>-200.00000000</RiferimentoNumero>
|
||||
</AltriDatiGestionali>
|
||||
<AltriDatiGestionali>
|
||||
<TipoDato>CAMBIO</TipoDato>
|
||||
<RiferimentoNumero>1.07890000</RiferimentoNumero>
|
||||
<RiferimentoData>2024-08-07</RiferimentoData>
|
||||
</AltriDatiGestionali>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<Natura>N3.1</Natura>
|
||||
<Arrotondamento>-0.00230049</Arrotondamento>
|
||||
<ImponibileImporto>474.62</ImponibileImporto>
|
||||
<Imposta>0.00</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
<RiferimentoNormativo>Art. 8, c.1, lett.a - D.P.R. 633/1972</RiferimentoNormativo>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2024-08-07</DataScadenzaPagamento>
|
||||
<ImportoPagamento>512.07</ImportoPagamento>
|
||||
<CodicePagamento>INV/2024/00003</CodicePagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,128 @@
|
|||
<p:FatturaElettronica xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:ds="http://www.w3.org/2000/09/xmldsig#" 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" versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>V202400002</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>XXXXXXX</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street</Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>US</IdPaese>
|
||||
<IdCodice>OO99999999999</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<Anagrafica>
|
||||
<Denominazione>US Partner</Denominazione>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>123 Rainbow Road</Indirizzo>
|
||||
<CAP>00000</CAP>
|
||||
<Comune>Test city</Comune>
|
||||
<Nazione>US</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD01</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2024-08-06</Data>
|
||||
<Numero>INV/2024/00002</Numero>
|
||||
<ImportoTotaleDocumento>468.31</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>A productive product</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>659.99629252</PrezzoUnitario>
|
||||
<ScontoMaggiorazione>
|
||||
<Tipo>SC</Tipo>
|
||||
<Percentuale>15.00</Percentuale>
|
||||
</ScontoMaggiorazione>
|
||||
<PrezzoTotale>560.99684864</PrezzoTotale>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<Natura>N3.1</Natura>
|
||||
<AltriDatiGestionali>
|
||||
<TipoDato>DIVISA</TipoDato>
|
||||
<RiferimentoTesto>USD</RiferimentoTesto>
|
||||
<RiferimentoNumero>605.25950000</RiferimentoNumero>
|
||||
</AltriDatiGestionali>
|
||||
<AltriDatiGestionali>
|
||||
<TipoDato>CAMBIO</TipoDato>
|
||||
<RiferimentoNumero>1.07890000</RiferimentoNumero>
|
||||
<RiferimentoData>2024-08-06</RiferimentoData>
|
||||
</AltriDatiGestionali>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<Descrizione>A global discount</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>-92.68699601</PrezzoUnitario>
|
||||
<PrezzoTotale>-92.68699601</PrezzoTotale>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<Natura>N3.1</Natura>
|
||||
<AltriDatiGestionali>
|
||||
<TipoDato>DIVISA</TipoDato>
|
||||
<RiferimentoTesto>USD</RiferimentoTesto>
|
||||
<RiferimentoNumero>-100.00000000</RiferimentoNumero>
|
||||
</AltriDatiGestionali>
|
||||
<AltriDatiGestionali>
|
||||
<TipoDato>CAMBIO</TipoDato>
|
||||
<RiferimentoNumero>1.07890000</RiferimentoNumero>
|
||||
<RiferimentoData>2024-08-06</RiferimentoData>
|
||||
</AltriDatiGestionali>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<Natura>N3.1</Natura>
|
||||
<Arrotondamento>0.00014737</Arrotondamento>
|
||||
<ImponibileImporto>468.31</ImponibileImporto>
|
||||
<Imposta>0.00</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
<RiferimentoNormativo>Art. 8, c.1, lett.a - D.P.R. 633/1972</RiferimentoNormativo>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2024-08-06</DataScadenzaPagamento>
|
||||
<ImportoPagamento>505.26</ImportoPagamento>
|
||||
<CodicePagamento>INV/2024/00002</CodicePagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,108 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<p:FatturaElettronica xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" 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" versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>V202400001</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>XXXXXXX</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street</Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>US</IdPaese>
|
||||
<IdCodice>OO99999999999</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<Anagrafica>
|
||||
<Denominazione>US Partner</Denominazione>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>123 Rainbow Road</Indirizzo>
|
||||
<CAP>00000</CAP>
|
||||
<Comune>Test city</Comune>
|
||||
<Nazione>US</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD01</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2024-08-07</Data>
|
||||
<Numero>INV/2024/00001</Numero>
|
||||
<ImportoTotaleDocumento>841.50</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>A productive product</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>989.99907313</PrezzoUnitario>
|
||||
<ScontoMaggiorazione>
|
||||
<Tipo>SC</Tipo>
|
||||
<Percentuale>15.00</Percentuale>
|
||||
</ScontoMaggiorazione>
|
||||
<PrezzoTotale>841.49921216</PrezzoTotale>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<Natura>N3.1</Natura>
|
||||
<AltriDatiGestionali>
|
||||
<TipoDato>DIVISA</TipoDato>
|
||||
<RiferimentoTesto>USD</RiferimentoTesto>
|
||||
<RiferimentoNumero>907.89350000</RiferimentoNumero>
|
||||
</AltriDatiGestionali>
|
||||
<AltriDatiGestionali>
|
||||
<TipoDato>CAMBIO</TipoDato>
|
||||
<RiferimentoNumero>1.07890000</RiferimentoNumero>
|
||||
<RiferimentoData>2024-08-07</RiferimentoData>
|
||||
</AltriDatiGestionali>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<Natura>N3.1</Natura>
|
||||
<Arrotondamento>0.00078784</Arrotondamento>
|
||||
<ImponibileImporto>841.50</ImponibileImporto>
|
||||
<Imposta>0.00</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
<RiferimentoNormativo>Art. 8, c.1, lett.a - D.P.R. 633/1972</RiferimentoNormativo>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2024-08-07</DataScadenzaPagamento>
|
||||
<ImportoPagamento>907.89</ImportoPagamento>
|
||||
<CodicePagamento>INV/2024/00001</CodicePagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,153 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<p:FatturaElettronica xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" 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" versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>___ignore___</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street </Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>00465840031</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>93026890017</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>Alessi</Denominazione>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>Via Privata Alessi 6</Indirizzo>
|
||||
<CAP>28887</CAP>
|
||||
<Comune>Milan</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD01</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>___ignore___</Data>
|
||||
<Numero>___ignore___</Numero>
|
||||
<DatiCassaPrevidenziale>
|
||||
<TipoCassa>TC22</TipoCassa>
|
||||
<AlCassa>4.00</AlCassa>
|
||||
<ImportoContributoCassa>30.00</ImportoContributoCassa>
|
||||
<ImponibileCassa>750.00</ImponibileCassa>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<Natura>N2.2</Natura>
|
||||
</DatiCassaPrevidenziale>
|
||||
<ImportoTotaleDocumento>780.00</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>
|
||||
Ordinary accounting service for the year
|
||||
</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>350.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>350.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<Natura>N2.2</Natura>
|
||||
<AltriDatiGestionali>
|
||||
<TipoDato>AswCassPre</TipoDato>
|
||||
<RiferimentoTesto>TC22 (4%)</RiferimentoTesto>
|
||||
</AltriDatiGestionali>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<Descrizione>
|
||||
Balance deposit for the past year
|
||||
</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>300.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>300.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<Natura>N2.2</Natura>
|
||||
<AltriDatiGestionali>
|
||||
<TipoDato>AswCassPre</TipoDato>
|
||||
<RiferimentoTesto>TC22 (4%)</RiferimentoTesto>
|
||||
</AltriDatiGestionali>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>3</NumeroLinea>
|
||||
<Descrizione>
|
||||
Ordinary accounting service for the trimester
|
||||
</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>50.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>50.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<Natura>N2.2</Natura>
|
||||
<AltriDatiGestionali>
|
||||
<TipoDato>AswCassPre</TipoDato>
|
||||
<RiferimentoTesto>TC22 (4%)</RiferimentoTesto>
|
||||
</AltriDatiGestionali>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>4</NumeroLinea>
|
||||
<Descrizione>
|
||||
Electronic invoices management
|
||||
</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>50.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>50.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<Natura>N2.2</Natura>
|
||||
<AltriDatiGestionali>
|
||||
<TipoDato>AswCassPre</TipoDato>
|
||||
<RiferimentoTesto>TC22 (4%)</RiferimentoTesto>
|
||||
</AltriDatiGestionali>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<Natura>N2.2</Natura>
|
||||
<ImponibileImporto>780.00</ImponibileImporto>
|
||||
<Imposta>0.00</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
<RiferimentoNormativo>Fatture emesse o ricevute da contribuenti forfettari o minimi</RiferimentoNormativo>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>___ignore___</DataScadenzaPagamento>
|
||||
<ImportoPagamento>780.00</ImportoPagamento>
|
||||
<CodicePagamento>___ignore___</CodicePagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
<p:FatturaElettronicaSemplificata xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
|
||||
xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.0"
|
||||
xsi:schemaLocation="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.0 http://www.fatturapa.gov.it/export/fatturazione/sdi/fatturapa/v1.0/Schema_del_file_xml_FatturaPA_versione_1.0.xsd"
|
||||
versione="FSM10">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>V202200001</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FSM10</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street</Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<IdentificativiFiscali>
|
||||
<CodiceFiscale>00465840031</CodiceFiscale>
|
||||
</IdentificativiFiscali>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
|
||||
<TipoDocumento>TD07</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-03-24</Data>
|
||||
<Numero>INV/2022/00001</Numero>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
|
||||
<DatiBeniServizi>
|
||||
<Descrizione>
|
||||
cheap_line
|
||||
</Descrizione>
|
||||
<Importo>122.00</Importo>
|
||||
<DatiIVA>
|
||||
<Imposta>22.00</Imposta>
|
||||
</DatiIVA>
|
||||
</DatiBeniServizi>
|
||||
<DatiBeniServizi>
|
||||
<Descrizione>
|
||||
cheap_line_2
|
||||
</Descrizione>
|
||||
<Importo>24.40</Importo>
|
||||
<DatiIVA>
|
||||
<Imposta>4.40</Imposta>
|
||||
</DatiIVA>
|
||||
</DatiBeniServizi>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronicaSemplificata>
|
||||
|
|
@ -0,0 +1,94 @@
|
|||
<p:FatturaElettronica 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"
|
||||
versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>V202200001</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street</Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>00465840031</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>93026890017</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>Alessi</Denominazione>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>Via Privata Alessi 6</Indirizzo>
|
||||
<CAP>28887</CAP>
|
||||
<Comune>Milan</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD01</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-03-24</Data>
|
||||
<Numero>INV/2022/00001</Numero>
|
||||
<ImportoTotaleDocumento>38.50</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>standard_line</Descrizione>
|
||||
<Quantita>10.00</Quantita>
|
||||
<PrezzoUnitario>3.15600000</PrezzoUnitario>
|
||||
<PrezzoTotale>31.56000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<ImponibileImporto>31.56</ImponibileImporto>
|
||||
<Imposta>6.94</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2022-03-24</DataScadenzaPagamento>
|
||||
<ImportoPagamento>38.50</ImportoPagamento>
|
||||
<CodicePagamento>INV/2022/00001</CodicePagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<p:FatturaElettronica xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2" 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" versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>V202200001</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street</Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>00465840031</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>93026890017</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>Alessi</Denominazione>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>Via Privata Alessi 6</Indirizzo>
|
||||
<CAP>28887</CAP>
|
||||
<Comune>Milan</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD04</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-03-24</Data>
|
||||
<Numero>RINV/2022/00001</Numero>
|
||||
<ImportoTotaleDocumento>610.00</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
<DatiFattureCollegate>
|
||||
<IdDocumento>INV/2022/00001</IdDocumento>
|
||||
<Data>2022-03-24</Data>
|
||||
</DatiFattureCollegate>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>Product A</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>500.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>500.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<ImponibileImporto>500.00</ImponibileImporto>
|
||||
<Imposta>110.00</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -1,4 +1,8 @@
|
|||
<p:FatturaElettronica 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" versione="FPR12">
|
||||
<p:FatturaElettronica 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"
|
||||
versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
|
|
@ -9,6 +13,8 @@
|
|||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>XXXXXXX</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
|
|
@ -24,7 +30,7 @@
|
|||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street </Indirizzo>
|
||||
<Indirizzo>1234 Test Street</Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
|
|
@ -41,7 +47,7 @@
|
|||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>Avenue Test rue </Indirizzo>
|
||||
<Indirizzo>Avenue Test rue</Indirizzo>
|
||||
<CAP>00000</CAP>
|
||||
<Comune>Avignon</Comune>
|
||||
<Nazione>FR</Nazione>
|
||||
|
|
@ -59,42 +65,45 @@
|
|||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>
|
||||
Product A
|
||||
</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>800.400000</PrezzoUnitario>
|
||||
<PrezzoTotale>800.40</PrezzoTotale>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<Descrizione>
|
||||
Product B
|
||||
</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>800.400000</PrezzoUnitario>
|
||||
<PrezzoTotale>800.40</PrezzoTotale>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<ImponibileImporto>1600.80</ImponibileImporto>
|
||||
<Imposta>0.00</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>
|
||||
Product A
|
||||
</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>800.40000000</PrezzoUnitario>
|
||||
<PrezzoTotale>800.40000000</PrezzoTotale>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<Natura>N1</Natura>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<Descrizione>
|
||||
Product B
|
||||
</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>800.40000000</PrezzoUnitario>
|
||||
<PrezzoTotale>800.40000000</PrezzoTotale>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<Natura>N1</Natura>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<Natura>N1</Natura>
|
||||
<ImponibileImporto>1600.80</ImponibileImporto>
|
||||
<Imposta>0.00</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
<RiferimentoNormativo>test</RiferimentoNormativo>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2022-03-24</DataScadenzaPagamento>
|
||||
<ImportoPagamento>1600.80</ImportoPagamento>
|
||||
<CodicePagamento>___ignore___</CodicePagamento>
|
||||
</DettaglioPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2022-03-24</DataScadenzaPagamento>
|
||||
<ImportoPagamento>1600.80</ImportoPagamento>
|
||||
<CodicePagamento>___ignore___</CodicePagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
<Allegati></Allegati>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,98 @@
|
|||
<p:FatturaElettronica xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2"
|
||||
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
|
||||
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"
|
||||
versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>V202200001</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street</Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>00465840031</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>93026890017</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>Alessi</Denominazione>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>Via Privata Alessi 6</Indirizzo>
|
||||
<CAP>28887</CAP>
|
||||
<Comune>Milan</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD01</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-03-24</Data>
|
||||
<Numero>INV/2022/00001</Numero>
|
||||
<ImportoTotaleDocumento>0.00</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>nothing shady just a gift for my friend</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>800.40000000</PrezzoUnitario>
|
||||
<ScontoMaggiorazione>
|
||||
<Tipo>SC</Tipo>
|
||||
<Percentuale>100.00</Percentuale>
|
||||
</ScontoMaggiorazione>
|
||||
<PrezzoTotale>0.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<ImponibileImporto>0.00</ImponibileImporto>
|
||||
<Imposta>0.00</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2022-03-24</DataScadenzaPagamento>
|
||||
<ImportoPagamento>0.00</ImportoPagamento>
|
||||
<CodicePagamento>INV/2022/00001</CodicePagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,129 @@
|
|||
<?xml version="1.0"?>
|
||||
<p:FatturaElettronica 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" versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>___ignore___</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street</Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>00465840031</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>93026890017</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>Alessi</Denominazione>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>Via Privata Alessi 6</Indirizzo>
|
||||
<CAP>28887</CAP>
|
||||
<Comune>Milan</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD01</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-03-24</Data>
|
||||
<Numero>___ignore___</Numero>
|
||||
<ImportoTotaleDocumento>750.00</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>
|
||||
Construction subcontracting service January
|
||||
</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>350.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>350.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<Natura>N6.3</Natura>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<Descrizione>
|
||||
Construction subcontracting service February
|
||||
</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>300.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>300.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<Natura>N6.3</Natura>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>3</NumeroLinea>
|
||||
<Descrizione>
|
||||
Construction subcontracting service March
|
||||
</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>50.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>50.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<Natura>N6.3</Natura>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>4</NumeroLinea>
|
||||
<Descrizione>
|
||||
Construction subcontracting service April
|
||||
</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>50.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>50.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<Natura>N6.3</Natura>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<Natura>N6.3</Natura>
|
||||
<ImponibileImporto>750.00</ImponibileImporto>
|
||||
<Imposta>0.00</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
<RiferimentoNormativo>test</RiferimentoNormativo>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2022-03-24</DataScadenzaPagamento>
|
||||
<ImportoPagamento>750.00</ImportoPagamento>
|
||||
<CodicePagamento>___ignore___</CodicePagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,89 @@
|
|||
<p:FatturaElettronica xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2"
|
||||
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
|
||||
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"
|
||||
versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>V202200001</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>N8MIMM9</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street</Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<CodiceFiscale>MRTMTT91D08F205J</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Nome>Alessi</Nome>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo></Indirizzo>
|
||||
<CAP></CAP>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD01</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-03-24</Data>
|
||||
<Numero>INV/2022/00001</Numero>
|
||||
<ImportoTotaleDocumento>976.49</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>line1</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>800.40000000</PrezzoUnitario>
|
||||
<PrezzoTotale>800.40000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<ImponibileImporto>800.40</ImponibileImporto>
|
||||
<Imposta>176.09</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP15</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2022-03-24</DataScadenzaPagamento>
|
||||
<ImportoPagamento>976.49</ImportoPagamento>
|
||||
<CodicePagamento>INV/2022/00001</CodicePagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,102 @@
|
|||
<p:FatturaElettronica 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"
|
||||
versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>V202200001</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street</Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>00465840031</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>93026890017</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>Alessi</Denominazione>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>Via Privata Alessi 6</Indirizzo>
|
||||
<CAP>28887</CAP>
|
||||
<Comune>Milan</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD01</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-03-24</Data>
|
||||
<Numero>INV/2022/00001</Numero>
|
||||
<ImportoTotaleDocumento>1830.98</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>standard_line</Descrizione>
|
||||
<Quantita>2.00</Quantita>
|
||||
<PrezzoUnitario>800.40000000</PrezzoUnitario>
|
||||
<PrezzoTotale>1600.80000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<Descrizione>negative_line</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>-100.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>-100.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<ImponibileImporto>1500.80</ImponibileImporto>
|
||||
<Imposta>330.18</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2022-03-24</DataScadenzaPagamento>
|
||||
<ImportoPagamento>1830.98</ImportoPagamento>
|
||||
<CodicePagamento>INV/2022/00001</CodicePagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,110 @@
|
|||
<p:FatturaElettronica 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"
|
||||
versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>V202200001</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street</Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>00465840031</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>93026890017</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>Alessi</Denominazione>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>Via Privata Alessi 6</Indirizzo>
|
||||
<CAP>28887</CAP>
|
||||
<Comune>Milan</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD01</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-03-24</Data>
|
||||
<Numero>INV/2022/00001</Numero>
|
||||
<ImportoTotaleDocumento>2929.46</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>?????</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>800.40000000</PrezzoUnitario>
|
||||
<PrezzoTotale>800.40000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<Descrizione>--</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>800.40000000</PrezzoUnitario>
|
||||
<PrezzoTotale>800.40000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>3</NumeroLinea>
|
||||
<Descrizione>this should be the same as it was</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>800.40000000</PrezzoUnitario>
|
||||
<PrezzoTotale>800.40000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<ImponibileImporto>2401.20</ImponibileImporto>
|
||||
<Imposta>528.26</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2022-03-24</DataScadenzaPagamento>
|
||||
<ImportoPagamento>2929.46</ImportoPagamento>
|
||||
<CodicePagamento>INV/2022/00001</CodicePagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,118 @@
|
|||
<p:FatturaElettronica xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2"
|
||||
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
|
||||
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"
|
||||
versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>V202200001</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street</Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>00465840031</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>93026890017</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>Alessi</Denominazione>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>Via Privata Alessi 6</Indirizzo>
|
||||
<CAP>28887</CAP>
|
||||
<Comune>Milan</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD01</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-03-24</Data>
|
||||
<Numero>INV/2022/00001</Numero>
|
||||
<ImportoTotaleDocumento>1464.73</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>no discount</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>800.40000000</PrezzoUnitario>
|
||||
<PrezzoTotale>800.40000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<Descrizione>special discount</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>800.40000000</PrezzoUnitario>
|
||||
<ScontoMaggiorazione>
|
||||
<Tipo>SC</Tipo>
|
||||
<Percentuale>50.00</Percentuale>
|
||||
</ScontoMaggiorazione>
|
||||
<PrezzoTotale>400.20000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>3</NumeroLinea>
|
||||
<Descrizione>an offer you can't refuse</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>800.40000000</PrezzoUnitario>
|
||||
<ScontoMaggiorazione>
|
||||
<Tipo>SC</Tipo>
|
||||
<Percentuale>100.00</Percentuale>
|
||||
</ScontoMaggiorazione>
|
||||
<PrezzoTotale>0.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<ImponibileImporto>1200.60</ImponibileImporto>
|
||||
<Imposta>264.13</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2022-03-24</DataScadenzaPagamento>
|
||||
<ImportoPagamento>1464.73</ImportoPagamento>
|
||||
<CodicePagamento>INV/2022/00001</CodicePagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,111 @@
|
|||
<p:FatturaElettronica xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2"
|
||||
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
|
||||
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"
|
||||
versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>V202200001</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street</Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>00465840031</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>93026890017</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>Alessi</Denominazione>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>Via Privata Alessi 6</Indirizzo>
|
||||
<CAP>28887</CAP>
|
||||
<Comune>Milan</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD01</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-03-24</Data>
|
||||
<Numero>INV/2022/00001</Numero>
|
||||
<ImportoTotaleDocumento>2577.29</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>something price included</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>656.06557377</PrezzoUnitario>
|
||||
<PrezzoTotale>656.06557377</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<Descrizione>something else price included</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>656.06557377</PrezzoUnitario>
|
||||
<PrezzoTotale>656.06557377</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>3</NumeroLinea>
|
||||
<Descrizione>something not price included</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>800.40000000</PrezzoUnitario>
|
||||
<PrezzoTotale>800.40000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<Arrotondamento>-0.00114754</Arrotondamento>
|
||||
<ImponibileImporto>2112.53</ImponibileImporto>
|
||||
<Imposta>464.76</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2022-03-24</DataScadenzaPagamento>
|
||||
<ImportoPagamento>2577.29</ImportoPagamento>
|
||||
<CodicePagamento>INV/2022/00001</CodicePagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
<p:FatturaElettronicaSemplificata xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
|
||||
xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.0 http://www.fatturapa.gov.it/export/fatturazione/sdi/fatturapa/v1.0/Schema_del_file_xml_FatturaPA_versione_1.0.xsd" versione="FSM10">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>07149930583</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>V202200001</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FSM10</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>07149930583</CodiceFiscale>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street</Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<IdentificativiFiscali>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>00465840031</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
</IdentificativiFiscali>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD07</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-03-24</Data>
|
||||
<Numero>INV/2022/00001</Numero>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<Descrizione>
|
||||
400_line
|
||||
</Descrizione>
|
||||
<Importo>400.00</Importo>
|
||||
<DatiIVA>
|
||||
<Imposta>72.13</Imposta>
|
||||
</DatiIVA>
|
||||
</DatiBeniServizi>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronicaSemplificata>
|
||||
|
|
@ -0,0 +1,94 @@
|
|||
<p:FatturaElettronica xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2"
|
||||
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
|
||||
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"
|
||||
versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>07149930583</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>V202200001</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01698911003</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>07149930583</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street</Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>00465840031</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>93026890017</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>Alessi</Denominazione>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>Via Privata Alessi 6</Indirizzo>
|
||||
<CAP>28887</CAP>
|
||||
<Comune>Milan</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD01</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-03-24</Data>
|
||||
<Numero>INV/2022/00001</Numero>
|
||||
<ImportoTotaleDocumento>976.49</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>line1</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>800.40000000</PrezzoUnitario>
|
||||
<PrezzoTotale>800.40000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<ImponibileImporto>800.40</ImponibileImporto>
|
||||
<Imposta>176.09</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2022-03-24</DataScadenzaPagamento>
|
||||
<ImportoPagamento>976.49</ImportoPagamento>
|
||||
<CodicePagamento>INV/2022/00001</CodicePagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,94 @@
|
|||
<p:FatturaElettronica xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2"
|
||||
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"
|
||||
versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>V202200001</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street</Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>00465840031</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>93026890017</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>Alessi</Denominazione>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>Via Privata Alessi 6</Indirizzo>
|
||||
<CAP>28887</CAP>
|
||||
<Comune>Milan</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD01</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-03-24</Data>
|
||||
<Numero>INV/2022/00001</Numero>
|
||||
<ImportoTotaleDocumento>976.49</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>High-quality ergonomic office chair. Breathable mesh back and cushioned seat. Adjustable height and lumbar support. Supports up to 120 kg weight capacity. Ideal for home and corporate workspaces.</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>800.40000000</PrezzoUnitario>
|
||||
<PrezzoTotale>800.40000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<ImponibileImporto>800.40</ImponibileImporto>
|
||||
<Imposta>176.09</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2022-03-24</DataScadenzaPagamento>
|
||||
<ImportoPagamento>976.49</ImportoPagamento>
|
||||
<CodicePagamento>INV/2022/00001</CodicePagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,109 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<p:FatturaElettronica xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" 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" versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>V202200001</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>XXXXXXX</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street</Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>BE</IdPaese>
|
||||
<IdCodice>0477472701</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<Anagrafica>
|
||||
<Denominazione>Alessi</Denominazione>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo></Indirizzo>
|
||||
<CAP>00000</CAP>
|
||||
<Nazione>BE</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD01</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-03-24</Data>
|
||||
<Numero>INV/2022/00001</Numero>
|
||||
<ImportoTotaleDocumento>120.00</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>Product A</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>100.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>100.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<Natura>N7</Natura>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<Descrizione>VAT IT 20.0 collected via OSS</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>20.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>20.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<Natura>N2.2</Natura>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<Natura>N7</Natura>
|
||||
<ImponibileImporto>100.00</ImponibileImporto>
|
||||
<Imposta>0.00</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
<RiferimentoNormativo>Fuori dall'Unione Europea</RiferimentoNormativo>
|
||||
</DatiRiepilogo>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<Natura>N2.2</Natura>
|
||||
<ImponibileImporto>20.00</ImponibileImporto>
|
||||
<Imposta>0.00</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
<RiferimentoNormativo>Fuori dall'Unione Europea</RiferimentoNormativo>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2022-03-24</DataScadenzaPagamento>
|
||||
<ImportoPagamento>120.00</ImportoPagamento>
|
||||
<CodicePagamento>INV/2022/00001</CodicePagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,111 @@
|
|||
<p:FatturaElettronica 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"
|
||||
versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>V202200001</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street</Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>00465840031</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>93026890017</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>Alessi</Denominazione>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>Via Privata Alessi 6</Indirizzo>
|
||||
<CAP>28887</CAP>
|
||||
<Comune>Milan</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD01</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-03-24</Data>
|
||||
<Numero>INV/2022/00001</Numero>
|
||||
<ImportoTotaleDocumento>122.00</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>standard_line</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>100.02000000</PrezzoUnitario>
|
||||
<PrezzoTotale>100.02000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<Descrizione>Rounding to 0.05</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>-0.02000000</PrezzoUnitario>
|
||||
<PrezzoTotale>-0.02000000</PrezzoTotale>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<Natura>N2.2</Natura>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<ImponibileImporto>100.02</ImponibileImporto>
|
||||
<Imposta>22.00</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<Natura>N2.2</Natura>
|
||||
<ImponibileImporto>-0.02</ImponibileImporto>
|
||||
<Imposta>0.00</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
<RiferimentoNormativo>Fuori dall'Unione Europea</RiferimentoNormativo>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2022-03-24</DataScadenzaPagamento>
|
||||
<ImportoPagamento>122.00</ImportoPagamento>
|
||||
<CodicePagamento>INV/2022/00001</CodicePagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,150 @@
|
|||
<?xml version="1.0"?>
|
||||
<p:FatturaElettronica xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
|
||||
xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2" 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" versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>___ignore___</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street </Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>00465840031</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>93026890017</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>Alessi</Denominazione>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>Via Privata Alessi 6 </Indirizzo>
|
||||
<CAP>28887</CAP>
|
||||
<Comune>Milan</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD01</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-03-24</Data>
|
||||
<Numero>___ignore___</Numero>
|
||||
<DatiRitenuta>
|
||||
<TipoRitenuta>RT02</TipoRitenuta>
|
||||
<ImportoRitenuta>150.00</ImportoRitenuta>
|
||||
<AliquotaRitenuta>20.00</AliquotaRitenuta>
|
||||
<CausalePagamento>A</CausalePagamento>
|
||||
</DatiRitenuta>
|
||||
<DatiCassaPrevidenziale>
|
||||
<TipoCassa>TC01</TipoCassa>
|
||||
<AlCassa>4.00</AlCassa>
|
||||
<ImportoContributoCassa>30.00</ImportoContributoCassa>
|
||||
<ImponibileCassa>750.00</ImponibileCassa>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DatiCassaPrevidenziale>
|
||||
<ImportoTotaleDocumento>951.60</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>Ordinary accounting service for the year</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>350.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>350.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
<AltriDatiGestionali>
|
||||
<TipoDato>AswCassPre</TipoDato>
|
||||
<RiferimentoTesto>TC01 (4%)</RiferimentoTesto>
|
||||
</AltriDatiGestionali>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<Descrizione>Balance deposit for the past year</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>300.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>300.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
<AltriDatiGestionali>
|
||||
<TipoDato>AswCassPre</TipoDato>
|
||||
<RiferimentoTesto>TC01 (4%)</RiferimentoTesto>
|
||||
</AltriDatiGestionali>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>3</NumeroLinea>
|
||||
<Descrizione>Ordinary accounting service for the trimester</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>50.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>50.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
<AltriDatiGestionali>
|
||||
<TipoDato>AswCassPre</TipoDato>
|
||||
<RiferimentoTesto>TC01 (4%)</RiferimentoTesto>
|
||||
</AltriDatiGestionali>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>4</NumeroLinea>
|
||||
<Descrizione>Electronic invoices management</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>50.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>50.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
<AltriDatiGestionali>
|
||||
<TipoDato>AswCassPre</TipoDato>
|
||||
<RiferimentoTesto>TC01 (4%)</RiferimentoTesto>
|
||||
</AltriDatiGestionali>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<ImponibileImporto>780.00</ImponibileImporto>
|
||||
<Imposta>171.60</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2022-03-24</DataScadenzaPagamento>
|
||||
<ImportoPagamento>801.60</ImportoPagamento>
|
||||
<CodicePagamento>___ignore___</CodicePagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,105 @@
|
|||
<p:FatturaElettronica 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"
|
||||
versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>V202500001</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street</Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>00465840031</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>93026890017</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>Alessi</Denominazione>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>Via Privata Alessi 6</Indirizzo>
|
||||
<CAP>28887</CAP>
|
||||
<Comune>Milan</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD01</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2025-02-24</Data>
|
||||
<Numero>INV/2025/00001</Numero>
|
||||
<ImportoTotaleDocumento>78.90</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>test line</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>64.66662579</PrezzoUnitario>
|
||||
<PrezzoTotale>64.66662579</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<AltriDatiGestionali>
|
||||
<TipoDato>DIVISA</TipoDato>
|
||||
<RiferimentoTesto>USD</RiferimentoTesto>
|
||||
<RiferimentoNumero>100.00000000</RiferimentoNumero>
|
||||
</AltriDatiGestionali>
|
||||
<AltriDatiGestionali>
|
||||
<TipoDato>CAMBIO</TipoDato>
|
||||
<RiferimentoNumero>1.54639273</RiferimentoNumero>
|
||||
<RiferimentoData>2025-02-24</RiferimentoData>
|
||||
</AltriDatiGestionali>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<Arrotondamento>0.00337421</Arrotondamento>
|
||||
<ImponibileImporto>64.67</ImponibileImporto>
|
||||
<Imposta>14.23</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2025-03-07</DataScadenzaPagamento>
|
||||
<ImportoPagamento>122.00</ImportoPagamento>
|
||||
<CodicePagamento>INV/2025/00001</CodicePagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -6,9 +6,12 @@
|
|||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>___ignore___</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPA12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>123456</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
|
|
@ -70,8 +73,8 @@
|
|||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>standard_line</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>800.400000</PrezzoUnitario>
|
||||
<PrezzoTotale>800.40</PrezzoTotale>
|
||||
<PrezzoUnitario>800.40000000</PrezzoUnitario>
|
||||
<PrezzoTotale>800.40000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
|
|
@ -6,9 +6,12 @@
|
|||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>___ignore___</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPA12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>123456</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
|
|
@ -68,8 +71,8 @@
|
|||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>standard_line</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>800.400000</PrezzoUnitario>
|
||||
<PrezzoTotale>800.40</PrezzoTotale>
|
||||
<PrezzoUnitario>800.40000000</PrezzoUnitario>
|
||||
<PrezzoTotale>800.40000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
|
|
@ -0,0 +1,119 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<p:FatturaElettronica xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2" 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" versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>V202500003</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street</Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>00465840031</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>93026890017</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>Alessi</Denominazione>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>Via Privata Alessi 6</Indirizzo>
|
||||
<CAP>28887</CAP>
|
||||
<Comune>Milan</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD01</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2025-02-03</Data>
|
||||
<Numero>INV/2025/00003</Numero>
|
||||
<ImportoTotaleDocumento>94.00</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
<DatiOrdineAcquisto>
|
||||
<IdDocumento>SO-IT0001</IdDocumento>
|
||||
</DatiOrdineAcquisto>
|
||||
<DatiFattureCollegate>
|
||||
<IdDocumento>INV/2025/00001</IdDocumento>
|
||||
<Data>2025-02-03</Data>
|
||||
</DatiFattureCollegate>
|
||||
<DatiFattureCollegate>
|
||||
<IdDocumento>INV/2025/00002</IdDocumento>
|
||||
<Data>2025-02-03</Data>
|
||||
</DatiFattureCollegate>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>Test Service Product</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>200.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>200.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<Descrizione>Down Payment (ref: INV/2025/00001 on 02/03/2025), INV/2025/00001</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>-40.98360656</PrezzoUnitario>
|
||||
<PrezzoTotale>-40.98360656</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>3</NumeroLinea>
|
||||
<Descrizione>Down Payment (ref: INV/2025/00002 on 02/03/2025), INV/2025/00002</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>-81.96721311</PrezzoUnitario>
|
||||
<PrezzoTotale>-81.96721311</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<Arrotondamento>0.00081967</Arrotondamento>
|
||||
<ImponibileImporto>77.05</ImponibileImporto>
|
||||
<Imposta>16.95</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2025-02-03</DataScadenzaPagamento>
|
||||
<ImportoPagamento>94.00</ImportoPagamento>
|
||||
<CodicePagamento>INV/2025/00003</CodicePagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,127 @@
|
|||
<?xml version="1.0"?>
|
||||
<p:FatturaElettronica xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
|
||||
xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2" 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" versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>___ignore___</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street</Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>00465840031</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>93026890017</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>Alessi</Denominazione>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>Via Privata Alessi 6</Indirizzo>
|
||||
<CAP>28887</CAP>
|
||||
<Comune>Milan</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD01</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-03-24</Data>
|
||||
<Numero>___ignore___</Numero>
|
||||
<DatiRitenuta>
|
||||
<TipoRitenuta>RT02</TipoRitenuta>
|
||||
<ImportoRitenuta>34.50</ImportoRitenuta>
|
||||
<AliquotaRitenuta>23.00</AliquotaRitenuta>
|
||||
<CausalePagamento>ZO</CausalePagamento>
|
||||
</DatiRitenuta>
|
||||
<ImportoTotaleDocumento>915.00</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>Ordinary accounting service for the year</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>350.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>350.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<Descrizione>Balance deposit for the past year</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>300.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>300.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>3</NumeroLinea>
|
||||
<Descrizione>Ordinary accounting service for the trimester</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>50.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>50.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>4</NumeroLinea>
|
||||
<Descrizione>Electronic invoices management</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>50.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>50.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<ImponibileImporto>750.00</ImponibileImporto>
|
||||
<Imposta>165.00</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2022-03-24</DataScadenzaPagamento>
|
||||
<ImportoPagamento>880.50</ImportoPagamento>
|
||||
<CodicePagamento>___ignore___</CodicePagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,127 @@
|
|||
<?xml version="1.0"?>
|
||||
<p:FatturaElettronica xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
|
||||
xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2" 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" versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>___ignore___</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street</Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>00465840031</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>93026890017</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>Alessi</Denominazione>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>Via Privata Alessi 6</Indirizzo>
|
||||
<CAP>28887</CAP>
|
||||
<Comune>Milan</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD01</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-03-24</Data>
|
||||
<Numero>___ignore___</Numero>
|
||||
<DatiRitenuta>
|
||||
<TipoRitenuta>RT02</TipoRitenuta>
|
||||
<ImportoRitenuta>86.25</ImportoRitenuta>
|
||||
<AliquotaRitenuta>23.00</AliquotaRitenuta>
|
||||
<CausalePagamento>ZO</CausalePagamento>
|
||||
</DatiRitenuta>
|
||||
<ImportoTotaleDocumento>915.00</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>Ordinary accounting service for the year</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>350.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>350.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<Descrizione>Balance deposit for the past year</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>300.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>300.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>3</NumeroLinea>
|
||||
<Descrizione>Ordinary accounting service for the trimester</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>50.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>50.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>4</NumeroLinea>
|
||||
<Descrizione>Electronic invoices management</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>50.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>50.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<ImponibileImporto>750.00</ImponibileImporto>
|
||||
<Imposta>165.00</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2022-03-24</DataScadenzaPagamento>
|
||||
<ImportoPagamento>828.75</ImportoPagamento>
|
||||
<CodicePagamento>___ignore___</CodicePagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,127 @@
|
|||
<?xml version="1.0"?>
|
||||
<p:FatturaElettronica xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
|
||||
xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2" 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" versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>___ignore___</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street </Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>00465840031</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>93026890017</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>Alessi</Denominazione>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>Via Privata Alessi 6 </Indirizzo>
|
||||
<CAP>28887</CAP>
|
||||
<Comune>Milan</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD01</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-03-24</Data>
|
||||
<Numero>___ignore___</Numero>
|
||||
<DatiRitenuta>
|
||||
<TipoRitenuta>RT02</TipoRitenuta>
|
||||
<ImportoRitenuta>150.00</ImportoRitenuta>
|
||||
<AliquotaRitenuta>20.00</AliquotaRitenuta>
|
||||
<CausalePagamento>A</CausalePagamento>
|
||||
</DatiRitenuta>
|
||||
<ImportoTotaleDocumento>915.00</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>Ordinary accounting service for the year</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>350.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>350.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<Descrizione>Balance deposit for the past year</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>300.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>300.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>3</NumeroLinea>
|
||||
<Descrizione>Ordinary accounting service for the trimester</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>50.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>50.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>4</NumeroLinea>
|
||||
<Descrizione>Electronic invoices management</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>50.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>50.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<ImponibileImporto>750.00</ImponibileImporto>
|
||||
<Imposta>165.00</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2022-03-24</DataScadenzaPagamento>
|
||||
<ImportoPagamento>765.00</ImportoPagamento>
|
||||
<CodicePagamento>___ignore___</CodicePagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,154 @@
|
|||
<?xml version="1.0"?>
|
||||
<p:FatturaElettronica 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" versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>2022030010</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>00465840031</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>93026890017</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>Alessi</Denominazione>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>Via Privata Alessi 6 </Indirizzo>
|
||||
<CAP>28887</CAP>
|
||||
<Comune>Milan</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street </Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD01</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-03-24</Data>
|
||||
<Numero>INV/2022/03/0010</Numero>
|
||||
<DatiRitenuta>
|
||||
<TipoRitenuta>RT02</TipoRitenuta>
|
||||
<ImportoRitenuta>86.25</ImportoRitenuta>
|
||||
<AliquotaRitenuta>23.00</AliquotaRitenuta>
|
||||
<CausalePagamento>ZO</CausalePagamento>
|
||||
</DatiRitenuta>
|
||||
<ImportoTotaleDocumento>945.00</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>
|
||||
Ordinary accounting service for the year
|
||||
</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>350.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>350.00000000</PrezzoTotale>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<AltriDatiGestionali>
|
||||
<TipoDato>CASSA-PREV</TipoDato>
|
||||
<RiferimentoTesto>TC07 - ENASARCO (8.5%)</RiferimentoTesto>
|
||||
<RiferimentoNumero>29.75000000</RiferimentoNumero>
|
||||
<RiferimentoData/>
|
||||
</AltriDatiGestionali>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<Descrizione>
|
||||
Balance deposit for the past year
|
||||
</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>300.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>300.00000000</PrezzoTotale>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<AltriDatiGestionali>
|
||||
<TipoDato>CASSA-PREV</TipoDato>
|
||||
<RiferimentoTesto>TC07 - ENASARCO (8.5%)</RiferimentoTesto>
|
||||
<RiferimentoNumero>25.50000000</RiferimentoNumero>
|
||||
<RiferimentoData/>
|
||||
</AltriDatiGestionali>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>3</NumeroLinea>
|
||||
<Descrizione>
|
||||
Ordinary accounting service for the trimester
|
||||
</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>50.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>50.00000000</PrezzoTotale>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<AltriDatiGestionali>
|
||||
<TipoDato>CASSA-PREV</TipoDato>
|
||||
<RiferimentoTesto>TC07 - ENASARCO (8.5%)</RiferimentoTesto>
|
||||
<RiferimentoNumero>4.25000000</RiferimentoNumero>
|
||||
<RiferimentoData/>
|
||||
</AltriDatiGestionali>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>4</NumeroLinea>
|
||||
<Descrizione>
|
||||
Electronic invoices management
|
||||
</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>50.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>50.00000000</PrezzoTotale>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<AltriDatiGestionali>
|
||||
<TipoDato>CASSA-PREV</TipoDato>
|
||||
<RiferimentoTesto>TC07 - ENASARCO (8.5%)</RiferimentoTesto>
|
||||
<RiferimentoNumero>4.25000000</RiferimentoNumero>
|
||||
</AltriDatiGestionali>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<ImponibileImporto>750.00</ImponibileImporto>
|
||||
<Imposta>165.00</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2022-03-24</DataScadenzaPagamento>
|
||||
<ImportoPagamento>765.00</ImportoPagamento>
|
||||
<CodicePagamento>INV/2022/03/0010</CodicePagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,138 @@
|
|||
<?xml version="1.0"?>
|
||||
<p:FatturaElettronica 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" versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>2022030010</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>00465840031</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<Anagrafica>
|
||||
<Denominazione>Alessi</Denominazione>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>Via Privata Alessi 6 </Indirizzo>
|
||||
<CAP>28887</CAP>
|
||||
<Comune>Milan</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street </Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD01</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-03-24</Data>
|
||||
<Numero>INV/2022/03/0010</Numero>
|
||||
<DatiRitenuta>
|
||||
<TipoRitenuta>RT02</TipoRitenuta>
|
||||
<ImportoRitenuta>150.00</ImportoRitenuta>
|
||||
<AliquotaRitenuta>20.00</AliquotaRitenuta>
|
||||
<CausalePagamento>A</CausalePagamento>
|
||||
</DatiRitenuta>
|
||||
<DatiCassaPrevidenziale>
|
||||
<TipoCassa>TC22</TipoCassa>
|
||||
<AlCassa>4.00</AlCassa>
|
||||
<ImportoContributoCassa>30.00</ImportoContributoCassa>
|
||||
<ImponibileCassa>750.00</ImponibileCassa>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<RiferimentoAmministrazione>___ignore___</RiferimentoAmministrazione>
|
||||
</DatiCassaPrevidenziale>
|
||||
<ImportoTotaleDocumento>945.00</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>
|
||||
Ordinary accounting service for the year
|
||||
</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>350.000000</PrezzoUnitario>
|
||||
<PrezzoTotale>350.00</PrezzoTotale>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<Descrizione>
|
||||
Balance deposit for the past year
|
||||
</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>300.000000</PrezzoUnitario>
|
||||
<PrezzoTotale>300.00</PrezzoTotale>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>3</NumeroLinea>
|
||||
<Descrizione>
|
||||
Ordinary accounting service for the trimester
|
||||
</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>50.000000</PrezzoUnitario>
|
||||
<PrezzoTotale>50.00</PrezzoTotale>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>4</NumeroLinea>
|
||||
<Descrizione>
|
||||
Electronic invoices management
|
||||
</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>50.000000</PrezzoUnitario>
|
||||
<PrezzoTotale>50.00</PrezzoTotale>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<ImponibileImporto>750.00</ImponibileImporto>
|
||||
<Imposta>165.00</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2022-03-24</DataScadenzaPagamento>
|
||||
<ImportoPagamento>795.00</ImportoPagamento>
|
||||
<CodicePagamento>INV/2022/03/0010</CodicePagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,154 @@
|
|||
<?xml version="1.0"?>
|
||||
<p:FatturaElettronica 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" versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>2022030010</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>00465840031</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<Anagrafica>
|
||||
<Denominazione>Alessi</Denominazione>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>Via Privata Alessi 6 </Indirizzo>
|
||||
<CAP>28887</CAP>
|
||||
<Comune>Milan</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street </Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD01</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-03-24</Data>
|
||||
<Numero>INV/2022/03/0010</Numero>
|
||||
<DatiRitenuta>
|
||||
<TipoRitenuta>RT02</TipoRitenuta>
|
||||
<ImportoRitenuta>150.00</ImportoRitenuta>
|
||||
<AliquotaRitenuta>20.00</AliquotaRitenuta>
|
||||
<CausalePagamento>A</CausalePagamento>
|
||||
</DatiRitenuta>
|
||||
<DatiCassaPrevidenziale>
|
||||
<TipoCassa>TC22</TipoCassa>
|
||||
<AlCassa>4.00</AlCassa>
|
||||
<ImportoContributoCassa>30.00</ImportoContributoCassa>
|
||||
<ImponibileCassa>750.00</ImponibileCassa>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<RiferimentoAmministrazione>___ignore___</RiferimentoAmministrazione>
|
||||
</DatiCassaPrevidenziale>
|
||||
<ImportoTotaleDocumento>945.00</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>
|
||||
Ordinary accounting service for the year
|
||||
</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>350.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>350.00000000</PrezzoTotale>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<AltriDatiGestionali>
|
||||
<TipoDato>AswCassPre</TipoDato>
|
||||
<RiferimentoTesto>TC22 (4%)</RiferimentoTesto>
|
||||
</AltriDatiGestionali>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<Descrizione>
|
||||
Balance deposit for the past year
|
||||
</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>300.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>300.00000000</PrezzoTotale>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<AltriDatiGestionali>
|
||||
<TipoDato>AswCassPre</TipoDato>
|
||||
<RiferimentoTesto>TC22 (4%)</RiferimentoTesto>
|
||||
</AltriDatiGestionali>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>3</NumeroLinea>
|
||||
<Descrizione>
|
||||
Ordinary accounting service for the trimester
|
||||
</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>50.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>50.00000000</PrezzoTotale>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<AltriDatiGestionali>
|
||||
<TipoDato>AswCassPre</TipoDato>
|
||||
<RiferimentoTesto>TC22 (4%)</RiferimentoTesto>
|
||||
</AltriDatiGestionali>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>4</NumeroLinea>
|
||||
<Descrizione>
|
||||
Electronic invoices management
|
||||
</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>50.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>50.00000000</PrezzoTotale>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<AltriDatiGestionali>
|
||||
<TipoDato>AswCassPre</TipoDato>
|
||||
<RiferimentoTesto>TC22 (4%)</RiferimentoTesto>
|
||||
</AltriDatiGestionali>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<ImponibileImporto>750.00</ImponibileImporto>
|
||||
<Imposta>165.00</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2022-03-24</DataScadenzaPagamento>
|
||||
<ImportoPagamento>795.00</ImportoPagamento>
|
||||
<CodicePagamento>INV/2022/03/0010</CodicePagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,123 @@
|
|||
<?xml version="1.0"?>
|
||||
<p:FatturaElettronica 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" versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>___ignore___</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>00465840031</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<Anagrafica>
|
||||
<Denominazione>Alessi</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>Via Privata Alessi 6 </Indirizzo>
|
||||
<CAP>28887</CAP>
|
||||
<Comune>Milan</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street </Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD01</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-03-24</Data>
|
||||
<Numero>___ignore___</Numero>
|
||||
<DatiRitenuta>
|
||||
<TipoRitenuta>RT02</TipoRitenuta>
|
||||
<ImportoRitenuta>34.50</ImportoRitenuta>
|
||||
<AliquotaRitenuta>23.00</AliquotaRitenuta>
|
||||
<CausalePagamento>ZO</CausalePagamento>
|
||||
</DatiRitenuta>
|
||||
<ImportoTotaleDocumento>915.00</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>Ordinary accounting service for the year</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>350.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>350.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<Descrizione>Balance deposit for the past year</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>300.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>300.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>3</NumeroLinea>
|
||||
<Descrizione>Ordinary accounting service for the trimester</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>50.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>50.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>4</NumeroLinea>
|
||||
<Descrizione>Electronic invoices management</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>50.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>50.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<ImponibileImporto>750.00</ImponibileImporto>
|
||||
<Imposta>165.00</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2022-03-24</DataScadenzaPagamento>
|
||||
<ImportoPagamento>880.50</ImportoPagamento>
|
||||
<CodicePagamento>___ignore___</CodicePagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,123 @@
|
|||
<?xml version="1.0"?>
|
||||
<p:FatturaElettronica 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" versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>___ignore___</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>00465840031</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<Anagrafica>
|
||||
<Denominazione>Alessi</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>Via Privata Alessi 6 </Indirizzo>
|
||||
<CAP>28887</CAP>
|
||||
<Comune>Milan</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street </Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD01</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-03-24</Data>
|
||||
<Numero>___ignore___</Numero>
|
||||
<DatiRitenuta>
|
||||
<TipoRitenuta>RT02</TipoRitenuta>
|
||||
<ImportoRitenuta>86.25</ImportoRitenuta>
|
||||
<AliquotaRitenuta>23.00</AliquotaRitenuta>
|
||||
<CausalePagamento>ZO</CausalePagamento>
|
||||
</DatiRitenuta>
|
||||
<ImportoTotaleDocumento>915.00</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>Ordinary accounting service for the year</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>350.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>350.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<Descrizione>Balance deposit for the past year</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>300.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>300.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>3</NumeroLinea>
|
||||
<Descrizione>Ordinary accounting service for the trimester</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>50.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>50.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>4</NumeroLinea>
|
||||
<Descrizione>Electronic invoices management</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>50.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>50.00000000</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<ImponibileImporto>750.00</ImponibileImporto>
|
||||
<Imposta>165.00</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2022-03-24</DataScadenzaPagamento>
|
||||
<ImportoPagamento>828.75</ImportoPagamento>
|
||||
<CodicePagamento>___ignore___</CodicePagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,123 @@
|
|||
<?xml version="1.0"?>
|
||||
<p:FatturaElettronica 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" versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>___ignore___</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>00465840031</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<Anagrafica>
|
||||
<Denominazione>Alessi</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>Via Privata Alessi 6 </Indirizzo>
|
||||
<CAP>28887</CAP>
|
||||
<Comune>Milan</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street </Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD01</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-03-24</Data>
|
||||
<Numero>___ignore___</Numero>
|
||||
<DatiRitenuta>
|
||||
<TipoRitenuta>RT02</TipoRitenuta>
|
||||
<ImportoRitenuta>150.00</ImportoRitenuta>
|
||||
<AliquotaRitenuta>20.00</AliquotaRitenuta>
|
||||
<CausalePagamento>A</CausalePagamento>
|
||||
</DatiRitenuta>
|
||||
<ImportoTotaleDocumento>915.00</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>Ordinary accounting service for the year</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>350.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>350.00000000</PrezzoTotale>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<Descrizione>Balance deposit for the past year</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>300.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>300.00000000</PrezzoTotale>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>3</NumeroLinea>
|
||||
<Descrizione>Ordinary accounting service for the trimester</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>50.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>50.00000000</PrezzoTotale>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>4</NumeroLinea>
|
||||
<Descrizione>Electronic invoices management</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>50.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>50.00000000</PrezzoTotale>
|
||||
<Ritenuta>SI</Ritenuta>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<ImponibileImporto>750.00</ImponibileImporto>
|
||||
<Imposta>165.00</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2022-03-24</DataScadenzaPagamento>
|
||||
<ImportoPagamento>765.00</ImportoPagamento>
|
||||
<CodicePagamento>___ignore___</CodicePagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,133 @@
|
|||
<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>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>00001</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>ABC1234</CodiceDestinatario>
|
||||
<ContattiTrasmittente/>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>00313371213</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>93026890017</CodiceFiscale>
|
||||
<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>01234560157</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>01234567888</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>01234567890</IdDocumento>
|
||||
<Data>2012-09-01</Data>
|
||||
<NumItem>5</NumItem>
|
||||
<CodiceCUP>01234567890abc</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>Cool stuff</Descrizione>
|
||||
<Quantita>5.00</Quantita>
|
||||
<PrezzoUnitario>1.00</PrezzoUnitario>
|
||||
<PrezzoTotale>5.00</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<Descrizione>OtherAccount</Descrizione>
|
||||
<Quantita>3.00</Quantita>
|
||||
<PrezzoUnitario>8.00</PrezzoUnitario>
|
||||
<PrezzoTotale>24.00</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>3</NumeroLinea>
|
||||
<Descrizione>GuessTaxes</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>10.00</PrezzoUnitario>
|
||||
<PrezzoTotale>10.00</PrezzoTotale>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<ImponibileImporto>29.00</ImponibileImporto>
|
||||
<Imposta>6.38</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP01</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP01</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2015-01-30</DataScadenzaPagamento>
|
||||
<ImportoPagamento>36.48</ImportoPagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,126 @@
|
|||
<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>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>00001</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>ABC1234</CodiceDestinatario>
|
||||
<ContattiTrasmittente/>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>00313371213</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>93026890017</CodiceFiscale>
|
||||
<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>01234560157</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>01234567888</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>01234567890</IdDocumento>
|
||||
<Data>2012-09-01</Data>
|
||||
<NumItem>5</NumItem>
|
||||
<CodiceCUP>01234567890abc</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>
|
||||
<CodiceArticolo>
|
||||
<CodiceTipo>INTRAAAA</CodiceTipo>
|
||||
<CodiceValore>38119234</CodiceValore>
|
||||
</CodiceArticolo>
|
||||
<CodiceArticolo>
|
||||
<CodiceTipo>Codice</CodiceTipo>
|
||||
<CodiceValore>abcdefgh</CodiceValore>
|
||||
</CodiceArticolo>
|
||||
<Descrizione>Soluzione</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<UnitaMisura>NR</UnitaMisura>
|
||||
<PrezzoUnitario>25.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>25.00</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<ImponibileImporto>29.00</ImponibileImporto>
|
||||
<Imposta>6.38</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP01</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP01</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2015-01-30</DataScadenzaPagamento>
|
||||
<ImportoPagamento>36.48</ImportoPagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,144 @@
|
|||
<?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>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>00001</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>ABC1234</CodiceDestinatario>
|
||||
<ContattiTrasmittente/>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<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>01234560157</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>01234567890</Numero>
|
||||
<Causale>
|
||||
LA FATTURA FA RIFERIMENTO AD UNA OPERAZIONE AAAA BBBBBBBBBBBBBBBBBB CCC DDDDDDDDDDDDDDD
|
||||
</Causale>
|
||||
<ImportoTotaleDocumento>35.07</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
<DatiOrdineAcquisto>
|
||||
<RiferimentoNumeroLinea>1</RiferimentoNumeroLinea>
|
||||
<IdDocumento>66685</IdDocumento>
|
||||
<NumItem>1</NumItem>
|
||||
</DatiOrdineAcquisto>
|
||||
<DatiContratto>
|
||||
<RiferimentoNumeroLinea>1</RiferimentoNumeroLinea>
|
||||
<IdDocumento>01234567890</IdDocumento>
|
||||
<Data>2012-09-01</Data>
|
||||
<NumItem>5</NumItem>
|
||||
<CodiceCUP>01234567890abc</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>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<Descrizione>DESCRIZIONE DELLA FORNITURA 2</Descrizione>
|
||||
<Quantita>5.00</Quantita>
|
||||
<PrezzoUnitario>10.00</PrezzoUnitario>
|
||||
<ScontoMaggiorazione>
|
||||
<Tipo>SC</Tipo>
|
||||
<Importo>5.00</Importo>
|
||||
</ScontoMaggiorazione>
|
||||
<ScontoMaggiorazione>
|
||||
<Tipo>SC</Tipo>
|
||||
<Percentuale>5.00</Percentuale>
|
||||
</ScontoMaggiorazione>
|
||||
<PrezzoTotale>23.75</PrezzoTotale>
|
||||
<AliquotaIVA>22</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>3</NumeroLinea>
|
||||
<Descrizione>RIGA DESCRITTIVA A 0</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>0.00</PrezzoUnitario>
|
||||
<ScontoMaggiorazione>
|
||||
<Tipo>SC</Tipo>
|
||||
<Importo>0.00</Importo>
|
||||
</ScontoMaggiorazione>
|
||||
<PrezzoTotale>0.00</PrezzoTotale>
|
||||
<AliquotaIVA>22</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
<ImponibileImporto>28.75</ImponibileImporto>
|
||||
<Imposta>6.32</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP01</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP01</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2015-01-30</DataScadenzaPagamento>
|
||||
<ImportoPagamento>35.07</ImportoPagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,117 @@
|
|||
<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>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>00001</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>ABC1234</CodiceDestinatario>
|
||||
<ContattiTrasmittente/>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</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>01234560157</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>01234567890</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>01234567890</IdDocumento>
|
||||
<Data>2012-09-01</Data>
|
||||
<NumItem>5</NumItem>
|
||||
<CodiceCUP>01234567890abc</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>
|
||||
|
|
@ -0,0 +1,111 @@
|
|||
<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>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>00001</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>ABC1234</CodiceDestinatario>
|
||||
<ContattiTrasmittente/>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</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>01234560157</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>01234567890</Numero>
|
||||
<Causale>Test</Causale>
|
||||
</DatiGeneraliDocumento>
|
||||
<DatiOrdineAcquisto>
|
||||
<RiferimentoNumeroLinea>1</RiferimentoNumeroLinea>
|
||||
<IdDocumento>66685</IdDocumento>
|
||||
<NumItem>1</NumItem>
|
||||
</DatiOrdineAcquisto>
|
||||
<DatiContratto>
|
||||
<RiferimentoNumeroLinea>1</RiferimentoNumeroLinea>
|
||||
<IdDocumento>01234567890</IdDocumento>
|
||||
<Data>2012-09-01</Data>
|
||||
<NumItem>5</NumItem>
|
||||
<CodiceCUP>01234567890abc</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>
|
||||
|
|
@ -0,0 +1,156 @@
|
|||
<?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>05979361218</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>00001</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||
<ContattiTrasmittente />
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>02780790107</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>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</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>___ignore___</Numero>
|
||||
</DatiGeneraliDocumento>
|
||||
<DatiOrdineAcquisto>
|
||||
<RiferimentoNumeroLinea>1</RiferimentoNumeroLinea>
|
||||
<IdDocumento>___ignore___</IdDocumento>
|
||||
<NumItem>1</NumItem>
|
||||
</DatiOrdineAcquisto>
|
||||
<DatiTrasporto>
|
||||
<DatiAnagraficiVettore>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>04507990150</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>
|
||||
<CodiceArticolo>
|
||||
<CodiceTipo>INT</CodiceTipo>
|
||||
<CodiceValore>ART123</CodiceValore>
|
||||
</CodiceArticolo>
|
||||
<Descrizione>DESCRIZIONE DELLA FORNITURA</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>2015-01-30</DataScadenzaPagamento>
|
||||
<ImportoPagamento>32.50</ImportoPagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD01</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2014-12-20</Data>
|
||||
<Numero>___ignore___</Numero>
|
||||
</DatiGeneraliDocumento>
|
||||
<DatiOrdineAcquisto>
|
||||
<RiferimentoNumeroLinea>1</RiferimentoNumeroLinea>
|
||||
<IdDocumento>___ignore___</IdDocumento>
|
||||
<NumItem>1</NumItem>
|
||||
</DatiOrdineAcquisto>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>DESCRIZIONE DEL SERVIZIO</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>___ignore___</DataScadenzaPagamento>
|
||||
<ImportoPagamento>2440.00</ImportoPagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,121 @@
|
|||
<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>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>V202200001</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>00313371213</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>93026890017</CodiceFiscale>
|
||||
<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>01234560157</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>TD04</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2014-12-18</Data>
|
||||
<Numero>01234567890</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>PO-001</IdDocumento>
|
||||
<NumItem>1</NumItem>
|
||||
</DatiOrdineAcquisto>
|
||||
<DatiContratto>
|
||||
<RiferimentoNumeroLinea>1</RiferimentoNumeroLinea>
|
||||
<IdDocumento>01234567890</IdDocumento>
|
||||
<Data>2012-09-01</Data>
|
||||
<NumItem>5</NumItem>
|
||||
<CodiceCUP>01234567890abc</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>
|
||||
|
|
@ -0,0 +1,129 @@
|
|||
<?xml version="1.0"?>
|
||||
<p:FatturaElettronica 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" versione="FPR12">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>___ignore___</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
|
||||
<CodiceDestinatario>0000000</CodiceDestinatario>
|
||||
<ContattiTrasmittente>
|
||||
<Telefono>0266766700</Telefono>
|
||||
<Email>test@test.it</Email>
|
||||
</ContattiTrasmittente>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>00465840031</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>93026890017</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>Alessi</Denominazione>
|
||||
</Anagrafica>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>Via Privata Alessi 6</Indirizzo>
|
||||
<CAP>28887</CAP>
|
||||
<Comune>Milan</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<DatiAnagrafici>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Anagrafica>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
</Anagrafica>
|
||||
</DatiAnagrafici>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street</Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD01</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-03-24</Data>
|
||||
<Numero>___ignore___</Numero>
|
||||
<ImportoTotaleDocumento>750.00</ImportoTotaleDocumento>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
<DatiBeniServizi>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>1</NumeroLinea>
|
||||
<Descrizione>
|
||||
Construction subcontracting service January
|
||||
</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>350.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>350.00</PrezzoTotale>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<Natura>N6.3</Natura>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<Descrizione>
|
||||
Construction subcontracting service February
|
||||
</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>300.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>300.00</PrezzoTotale>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<Natura>N6.3</Natura>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>3</NumeroLinea>
|
||||
<Descrizione>
|
||||
Construction subcontracting service March
|
||||
</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>50.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>50.00</PrezzoTotale>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<Natura>N6.3</Natura>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>4</NumeroLinea>
|
||||
<Descrizione>
|
||||
Construction subcontracting service April
|
||||
</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>50.00000000</PrezzoUnitario>
|
||||
<PrezzoTotale>50.00</PrezzoTotale>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<Natura>N6.3</Natura>
|
||||
</DettaglioLinee>
|
||||
<DatiRiepilogo>
|
||||
<AliquotaIVA>0.00</AliquotaIVA>
|
||||
<Natura>N6.3</Natura>
|
||||
<ImponibileImporto>750.00</ImponibileImporto>
|
||||
<Imposta>0.00</Imposta>
|
||||
<EsigibilitaIVA>I</EsigibilitaIVA>
|
||||
<RiferimentoNormativo>test</RiferimentoNormativo>
|
||||
</DatiRiepilogo>
|
||||
</DatiBeniServizi>
|
||||
<DatiPagamento>
|
||||
<CondizioniPagamento>TP02</CondizioniPagamento>
|
||||
<DettaglioPagamento>
|
||||
<ModalitaPagamento>MP05</ModalitaPagamento>
|
||||
<DataScadenzaPagamento>2022-03-24</DataScadenzaPagamento>
|
||||
<ImportoPagamento>750.00</ImportoPagamento>
|
||||
<CodicePagamento>___ignore___</CodicePagamento>
|
||||
</DettaglioPagamento>
|
||||
</DatiPagamento>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
<p:FatturaElettronicaSemplificata xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
|
||||
xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.0"
|
||||
xsi:schemaLocation="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.0 http://www.fatturapa.gov.it/export/fatturazione/sdi/fatturapa/v1.0/Schema_del_file_xml_FatturaPA_versione_1.0.xsd"
|
||||
versione="FSM10">
|
||||
<FatturaElettronicaHeader>
|
||||
<DatiTrasmissione>
|
||||
<IdTrasmittente>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdTrasmittente>
|
||||
<ProgressivoInvio>V202200001</ProgressivoInvio>
|
||||
<FormatoTrasmissione>FSM10</FormatoTrasmissione>
|
||||
<CodiceDestinatario>123456</CodiceDestinatario>
|
||||
</DatiTrasmissione>
|
||||
<CedentePrestatore>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>01234560157</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>01234560157</CodiceFiscale>
|
||||
<Denominazione>company_2_data</Denominazione>
|
||||
<Sede>
|
||||
<Indirizzo>1234 Test Street</Indirizzo>
|
||||
<CAP>12345</CAP>
|
||||
<Comune>Prova</Comune>
|
||||
<Nazione>IT</Nazione>
|
||||
</Sede>
|
||||
<RegimeFiscale>RF01</RegimeFiscale>
|
||||
</CedentePrestatore>
|
||||
<CessionarioCommittente>
|
||||
<IdentificativiFiscali>
|
||||
<IdFiscaleIVA>
|
||||
<IdPaese>IT</IdPaese>
|
||||
<IdCodice>06655971007</IdCodice>
|
||||
</IdFiscaleIVA>
|
||||
<CodiceFiscale>06655971007</CodiceFiscale>
|
||||
</IdentificativiFiscali>
|
||||
</CessionarioCommittente>
|
||||
</FatturaElettronicaHeader>
|
||||
<FatturaElettronicaBody>
|
||||
<DatiGenerali>
|
||||
<DatiGeneraliDocumento>
|
||||
<TipoDocumento>TD07</TipoDocumento>
|
||||
<Divisa>EUR</Divisa>
|
||||
<Data>2022-03-24</Data>
|
||||
<Numero>INV/2022/00001</Numero>
|
||||
</DatiGeneraliDocumento>
|
||||
</DatiGenerali>
|
||||
|
||||
<DatiBeniServizi>
|
||||
<Descrizione>
|
||||
cheap_line
|
||||
</Descrizione>
|
||||
<Importo>122.00</Importo>
|
||||
<DatiIVA>
|
||||
<Imposta>22.00</Imposta>
|
||||
</DatiIVA>
|
||||
</DatiBeniServizi>
|
||||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronicaSemplificata>
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
from odoo import fields
|
||||
from odoo.tests import tagged
|
||||
from odoo.addons.l10n_it_edi.tests.common import TestItEdi
|
||||
|
||||
|
||||
@tagged('post_install_l10n', 'post_install', '-at_install')
|
||||
class TestItAccountMoveDocumentType(TestItEdi):
|
||||
|
||||
def test_account_move_document_type(self):
|
||||
# l10n_it_document_type_01: "TD01 - Invoice (Immediate or Accompanying if <DatiTrasporto> or <DatiDDT> are completed)"
|
||||
# l10n_it_document_type_04: "TD04 - Credit note"
|
||||
dt_invoice = self.env.ref('l10n_it_edi.l10n_it_document_type_01')
|
||||
dt_credit_note = self.env.ref('l10n_it_edi.l10n_it_document_type_04')
|
||||
|
||||
invoice_x = self.init_invoice("out_invoice", amounts=[1000])
|
||||
# the compute method does nothing for moves that are not posted
|
||||
self.assertFalse(invoice_x.l10n_it_document_type)
|
||||
|
||||
invoice_x.action_post()
|
||||
self.assertEqual(invoice_x.l10n_it_document_type, dt_invoice)
|
||||
# create a draft credit note
|
||||
reversal_wizard = self.env['account.move.reversal'].with_context(active_model='account.move', active_ids=invoice_x.ids).create({
|
||||
'reason': 'XXX',
|
||||
'journal_id': invoice_x.journal_id.id,
|
||||
})
|
||||
reversal = reversal_wizard.refund_moves()
|
||||
credit_note_x = self.env['account.move'].browse(reversal['res_id'])
|
||||
self.assertFalse(credit_note_x.l10n_it_document_type)
|
||||
# post the credit note
|
||||
credit_note_x.action_post()
|
||||
self.assertEqual(credit_note_x.l10n_it_document_type, dt_credit_note)
|
||||
|
||||
invoice_y = self.init_invoice("out_invoice", amounts=[2000], post=True)
|
||||
self.assertEqual(invoice_y.l10n_it_document_type, dt_invoice)
|
||||
# create a credit note that is posted directly
|
||||
reversal_wizard = self.env['account.move.reversal'].with_context(active_model='account.move', active_ids=invoice_y.ids).create({
|
||||
'reason': 'YYY',
|
||||
'journal_id': invoice_y.journal_id.id,
|
||||
})
|
||||
reversal_wizard.modify_moves()
|
||||
credit_note_y = invoice_y.reversal_move_ids[0]
|
||||
self.assertEqual(credit_note_y.l10n_it_document_type, dt_credit_note)
|
||||
|
||||
def test_td01_assigned_on_posted_in_invoice(self):
|
||||
"""Test that TD01 is correctly assigned to an in_invoice after posting."""
|
||||
dt_invoice = self.env.ref('l10n_it_edi.l10n_it_document_type_01')
|
||||
|
||||
invoice_x = self.init_invoice("in_invoice", amounts=[1000])
|
||||
self.assertFalse(invoice_x.l10n_it_document_type)
|
||||
|
||||
invoice_x.action_post()
|
||||
self.assertEqual(invoice_x.l10n_it_document_type, dt_invoice)
|
||||
|
||||
def test_td01_assigned_on_imported_in_invoice(self):
|
||||
td01 = self.env.ref('l10n_it_edi.l10n_it_document_type_01')
|
||||
self._assert_import_invoice('IT01234567890_FPR01.xml', [{
|
||||
'move_type': 'in_invoice',
|
||||
'invoice_date': fields.Date.from_string('2014-12-18'),
|
||||
'amount_untaxed': 5.0,
|
||||
'amount_tax': 1.1,
|
||||
'invoice_line_ids': [{
|
||||
'quantity': 5.0,
|
||||
'price_unit': 1.0,
|
||||
'debit': 5.0,
|
||||
}],
|
||||
'l10n_it_payment_method': 'MP01',
|
||||
'l10n_it_document_type': td01.id,
|
||||
}])
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
from odoo.tests import tagged
|
||||
from odoo.addons.l10n_it_edi.tests.common import TestItEdi
|
||||
|
||||
|
||||
@tagged('post_install_l10n', 'post_install', '-at_install')
|
||||
class TestItAccountMovePaymentMethod(TestItEdi):
|
||||
|
||||
def test_account_move_payment_method(self):
|
||||
move = self.init_invoice("out_invoice", amounts=[1000], post=True)
|
||||
# When the move is created we put the default value MP05
|
||||
self.assertEqual(move.l10n_it_payment_method, 'MP05')
|
||||
|
||||
payment_method = self.env['account.payment.method'].sudo().create({
|
||||
'name': 'Test Payment Method',
|
||||
'code': 'test_payment_method',
|
||||
'payment_type': 'inbound',
|
||||
})
|
||||
|
||||
new_payment_method_line = self.env['account.payment.method.line'].create({
|
||||
'name': 'new payment method line',
|
||||
'payment_method_id': payment_method.id,
|
||||
'journal_id': self.company_data['default_journal_bank'].id,
|
||||
'l10n_it_payment_method': 'MP07',
|
||||
})
|
||||
|
||||
# When registering a payment with a payment method, the payment method on the move will be overwritten
|
||||
self.env['account.payment.register'].with_context(
|
||||
active_model='account.move',
|
||||
active_ids=move.ids,
|
||||
).create({
|
||||
'payment_method_line_id': new_payment_method_line.id,
|
||||
})._create_payments()
|
||||
|
||||
self.assertEqual(move.l10n_it_payment_method, 'MP07')
|
||||
|
|
@ -0,0 +1,274 @@
|
|||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
from unittest.mock import patch
|
||||
|
||||
from odoo.tests import tagged
|
||||
from odoo.addons.account.tests.test_account_move_send import TestAccountMoveSendCommon
|
||||
from odoo.addons.account_edi_proxy_client.models.account_edi_proxy_user import AccountEdiProxyError
|
||||
from odoo.addons.l10n_it_edi.tests.common import TestItEdi
|
||||
|
||||
|
||||
@tagged('post_install_l10n', 'post_install', '-at_install')
|
||||
class TestItAccountMoveSend(TestItEdi, TestAccountMoveSendCommon):
|
||||
|
||||
def init_invoice(self, partners, company=None, taxes=None):
|
||||
invoices = self.env['account.move']
|
||||
for partner in partners:
|
||||
invoices |= super().init_invoice(
|
||||
"out_invoice",
|
||||
partner=partner,
|
||||
company=company or self.company,
|
||||
amounts=[1000],
|
||||
taxes=taxes or self.default_tax,
|
||||
post=True)
|
||||
return invoices
|
||||
|
||||
def get_attachments(self, res_id):
|
||||
return self.env['ir.attachment'].with_company(self.company).search([
|
||||
('res_model', '=', 'account.move'),
|
||||
('res_id', '=', res_id),
|
||||
('res_field', 'in', ('invoice_pdf_report_file', 'l10n_it_edi_attachment_file')),
|
||||
])
|
||||
|
||||
def generate_l10n_it_edi_send_attachments(self, invoices, from_cron=False):
|
||||
moves_data = {invoice: self.env['account.move.send']._get_default_sending_settings(invoice, from_cron=from_cron) for invoice in invoices}
|
||||
with patch('odoo.addons.l10n_it_edi.models.account_move_send.AccountMoveSend._call_web_service_after_invoice_pdf_render'):
|
||||
self.env['account.move.send']._generate_invoice_documents(moves_data)
|
||||
|
||||
def test_invoice_multi_without_l10n_it_edi_xml_export(self):
|
||||
# Prepare
|
||||
invoice1, invoice2 = self.init_invoice(self.italian_partner_a + self.italian_partner_a)
|
||||
(self.italian_partner_a + self.italian_partner_b).with_company(invoice1.company_id).invoice_edi_format = False
|
||||
|
||||
def _get_default_extra_edis(self, move):
|
||||
# in batch sending we use default settings, which is to use italian gov edi, bypass it
|
||||
return {}
|
||||
|
||||
with patch(
|
||||
'odoo.addons.account.models.account_move_send.AccountMoveSend._get_default_extra_edis',
|
||||
_get_default_extra_edis
|
||||
):
|
||||
self.env['account.move.send']._generate_and_send_invoices(invoice1 + invoice2)
|
||||
|
||||
# Asserts
|
||||
self.assertEqual((invoice1 + invoice2).mapped('sending_data'), [False, False])
|
||||
self.assertEqual(1, len(self.get_attachments(invoice1.id)))
|
||||
self.assertTrue(invoice1.invoice_pdf_report_id)
|
||||
self.assertFalse(invoice1.l10n_it_edi_attachment_file)
|
||||
self.assertFalse(invoice1.is_being_sent)
|
||||
self.assertEqual(1, len(self.get_attachments(invoice2.id)))
|
||||
self.assertTrue(invoice2.invoice_pdf_report_id)
|
||||
self.assertFalse(invoice2.l10n_it_edi_attachment_file)
|
||||
self.assertFalse(invoice2.is_being_sent)
|
||||
|
||||
def test_invoice_multi_with_l10n_it_edi_xml_export(self):
|
||||
# Prepare
|
||||
invoice1, invoice2 = self.init_invoice(self.italian_partner_a + self.italian_partner_a)
|
||||
(self.italian_partner_a + self.italian_partner_b).with_company(invoice1.company_id).invoice_edi_format = 'it_edi_xml'
|
||||
|
||||
def _get_default_extra_edis(self, move):
|
||||
# in batch sending we use default settings, which is to use italian gov edi, bypass it
|
||||
return {}
|
||||
|
||||
with patch(
|
||||
'odoo.addons.account.models.account_move_send.AccountMoveSend._get_default_extra_edis',
|
||||
_get_default_extra_edis
|
||||
):
|
||||
self.env['account.move.send']._generate_and_send_invoices(invoice1 + invoice2, sending_methods=['email'])
|
||||
|
||||
# Asserts
|
||||
self.assertEqual((invoice1 + invoice2).mapped('sending_data'), [False, False])
|
||||
self.assertEqual(2, len(self.get_attachments(invoice1.id)))
|
||||
self.assertTrue(invoice1.invoice_pdf_report_id)
|
||||
self.assertTrue(invoice1.l10n_it_edi_attachment_file)
|
||||
self.assertFalse(invoice1.is_being_sent)
|
||||
self.assertEqual(2, len(self.get_attachments(invoice2.id)))
|
||||
self.assertTrue(invoice2.invoice_pdf_report_id)
|
||||
self.assertTrue(invoice2.l10n_it_edi_attachment_file)
|
||||
self.assertFalse(invoice2.is_being_sent)
|
||||
|
||||
def test_invoice_with_cig_or_cup_or_both(self):
|
||||
|
||||
self.italian_partner_a.write({'l10n_it_pa_index': '1234567'})
|
||||
|
||||
invoice_valid = self.init_invoice(self.italian_partner_a)
|
||||
invoice_cig_only = self.init_invoice(self.italian_partner_a)
|
||||
invoice_cup_only = self.init_invoice(self.italian_partner_a)
|
||||
invoice_cig_cup = self.init_invoice(self.italian_partner_a)
|
||||
|
||||
invoice_valid.write({
|
||||
'l10n_it_cig': '1234567',
|
||||
'l10n_it_cup': '7654321',
|
||||
'l10n_it_origin_document_type': 'purchase_order'
|
||||
})
|
||||
|
||||
invoice_cig_only.write({
|
||||
'l10n_it_cig': '1234567',
|
||||
'l10n_it_cup': False,
|
||||
'l10n_it_origin_document_type': False
|
||||
})
|
||||
|
||||
invoice_cup_only.write({
|
||||
'l10n_it_cig': False,
|
||||
'l10n_it_cup': '7654321',
|
||||
'l10n_it_origin_document_type': False
|
||||
})
|
||||
|
||||
invoice_cig_cup.write({
|
||||
'l10n_it_cig': '1234567',
|
||||
'l10n_it_cup': '7654321',
|
||||
'l10n_it_origin_document_type': False
|
||||
})
|
||||
|
||||
valid = invoice_valid._l10n_it_edi_base_export_check()
|
||||
cig = invoice_cig_only._l10n_it_edi_base_export_check()
|
||||
cup = invoice_cup_only._l10n_it_edi_base_export_check()
|
||||
cig_cup = invoice_cig_cup._l10n_it_edi_base_export_check()
|
||||
|
||||
self.assertNotIn('move_missing_origin_document_field', valid)
|
||||
self.assertIn('move_missing_origin_document_field', cig)
|
||||
self.assertIn('move_missing_origin_document_field', cup)
|
||||
self.assertIn('move_missing_origin_document_field', cig_cup)
|
||||
|
||||
def test_invoice_send_with_multiple_company(self):
|
||||
second_company = self.company_data['company']
|
||||
second_company.write({
|
||||
'vat': 'IT12345670017',
|
||||
'phone': '0266766700',
|
||||
'email': 'test@test.it',
|
||||
'street': '1234 Test Street',
|
||||
'zip': '12345',
|
||||
'city': 'Prova',
|
||||
'l10n_it_codice_fiscale': '12345670017',
|
||||
'l10n_it_tax_system': 'RF01'
|
||||
})
|
||||
|
||||
second_proxy = self.env['account_edi_proxy_client.user'].create({
|
||||
'proxy_type': 'l10n_it_edi',
|
||||
'id_client': 'l10n_it_edi_test_second_company',
|
||||
'company_id': second_company.id,
|
||||
'edi_identification': 'l10n_it_edi_test_second_company',
|
||||
'private_key_id': self.private_key_id.id,
|
||||
'edi_mode': 'demo',
|
||||
})
|
||||
|
||||
self.proxy_user.edi_mode = 'demo'
|
||||
|
||||
invoice1 = self.init_invoice(self.italian_partner_a)
|
||||
invoice2 = self.init_invoice(
|
||||
self.italian_partner_a,
|
||||
second_company,
|
||||
self.company_data['default_tax_sale']
|
||||
)
|
||||
|
||||
with patch('odoo.addons.l10n_it_edi.models.account_move.AccountMove._l10n_it_edi_upload_single', return_value={}, autospec=True) as mock_check:
|
||||
self.env['account.move.send'].with_context(allowed_company_ids=[second_company.id, self.company.id])._generate_and_send_invoices(invoice2 + invoice1, sending_methods=['email'])
|
||||
self.assertEqual(mock_check.call_count, 2)
|
||||
res_call_invoice1, res_call_invoice2 = mock_check.call_args_list
|
||||
res_invoice1, res_invoice2 = res_call_invoice2[0][0], res_call_invoice1[0][0]
|
||||
self.assertEqual(res_invoice1, invoice1)
|
||||
self.assertEqual(res_invoice2, invoice2)
|
||||
self.assertEqual(res_invoice1.company_id.l10n_it_edi_proxy_user_id, self.proxy_user)
|
||||
self.assertEqual(res_invoice2.company_id.l10n_it_edi_proxy_user_id, second_proxy)
|
||||
|
||||
def test_l10n_it_edi_send_success(self):
|
||||
invoice = self.init_invoice(self.italian_partner_a)
|
||||
self.generate_l10n_it_edi_send_attachments(invoice)
|
||||
success = {'id_transaction': "SDI ID 1", 'signed': False, 'signed_data': False}
|
||||
with patch('odoo.addons.l10n_it_edi.models.account_move.AccountMove._l10n_it_edi_upload_single', return_value=success) as mock_check:
|
||||
attachments_vals = {invoice: {'name': invoice.l10n_it_edi_attachment_name, 'raw': invoice.l10n_it_edi_attachment_file}}
|
||||
results = invoice._l10n_it_edi_send(attachments_vals)
|
||||
|
||||
self.assertEqual(mock_check.call_count, 1)
|
||||
self.assertEqual(results, {invoice.l10n_it_edi_attachment_name: success})
|
||||
self.assertEqual(invoice.l10n_it_edi_state, "processing")
|
||||
self.assertEqual(invoice.l10n_it_edi_transaction, success['id_transaction'])
|
||||
|
||||
def test_l10n_it_edi_send_proxy_error(self):
|
||||
invoice = self.init_invoice(self.italian_partner_a)
|
||||
self.generate_l10n_it_edi_send_attachments(invoice)
|
||||
proxy_error = {'error': 'error_code', 'error_description': 'error_description'}
|
||||
with patch('odoo.addons.l10n_it_edi.models.account_move.AccountMove._l10n_it_edi_upload_single', return_value=proxy_error) as mock_check:
|
||||
attachments_vals = {invoice: {'name': invoice.l10n_it_edi_attachment_name, 'raw': invoice.l10n_it_edi_attachment_file}}
|
||||
results = invoice._l10n_it_edi_send(attachments_vals)
|
||||
proxy_error['error_message'] = invoice._l10n_it_edi_upload_error_message(proxy_error['error'], proxy_error['error_description'])
|
||||
|
||||
self.assertEqual(mock_check.call_count, 1)
|
||||
self.assertEqual(results, {invoice.l10n_it_edi_attachment_name: proxy_error})
|
||||
self.assertFalse(invoice.l10n_it_edi_state)
|
||||
self.assertFalse(invoice.l10n_it_edi_transaction)
|
||||
|
||||
def test_l10n_it_edi_send_proxy_exception(self):
|
||||
invoice = self.init_invoice(self.italian_partner_a)
|
||||
self.generate_l10n_it_edi_send_attachments(invoice)
|
||||
with patch('odoo.addons.l10n_it_edi.models.account_move.AccountMove._l10n_it_edi_upload_single', side_effect=AccountEdiProxyError('error_code', message='error_description')) as mock_check:
|
||||
attachments_vals = {invoice: {'name': invoice.l10n_it_edi_attachment_name, 'raw': invoice.l10n_it_edi_attachment_file}}
|
||||
results = invoice._l10n_it_edi_send(attachments_vals)
|
||||
|
||||
self.assertEqual(mock_check.call_count, 1)
|
||||
self.assertIn('error_message', results[invoice.l10n_it_edi_attachment_name])
|
||||
self.assertFalse(invoice.l10n_it_edi_state)
|
||||
self.assertFalse(invoice.l10n_it_edi_transaction)
|
||||
|
||||
def test_l10n_it_edi_send_from_cron(self):
|
||||
invoices = self.init_invoice(self.italian_partner_a) | self.init_invoice(self.italian_partner_a)
|
||||
invoices.sending_data = {'author_user_id': self.env.user.id, 'author_partner_id': self.env.user.partner_id.id}
|
||||
self.generate_l10n_it_edi_send_attachments(invoices, from_cron=True)
|
||||
|
||||
success = {'id_transaction': "SDI ID 1", 'signed': False, 'signed_data': False}
|
||||
proxy_error = {'error': 'error_code', 'error_description': 'error_description'}
|
||||
|
||||
def _l10n_it_edi_upload_single(record, file):
|
||||
return success if file['filename'] == 'file_1.xml' else proxy_error
|
||||
|
||||
with patch('odoo.addons.l10n_it_edi.models.account_move.AccountMove._l10n_it_edi_upload_single', side_effect=_l10n_it_edi_upload_single, autospec=True) as mock_check:
|
||||
invoices[0].l10n_it_edi_attachment_name = 'file_1.xml'
|
||||
|
||||
attachments_vals = {invoice: {'name': invoice.l10n_it_edi_attachment_name, 'raw': invoice.l10n_it_edi_attachment_file} for invoice in invoices}
|
||||
results = invoices._l10n_it_edi_send(attachments_vals)
|
||||
|
||||
self.assertEqual(mock_check.call_count, 2)
|
||||
self.assertEqual(results, {
|
||||
invoices[0].l10n_it_edi_attachment_name: success,
|
||||
invoices[1].l10n_it_edi_attachment_name: proxy_error
|
||||
})
|
||||
|
||||
self.assertEqual(invoices[0].l10n_it_edi_state, "processing")
|
||||
self.assertEqual(invoices[0].l10n_it_edi_transaction, success['id_transaction'])
|
||||
self.assertTrue(invoices[0].l10n_it_edi_header)
|
||||
|
||||
self.assertFalse(invoices[1].l10n_it_edi_state)
|
||||
self.assertFalse(invoices[1].l10n_it_edi_transaction)
|
||||
self.assertTrue(invoices[1].l10n_it_edi_header)
|
||||
|
||||
def test_enasarco_no_warnings(self):
|
||||
self.proxy_user.edi_mode = 'demo'
|
||||
ref = self.env['account.chart.template'].with_company(self.proxy_user.company_id).ref
|
||||
self.partner_a.write({
|
||||
"l10n_it_codice_fiscale": "PERTLELPALQZRTSN",
|
||||
'country_id': self.env.ref('base.it').id,
|
||||
'street': 'Test street',
|
||||
'city': 'Test town',
|
||||
'zip': '32121',
|
||||
})
|
||||
invoice = self.init_invoice(partners=self.partner_a, taxes=ref('22v') | ref('23vwo') | ref('enasarcov'))
|
||||
wizard = self.create_send_and_print(invoice, sending_methods=['l10n_it_edi'])
|
||||
non_info_alerts = {k: v for k, v in wizard.alerts.items() if v.get('level') != 'info'}
|
||||
self.assertFalse(non_info_alerts)
|
||||
|
||||
def test_l10n_it_edi_foreign_currency(self):
|
||||
invoice = self.env['account.move'].create({
|
||||
'move_type': 'out_invoice',
|
||||
'partner_id': self.italian_partner_a.id,
|
||||
'company_id': self.company.id,
|
||||
'currency_id': self.env.ref('base.USD').id,
|
||||
'invoice_line_ids': [(0, 0, {
|
||||
'name': 'Zero total line',
|
||||
'quantity': 1.0,
|
||||
'price_unit': 100.0,
|
||||
'discount': 100.0,
|
||||
'tax_ids': [(6, 0, self.default_tax.ids)],
|
||||
})],
|
||||
})
|
||||
invoice.action_post()
|
||||
self.generate_l10n_it_edi_send_attachments(invoice)
|
||||
self.assertTrue(invoice.l10n_it_edi_attachment_file)
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
from odoo.tests import tagged
|
||||
|
||||
from odoo.addons.base.tests.common import HttpCaseWithUserPortal
|
||||
from odoo.addons.l10n_it_edi.tests.common import TestItEdi
|
||||
|
||||
|
||||
@tagged('post_install_l10n', 'post_install', '-at_install')
|
||||
class TestUi(HttpCaseWithUserPortal, TestItEdi):
|
||||
def test_portal_user_codice_fiscale(self):
|
||||
self.env.company.country_id = self.env.ref('base.it')
|
||||
it_user_portal = self._create_new_portal_user(name='IT User')
|
||||
# If website is installed, the website's company (main_company) should also have country as Italy
|
||||
company = self.env.ref('base.main_company')
|
||||
company.account_fiscal_country_id = company.country_id = self.env.company.country_id
|
||||
|
||||
self.start_tour("/my", 'portal_compute_codice_fiscale', login="portal_user")
|
||||
self.assertEqual(
|
||||
it_user_portal.l10n_it_codice_fiscale,
|
||||
'12345670017',
|
||||
"The user should have the Codice Fiscale filled according to the VAT",
|
||||
)
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,19 +1,19 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
import datetime
|
||||
import logging
|
||||
import uuid
|
||||
from freezegun import freeze_time
|
||||
from lxml import etree
|
||||
from unittest.mock import MagicMock, patch
|
||||
from unittest.mock import patch
|
||||
|
||||
from odoo import Command, fields, sql_db
|
||||
from odoo.tests import tagged
|
||||
from odoo import fields, sql_db, tools, Command
|
||||
from odoo.exceptions import ValidationError
|
||||
from odoo.tests import new_test_user, tagged
|
||||
from odoo.addons.l10n_it_edi.tests.common import TestItEdi
|
||||
from odoo.addons.l10n_it_edi.tools.remove_signature import remove_signature
|
||||
|
||||
import logging
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@tagged('post_install_l10n', 'post_install', '-at_install')
|
||||
class TestItEdiImport(TestItEdi):
|
||||
""" Main test class for the l10n_it_edi vendor bills XML import"""
|
||||
|
|
@ -42,69 +42,153 @@ class TestItEdiImport(TestItEdi):
|
|||
</FatturaElettronicaBody>
|
||||
</p:FatturaElettronica>"""
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
|
||||
# Build test data.
|
||||
# invoice_filename1 is used for vendor bill receipts tests
|
||||
# invoice_filename2 is used for vendor bill tests
|
||||
cls.invoice_filename1 = 'IT01234567890_FPR01.xml'
|
||||
cls.invoice_filename2 = 'IT01234567890_FPR02.xml'
|
||||
cls.signed_invoice_filename = 'IT01234567890_FPR01.xml.p7m'
|
||||
cls.wrongly_signed_invoice_filename = 'IT09633951000_NpFwF.xml.p7m'
|
||||
cls.invoice_content = cls._get_test_file_content(cls.invoice_filename1)
|
||||
cls.signed_invoice_content = cls._get_test_file_content(cls.signed_invoice_filename)
|
||||
cls.wrongly_signed_invoice_content = cls._get_test_file_content(cls.wrongly_signed_invoice_filename)
|
||||
cls.invoice = cls.env['account.move'].create({
|
||||
'move_type': 'in_invoice',
|
||||
'ref': '01234567890'
|
||||
})
|
||||
cls.attachment = cls.env['ir.attachment'].create({
|
||||
'name': cls.invoice_filename1,
|
||||
'raw': cls.invoice_content,
|
||||
'res_id': cls.invoice.id,
|
||||
'res_model': 'account.move',
|
||||
})
|
||||
cls.edi_document = cls.env['account.edi.document'].create({
|
||||
'edi_format_id': cls.edi_format.id,
|
||||
'move_id': cls.invoice.id,
|
||||
'attachment_id': cls.attachment.id,
|
||||
'state': 'sent'
|
||||
})
|
||||
|
||||
cls.test_invoice_xmls = {k: cls._get_test_file_content(v) for k, v in [
|
||||
('normal_1', 'IT01234567890_FPR01.xml'),
|
||||
('signed', 'IT01234567890_FPR01.xml.p7m'),
|
||||
]}
|
||||
|
||||
def mock_commit(self):
|
||||
pass
|
||||
|
||||
# -----------------------------
|
||||
#
|
||||
# Vendor bills
|
||||
#
|
||||
# -----------------------------
|
||||
|
||||
def test_receive_vendor_bill(self):
|
||||
""" Test a sample e-invoice file from https://www.fatturapa.gov.it/export/documenti/fatturapa/v1.2/IT01234567890_FPR01.xml """
|
||||
content = etree.fromstring(self.invoice_content)
|
||||
invoices = self.edi_format._create_invoice_from_xml_tree(self.invoice_filename2, content)
|
||||
self.assertTrue(bool(invoices))
|
||||
""" Test a sample e-invoice file from
|
||||
https://www.fatturapa.gov.it/export/documenti/fatturapa/v1.2/IT01234567890_FPR01.xml
|
||||
"""
|
||||
|
||||
# Added to ensures that a 0.00 unit price from XML is preserved.
|
||||
applied_xml = """
|
||||
<xpath expr="//FatturaElettronicaBody/DatiBeniServizi/DettaglioLinee" position="after">
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<Descrizione>[TEST] Test Product</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>0.00</PrezzoUnitario>
|
||||
<PrezzoTotale>0.00</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
</xpath>
|
||||
"""
|
||||
|
||||
self._assert_import_invoice('IT01234567890_FPR01.xml', [{
|
||||
'move_type': 'in_invoice',
|
||||
'invoice_date': fields.Date.from_string('2014-12-18'),
|
||||
'amount_untaxed': 5.0,
|
||||
'amount_tax': 1.1,
|
||||
'invoice_line_ids': [
|
||||
{
|
||||
'quantity': 5.0,
|
||||
'price_unit': 1.0,
|
||||
'debit': 5.0,
|
||||
},
|
||||
{
|
||||
'quantity': 1.0,
|
||||
'price_unit': 0.0,
|
||||
'debit': 0.0,
|
||||
},
|
||||
],
|
||||
}], applied_xml)
|
||||
|
||||
def test_receive_vendor_bill_sconto_maggiorazione(self):
|
||||
""" Test a sample e-invoice file with
|
||||
ScontoMaggiorazione on lines
|
||||
"""
|
||||
self._assert_import_invoice('IT01234567890_DISC1.xml', [{
|
||||
'move_type': 'in_invoice',
|
||||
'invoice_date': fields.Date.from_string('2014-12-18'),
|
||||
'amount_untaxed': 28.75,
|
||||
'amount_tax': 6.32,
|
||||
'invoice_line_ids': [{
|
||||
'quantity': 5.0,
|
||||
'price_unit': 1.0,
|
||||
'discount': 0,
|
||||
'debit': 5.0,
|
||||
},
|
||||
{
|
||||
'quantity': 5.0,
|
||||
'price_unit': 10.0,
|
||||
'discount': 52.5,
|
||||
'debit': 23.75,
|
||||
},
|
||||
{
|
||||
'quantity': 1.0,
|
||||
'price_unit': 0.0,
|
||||
'discount': 0.0,
|
||||
'debit': 0.0,
|
||||
}],
|
||||
}])
|
||||
|
||||
def test_receive_negative_vendor_bill(self):
|
||||
""" Same vendor bill as test_receive_vendor_bill but negative unit price """
|
||||
self._assert_import_invoice('IT01234567890_FPR02.xml', [{
|
||||
'move_type': 'in_invoice',
|
||||
'invoice_date': fields.Date.from_string('2014-12-18'),
|
||||
'amount_untaxed': -5.0,
|
||||
'amount_tax': -1.1,
|
||||
'invoice_line_ids': [{
|
||||
'quantity': 5.0,
|
||||
'price_unit': -1.0,
|
||||
'credit': 5.0,
|
||||
}],
|
||||
}])
|
||||
|
||||
def test_import_refund_with_linked_po(self):
|
||||
if self.env['ir.module.module']._get('purchase').state != 'installed':
|
||||
self.skipTest("purchase module is not installed")
|
||||
|
||||
product = self.env['product.product'].create({
|
||||
'name': 'DESCRIZIONE DELLA FORNITURA',
|
||||
'supplier_taxes_id': [Command.set(self.default_tax.ids)],
|
||||
})
|
||||
purchase = self.env['purchase.order'].with_company(self.company).with_context(tracking_disable=True).create(
|
||||
{
|
||||
'partner_id': self.italian_partner_a.id,
|
||||
'partner_ref': 'PO-001',
|
||||
'order_line': [
|
||||
Command.create({
|
||||
'product_qty': 10.0,
|
||||
'product_id': product.id,
|
||||
'price_unit': 1.0,
|
||||
'name': 'DESCRIZIONE DELLA FORNITURA',
|
||||
}),
|
||||
],
|
||||
})
|
||||
purchase.button_confirm()
|
||||
|
||||
self._assert_import_invoice('IT01234567890_FPR04.xml', [{
|
||||
'move_type': 'in_refund',
|
||||
'invoice_origin': purchase.name,
|
||||
'invoice_date': fields.Date.from_string('2014-12-18'),
|
||||
'amount_untaxed': 5.0,
|
||||
'amount_tax': 1.1,
|
||||
'is_purchase_matched': True,
|
||||
'invoice_line_ids': [{
|
||||
'display_type': 'line_section',
|
||||
'quantity': 0.0,
|
||||
'price_unit': 0.0,
|
||||
'credit': 0.0,
|
||||
}, {
|
||||
'display_type': 'product',
|
||||
'quantity': 5.0,
|
||||
'price_unit': 1.0,
|
||||
'credit': 5.0,
|
||||
}, {
|
||||
'display_type': 'line_section',
|
||||
'quantity': 0.0,
|
||||
'price_unit': 0.0,
|
||||
'credit': 0.0,
|
||||
}],
|
||||
}])
|
||||
|
||||
def test_receive_signed_vendor_bill(self):
|
||||
""" Test a signed (P7M) sample e-invoice file from https://www.fatturapa.gov.it/export/documenti/fatturapa/v1.2/IT01234567890_FPR01.xml """
|
||||
with freeze_time('2020-04-06'):
|
||||
content = etree.fromstring(remove_signature(self.signed_invoice_content))
|
||||
invoices = self.edi_format._create_invoice_from_xml_tree(self.signed_invoice_filename, content)
|
||||
|
||||
self.assertRecordValues(invoices, [{
|
||||
'company_id': self.company.id,
|
||||
'name': 'BILL/2014/12/0001',
|
||||
'invoice_date': datetime.date(2014, 12, 18),
|
||||
'ref': '01234567890',
|
||||
}])
|
||||
""" Test a signed (P7M) sample e-invoice file from
|
||||
https://www.fatturapa.gov.it/export/documenti/fatturapa/v1.2/IT01234567890_FPR01.xml
|
||||
"""
|
||||
self._assert_import_invoice('IT01234567890_FPR01.xml.p7m', [{
|
||||
'ref': '01234567890',
|
||||
'invoice_date': fields.Date.from_string('2014-12-18'),
|
||||
'amount_untaxed': 5.0,
|
||||
'amount_tax': 1.1,
|
||||
'invoice_line_ids': [{
|
||||
'quantity': 5.0,
|
||||
'price_unit': 1.0,
|
||||
}],
|
||||
}])
|
||||
|
||||
def test_receive_wrongly_signed_vendor_bill(self):
|
||||
"""
|
||||
|
|
@ -125,34 +209,94 @@ class TestItEdiImport(TestItEdi):
|
|||
task-3502910
|
||||
"""
|
||||
with freeze_time('2019-01-01'):
|
||||
filename, content = (
|
||||
self.wrongly_signed_invoice_filename,
|
||||
self.wrongly_signed_invoice_content,
|
||||
)
|
||||
tree = self.edi_format._decode_p7m_to_xml(filename, content)
|
||||
invoices = self.edi_format._create_invoice_from_xml_tree(filename, tree)
|
||||
|
||||
self.assertRecordValues(invoices, [{
|
||||
'name': 'BILL/2023/09/0001',
|
||||
self._assert_import_invoice('IT09633951000_NpFwF.xml.p7m', [{
|
||||
'ref': '333333333333333',
|
||||
'invoice_date': fields.Date.from_string('2023-09-08'),
|
||||
'amount_untaxed': 57.54,
|
||||
'amount_untaxed': 39.54,
|
||||
'amount_tax': 3.95,
|
||||
}])
|
||||
|
||||
def test_import_invoice_with_multiple_same_vat(self):
|
||||
(self.italian_partner_a | self.italian_partner_b).update({
|
||||
'vat': "IT06655971007",
|
||||
'l10n_it_codice_fiscale': '06655971007',
|
||||
})
|
||||
self._assert_import_invoice('IT01234567892_FPR01.xml', [{
|
||||
'partner_id': self.italian_partner_b.id,
|
||||
}], move_type="out_invoice")
|
||||
self.italian_partner_b.active = False
|
||||
self._assert_import_invoice('IT01234567892_FPR01.xml', [{
|
||||
'partner_id': self.italian_partner_a.id,
|
||||
}], move_type="out_invoice")
|
||||
|
||||
def test_receive_bill_sequence(self):
|
||||
""" Ensure that the received bill gets assigned the right sequence. """
|
||||
def mock_commit(self):
|
||||
pass
|
||||
|
||||
super_create = self.env.registry['account.move'].create
|
||||
created_moves = []
|
||||
|
||||
def mock_create(self, vals_list):
|
||||
moves = super_create(self, vals_list)
|
||||
created_moves.extend(moves)
|
||||
return moves
|
||||
|
||||
filename = 'IT01234567890_FPR02.xml'
|
||||
with (patch.object(self.proxy_user.__class__, '_decrypt_data', return_value=self.fake_test_content),
|
||||
patch.object(sql_db.Cursor, "commit", mock_commit),
|
||||
patch.object(self.env.registry['account.move'], 'create', mock_create),
|
||||
freeze_time('2019-01-01')):
|
||||
self.env['account.move'].with_company(self.company)._l10n_it_edi_process_downloads({
|
||||
'999999999': {
|
||||
'filename': filename,
|
||||
'file': self.fake_test_content,
|
||||
'key': str(uuid.uuid4()),
|
||||
}},
|
||||
self.proxy_user,
|
||||
)
|
||||
self.assertEqual(len(created_moves), 1)
|
||||
|
||||
def test_cron_receives_bill_in_preferred_journal(self):
|
||||
""" Ensure that the received bill is in the preferred journal set from the setting. """
|
||||
preferred_journal = self.company_data_2['default_journal_purchase'].copy()
|
||||
filename = 'IT01234567890_FPR02.xml'
|
||||
|
||||
with self.assertRaisesRegex(ValidationError, "The Italian default purchase journal requires a default account."):
|
||||
# When copying journal, the default_account_id are not copied.
|
||||
# It should raise an error when we try to set the company's default purchase journal in the Settings.
|
||||
self.company.l10n_it_edi_purchase_journal_id = preferred_journal
|
||||
|
||||
preferred_journal.default_account_id = self.company_data_2['default_journal_purchase'].default_account_id.id
|
||||
|
||||
with tools.file_open(f'{self.module}/tests/import_xmls/{filename}', mode='rb') as fd:
|
||||
fake_bill_content = fd.read()
|
||||
|
||||
with (patch.object(self.env.registry['account_edi_proxy_client.user'], '_decrypt_data', return_value=fake_bill_content),
|
||||
freeze_time('2019-01-01')):
|
||||
self.env['account.move'].with_company(self.company)._l10n_it_edi_process_downloads({
|
||||
'999999999': {
|
||||
'filename': filename,
|
||||
'file': fake_bill_content,
|
||||
'key': str(uuid.uuid4()),
|
||||
}},
|
||||
self.proxy_user,
|
||||
)
|
||||
|
||||
imported_bill = self.env['account.move'].with_company(self.company).search([])
|
||||
self.assertEqual(len(imported_bill), 1)
|
||||
self.assertRecordValues(imported_bill.journal_id, [{
|
||||
'id': preferred_journal.id,
|
||||
'default_account_id': self.company_data_2['default_journal_purchase'].default_account_id.id,
|
||||
}])
|
||||
|
||||
def test_cron_receives_bill_from_another_company(self):
|
||||
""" Ensure that when from one of your company, you bill the other, the
|
||||
import isn't impeded because of conflicts with the filename """
|
||||
fattura_pa = self.env.ref('l10n_it_edi.edi_fatturaPA')
|
||||
content = self.fake_test_content.encode()
|
||||
|
||||
# Our test content is not encrypted
|
||||
proxy_user = MagicMock()
|
||||
proxy_user.company_id = self.company
|
||||
proxy_user._decrypt_data.return_value = content
|
||||
|
||||
other_company = self.company_data['company']
|
||||
filename = 'IT01234567890_FPR02.xml'
|
||||
def mock_commit(self):
|
||||
pass
|
||||
|
||||
invoice = self.env['account.move'].with_company(other_company).create({
|
||||
'move_type': 'out_invoice',
|
||||
|
|
@ -166,22 +310,27 @@ class TestItEdiImport(TestItEdi):
|
|||
})
|
||||
self.env['ir.attachment'].with_company(other_company).create({
|
||||
'name': filename,
|
||||
'datas': content,
|
||||
'datas': self.fake_test_content,
|
||||
'res_model': 'account.move',
|
||||
'res_id': invoice.id,
|
||||
'res_field': 'l10n_it_edi_attachment_file',
|
||||
})
|
||||
|
||||
with patch.object(sql_db.Cursor, "commit", self.mock_commit):
|
||||
fattura_pa._save_incoming_attachment_fattura_pa(
|
||||
proxy_user=proxy_user,
|
||||
id_transaction='9999999999',
|
||||
filename=filename,
|
||||
content=content,
|
||||
key=None)
|
||||
with (patch.object(self.proxy_user.__class__, '_decrypt_data', return_value=self.fake_test_content),
|
||||
patch.object(sql_db.Cursor, "commit", mock_commit)):
|
||||
self.env['account.move'].with_company(self.company)._l10n_it_edi_process_downloads(
|
||||
{'999999999': {
|
||||
'filename': filename,
|
||||
'file': self.fake_test_content,
|
||||
'key': str(uuid.uuid4()),
|
||||
}},
|
||||
self.proxy_user,
|
||||
)
|
||||
|
||||
attachment = self.env['ir.attachment'].search([
|
||||
('name', '=', 'IT01234567890_FPR02.xml'),
|
||||
('res_model', '=', 'account.move'),
|
||||
('res_field', '=', 'l10n_it_edi_attachment_file'),
|
||||
('company_id', '=', self.company.id),
|
||||
])
|
||||
self.assertTrue(attachment)
|
||||
|
|
@ -190,55 +339,278 @@ class TestItEdiImport(TestItEdi):
|
|||
def test_receive_same_vendor_bill_twice(self):
|
||||
""" Test that the second time we are receiving an SdiCoop invoice, the second is discarded """
|
||||
|
||||
fattura_pa = self.env.ref('l10n_it_edi.edi_fatturaPA')
|
||||
content = self.fake_test_content.encode()
|
||||
|
||||
# Our test content is not encrypted
|
||||
proxy_user = MagicMock()
|
||||
proxy_user.company_id = self.company
|
||||
proxy_user._decrypt_data.return_value = content
|
||||
ProxyUser = self.env['account_edi_proxy_client.user']
|
||||
proxy_user = ProxyUser.create({
|
||||
'company_id': self.company.id,
|
||||
'proxy_type': 'l10n_it_edi',
|
||||
'id_client': str(uuid.uuid4()),
|
||||
'edi_identification': ProxyUser._get_proxy_identification(self.company, 'l10n_it_edi'),
|
||||
'private_key_id': self.private_key_id.id,
|
||||
})
|
||||
|
||||
with patch.object(sql_db.Cursor, "commit", self.mock_commit):
|
||||
for dummy in range(2):
|
||||
fattura_pa._save_incoming_attachment_fattura_pa(
|
||||
proxy_user=proxy_user,
|
||||
id_transaction='9999999999',
|
||||
filename=self.invoice_filename2,
|
||||
content=content,
|
||||
key=None)
|
||||
filename = 'IT01234567890_FPR02.xml'
|
||||
|
||||
def mock_commit(self):
|
||||
pass
|
||||
|
||||
with (patch.object(proxy_user.__class__, '_decrypt_data', return_value=self.fake_test_content),
|
||||
patch.object(sql_db.Cursor, "commit", mock_commit),
|
||||
tools.mute_logger("odoo.addons.l10n_it_edi.models.account_move")):
|
||||
for _dummy in range(2):
|
||||
processed = self.env['account.move']._l10n_it_edi_process_downloads({
|
||||
'999999999': {
|
||||
'filename': filename,
|
||||
'file': self.fake_test_content,
|
||||
'key': str(uuid.uuid4()),
|
||||
}},
|
||||
proxy_user,
|
||||
)
|
||||
# The Proxy ACK must be sent in both cases of import success and failure.
|
||||
self.assertEqual(processed['proxy_acks'], ['999999999'])
|
||||
|
||||
# There should be one attachement with this filename
|
||||
attachments = self.env['ir.attachment'].search([('name', '=', self.invoice_filename2)])
|
||||
attachments = self.env['ir.attachment'].search([
|
||||
('name', '=', 'IT01234567890_FPR02.xml'),
|
||||
('res_model', '=', 'account.move'),
|
||||
('res_field', '=', 'l10n_it_edi_attachment_file'),
|
||||
])
|
||||
self.assertEqual(len(attachments), 1)
|
||||
invoices = self.env['account.move'].search([('payment_reference', '=', 'TWICE_TEST')])
|
||||
self.assertEqual(len(invoices), 1)
|
||||
|
||||
def test_receive_bill_with_global_discount(self):
|
||||
content = self.with_applied_xpath(
|
||||
etree.fromstring(self.invoice_content),
|
||||
'''
|
||||
<xpath expr="//FatturaElettronicaBody/DatiGenerali/DatiGeneraliDocumento" position="inside">
|
||||
<ScontoMaggiorazione>
|
||||
<Tipo>SC</Tipo>
|
||||
<Importo>2</Importo>
|
||||
</ScontoMaggiorazione>
|
||||
</xpath>
|
||||
''')
|
||||
invoices = self.edi_format._create_invoice_from_xml_tree(self.invoice_filename2, content)
|
||||
applied_xml = """
|
||||
<xpath expr="//FatturaElettronicaBody/DatiGenerali/DatiGeneraliDocumento" position="inside">
|
||||
<ScontoMaggiorazione>
|
||||
<Tipo>SC</Tipo>
|
||||
<Importo>2</Importo>
|
||||
</ScontoMaggiorazione>
|
||||
</xpath>
|
||||
"""
|
||||
|
||||
self.assertRecordValues(invoices, [{
|
||||
'amount_untaxed': 3.0,
|
||||
self._assert_import_invoice('IT01234567890_FPR01.xml', [{
|
||||
'invoice_date': fields.Date.from_string('2014-12-18'),
|
||||
'amount_untaxed': 5.0,
|
||||
'amount_tax': 1.1,
|
||||
}])
|
||||
self.assertRecordValues(invoices.invoice_line_ids, [
|
||||
{
|
||||
'quantity': 5.0,
|
||||
'name': 'DESCRIZIONE DELLA FORNITURA',
|
||||
'price_unit': 1.0,
|
||||
},
|
||||
{
|
||||
'invoice_line_ids': [
|
||||
{
|
||||
'quantity': 5.0,
|
||||
'name': 'DESCRIZIONE DELLA FORNITURA',
|
||||
'price_unit': 1.0,
|
||||
},
|
||||
],
|
||||
}], applied_xml)
|
||||
|
||||
def test_receive_bill_with_multiple_discounts_in_line(self):
|
||||
applied_xml = """
|
||||
<xpath expr="//FatturaElettronicaBody/DatiBeniServizi/DettaglioLinee[1]" position="inside">
|
||||
<ScontoMaggiorazione>
|
||||
<Tipo>SC</Tipo>
|
||||
<Percentuale>50.00</Percentuale>
|
||||
</ScontoMaggiorazione>
|
||||
<ScontoMaggiorazione>
|
||||
<Tipo>SC</Tipo>
|
||||
<Percentuale>25.00</Percentuale>
|
||||
</ScontoMaggiorazione>
|
||||
<ScontoMaggiorazione>
|
||||
<Tipo>SC</Tipo>
|
||||
<Percentuale>20.00</Percentuale>
|
||||
</ScontoMaggiorazione>
|
||||
</xpath>
|
||||
|
||||
<xpath expr="//FatturaElettronicaBody/DatiBeniServizi/DettaglioLinee[1]/PrezzoTotale" position="replace">
|
||||
<PrezzoTotale>1.50000000</PrezzoTotale>
|
||||
</xpath>
|
||||
"""
|
||||
|
||||
self._assert_import_invoice('IT01234567890_FPR01.xml', [{
|
||||
'invoice_date': fields.Date.from_string('2014-12-18'),
|
||||
'amount_untaxed': 1.5,
|
||||
'amount_tax': 0.33,
|
||||
'invoice_line_ids': [
|
||||
{
|
||||
'quantity': 5.0,
|
||||
'name': 'DESCRIZIONE DELLA FORNITURA',
|
||||
'price_unit': 1.0,
|
||||
'discount': 70.0,
|
||||
}
|
||||
],
|
||||
}], applied_xml)
|
||||
|
||||
def test_receive_two_bills_in_one_file(self):
|
||||
self._assert_import_invoice('IT01234567890_FPR03.xml', [
|
||||
{
|
||||
'invoice_date': fields.Date.from_string('2014-12-18'),
|
||||
'amount_tax': 5.5,
|
||||
'amount_untaxed': 25.0,
|
||||
'invoice_line_ids': [
|
||||
{
|
||||
'name': 'DESCRIZIONE DELLA FORNITURA',
|
||||
'price_unit': 1.0,
|
||||
'quantity': 5.0,
|
||||
},
|
||||
{
|
||||
'name': 'FORNITURE VARIE PER UFFICIO',
|
||||
'price_unit': 2.0,
|
||||
'quantity': 10.0,
|
||||
}
|
||||
],
|
||||
},
|
||||
{
|
||||
'invoice_date': fields.Date.from_string('2014-12-20'),
|
||||
'amount_untaxed': 2000.0,
|
||||
'amount_tax': 440.0,
|
||||
'invoice_line_ids': [{
|
||||
'name': 'DESCRIZIONE DEL SERVIZIO',
|
||||
'price_unit': 2000.0,
|
||||
'quantity': 1.0,
|
||||
'name': 'SCONTO',
|
||||
'price_unit': -2,
|
||||
}
|
||||
])
|
||||
}],
|
||||
},
|
||||
])
|
||||
|
||||
def test_receive_bill_with_maggiorazione_discount(self):
|
||||
""" Test a sample e-invoice file with a discount of type MG (Maggiorazione). """
|
||||
applied_xml = """
|
||||
<xpath expr="//FatturaElettronicaBody/DatiBeniServizi/DettaglioLinee[1]" position="inside">
|
||||
<ScontoMaggiorazione>
|
||||
<Tipo>MG</Tipo>
|
||||
<Percentuale>10.00</Percentuale>
|
||||
</ScontoMaggiorazione>
|
||||
</xpath>
|
||||
|
||||
<xpath expr="//FatturaElettronicaBody/DatiBeniServizi/DettaglioLinee[1]/PrezzoTotale" position="replace">
|
||||
<PrezzoTotale>5.50</PrezzoTotale>
|
||||
</xpath>
|
||||
"""
|
||||
|
||||
self._assert_import_invoice('IT01234567890_FPR01.xml', [{
|
||||
'invoice_date': fields.Date.from_string('2014-12-18'),
|
||||
'amount_untaxed': 5.5,
|
||||
'amount_tax': 1.21,
|
||||
'invoice_line_ids': [
|
||||
{
|
||||
'quantity': 5.0,
|
||||
'name': 'DESCRIZIONE DELLA FORNITURA',
|
||||
'price_unit': 1.0,
|
||||
'discount': -10.0,
|
||||
},
|
||||
],
|
||||
}], applied_xml)
|
||||
|
||||
def test_invoice_user_can_compute_is_self_invoice(self):
|
||||
"""Ensure that a user having only group_account_invoice can compute field l10n_it_edi_is_self_invoice"""
|
||||
user = new_test_user(self.env, login='jag', groups='account.group_account_invoice')
|
||||
move = self.env['account.move'].create({'move_type': 'in_invoice'})
|
||||
move.with_user(user).read(['l10n_it_edi_is_self_invoice']) # should not raise
|
||||
|
||||
def test_l10n_it_payment_method_correctly_imported(self):
|
||||
self._assert_import_invoice('IT01234567890_FPR01.xml', [{
|
||||
'move_type': 'in_invoice',
|
||||
'invoice_date': fields.Date.from_string('2014-12-18'),
|
||||
'amount_untaxed': 5.0,
|
||||
'amount_tax': 1.1,
|
||||
'invoice_line_ids': [{
|
||||
'quantity': 5.0,
|
||||
'price_unit': 1.0,
|
||||
'debit': 5.0,
|
||||
}],
|
||||
'l10n_it_payment_method': 'MP01',
|
||||
}])
|
||||
|
||||
def test_import_vendor_bill_with_ref_service_valid_tax(self):
|
||||
"""Ensure that importing vendor bill with a referenced service product, with a service tax of 22% S
|
||||
only applies one tax on the product
|
||||
"""
|
||||
sale_tax = self.env['account.tax'].search([('display_name', '=', '22%'), ('company_id', '=', self.company.id)])[0]
|
||||
supplier_tax = self.env['account.tax'].search([('display_name', '=', '22% S'), ('company_id', '=', self.company.id)])[0]
|
||||
self.env['product.product'].create({
|
||||
'name': 'Servizio tecnico',
|
||||
'default_code': 'abcdefgh',
|
||||
'type': 'service',
|
||||
'list_price': 150.0,
|
||||
'taxes_id': [Command.set([sale_tax.id])],
|
||||
'supplier_taxes_id': [Command.set([supplier_tax.id])],
|
||||
})
|
||||
|
||||
self._assert_import_invoice('IT01234567889_FPR03.xml', [{
|
||||
'move_type': 'in_invoice',
|
||||
'invoice_date': fields.Date.from_string('2014-12-18'),
|
||||
'amount_untaxed': 25.0,
|
||||
'amount_tax': 5.5,
|
||||
}])
|
||||
|
||||
def test_cron_import_bill_from_another_company_without_conflicts(self):
|
||||
"""
|
||||
Ensure that in a multi-company environment, importing a bill containing products
|
||||
restricted to another company does not fail due to company inconsistencies.
|
||||
"""
|
||||
test_product = self.env['product.product'].create({
|
||||
'name': 'Test Product',
|
||||
'default_code': 'TEST',
|
||||
'barcode': 'TEST',
|
||||
'standard_price': 75.0,
|
||||
'company_id': self.company_data['company'].id,
|
||||
})
|
||||
self.env['product.supplierinfo'].create({
|
||||
'product_id': test_product.id,
|
||||
'product_code': 'TEST',
|
||||
'partner_id': self.company_data_2["company"].partner_id.id,
|
||||
})
|
||||
|
||||
applied_xml = """
|
||||
<xpath expr="//FatturaElettronicaBody/DatiBeniServizi/DettaglioLinee" position="after">
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>2</NumeroLinea>
|
||||
<CodiceArticolo>
|
||||
<CodiceTipo>EAN</CodiceTipo>
|
||||
<CodiceValore>TEST</CodiceValore>
|
||||
</CodiceArticolo>
|
||||
<Descrizione>[TEST] Test Product</Descrizione>
|
||||
<Quantita>1.00</Quantita>
|
||||
<PrezzoUnitario>5.00</PrezzoUnitario>
|
||||
<PrezzoTotale>5.00</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
<DettaglioLinee>
|
||||
<NumeroLinea>3</NumeroLinea>
|
||||
<CodiceArticolo>
|
||||
<CodiceTipo>INTERNAL</CodiceTipo>
|
||||
<CodiceValore>TEST</CodiceValore>
|
||||
</CodiceArticolo>
|
||||
<Descrizione>[TEST] Test Product</Descrizione>
|
||||
<Quantita>2.00</Quantita>
|
||||
<PrezzoUnitario>4.00</PrezzoUnitario>
|
||||
<PrezzoTotale>8.00</PrezzoTotale>
|
||||
<AliquotaIVA>22.00</AliquotaIVA>
|
||||
</DettaglioLinee>
|
||||
</xpath>
|
||||
"""
|
||||
|
||||
self._assert_import_invoice('IT01234567890_FPR01.xml', [{
|
||||
'move_type': 'in_invoice',
|
||||
'invoice_date': fields.Date.from_string('2014-12-18'),
|
||||
'amount_untaxed': 18.0,
|
||||
'amount_tax': 3.96,
|
||||
'invoice_line_ids': [
|
||||
{
|
||||
"product_id": False,
|
||||
'name': 'DESCRIZIONE DELLA FORNITURA',
|
||||
'quantity': 5.0,
|
||||
'price_unit': 1.0,
|
||||
'debit': 5.0,
|
||||
},
|
||||
{
|
||||
'product_id': False,
|
||||
'name': '[TEST] Test Product',
|
||||
'quantity': 1.0,
|
||||
'price_unit': 5.0,
|
||||
'debit': 5.0,
|
||||
},
|
||||
{
|
||||
'product_id': False,
|
||||
'name': '[TEST] Test Product',
|
||||
'quantity': 2.0,
|
||||
'price_unit': 4.0,
|
||||
'debit': 8.0,
|
||||
},
|
||||
],
|
||||
}], applied_xml)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,65 @@
|
|||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
import datetime
|
||||
from odoo.addons.l10n_it_edi.tests.common import TestItEdi
|
||||
from odoo.tests.common import tagged
|
||||
from odoo import Command
|
||||
|
||||
@tagged('post_install_l10n', 'post_install', '-at_install')
|
||||
class TestItEdiPa(TestItEdi):
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
|
||||
cls.Move = cls.env['account.move'].with_company(cls.company)
|
||||
journal_code = cls.company_data_2['default_journal_sale'].code
|
||||
cls.split_payment_tax = cls.env['account.tax'].with_company(cls.company).search([('name', '=', '22% SP')])
|
||||
cls.split_payment_line_data = {
|
||||
'name': 'standard_line',
|
||||
'quantity': 1,
|
||||
'price_unit': 800.40,
|
||||
'tax_ids': [Command.set(cls.split_payment_tax.ids)],
|
||||
}
|
||||
|
||||
cls.pa_partner_invoice_data = {
|
||||
'move_type': 'out_invoice',
|
||||
'invoice_date': datetime.date(2022, 3, 24),
|
||||
'invoice_date_due': datetime.date(2022, 3, 24),
|
||||
'partner_id': cls.italian_partner_b.id,
|
||||
'partner_bank_id': cls.test_bank.id,
|
||||
'invoice_line_ids': [
|
||||
Command.create(cls.split_payment_line_data),
|
||||
],
|
||||
'l10n_it_origin_document_type': 'purchase_order',
|
||||
'l10n_it_origin_document_date': datetime.date(2022, 3, 23),
|
||||
'l10n_it_origin_document_name': f"{journal_code}/2022/0001",
|
||||
'l10n_it_cup': '0123456789',
|
||||
'l10n_it_cig': '0987654321'
|
||||
}
|
||||
cls.pa_partner_invoice = cls.Move.create(cls.pa_partner_invoice_data)
|
||||
cls.pa_partner_invoice_2 = cls.Move.create({
|
||||
**cls.pa_partner_invoice_data,
|
||||
'l10n_it_origin_document_type': False,
|
||||
})
|
||||
cls.pa_partner_invoice._post()
|
||||
|
||||
def test_send_pa_partner(self):
|
||||
""" ImportoTotaleDocumento must include VAT
|
||||
ImportoPagamento must be without VAT
|
||||
EsigibilitaIva of the Split payment tax must be 'S'
|
||||
The orgin_document fields must appear in the XML.
|
||||
Use reference validator: https://fex-app.com/servizi/inizia
|
||||
"""
|
||||
self._assert_export_invoice(self.pa_partner_invoice, 'split_payment.xml')
|
||||
|
||||
credit_note_wizard = self.env['account.move.reversal'] \
|
||||
.with_context(active_model='account.move', active_ids=self.pa_partner_invoice.ids) \
|
||||
.create({
|
||||
'date': datetime.date(2022, 3, 25),
|
||||
'journal_id': self.pa_partner_invoice.journal_id.id,
|
||||
})
|
||||
action = credit_note_wizard.reverse_moves()
|
||||
credit_note = self.env['account.move'].browse(action['res_id'])
|
||||
credit_note.action_post()
|
||||
self._assert_export_invoice(credit_note, 'split_payment_cn.xml')
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue