Change the reset button fo the SII keys for an action. Add some new default key vaules for the DUA. Add control of the DUA Tax for the correct upload to Hacienda.

This commit is contained in:
Bernat Brunet 2020-03-18 08:08:01 +01:00
parent d682bfc66b
commit 9dc1187847
12 changed files with 491 additions and 60 deletions

View File

@ -20,6 +20,8 @@ def register():
party.PartyIdentifier,
company.Company,
invoice.Invoice,
invoice.ResetSIIKeysStart,
invoice.ResetSIIKeysEnd,
load_pkcs12.LoadPKCS12Start,
aeat.CreateSiiIssuedPendingView,
aeat.CreateSiiReceivedPendingView,
@ -38,6 +40,7 @@ def register():
depends=['purchase'],
module='aeat_sii', type_='model')
Pool.register(
invoice.ResetSIIKeys,
aeat.CreateSiiIssuedPending,
aeat.CreateSiiReceivedPending,
load_pkcs12.LoadPKCS12,

View File

@ -2,7 +2,7 @@
# copyright notices and license terms.
from trytond.model import fields
from trytond.pool import PoolMeta
from .aeat import (BOOK_KEY, SEND_SPECIAL_REGIME_KEY,
from .aeat import (BOOK_KEY, OPERATION_KEY, SEND_SPECIAL_REGIME_KEY,
RECEIVE_SPECIAL_REGIME_KEY, IVA_SUBJECTED, EXCEMPTION_CAUSE,
INTRACOMUNITARY_TYPE)
@ -14,6 +14,7 @@ class TemplateTax(metaclass=PoolMeta):
__name__ = 'account.tax.template'
sii_book_key = fields.Selection(BOOK_KEY, 'Book Key')
sii_operation_key = fields.Selection(OPERATION_KEY, 'SII Operation Key')
sii_issued_key = fields.Selection(SEND_SPECIAL_REGIME_KEY, 'Issued Key')
sii_received_key = fields.Selection(RECEIVE_SPECIAL_REGIME_KEY,
'Received Key')
@ -26,8 +27,8 @@ class TemplateTax(metaclass=PoolMeta):
def _get_tax_value(self, tax=None):
res = super(TemplateTax, self)._get_tax_value(tax)
for field in ('sii_book_key', 'sii_issued_key', 'sii_subjected_key',
'sii_excemption_key', 'sii_received_key',
for field in ('sii_book_key', 'sii_operation_key', 'sii_issued_key',
'sii_subjected_key', 'sii_excemption_key', 'sii_received_key',
'sii_intracomunity_key', 'tax_used', 'invoice_used'):
if not tax or getattr(tax, field) != getattr(self, field):
@ -40,6 +41,7 @@ class Tax(metaclass=PoolMeta):
__name__ = 'account.tax'
sii_book_key = fields.Selection(BOOK_KEY, 'Book Key')
sii_operation_key = fields.Selection(OPERATION_KEY, 'SII Operation Key')
sii_issued_key = fields.Selection(SEND_SPECIAL_REGIME_KEY, 'Issued Key')
sii_received_key = fields.Selection(RECEIVE_SPECIAL_REGIME_KEY,
'Received Key')

View File

@ -37,10 +37,14 @@ class BaseTrytonInvoiceMapper(Model):
def counterpart_nif(self, invoice):
nif = ''
if invoice.party.tax_identifier:
nif = invoice.party.tax_identifier.code
elif invoice.party.identifiers:
nif = invoice.party.identifiers[0].code
if invoice.sii_operation_key == 'F5':
# Assume that the company party is configured correctly.
nif = invoice.company.party.tax_identifier.code
else:
if invoice.party.tax_identifier:
nif = invoice.party.tax_identifier.code
elif invoice.party.identifiers:
nif = invoice.party.identifiers[0].code
if nif.startswith('ES'):
nif = nif[2:]
return nif
@ -76,7 +80,12 @@ class BaseTrytonInvoiceMapper(Model):
taxes_used[parent.id] = base
return (taxes_amount + taxes_base)
counterpart_id_type = attrgetter('party.sii_identifier_type')
def counterpart_id_type(self, invoice):
if invoice.sii_operation_key == 'F5':
return attrgetter('company.party.sii_identifier_type')
else:
return attrgetter('party.sii_identifier_type')
counterpart_id = counterpart_nif
untaxed_amount = get_invoice_untaxed
total_amount = get_invoice_total
@ -85,7 +94,10 @@ class BaseTrytonInvoiceMapper(Model):
tax_amount = get_tax_amount
def counterpart_name(self, invoice):
return tools.unaccent(invoice.party.name)
if invoice.sii_operation_key == 'F5':
return tools.unaccent(invoice.company.party.name)
else:
return tools.unaccent(invoice.party.name)
def description(self, invoice):
if invoice.description:

View File

@ -8,6 +8,7 @@ from trytond.pyson import Eval, Bool
from trytond.transaction import Transaction
from trytond.i18n import gettext
from trytond.exceptions import UserError, UserWarning
from trytond.wizard import Wizard, StateView, StateTransition, Button
from sql import Null
from sql.aggregate import Max
from trytond.tools import grouped_slice
@ -17,10 +18,10 @@ from .aeat import (
EXCEMPTION_CAUSE, INTRACOMUNITARY_TYPE, COMMUNICATION_TYPE)
__all__ = ['Invoice']
__all__ = ['Invoice', 'ResetSIIKeysStart', 'ResetSIIKeys', 'ResetSIIKeysEnd']
_SII_INVOICE_KEYS = ['sii_book_key', 'sii_issued_key', 'sii_received_key',
'sii_subjected_key', 'sii_excemption_key',
_SII_INVOICE_KEYS = ['sii_book_key', 'sii_operation_key', 'sii_issued_key',
'sii_received_key', 'sii_subjected_key', 'sii_excemption_key',
'sii_intracomunity_key']
MAX_SII_LINES = 300
@ -67,11 +68,6 @@ class Invoice(metaclass=PoolMeta):
'sii_excemption_key', 'sii_intracomunity_key','sii_pending_sending',
'sii_communication_type', 'sii_state', 'sii_header']
cls._check_modify_exclude += sii_fields
cls._buttons.update({
'reset_sii_keys': {
'invisible': Bool(Eval('sii_state', None)),
'icon': 'tryton-launch'}
})
if hasattr(cls, '_intercompany_excluded_fields'):
cls._intercompany_excluded_fields += sii_fields
cls._intercompany_excluded_fields += ['sii_records']
@ -406,12 +402,17 @@ class Invoice(metaclass=PoolMeta):
@classmethod
@ModelView.button
def reset_sii_keys(cls, records):
def reset_sii_keys(cls, invoices):
to_write = []
for record in records:
record._set_sii_keys()
record.sii_operation_key = record._get_sii_operation_key()
to_write.extend(([record], record._save_values))
for invoice in invoices:
if invoice.state != 'draft':
continue
for field in _SII_INVOICE_KEYS:
setattr(invoice, field, None)
invoice._set_sii_keys()
if not invoice.sii_operation_key:
invoice.sii_operation_key = invoice._get_sii_operation_key()
to_write.extend(([invoice], invoice._save_values))
if to_write:
cls.write(*to_write)
@ -465,7 +466,9 @@ class Invoice(metaclass=PoolMeta):
for invoice in invoices:
values = {}
if invoice.sii_book_key:
values['sii_operation_key'] = invoice._get_sii_operation_key()
if not invoice.sii_operation_key:
values['sii_operation_key'] =\
invoice._get_sii_operation_key()
values['sii_pending_sending'] = True
values['sii_header'] = str(cls.get_sii_header(invoice, False))
to_write.extend(([invoice], values))
@ -495,3 +498,42 @@ class Invoice(metaclass=PoolMeta):
mapper = ReceivedMapper()
header = mapper.build_delete_request(invoice)
return header
class ResetSIIKeysStart(ModelView):
"""
Reset to default SII Keys Start
"""
__name__ = "aeat.sii.reset.keys.start"
class ResetSIIKeysEnd(ModelView):
"""
Reset to default SII Keys End
"""
__name__ = "aeat.sii.reset.keys.end"
class ResetSIIKeys(Wizard):
"""
Reset to default SII Keys
"""
__name__ = "aeat.sii.reset.keys"
start = StateView('aeat.sii.reset.keys.start',
'aeat_sii.aeat_sii_reset_keys_start_view', [
Button('Cancel', 'end', 'tryton-cancel'),
Button('Reset', 'reset', 'tryton-ok', default=True),
])
reset = StateTransition()
done = StateView('aeat.sii.reset.keys.end',
'aeat_sii.aeat_sii_reset_keys_end_view', [
Button('Ok', 'end', 'tryton-ok', default=True),
])
def transition_reset(self):
pool = Pool()
Invoice = pool.get('account.invoice')
invoices = Invoice.browse(Transaction().context['active_ids'])
Invoice.reset_sii_keys(invoices)
return 'done'

View File

@ -3,23 +3,43 @@
copyright notices and license terms. -->
<tryton>
<data>
<record model="ir.ui.view" id="aeat_sii_invoice_form_view">
<field name="model">account.invoice</field>
<field name="inherit" ref="account_invoice.invoice_view_form"/>
<field name="name">account_invoice_form</field>
</record>
<record model="ir.ui.view" id="aeat_sii_invoice_form_view">
<field name="model">account.invoice</field>
<field name="inherit" ref="account_invoice.invoice_view_form"/>
<field name="name">account_invoice_form</field>
</record>
<record model="ir.ui.view" id="aeat_sii_invoice_list_view">
<field name="model">account.invoice</field>
<field name="inherit" ref="account_invoice.invoice_view_tree"/>
<field name="name">account_invoice_list</field>
</record>
<record model="ir.ui.view" id="aeat_sii_invoice_list_view">
<field name="model">account.invoice</field>
<field name="inherit" ref="account_invoice.invoice_view_tree"/>
<field name="name">account_invoice_list</field>
</record>
<record model="ir.ui.view" id="aeat_sii_reset_keys_start_view">
<field name="model">aeat.sii.reset.keys.start</field>
<field name="type">form</field>
<field name="name">reset_keys_start</field>
</record>
<record model="ir.ui.view" id="aeat_sii_reset_keys_end_view">
<field name="model">aeat.sii.reset.keys.end</field>
<field name="type">form</field>
<field name="name">reset_keys_end</field>
</record>
<record model="ir.action.wizard" id="act_aeat_sii_reset_keys">
<field name="name">Reset AEAT SII Keys</field>
<field name="wiz_name">aeat.sii.reset.keys</field>
</record>
<record model="ir.action.keyword" id="act_aeat_sii_reset_keys_keyword">
<field name="action" ref="act_aeat_sii_reset_keys"/>
<field name="keyword">form_action</field>
<field name="model">account.invoice,-1</field>
</record>
<record model="ir.action-res.group"
id="act_recalculate-group_aeat347">
<field name="action" ref="act_aeat_sii_reset_keys"/>
<field name="group" ref="group_aeat_sii_admin"/>
</record>
<!-- Buttons -->
<record model="ir.model.button" id="aeat_sii_invoice_reset_sii_keys_button">
<field name="name">reset_sii_keys</field>
<field name="string">Reset SII Keys</field>
<field name="model" search="[('model', '=', 'account.invoice')]"/>
</record>
</data>
</tryton>

View File

@ -70,6 +70,10 @@ msgctxt "field:account.tax,sii_issued_key:"
msgid "Issued Key"
msgstr "Clave emisión"
msgctxt "field:account.tax,sii_operation_key:"
msgid "SII Operation Key"
msgstr "SII Clave operación"
msgctxt "field:account.tax,sii_received_key:"
msgid "Received Key"
msgstr "Clave recibidas"
@ -102,6 +106,10 @@ msgctxt "field:account.tax.template,sii_issued_key:"
msgid "Issued Key"
msgstr "Clave emisión"
msgctxt "field:account.tax.template,sii_operation_key:"
msgid "SII Operation Key"
msgstr "SII Clave operación"
msgctxt "field:account.tax.template,sii_received_key:"
msgid "Received Key"
msgstr "Clave recibidas"
@ -207,7 +215,7 @@ msgid "Period"
msgstr "Período"
msgctxt "field:aeat.sii.report,rec_name:"
msgid "Record Name"
msgid "Name"
msgstr "Nombre"
msgctxt "field:aeat.sii.report,response:"
@ -271,7 +279,7 @@ msgid "REAGYP Rate"
msgstr "Importe REAGYP"
msgctxt "field:aeat.sii.report.line.tax,rec_name:"
msgid "Record Name"
msgid "Name"
msgstr "Nombre"
msgctxt "field:aeat.sii.report.line.tax,surcharge_amount:"
@ -379,7 +387,7 @@ msgid "Presenter"
msgstr "Presentación"
msgctxt "field:aeat.sii.report.lines,rec_name:"
msgid "Record Name"
msgid "Name"
msgstr "Nombre"
msgctxt "field:aeat.sii.report.lines,report:"
@ -478,6 +486,14 @@ msgctxt "model:aeat.sii.report.lines,name:"
msgid "AEAT SII Issued"
msgstr "Emitidas"
msgctxt "model:aeat.sii.reset.keys.end,name:"
msgid "Reset to default SII Keys End"
msgstr "Fi Restabliment per defecte de les claus del SII"
msgctxt "model:aeat.sii.reset.keys.start,name:"
msgid "Reset to default SII Keys Start"
msgstr "Inici Restabliment per defecte de les claus del SII"
msgctxt "model:ir.action,name:"
msgid "SII Report Intracommunity"
msgstr "Informe Intracomunitarias"
@ -510,6 +526,10 @@ msgctxt "model:ir.action,name:act_aeat_sii_report_lines"
msgid "SII Report Lines"
msgstr "Líneas informe SII"
msgctxt "model:ir.action,name:act_aeat_sii_reset_keys"
msgid "Reset AEAT SII Keys"
msgstr "Restabliment de les claus del SII"
msgctxt "model:ir.action,name:wizard_aeat_sii_issued_pending"
msgid "AEAT SII Pending Issued Invoices"
msgstr "AEAT SII Facturas Enviadas Pendientes"
@ -556,10 +576,6 @@ msgstr ""
"Hi ha varis Llibres del SII pendent d'enviar. No es crearà cap nou Llibre "
"fins a tractar els pendents."
msgctxt "model:ir.model.button,string:aeat_sii_invoice_reset_sii_keys_button"
msgid "Reset SII Keys"
msgstr "Reiniciar claves SII"
msgctxt "model:ir.model.button,string:cancel_button"
msgid "Cancel"
msgstr "Cancel·lat"
@ -576,6 +592,10 @@ msgctxt "model:ir.model.button,string:load_invoices_button"
msgid "Load Invoices"
msgstr "Carga facturas"
msgctxt "model:ir.model.button,string:process_response_button"
msgid "Process Response"
msgstr "Processar resposta"
msgctxt "model:ir.model.button,string:send_button"
msgid "Send"
msgstr "Enviar"
@ -1108,6 +1128,60 @@ msgctxt "selection:account.tax,sii_issued_key:"
msgid "Special scheme for travel agencies"
msgstr "Régimen especial de las agencias de viajes"
msgctxt "selection:account.tax,sii_operation_key:"
msgid "Corrected Invoice (Art 80.1, 80.2 and 80.6 and error grounded in law)"
msgstr "Factura rectificativa (Art 80.1, 80.2 y 80.6 LIVA)"
msgctxt "selection:account.tax,sii_operation_key:"
msgid "Corrected Invoice (Art. 80.3)"
msgstr "Fatura rectificativa (Art 80.3)"
msgctxt "selection:account.tax,sii_operation_key:"
msgid "Corrected Invoice (Other)"
msgstr "Factura rectificativa [Resta de causes]"
msgctxt "selection:account.tax,sii_operation_key:"
msgid "Corrected Invoice in simplified invoices"
msgstr "Factura Rectificativa en facturas simplificadas"
msgctxt "selection:account.tax,sii_operation_key:"
msgid "Credit Note (Art 80.4)"
msgstr "Facura rectificativa (Art. 80.4)"
msgctxt "selection:account.tax,sii_operation_key:"
msgid "Duty - Complementary clearing"
msgstr "Aduanes - Liquidació complementaria"
msgctxt "selection:account.tax,sii_operation_key:"
msgid "Import (DUA)"
msgstr "Importaciones (DUA)"
msgctxt "selection:account.tax,sii_operation_key:"
msgid "Invoice (Art 6.7.3 y 7.3 of RD1619/2012)"
msgstr "Factura (Art 6.7.3 y 7.3 del RD 1619/2012)"
msgctxt "selection:account.tax,sii_operation_key:"
msgid "Invoice issued to replace simplified invoices issued and filed"
msgstr ""
"Factura emitida en sustitución de facturas simplificadasfacturadas y "
"declaradas"
msgctxt "selection:account.tax,sii_operation_key:"
msgid "Invoice summary entry"
msgstr "Asiento resumen de facturas"
msgctxt "selection:account.tax,sii_operation_key:"
msgid "Other accounting documents"
msgstr "Justificantes contables"
msgctxt "selection:account.tax,sii_operation_key:"
msgid ""
"Simplified Invoice (ticket) and Invoices without destination identidication "
"(Art 6.1.d of RD1619/2012)"
msgstr ""
"Factura simplificada (tiquet) y Factures sense identificació del destinatari"
" (Art 6.1.d del RD 1619/2012)"
msgctxt "selection:account.tax,sii_received_key:"
msgid ""
"Activities subject to Canary Islands General Indirect Tax/Tax on Production,"
@ -1340,6 +1414,60 @@ msgctxt "selection:account.tax.template,sii_issued_key:"
msgid "Special scheme for travel agencies"
msgstr "Régimen especial de las agencias de viajes"
msgctxt "selection:account.tax.template,sii_operation_key:"
msgid "Corrected Invoice (Art 80.1, 80.2 and 80.6 and error grounded in law)"
msgstr "Factura rectificativa (Art 80.1, 80.2 y 80.6 LIVA)"
msgctxt "selection:account.tax.template,sii_operation_key:"
msgid "Corrected Invoice (Art. 80.3)"
msgstr "Fatura rectificativa (Art 80.3)"
msgctxt "selection:account.tax.template,sii_operation_key:"
msgid "Corrected Invoice (Other)"
msgstr "Factura rectificativa [Resta de causes]"
msgctxt "selection:account.tax.template,sii_operation_key:"
msgid "Corrected Invoice in simplified invoices"
msgstr "Factura Rectificativa en facturas simplificadas"
msgctxt "selection:account.tax.template,sii_operation_key:"
msgid "Credit Note (Art 80.4)"
msgstr "Facura rectificativa (Art. 80.4)"
msgctxt "selection:account.tax.template,sii_operation_key:"
msgid "Duty - Complementary clearing"
msgstr "Aduanes - Liquidació complementaria"
msgctxt "selection:account.tax.template,sii_operation_key:"
msgid "Import (DUA)"
msgstr "Importaciones (DUA)"
msgctxt "selection:account.tax.template,sii_operation_key:"
msgid "Invoice (Art 6.7.3 y 7.3 of RD1619/2012)"
msgstr "Factura (Art 6.7.3 y 7.3 del RD 1619/2012)"
msgctxt "selection:account.tax.template,sii_operation_key:"
msgid "Invoice issued to replace simplified invoices issued and filed"
msgstr ""
"Factura emitida en sustitución de facturas simplificadasfacturadas y "
"declaradas"
msgctxt "selection:account.tax.template,sii_operation_key:"
msgid "Invoice summary entry"
msgstr "Asiento resumen de facturas"
msgctxt "selection:account.tax.template,sii_operation_key:"
msgid "Other accounting documents"
msgstr "Justificantes contables"
msgctxt "selection:account.tax.template,sii_operation_key:"
msgid ""
"Simplified Invoice (ticket) and Invoices without destination identidication "
"(Art 6.1.d of RD1619/2012)"
msgstr ""
"Factura simplificada (tiquet) y Factures sense identificació del destinatari"
" (Art 6.1.d del RD 1619/2012)"
msgctxt "selection:account.tax.template,sii_received_key:"
msgid ""
"Activities subject to Canary Islands General Indirect Tax/Tax on Production,"
@ -1698,6 +1826,24 @@ msgctxt "view:aeat.sii.report:"
msgid "Send"
msgstr "Enviar"
msgctxt "view:aeat.sii.reset.keys.end:"
msgid "The AEAT SII Keys have been reset."
msgstr "Les claus del SII s'han restablert."
msgctxt "view:aeat.sii.reset.keys.start:"
msgid "Note that this operation may take a few minutes."
msgstr "Tingueu en compte que aquesta operació pot trigar uns minuts."
msgctxt "view:aeat.sii.reset.keys.start:"
msgid "Only will be reset the draft invoices."
msgstr "Només serà restablertes les factures en esborrany."
msgctxt "view:aeat.sii.reset.keys.start:"
msgid "The AEAT SII Keys for selected invoices will be reset to default."
msgstr ""
"Les claus del SII de les factures seleccionades seran restablerts a valors "
"per defecte."
msgctxt "view:company.company:"
msgid "Certificate"
msgstr "Certificado"
@ -1725,3 +1871,15 @@ msgstr "Crear"
msgctxt "wizard_button:aeat.sii.received.pending,view,end:"
msgid "Cancel"
msgstr "Cancelar"
msgctxt "wizard_button:aeat.sii.reset.keys,done,end:"
msgid "Ok"
msgstr "D'acord"
msgctxt "wizard_button:aeat.sii.reset.keys,start,end:"
msgid "Cancel"
msgstr "Cancel·lat"
msgctxt "wizard_button:aeat.sii.reset.keys,start,reset:"
msgid "Reset"
msgstr "Reinicia"

View File

@ -70,6 +70,10 @@ msgctxt "field:account.tax,sii_issued_key:"
msgid "Issued Key"
msgstr "Clave emisión"
msgctxt "field:account.tax,sii_operation_key:"
msgid "SII Operation Key"
msgstr "SII Clave operación"
msgctxt "field:account.tax,sii_received_key:"
msgid "Received Key"
msgstr "Clave recibidas"
@ -102,6 +106,10 @@ msgctxt "field:account.tax.template,sii_issued_key:"
msgid "Issued Key"
msgstr "Clave emisión"
msgctxt "field:account.tax.template,sii_operation_key:"
msgid "SII Operation Key"
msgstr "SII Clave operación"
msgctxt "field:account.tax.template,sii_received_key:"
msgid "Received Key"
msgstr "Clave recibidas"
@ -207,7 +215,7 @@ msgid "Period"
msgstr "Período"
msgctxt "field:aeat.sii.report,rec_name:"
msgid "Record Name"
msgid "Name"
msgstr "Nombre"
msgctxt "field:aeat.sii.report,response:"
@ -271,7 +279,7 @@ msgid "REAGYP Rate"
msgstr "Importe REAGYP"
msgctxt "field:aeat.sii.report.line.tax,rec_name:"
msgid "Record Name"
msgid "Name"
msgstr "Nombre"
msgctxt "field:aeat.sii.report.line.tax,surcharge_amount:"
@ -379,7 +387,7 @@ msgid "Presenter"
msgstr "Presentación"
msgctxt "field:aeat.sii.report.lines,rec_name:"
msgid "Record Name"
msgid "Name"
msgstr "Nombre"
msgctxt "field:aeat.sii.report.lines,report:"
@ -478,6 +486,14 @@ msgctxt "model:aeat.sii.report.lines,name:"
msgid "AEAT SII Issued"
msgstr "Emitidas"
msgctxt "model:aeat.sii.reset.keys.end,name:"
msgid "Reset to default SII Keys End"
msgstr "Fin Restablecimiento por defecto de las claves del SII"
msgctxt "model:aeat.sii.reset.keys.start,name:"
msgid "Reset to default SII Keys Start"
msgstr "Inicio Restablecimiento por defecto de las claves del SII"
msgctxt "model:ir.action,name:"
msgid "SII Report Intracommunity"
msgstr "Informe Intracomunitarias"
@ -510,6 +526,10 @@ msgctxt "model:ir.action,name:act_aeat_sii_report_lines"
msgid "SII Report Lines"
msgstr "Líneas informe SII"
msgctxt "model:ir.action,name:act_aeat_sii_reset_keys"
msgid "Reset AEAT SII Keys"
msgstr "Restablecimiento claves del SII"
msgctxt "model:ir.action,name:wizard_aeat_sii_issued_pending"
msgid "AEAT SII Pending Issued Invoices"
msgstr "AEAT SII Facturas Enviadas Pendientes"
@ -526,7 +546,6 @@ msgctxt "model:ir.message,text:msg_error_loading_pkcs12"
msgid "Unable to load PKCS12: %(message)s"
msgstr "No se ha podido Cargar PKCS12: %(message)s"
#, fuzzy
msgctxt "model:ir.message,text:msg_invoices_sii"
msgid ""
"The next invoices are related with SII books:\n"
@ -559,10 +578,6 @@ msgstr ""
"Hay libros en estado Borrador y/o Confirmado. No se generará ningún llibro "
"hasta que haya enviado los pendientes."
msgctxt "model:ir.model.button,string:aeat_sii_invoice_reset_sii_keys_button"
msgid "Reset SII Keys"
msgstr "Reiniciar claves SII"
msgctxt "model:ir.model.button,string:cancel_button"
msgid "Cancel"
msgstr "Cancelar"
@ -579,6 +594,10 @@ msgctxt "model:ir.model.button,string:load_invoices_button"
msgid "Load Invoices"
msgstr "Cargar facturas"
msgctxt "model:ir.model.button,string:process_response_button"
msgid "Process Response"
msgstr "Procesar respuesta"
msgctxt "model:ir.model.button,string:send_button"
msgid "Send"
msgstr "Enviar"
@ -1111,6 +1130,60 @@ msgctxt "selection:account.tax,sii_issued_key:"
msgid "Special scheme for travel agencies"
msgstr "Régimen especial de las agencias de viajes"
msgctxt "selection:account.tax,sii_operation_key:"
msgid "Corrected Invoice (Art 80.1, 80.2 and 80.6 and error grounded in law)"
msgstr "Factura rectificativa (Art 80.1, 80.2 y 80.6 LIVA)"
msgctxt "selection:account.tax,sii_operation_key:"
msgid "Corrected Invoice (Art. 80.3)"
msgstr "Fatura rectificativa (Art 80.3)"
msgctxt "selection:account.tax,sii_operation_key:"
msgid "Corrected Invoice (Other)"
msgstr "Factura rectificativa [Resto de causas]"
msgctxt "selection:account.tax,sii_operation_key:"
msgid "Corrected Invoice in simplified invoices"
msgstr "Factura Rectificativa en facturas simplificadas"
msgctxt "selection:account.tax,sii_operation_key:"
msgid "Credit Note (Art 80.4)"
msgstr "Facura rectificativa (Art. 80.4)"
msgctxt "selection:account.tax,sii_operation_key:"
msgid "Duty - Complementary clearing"
msgstr "Aduanas - Liquidación complementaria"
msgctxt "selection:account.tax,sii_operation_key:"
msgid "Import (DUA)"
msgstr "Importaciones (DUA)"
msgctxt "selection:account.tax,sii_operation_key:"
msgid "Invoice (Art 6.7.3 y 7.3 of RD1619/2012)"
msgstr "Factura (Art. 6, 7.2 y 7.3 del RD 1619/2012)"
msgctxt "selection:account.tax,sii_operation_key:"
msgid "Invoice issued to replace simplified invoices issued and filed"
msgstr ""
"Factura emitida en sustitución de facturas simplificadasfacturadas y "
"declaradas"
msgctxt "selection:account.tax,sii_operation_key:"
msgid "Invoice summary entry"
msgstr "Asiento resumen de facturas"
msgctxt "selection:account.tax,sii_operation_key:"
msgid "Other accounting documents"
msgstr "Justificantes contables"
msgctxt "selection:account.tax,sii_operation_key:"
msgid ""
"Simplified Invoice (ticket) and Invoices without destination identidication "
"(Art 6.1.d of RD1619/2012)"
msgstr ""
"Factura Simplificada y y Facturas sin identificación del destinatario (Art. "
"6.1.d RD 1619/2012)"
msgctxt "selection:account.tax,sii_received_key:"
msgid ""
"Activities subject to Canary Islands General Indirect Tax/Tax on Production,"
@ -1343,6 +1416,60 @@ msgctxt "selection:account.tax.template,sii_issued_key:"
msgid "Special scheme for travel agencies"
msgstr "Régimen especial de las agencias de viajes"
msgctxt "selection:account.tax.template,sii_operation_key:"
msgid "Corrected Invoice (Art 80.1, 80.2 and 80.6 and error grounded in law)"
msgstr "Factura rectificativa (Art 80.1, 80.2 y 80.6 LIVA)"
msgctxt "selection:account.tax.template,sii_operation_key:"
msgid "Corrected Invoice (Art. 80.3)"
msgstr "Fatura rectificativa (Art 80.3)"
msgctxt "selection:account.tax.template,sii_operation_key:"
msgid "Corrected Invoice (Other)"
msgstr "Factura rectificativa [Resto de causas]"
msgctxt "selection:account.tax.template,sii_operation_key:"
msgid "Corrected Invoice in simplified invoices"
msgstr "Factura Rectificativa en facturas simplificadas"
msgctxt "selection:account.tax.template,sii_operation_key:"
msgid "Credit Note (Art 80.4)"
msgstr "Facura rectificativa (Art. 80.4)"
msgctxt "selection:account.tax.template,sii_operation_key:"
msgid "Duty - Complementary clearing"
msgstr "Aduanas - Liquidación complementaria"
msgctxt "selection:account.tax.template,sii_operation_key:"
msgid "Import (DUA)"
msgstr "Importaciones (DUA)"
msgctxt "selection:account.tax.template,sii_operation_key:"
msgid "Invoice (Art 6.7.3 y 7.3 of RD1619/2012)"
msgstr "Factura (Art. 6, 7.2 y 7.3 del RD 1619/2012)"
msgctxt "selection:account.tax.template,sii_operation_key:"
msgid "Invoice issued to replace simplified invoices issued and filed"
msgstr ""
"Factura emitida en sustitución de facturas simplificadasfacturadas y "
"declaradas"
msgctxt "selection:account.tax.template,sii_operation_key:"
msgid "Invoice summary entry"
msgstr "Asiento resumen de facturas"
msgctxt "selection:account.tax.template,sii_operation_key:"
msgid "Other accounting documents"
msgstr "Justificantes contables"
msgctxt "selection:account.tax.template,sii_operation_key:"
msgid ""
"Simplified Invoice (ticket) and Invoices without destination identidication "
"(Art 6.1.d of RD1619/2012)"
msgstr ""
"Factura Simplificada y y Facturas sin identificación del destinatario (Art. "
"6.1.d RD 1619/2012)"
msgctxt "selection:account.tax.template,sii_received_key:"
msgid ""
"Activities subject to Canary Islands General Indirect Tax/Tax on Production,"
@ -1701,6 +1828,24 @@ msgctxt "view:aeat.sii.report:"
msgid "Send"
msgstr "Enviar"
msgctxt "view:aeat.sii.reset.keys.end:"
msgid "The AEAT SII Keys have been reset."
msgstr "Las claves del SII se han restablecido."
msgctxt "view:aeat.sii.reset.keys.start:"
msgid "Note that this operation may take a few minutes."
msgstr "Tenga en cuenta que esta operación puede tardar unos minutos."
msgctxt "view:aeat.sii.reset.keys.start:"
msgid "Only will be reset the draft invoices."
msgstr "Solo serán restablecidas las facturas en borrador. "
msgctxt "view:aeat.sii.reset.keys.start:"
msgid "The AEAT SII Keys for selected invoices will be reset to default."
msgstr ""
"Las claves del SII de las facturas seleccionadas serán restablecidos a "
"valores por defecto."
msgctxt "view:company.company:"
msgid "Certificate"
msgstr "Certificado"
@ -1728,3 +1873,15 @@ msgstr "Crear"
msgctxt "wizard_button:aeat.sii.received.pending,view,end:"
msgid "Cancel"
msgstr "Cancelar"
msgctxt "wizard_button:aeat.sii.reset.keys,done,end:"
msgid "Ok"
msgstr "Aceptar"
msgctxt "wizard_button:aeat.sii.reset.keys,start,end:"
msgid "Cancel"
msgstr "Cancel·lar"
msgctxt "wizard_button:aeat.sii.reset.keys,start,reset:"
msgid "Reset"
msgstr "Reiniciar"

20
sii.xml
View File

@ -5,6 +5,7 @@ this repository contains the full copyright notices and license terms. -->
<data depends="account_es" grouped="1">
<record model="account.tax.template" id="account_es.iva_X0_compras_bc">
<field name="sii_book_key">R</field>
<field name="sii_operation_key">F6</field>
<field name="sii_received_key">13</field>
<field name="sii_excemption_key">E6</field>
<field name="tax_used" eval="False"/>
@ -12,6 +13,7 @@ this repository contains the full copyright notices and license terms. -->
</record>
<record model="account.tax.template" id="account_es.iva_X0_compras_bi">
<field name="sii_book_key">R</field>
<field name="sii_operation_key">F6</field>
<field name="sii_received_key">13</field>
<field name="sii_excemption_key">E6</field>
<field name="tax_used" eval="False"/>
@ -19,42 +21,48 @@ this repository contains the full copyright notices and license terms. -->
</record>
<record model="account.tax.template" id="account_es.iva_X4_compras_bc">
<field name="sii_book_key">R</field>
<field name="sii_received_key">13</field>
<field name="sii_operation_key">F5</field>
<field name="sii_received_key">01</field>
<field name="sii_subjected_key">S1</field>
<field name="tax_used" eval="True"/>
<field name="invoice_used" eval="True"/>
</record>
<record model="account.tax.template" id="account_es.iva_X4_compras_bi">
<field name="sii_book_key">R</field>
<field name="sii_received_key">13</field>
<field name="sii_operation_key">F5</field>
<field name="sii_received_key">01</field>
<field name="sii_subjected_key">S1</field>
<field name="tax_used" eval="True"/>
<field name="invoice_used" eval="True"/>
</record>
<record model="account.tax.template" id="account_es.iva_X10_compras_bc">
<field name="sii_book_key">R</field>
<field name="sii_received_key">13</field>
<field name="sii_operation_key">F5</field>
<field name="sii_received_key">01</field>
<field name="sii_subjected_key">S1</field>
<field name="tax_used" eval="True"/>
<field name="invoice_used" eval="True"/>
</record>
<record model="account.tax.template" id="account_es.iva_X10_compras_bi">
<field name="sii_book_key">R</field>
<field name="sii_received_key">13</field>
<field name="sii_operation_key">F5</field>
<field name="sii_received_key">01</field>
<field name="sii_subjected_key">S1</field>
<field name="tax_used" eval="True"/>
<field name="invoice_used" eval="True"/>
</record>
<record model="account.tax.template" id="account_es.iva_X21_compras_bc">
<field name="sii_book_key">R</field>
<field name="sii_received_key">13</field>
<field name="sii_operation_key">F5</field>
<field name="sii_received_key">01</field>
<field name="sii_subjected_key">S1</field>
<field name="tax_used" eval="True"/>
<field name="invoice_used" eval="True"/>
</record>
<record model="account.tax.template" id="account_es.iva_X21_compras_bi">
<field name="sii_book_key">R</field>
<field name="sii_received_key">13</field>
<field name="sii_operation_key">F5</field>
<field name="sii_received_key">01</field>
<field name="sii_subjected_key">S1</field>
<field name="tax_used" eval="True"/>
<field name="invoice_used" eval="True"/>

8
view/reset_keys_end.xml Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0"?>
<!--The COPYRIGHT file at the top level of this repository
contains the full copyright notices and license terms. -->
<form col="2">
<image name="tryton-info" xexpand="0" xfill="0"/>
<label string="The AEAT SII Keys have been reset."
id="data" yalign="0.0" xalign="0.0" xexpand="1"/>
</form>

17
view/reset_keys_start.xml Normal file
View File

@ -0,0 +1,17 @@
<?xml version="1.0"?>
<!--The COPYRIGHT file at the top level of this repository
contains the full copyright notices and license terms. -->
<form col="2">
<image name="tryton-info" xexpand="0"
xfill="0"/>
<group id="strings">
<label string="The AEAT SII Keys for selected invoices will be reset to default."
id="reset" yalign="0.0" xalign="0.0" xexpand="1"/>
<newline/>
<label string="Only will be reset the draft invoices."
id="reset_draft" yalign="0.0" xalign="0.0" xexpand="1"/>
<newline/>
<label string="Note that this operation may take a few minutes."
id="operation" yalign="0.0" xalign="0.0" xexpand="1"/>
</group>
</form>

View File

@ -10,6 +10,8 @@ contains the full copyright notices and license terms. -->
<field name="invoice_used"/>
<label name="sii_book_key"/>
<field name="sii_book_key"/>
<label name="sii_operation_key"/>
<field name="sii_operation_key"/>
<label name="sii_issued_key"/>
<field name="sii_issued_key"/>
<label name="sii_received_key"/>

View File

@ -10,6 +10,8 @@ contains the full copyright notices and license terms. -->
<field name="invoice_used"/>
<label name="sii_book_key"/>
<field name="sii_book_key"/>
<label name="sii_operation_key"/>
<field name="sii_operation_key"/>
<label name="sii_issued_key"/>
<field name="sii_issued_key"/>
<label name="sii_received_key"/>