Change the 347 cehck from party to tax, and change the calculation of the 347 registers. Now it's possible to have some invoices wih lines added in the 347 and lines without.
This commit is contained in:
parent
05f9fc157f
commit
67ddb0f0bb
|
@ -4,14 +4,11 @@
|
|||
from trytond.pool import Pool
|
||||
from . import aeat
|
||||
from . import invoice
|
||||
from . import party
|
||||
from . import tax
|
||||
|
||||
|
||||
def register():
|
||||
Pool.register(
|
||||
party.Party,
|
||||
party.PartyIdentifier,
|
||||
aeat.Report,
|
||||
aeat.PartyRecord,
|
||||
aeat.PropertyRecord,
|
||||
|
@ -23,8 +20,6 @@ def register():
|
|||
invoice.Reasign347RecordEnd,
|
||||
tax.TaxTemplate,
|
||||
tax.Tax,
|
||||
tax.TaxRuleTemplate,
|
||||
tax.TaxRule,
|
||||
module='aeat_347', type_='model')
|
||||
Pool.register(
|
||||
invoice.Recalculate347Record,
|
||||
|
|
251
account_es.xml
251
account_es.xml
|
@ -2,247 +2,340 @@
|
|||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
this repository contains the full copyright notices and license terms. -->
|
||||
<tryton>
|
||||
|
||||
<data depends="account_es" grouped="1">
|
||||
<record model="account.tax.template" id="account_es.iva_X0_compras_bc">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_X0_compras_bi">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_X4_compras_bc">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_X4_compras_bi">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_X10_compras_bc">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_X10_compras_bi">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_X21_compras_bc">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_X21_compras_bi">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_X0">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_ISP_compras_16">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_ISP_reciclaje_0">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_ISP_obra_0">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_IO">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_IO_serv">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_dev_AI">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_dev_AI_serv">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_ded_AI">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_ded_AI_serv">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_IC_compras_4_bc">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_IC_compras_4_bc_1">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_IC_compras_4_bc_2">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_IC_compras_4_bi">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_IC_compras_4_bi_1">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_IC_compras_4_bi_2">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_IC_compras_4_servicios">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_IC_compras_4_servicios_1">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_IC_compras_4_servicios_2">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_IC_compras_10_bc">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_IC_compras_10_bc_1">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_IC_compras_10_bc_2">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_IC_compras_10_bi">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_IC_compras_10_bi_1">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_IC_compras_10_bi_2">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_IC_compras_10_servicios">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_IC_compras_10_servicios_1">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_IC_compras_10_servicios_2">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_IC_compras_21_bc">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_IC_compras_21_bc_1">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_IC_compras_21_bc_2">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_IC_compras_21_bi">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_IC_compras_21_bi_1">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_IC_compras_21_bi_2">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_IC_compras_21_ser">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_IC_compras_21_ser_1">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_IC_compras_21_ser_2">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_reagp_compras_12_1">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_ISP_compras">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_ISP_compras_1">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_ISP_compras_2">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_ISP_compras_bi">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_ISP_compras_bi_1">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_ISP_compras_bi_2">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_rep_no_sujeto">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_sop_no_sujeto">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
</data>
|
||||
<data depends="account_es" grouped="1">
|
||||
<record model="account.tax.template" id="account_es.iva_sop_ex">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_sop_4">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_sop_10">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_sop_21">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_sop_ex_inv">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_sop_4_inv">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_sop_10_inv">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_sop_21_inv">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_rep_ex">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_rep_0_asis">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_rep_0_ter_rus">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_rep_4">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_rep_10">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_rep_21">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_sop_alq_ex">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_rep_alq_ex">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_no_ded_4">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_no_ded_10">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.iva_no_ded_21">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">base_amount</field>
|
||||
</record>
|
||||
</data>
|
||||
<data depends="account_es" grouped="1">
|
||||
<record model="account.tax.template" id="account_es.re_buy_05">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">amount_only</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.re_buy_14">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">amount_only</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.re_buy_52">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">amount_only</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.re_05">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">amount_only</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.re_14">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">amount_only</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.re_52">
|
||||
<field name="include_347" eval="True"/>
|
||||
<field name="operation_347">amount_only</field>
|
||||
</record>
|
||||
</data>
|
||||
<data depends="account_es" grouped="1">
|
||||
<record model="account.tax.template" id="account_es.irpf_1">
|
||||
<field name="operation_347">exclude_invoice</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.irpf_2">
|
||||
<field name="operation_347">exclude_invoice</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.irpf_7">
|
||||
<field name="operation_347">exclude_invoice</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.irpf_9">
|
||||
<field name="operation_347">exclude_invoice</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.irpf_15">
|
||||
<field name="operation_347">exclude_invoice</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.irpf_18">
|
||||
<field name="operation_347">exclude_invoice</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.irpf_19">
|
||||
<field name="operation_347">exclude_invoice</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.irpf_195">
|
||||
<field name="operation_347">exclude_invoice</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.irpf_20">
|
||||
<field name="operation_347">exclude_invoice</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.irpf_21">
|
||||
<field name="operation_347">exclude_invoice</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.irpf_35">
|
||||
<field name="operation_347">exclude_invoice</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.irpf_37">
|
||||
<field name="operation_347">exclude_invoice</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.irpf_19a">
|
||||
<field name="operation_347">exclude_invoice</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.irpf_195a">
|
||||
<field name="operation_347">exclude_invoice</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.irpf_20a">
|
||||
<field name="operation_347">exclude_invoice</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.irpf_sale_1">
|
||||
<field name="operation_347">exclude_invoice</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.irpf_sale_2">
|
||||
<field name="operation_347">exclude_invoice</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.irpf_sale_7">
|
||||
<field name="operation_347">exclude_invoice</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.irpf_sale_9">
|
||||
<field name="operation_347">exclude_invoice</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.irpf_sale_15">
|
||||
<field name="operation_347">exclude_invoice</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.irpf_sale_18">
|
||||
<field name="operation_347">exclude_invoice</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.irpf_sale_19">
|
||||
<field name="operation_347">exclude_invoice</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.irpf_sale_195">
|
||||
<field name="operation_347">exclude_invoice</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.irpf_sale_20">
|
||||
<field name="operation_347">exclude_invoice</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.irpf_sale_21">
|
||||
<field name="operation_347">exclude_invoice</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.irpf_sale_35">
|
||||
<field name="operation_347">exclude_invoice</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.irpf_sale_37">
|
||||
<field name="operation_347">exclude_invoice</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.irpf_sale_19a">
|
||||
<field name="operation_347">exclude_invoice</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.irpf_sale_195a">
|
||||
<field name="operation_347">exclude_invoice</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="account_es.irpf_sale_20a">
|
||||
<field name="operation_347">exclude_invoice</field>
|
||||
</record>
|
||||
</data>
|
||||
</tryton>
|
||||
|
|
7
aeat.py
7
aeat.py
|
@ -21,6 +21,7 @@ __all__ = ['Report', 'PartyRecord', 'PropertyRecord']
|
|||
_ZERO = Decimal('0.0')
|
||||
|
||||
OPERATION_KEY = [
|
||||
('none', 'Leave Empty'),
|
||||
('A', 'A - Good and service adquisitions above limit (1)'),
|
||||
('B', 'B - Good and service deliveries above limit (1)'),
|
||||
('C', 'C - Money collection on behavlf of third parties above '
|
||||
|
@ -330,12 +331,10 @@ class Report(Workflow, ModelSQL, ModelView):
|
|||
%s
|
||||
FROM
|
||||
aeat_347_record as r
|
||||
LEFT JOIN party_party as p on p.id = r.party
|
||||
WHERE
|
||||
r.fiscalyear = %s and
|
||||
(p.include_347 = true)
|
||||
r.fiscalyear = %s
|
||||
GROUP BY
|
||||
r.party, r.operation_key, p.name
|
||||
r.party, r.operation_key
|
||||
HAVING
|
||||
sum(amount) > %s
|
||||
""" % (cls.aggregate_function(), report.fiscalyear.id,
|
||||
|
|
148
invoice.py
148
invoice.py
|
@ -1,14 +1,13 @@
|
|||
# This file is part aeat_347 module for Tryton.
|
||||
# The COPYRIGHT file at the top level of this repository contains
|
||||
# the full copyright notices and license terms.
|
||||
from trytond import backend
|
||||
from trytond.model import ModelSQL, ModelView, fields
|
||||
from trytond.wizard import Wizard, StateView, StateTransition, Button
|
||||
from trytond.pool import Pool, PoolMeta
|
||||
from trytond.pyson import Eval, Bool
|
||||
from trytond.transaction import Transaction
|
||||
from sql.operators import In
|
||||
from .aeat import OPERATION_KEY
|
||||
##from trytond.modules.aeat_347.aeat import OPERATION_KEY
|
||||
|
||||
__all__ = ['Record', 'Invoice', 'Recalculate347RecordStart',
|
||||
'Recalculate347RecordEnd', 'Recalculate347Record', 'Reasign347RecordStart',
|
||||
|
@ -80,64 +79,42 @@ class Record(ModelSQL, ModelView):
|
|||
class Invoice(metaclass=PoolMeta):
|
||||
__name__ = 'account.invoice'
|
||||
|
||||
include_347 = fields.Boolean('Include 347')
|
||||
aeat347_operation_key = fields.Selection([('', ''), ] + OPERATION_KEY,
|
||||
'AEAT 347 Operation Key',
|
||||
states={
|
||||
'invisible': ~Bool(Eval('include_347')),
|
||||
'required': Bool(Eval('include_347')),
|
||||
},
|
||||
depends=['include_347'])
|
||||
aeat347_operation_key = fields.Selection(OPERATION_KEY,
|
||||
'AEAT 347 Operation Key')
|
||||
|
||||
@classmethod
|
||||
def __register__(cls, module_name):
|
||||
pool = Pool()
|
||||
Record = pool.get('aeat.347.record')
|
||||
TableHandler = backend.get('TableHandler')
|
||||
|
||||
cursor = Transaction().connection.cursor()
|
||||
table = TableHandler(cls, module_name)
|
||||
table_line = TableHandler(cls, 'account.invoice.line')
|
||||
table = cls.__table_handler__(module_name)
|
||||
sql_table = cls.__table__()
|
||||
record_table = Record.__table__()
|
||||
|
||||
exist_347 = table.column_exist('include_347')
|
||||
|
||||
super(Invoice, cls).__register__(module_name)
|
||||
if exist_347:
|
||||
table.drop_column('include_347')
|
||||
cursor.execute(*sql_table.update(
|
||||
columns=[sql_table.aeat347_operation_key],
|
||||
values=['none'],
|
||||
where=(sql_table.aeat347_operation_key == '')
|
||||
| (sql_table.aeat347_operation_key == None)))
|
||||
|
||||
# Migration: moved 347 check mark from invoice line to invoice
|
||||
if not exist_347:
|
||||
cursor.execute(*record_table.select(record_table.invoice,
|
||||
record_table.operation_key))
|
||||
for invoice_id, operation_key in cursor.fetchall():
|
||||
cursor.execute(*sql_table.update(
|
||||
columns=[sql_table.include_347,
|
||||
sql_table.aeat347_operation_key],
|
||||
values=[True, operation_key],
|
||||
where=sql_table.id == invoice_id))
|
||||
table_line.drop_column('include_347')
|
||||
table_line.drop_column('aeat347_operation_key')
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Invoice, cls).__setup__()
|
||||
cls._check_modify_exclude += ['aeat347_operation_key']
|
||||
|
||||
def on_change_party(self):
|
||||
super(Invoice, self).on_change_party()
|
||||
self.include_347 = self.on_change_with_include_347()
|
||||
self.aeat347_operation_key = \
|
||||
self.on_change_with_aeat347_operation_key()
|
||||
@staticmethod
|
||||
def default_aeat347_operation_key():
|
||||
return None
|
||||
|
||||
@fields.depends('party')
|
||||
def on_change_with_include_347(self, name=None):
|
||||
return self.party.include_347 if self.party else False
|
||||
|
||||
@fields.depends('type', 'aeat347_operation_key', 'include_347')
|
||||
@fields.depends('type', 'aeat347_operation_key')
|
||||
def on_change_with_aeat347_operation_key(self):
|
||||
if not self.include_347:
|
||||
return ''
|
||||
if self.aeat347_operation_key:
|
||||
return self.aeat347_operation_key
|
||||
if self.type:
|
||||
return self.get_aeat347_operation_key(self.type)
|
||||
else:
|
||||
return ''
|
||||
return None
|
||||
|
||||
@classmethod
|
||||
def get_aeat347_operation_key(cls, invoice_type):
|
||||
|
@ -149,10 +126,11 @@ class Invoice(metaclass=PoolMeta):
|
|||
|
||||
amount = 0
|
||||
for tax in self.taxes:
|
||||
if tax.tax.include_347 and (hasattr(tax.tax, 'recargo_equivalencia')
|
||||
and tax.tax.recargo_equivalencia):
|
||||
if tax.tax.operation_347 in ('ignore', 'exclude_invoice'):
|
||||
continue
|
||||
if tax.tax.operation_347 == 'amount_only':
|
||||
amount += tax.amount
|
||||
elif tax.tax.include_347:
|
||||
elif tax.tax.operation_347 == 'base_amount':
|
||||
amount += (tax.base + tax.amount)
|
||||
if amount > self.total_amount:
|
||||
amount = self.total_amount
|
||||
|
@ -163,10 +141,22 @@ class Invoice(metaclass=PoolMeta):
|
|||
return amount
|
||||
|
||||
def check_347_taxes(self):
|
||||
include = False
|
||||
for tax in self.taxes:
|
||||
if not tax.tax.include_347:
|
||||
if tax.tax.operation_347 == 'exclude_invoice':
|
||||
return False
|
||||
return True
|
||||
if tax.tax.operation_347 != 'ignore':
|
||||
include = True
|
||||
return include
|
||||
|
||||
@fields.depends('type', 'aeat347_operation_key')
|
||||
def _on_change_lines_taxes(self):
|
||||
super(Invoice, self)._on_change_lines_taxes()
|
||||
if not self.check_347_taxes():
|
||||
self.aeat347_operation_key = None
|
||||
elif not self.aeat347_operation_key:
|
||||
self.aeat347_operation_key = self.get_aeat347_operation_key(
|
||||
self.type)
|
||||
|
||||
@classmethod
|
||||
def create_aeat347_records(cls, invoices):
|
||||
|
@ -177,12 +167,17 @@ class Invoice(metaclass=PoolMeta):
|
|||
to_create = {}
|
||||
to_update = []
|
||||
for invoice in invoices:
|
||||
if (not invoice.move or invoice.state == 'cancel' or
|
||||
not invoice.include_347):
|
||||
if (not invoice.move or invoice.state == 'cancel'):
|
||||
continue
|
||||
if not invoice.check_347_taxes():
|
||||
invoice.aeat347_operation_key = None
|
||||
to_update.append(invoice)
|
||||
continue
|
||||
if not invoice.aeat347_operation_key:
|
||||
invoice.aeat347_operation_key = \
|
||||
invoice.get_aeat347_operation_key(invoice.type)
|
||||
to_update.append(invoice)
|
||||
|
||||
if invoice.aeat347_operation_key:
|
||||
operation_key = invoice.aeat347_operation_key
|
||||
amount = invoice.get_aeat347_total_amount()
|
||||
|
@ -209,10 +204,8 @@ class Invoice(metaclass=PoolMeta):
|
|||
|
||||
Record.delete_record(invoices)
|
||||
with Transaction().set_context(check_modify_invoice=False):
|
||||
cls.write(to_update, {
|
||||
'aeat347_operation_key': None,
|
||||
'include_347': False,
|
||||
})
|
||||
cls.save(to_update)
|
||||
#cls.save(cls.browse([x.id for x in to_update]))
|
||||
with Transaction().set_user(0, set_context=True):
|
||||
Record.create(to_create.values())
|
||||
|
||||
|
@ -222,34 +215,6 @@ class Invoice(metaclass=PoolMeta):
|
|||
if check:
|
||||
super(Invoice, cls).check_modify(invoices)
|
||||
|
||||
@classmethod
|
||||
def create(cls, vlist):
|
||||
Party = Pool().get('party.party')
|
||||
|
||||
vlist = [x.copy() for x in vlist]
|
||||
|
||||
party_ids = set()
|
||||
for vals in vlist:
|
||||
if 'include_347' not in vals:
|
||||
party_ids.add(vals['party'])
|
||||
|
||||
if party_ids:
|
||||
with Transaction().set_context(active_test=False):
|
||||
parties = dict([(x.id, x.include_347) for x in Party.search([
|
||||
('id', 'in', list(party_ids))])])
|
||||
|
||||
for vals in vlist:
|
||||
if 'include_347' not in vals:
|
||||
party_id = vals['party']
|
||||
vals['include_347'] = parties[party_id]
|
||||
if not vals.get('include_347', True):
|
||||
continue
|
||||
invoice_type = vals.get('type', 'out')
|
||||
vals['aeat347_operation_key'] = cls.get_aeat347_operation_key(
|
||||
invoice_type)
|
||||
|
||||
return super(Invoice, cls).create(vlist)
|
||||
|
||||
@classmethod
|
||||
def draft(cls, invoices):
|
||||
pool = Pool()
|
||||
|
@ -313,13 +278,13 @@ class Reasign347RecordStart(ModelView):
|
|||
"""
|
||||
__name__ = "aeat.347.reasign.records.start"
|
||||
|
||||
aeat_347_operation_key = fields.Selection([('none', 'Leave Empty'), ] +
|
||||
OPERATION_KEY, 'Operation Key', required=True)
|
||||
aeat347_operation_key = fields.Selection(OPERATION_KEY, 'Operation Key',
|
||||
required=True)
|
||||
include_347 = fields.Boolean('Include 347')
|
||||
|
||||
@staticmethod
|
||||
def default_aeat_347_operation_key():
|
||||
return 'none'
|
||||
def default_aeat347_operation_key():
|
||||
return None
|
||||
|
||||
|
||||
class Reasign347RecordEnd(ModelView):
|
||||
|
@ -351,16 +316,11 @@ class Reasign347Record(Wizard):
|
|||
invoice_ids = Transaction().context['active_ids']
|
||||
invoices = Invoice.browse(invoice_ids)
|
||||
|
||||
value = self.start.aeat_347_operation_key
|
||||
include = self.start.include_347
|
||||
if value == 'none' or not include:
|
||||
value = None
|
||||
|
||||
value = self.start.aeat347_operation_key
|
||||
invoice = Invoice.__table__()
|
||||
# Update to allow to modify key for posted invoices
|
||||
cursor.execute(*invoice.update(columns=[invoice.aeat347_operation_key,
|
||||
invoice.include_347],
|
||||
values=[value, include], where=In(invoice.id, invoice_ids)))
|
||||
cursor.execute(*invoice.update(columns=[invoice.aeat347_operation_key,],
|
||||
values=[value], where=In(invoice.id, invoice_ids)))
|
||||
|
||||
Invoice.create_aeat347_records(invoices)
|
||||
|
||||
|
|
18
locale/ca.po
18
locale/ca.po
|
@ -22,7 +22,7 @@ msgctxt "field:aeat.347.reasign.records.end,id:"
|
|||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
msgctxt "field:aeat.347.reasign.records.start,aeat_347_operation_key:"
|
||||
msgctxt "field:aeat.347.reasign.records.start,aeat347_operation_key:"
|
||||
msgid "Operation Key"
|
||||
msgstr "Clau operació"
|
||||
|
||||
|
@ -778,37 +778,37 @@ msgctxt "selection:account.invoice,aeat347_operation_key:"
|
|||
msgid "G - Travel Agency Purchases"
|
||||
msgstr "G - Compres a agències de viatge"
|
||||
|
||||
msgctxt "selection:aeat.347.reasign.records.start,aeat_347_operation_key:"
|
||||
msgctxt "selection:aeat.347.reasign.records.start,aeat347_operation_key:"
|
||||
msgid "A - Good and service adquisitions above limit (1)"
|
||||
msgstr "A - Adquisicions de bens i serveis superiors al límit (1)"
|
||||
|
||||
msgctxt "selection:aeat.347.reasign.records.start,aeat_347_operation_key:"
|
||||
msgctxt "selection:aeat.347.reasign.records.start,aeat347_operation_key:"
|
||||
msgid "B - Good and service deliveries above limit (1)"
|
||||
msgstr "B - Entregues de bens i serveis superiors al límit (1)"
|
||||
|
||||
msgctxt "selection:aeat.347.reasign.records.start,aeat_347_operation_key:"
|
||||
msgctxt "selection:aeat.347.reasign.records.start,aeat347_operation_key:"
|
||||
msgid "C - Money collection on behavlf of third parties above limit (3)"
|
||||
msgstr "C - Cobraments per compte de tercers superiors al límit (3)"
|
||||
|
||||
msgctxt "selection:aeat.347.reasign.records.start,aeat_347_operation_key:"
|
||||
msgctxt "selection:aeat.347.reasign.records.start,aeat347_operation_key:"
|
||||
msgid "D - Adquisitions by Public Institutions (...) above limit (1)"
|
||||
msgstr ""
|
||||
"D - Adquisicions d'institucions públiques (...) superiors al límit (1)"
|
||||
|
||||
msgctxt "selection:aeat.347.reasign.records.start,aeat_347_operation_key:"
|
||||
msgctxt "selection:aeat.347.reasign.records.start,aeat347_operation_key:"
|
||||
msgid "E - Grants and help made by public institutions above limit (1)"
|
||||
msgstr ""
|
||||
"E - Ajudes i subvencions d'administracions públiques superiors al límit (1)"
|
||||
|
||||
msgctxt "selection:aeat.347.reasign.records.start,aeat_347_operation_key:"
|
||||
msgctxt "selection:aeat.347.reasign.records.start,aeat347_operation_key:"
|
||||
msgid "F - Travel Agency Sales"
|
||||
msgstr "F - Vendes a agències de viatge"
|
||||
|
||||
msgctxt "selection:aeat.347.reasign.records.start,aeat_347_operation_key:"
|
||||
msgctxt "selection:aeat.347.reasign.records.start,aeat347_operation_key:"
|
||||
msgid "G - Travel Agency Purchases"
|
||||
msgstr "G - Compres a agències de viatge"
|
||||
|
||||
msgctxt "selection:aeat.347.reasign.records.start,aeat_347_operation_key:"
|
||||
msgctxt "selection:aeat.347.reasign.records.start,aeat347_operation_key:"
|
||||
msgid "Leave Empty"
|
||||
msgstr "Deixar en blanc"
|
||||
|
||||
|
|
22
locale/es.po
22
locale/es.po
|
@ -22,7 +22,7 @@ msgctxt "field:aeat.347.reasign.records.end,id:"
|
|||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
msgctxt "field:aeat.347.reasign.records.start,aeat_347_operation_key:"
|
||||
msgctxt "field:aeat.347.reasign.records.start,aeat347_operation_key:"
|
||||
msgid "Operation Key"
|
||||
msgstr "Clave operación"
|
||||
|
||||
|
@ -777,39 +777,39 @@ msgstr "F - Ventas a agencias de viajes"
|
|||
|
||||
msgctxt "selection:account.invoice,aeat347_operation_key:"
|
||||
msgid "G - Travel Agency Purchases"
|
||||
msgstr "F - Compras a agencias de viajes"
|
||||
msgstr "G - Compras a agencias de viajes"
|
||||
|
||||
msgctxt "selection:aeat.347.reasign.records.start,aeat_347_operation_key:"
|
||||
msgctxt "selection:aeat.347.reasign.records.start,aeat347_operation_key:"
|
||||
msgid "A - Good and service adquisitions above limit (1)"
|
||||
msgstr "A - Adquisiciones de bienes y servicios superiores al límite (1)"
|
||||
|
||||
msgctxt "selection:aeat.347.reasign.records.start,aeat_347_operation_key:"
|
||||
msgctxt "selection:aeat.347.reasign.records.start,aeat347_operation_key:"
|
||||
msgid "B - Good and service deliveries above limit (1)"
|
||||
msgstr "B - Entregas de bienes y servicios superiores al límite (1)"
|
||||
|
||||
msgctxt "selection:aeat.347.reasign.records.start,aeat_347_operation_key:"
|
||||
msgctxt "selection:aeat.347.reasign.records.start,aeat347_operation_key:"
|
||||
msgid "C - Money collection on behavlf of third parties above limit (3)"
|
||||
msgstr "C - Cobros por cuenta de terceros superiores al límite (3)"
|
||||
|
||||
msgctxt "selection:aeat.347.reasign.records.start,aeat_347_operation_key:"
|
||||
msgctxt "selection:aeat.347.reasign.records.start,aeat347_operation_key:"
|
||||
msgid "D - Adquisitions by Public Institutions (...) above limit (1)"
|
||||
msgstr "D - Adquisiciones de instituciones públicas superiores al límite (1)"
|
||||
|
||||
msgctxt "selection:aeat.347.reasign.records.start,aeat_347_operation_key:"
|
||||
msgctxt "selection:aeat.347.reasign.records.start,aeat347_operation_key:"
|
||||
msgid "E - Grants and help made by public institutions above limit (1)"
|
||||
msgstr ""
|
||||
"E - Subvenciones y ayudas satisfechas por administraciones públicas "
|
||||
"superiores al límite (1)"
|
||||
|
||||
msgctxt "selection:aeat.347.reasign.records.start,aeat_347_operation_key:"
|
||||
msgctxt "selection:aeat.347.reasign.records.start,aeat347_operation_key:"
|
||||
msgid "F - Travel Agency Sales"
|
||||
msgstr "F - Ventas a agencias de viajes"
|
||||
|
||||
msgctxt "selection:aeat.347.reasign.records.start,aeat_347_operation_key:"
|
||||
msgctxt "selection:aeat.347.reasign.records.start,aeat347_operation_key:"
|
||||
msgid "G - Travel Agency Purchases"
|
||||
msgstr "F - Compras a agencias de viajes"
|
||||
msgstr "G - Compras a agencias de viajes"
|
||||
|
||||
msgctxt "selection:aeat.347.reasign.records.start,aeat_347_operation_key:"
|
||||
msgctxt "selection:aeat.347.reasign.records.start,aeat347_operation_key:"
|
||||
msgid "Leave Empty"
|
||||
msgstr "Dejar en blanco"
|
||||
|
||||
|
|
52
tax.py
52
tax.py
|
@ -3,58 +3,34 @@
|
|||
from trytond.model import fields
|
||||
from trytond.pool import PoolMeta
|
||||
|
||||
__all__ = ['TaxTemplate', 'Tax', 'TaxRuleTemplate', 'TaxRule']
|
||||
__all__ = ['TaxTemplate', 'Tax']
|
||||
|
||||
OPERATION_347 = [
|
||||
(None, ''),
|
||||
('base_amount', 'Include Base Amount'),
|
||||
('amount_only', 'Amount Only'),
|
||||
('ignore', 'Ignore'),
|
||||
('exclude_invoice', 'Exclude Invoice')]
|
||||
|
||||
|
||||
class TaxTemplate(metaclass=PoolMeta):
|
||||
__name__ = 'account.tax.template'
|
||||
|
||||
include_347 = fields.Boolean('Include 347')
|
||||
operation_347 = fields.Selection(OPERATION_347, 'Operation for 347')
|
||||
|
||||
@staticmethod
|
||||
def default_include_347():
|
||||
return False
|
||||
def default_operation_347():
|
||||
return 'ignore'
|
||||
|
||||
def _get_tax_value(self, tax=None):
|
||||
res = super(TaxTemplate, self)._get_tax_value(tax)
|
||||
|
||||
if not tax or tax.include_347 != self.include_347:
|
||||
res['include_347'] = self.include_347
|
||||
if not tax or tax.operation_347 != self.operation_347:
|
||||
res['operation_347'] = self.operation_347
|
||||
return res
|
||||
|
||||
|
||||
class Tax(metaclass=PoolMeta):
|
||||
__name__ = 'account.tax'
|
||||
|
||||
include_347 = fields.Boolean('Include 347')
|
||||
|
||||
@staticmethod
|
||||
def default_include_347():
|
||||
return False
|
||||
|
||||
|
||||
class TaxRuleTemplate(metaclass=PoolMeta):
|
||||
__name__ = 'account.tax.rule.template'
|
||||
|
||||
include_347 = fields.Boolean('Include 347')
|
||||
|
||||
@staticmethod
|
||||
def default_include_347():
|
||||
return False
|
||||
|
||||
def _get_tax_rule_value(self, rule=None):
|
||||
res = super(TaxRuleTemplate, self)._get_tax_rule_value(rule)
|
||||
|
||||
if not rule or rule.include_347 != self.include_347:
|
||||
res['include_347'] = self.include_347
|
||||
return res
|
||||
|
||||
|
||||
class TaxRule(metaclass=PoolMeta):
|
||||
__name__ = 'account.tax.rule'
|
||||
|
||||
include_347 = fields.Boolean('Include 347')
|
||||
|
||||
@staticmethod
|
||||
def default_include_347():
|
||||
return False
|
||||
operation_347 = fields.Selection(OPERATION_347, 'Operation for 347')
|
||||
|
|
96
tax.xml
96
tax.xml
|
@ -8,98 +8,10 @@ contains the full copyright notices and license terms. -->
|
|||
<field name="inherit" ref="account.tax_view_form"/>
|
||||
<field name="name">tax_form</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="tax_rule_view_form">
|
||||
<field name="model">account.tax.rule</field>
|
||||
<field name="inherit" ref="account.tax_rule_view_form"/>
|
||||
<field name="name">tax_rule_form</field>
|
||||
</record>
|
||||
</data>
|
||||
|
||||
<data depends="account_es" grouped="1">
|
||||
<record model="account.tax.rule.template" id="account_es.fp_nacional">
|
||||
<field name="include_347" eval="True"/>
|
||||
</record>
|
||||
<record model="account.tax.rule.template" id="fp_nacional_wo_347">
|
||||
<field name="name">Régimen Nacional (Sin 347)</field>
|
||||
<field name="account" ref="account_es.pgc_0"/>
|
||||
<field name="kind">both</field>
|
||||
<field name="include_347" eval="False"/>
|
||||
</record>
|
||||
<record model="account.tax.rule.template" id="account_es.fp_recargo">
|
||||
<field name="include_347" eval="True"/>
|
||||
</record>
|
||||
<record model="account.tax.rule.template" id="account_es.fp_extra">
|
||||
<field name="include_347" eval="True"/>
|
||||
</record>
|
||||
<record model="account.tax.rule.template" id="account_es.fp_intra">
|
||||
<field name="include_347" eval="True"/>
|
||||
</record>
|
||||
<record model="account.tax.rule.template" id="account_es.fp_intra_serv">
|
||||
<field name="include_347" eval="True"/>
|
||||
</record>
|
||||
<record model="account.tax.rule.template" id="account_es.fp_irpf37">
|
||||
<field name="include_347" eval="False"/>
|
||||
</record>
|
||||
<record model="account.tax.rule.template" id="account_es.fp_irpf35">
|
||||
<field name="include_347" eval="False"/>
|
||||
</record>
|
||||
<record model="account.tax.rule.template" id="account_es.fp_irpf21">
|
||||
<field name="include_347" eval="False"/>
|
||||
</record>
|
||||
<record model="account.tax.rule.template" id="account_es.fp_irpf20">
|
||||
<field name="include_347" eval="False"/>
|
||||
</record>
|
||||
<record model="account.tax.rule.template" id="account_es.fp_irpf20a">
|
||||
<field name="include_347" eval="False"/>
|
||||
</record>
|
||||
<record model="account.tax.rule.template" id="account_es.fp_irpf195">
|
||||
<field name="include_347" eval="False"/>
|
||||
</record>
|
||||
<record model="account.tax.rule.template" id="account_es.fp_irpf195a">
|
||||
<field name="include_347" eval="False"/>
|
||||
</record>
|
||||
<record model="account.tax.rule.template" id="account_es.fp_irpf19">
|
||||
<field name="include_347" eval="False"/>
|
||||
</record>
|
||||
<record model="account.tax.rule.template" id="account_es.fp_irpf19a">
|
||||
<field name="include_347" eval="False"/>
|
||||
</record>
|
||||
<record model="account.tax.rule.template" id="account_es.fp_irpf18">
|
||||
<field name="include_347" eval="False"/>
|
||||
</record>
|
||||
<record model="account.tax.rule.template" id="account_es.fp_irpf15">
|
||||
<field name="include_347" eval="False"/>
|
||||
</record>
|
||||
<record model="account.tax.rule.template" id="account_es.fp_irpf9">
|
||||
<field name="include_347" eval="False"/>
|
||||
</record>
|
||||
<record model="account.tax.rule.template" id="account_es.fp_irpf7">
|
||||
<field name="include_347" eval="False"/>
|
||||
</record>
|
||||
<record model="account.tax.rule.template" id="account_es.fp_irpf2">
|
||||
<field name="include_347" eval="False"/>
|
||||
</record>
|
||||
<record model="account.tax.rule.template" id="account_es.fp_irpf1">
|
||||
<field name="include_347" eval="False"/>
|
||||
</record>
|
||||
<record model="account.tax.rule.template" id="account_es.fp_reagp">
|
||||
<field name="include_347" eval="False"/>
|
||||
</record>
|
||||
<record model="account.tax.rule.template" id="account_es.fp_exento">
|
||||
<field name="include_347" eval="True"/>
|
||||
</record>
|
||||
<record model="account.tax.rule.template" id="account_es.fp_exento_ter_rus">
|
||||
<field name="include_347" eval="True"/>
|
||||
</record>
|
||||
<record model="account.tax.rule.template" id="account_es.fp_exento_asis">
|
||||
<field name="include_347" eval="True"/>
|
||||
</record>
|
||||
<record model="account.tax.rule.template" id="account_es.fp_isp_reciclaje">
|
||||
<field name="include_347" eval="True"/>
|
||||
</record>
|
||||
<record model="account.tax.rule.template" id="account_es.fp_isp_obra">
|
||||
<field name="include_347" eval="True"/>
|
||||
<record model="ir.ui.view" id="tax_template_view_form">
|
||||
<field name="model">account.tax.template</field>
|
||||
<field name="inherit" ref="account.tax_template_view_form"/>
|
||||
<field name="name">tax_template_form</field>
|
||||
</record>
|
||||
</data>
|
||||
</tryton>
|
||||
|
|
|
@ -7,8 +7,6 @@ depends:
|
|||
xml:
|
||||
aeat.xml
|
||||
invoice.xml
|
||||
party.xml
|
||||
tax.xml
|
||||
account_es.xml
|
||||
message.xml
|
||||
|
||||
|
|
|
@ -2,10 +2,8 @@
|
|||
<!--The COPYRIGHT file at the top level of this repository
|
||||
contains the full copyright notices and license terms. -->
|
||||
<data>
|
||||
<xpath expr="/form/notebook/page[@id='info']/field[@name='cancel_move']" position="after">
|
||||
<xpath expr="/form/notebook/page[@id='info']/separator[@name='comment']" position="before">
|
||||
<group col="4" colspan="4" id="aeat_347">
|
||||
<label name="include_347"/>
|
||||
<field name="include_347"/>
|
||||
<label name="aeat347_operation_key"/>
|
||||
<field name="aeat347_operation_key"/>
|
||||
</group>
|
||||
|
|
|
@ -2,9 +2,7 @@
|
|||
<!--The COPYRIGHT file at the top level of this repository
|
||||
contains the full copyright notices and license terms. -->
|
||||
<form col="2">
|
||||
<label name="include_347"/>
|
||||
<field name="include_347"/>
|
||||
<label string="Select Operation Key to reasign invoices:"
|
||||
id="reasing"/>
|
||||
<field name="aeat_347_operation_key"/>
|
||||
<field name="aeat347_operation_key"/>
|
||||
</form>
|
||||
|
|
|
@ -4,7 +4,7 @@ contains the full copyright notices and license terms. -->
|
|||
<data>
|
||||
<xpath expr="/form/notebook/page[@id='general']/field[@name='credit_note_account']" position="after">
|
||||
<newline/>
|
||||
<label name="include_347"/>
|
||||
<field name="include_347"/>
|
||||
<label name="operation_347"/>
|
||||
<field name="operation_347"/>
|
||||
</xpath>
|
||||
</data>
|
||||
|
|
Loading…
Reference in New Issue