Set new REAGP taxes.

Update transaltions

Fix PEP8
This commit is contained in:
Bernat Brunet 2021-08-11 14:28:58 +02:00
parent 6a368f4e60
commit 9b352b9286
5 changed files with 261 additions and 302 deletions

86
aeat.py
View File

@ -39,6 +39,7 @@ _ZERO = Decimal('0.0')
SII_TEST = config.getboolean('aeat', 'sii_test', default=True)
MAX_SII_LINES = config.getint('aeat', 'sii_lines', default=300)
def _decimal(x):
return Decimal(x) if x is not None else None
@ -50,6 +51,7 @@ def _date(x):
def _datetime(x):
return datetime.strptime(x, "%d-%m-%Y %H:%M:%S")
COMMUNICATION_TYPE = [ # L0
(None, ''),
('A0', 'Registration of invoices/records'),
@ -88,7 +90,7 @@ OPERATION_KEY = [ # L2_EMI - L2_RECI
('F4', 'Invoice summary entry'),
('F5', 'Import (DUA)'),
('F6', 'Other accounting documents'),
('LC', 'Duty - Complementary clearing'), # Not supported
('LC', 'Duty - Complementary clearing'), # Not supported
]
PARTY_IDENTIFIER_TYPE = [
@ -137,15 +139,16 @@ RECEIVE_SPECIAL_REGIME_KEY = [
(None, ''),
('01', 'General tax regime activity'),
('02', 'Activities through which businesses pay compensation for special '
'VAT arrangements for agriculture and fisheries'),
'VAT arrangements for agriculture and fisheries (REAGYP)'),
('03', 'Activities to which the special scheme of used goods, '
'works of art, antiquities and collectables (135-139 of the VAT Law)'),
'works of art, antiquities and collectables (REBU) [135-139 of the VAT'
' Law]'),
('04', 'Special scheme for investment gold'),
('05', 'Special scheme for travel agencies'),
('06', 'Special scheme applicable to groups of entities, VAT (Advanced)'),
('07', 'Special cash basis scheme'),
('08', 'Activities subject to Canary Islands General Indirect Tax/Tax '
'on Production, Services and Imports'),
'on Production, Services and Imports (IPSI/IGIC)'),
('09', 'Intra-Community acquisition of assets and provisions of services'),
('12', 'Business premises lease activities'),
('13', 'Invoice corresponding to an import '
@ -237,12 +240,11 @@ class SIIReport(Workflow, ModelSQL, ModelView):
}, depends=['state', 'fiscalyear'])
load_date = fields.Date('Load Date',
domain=['OR', [
('load_date', '=', None),
], [
('load_date', '>=', Eval('load_date_start')),
('load_date', '<=', Eval('load_date_end')),
]
], depends=['load_date_start', 'load_date_end'],
('load_date', '=', None),
], [
('load_date', '>=', Eval('load_date_start')),
('load_date', '<=', Eval('load_date_end')),
]], depends=['load_date_start', 'load_date_end'],
help='Filter invoices to the date whitin the period.')
load_date_start = fields.Function(fields.Date('Load Date Start'),
'on_change_with_load_date_start')
@ -287,7 +289,8 @@ class SIIReport(Workflow, ModelSQL, ModelView):
},
depends=['state'])
response = fields.Text('Response', readonly=True)
aeat_register = fields.Text('Register sended to AEAT Webservice', readonly=True)
aeat_register = fields.Text('Register sended to AEAT Webservice',
readonly=True)
@classmethod
def __setup__(cls):
@ -499,7 +502,7 @@ class SIIReport(Workflow, ModelSQL, ModelView):
_logger.debug('Searching invoices for SII report: %s', domain)
for invoice in Invoice.search(domain):
if not all(l.report != report for l in invoice.sii_records):
if not all(x.report != report for x in invoice.sii_records):
continue
to_create.append({
'report': report,
@ -524,7 +527,8 @@ class SIIReport(Workflow, ModelSQL, ModelView):
srv = service.bind_issued_invoices_service(
crt, key, test=SII_TEST)
try:
res, request = srv.submit(headers, (l.invoice for l in self.lines))
res, request = srv.submit(
headers, (x.invoice for x in self.lines))
self.aeat_register = request
except Exception as e:
raise UserError(tools.unaccent(str(e)))
@ -552,7 +556,8 @@ class SIIReport(Workflow, ModelSQL, ModelView):
crt, key, test=SII_TEST)
try:
res = srv.cancel(
headers, [eval(line.sii_header) for line in self.lines])
headers, [
eval(line.sii_header) for line in self.lines])
except Exception as e:
raise UserError(gettext('aeat_sii.msg_service_message',
message=tools.unaccent(str(e))))
@ -642,7 +647,8 @@ class SIIReport(Workflow, ModelSQL, ModelView):
'last_modify_date': _datetime(
reg.EstadoFactura.TimestampUltimaModificacion),
'communication_code': reg.EstadoFactura.CodigoErrorRegistro,
'communication_msg': reg.EstadoFactura.DescripcionErrorRegistro,
'communication_msg': (reg.EstadoFactura.
DescripcionErrorRegistro),
'issuer_vat_number': (
reg.IDFactura.IDEmisorFactura.NIF or
reg.IDFactura.IDEmisorFactura.IDOtro.ID),
@ -652,8 +658,8 @@ class SIIReport(Workflow, ModelSQL, ModelView):
'issue_date': _date(
reg.IDFactura.FechaExpedicionFacturaEmisor),
'invoice_kind': reg.DatosFacturaEmitida.TipoFactura,
'special_key': (
reg.DatosFacturaEmitida.ClaveRegimenEspecialOTrascendencia),
'special_key': (reg.DatosFacturaEmitida.
ClaveRegimenEspecialOTrascendencia),
'total_amount': _decimal(reg.DatosFacturaEmitida.ImporteTotal),
'taxes': [('add', [t.id for t in taxes])] if taxes else [],
'exemption_cause': exemption,
@ -693,7 +699,8 @@ class SIIReport(Workflow, ModelSQL, ModelView):
srv = service.bind_recieved_invoices_service(
crt, key, test=SII_TEST)
try:
res, request = srv.submit(headers, (l.invoice for l in self.lines))
res, request = srv.submit(
headers, (x.invoice for x in self.lines))
self.aeat_register = request
except Exception as e:
raise UserError(gettext('aeat_sii.msg_service_message',
@ -722,7 +729,8 @@ class SIIReport(Workflow, ModelSQL, ModelView):
srv = service.bind_recieved_invoices_service(
crt, key, test=SII_TEST)
res = srv.cancel(
headers, [eval(line.sii_header) for line in self.lines])
headers, [
eval(line.sii_header) for line in self.lines])
except Exception as e:
raise UserError(gettext('aeat_sii.msg_service_message',
message=tools.unaccent(str(e))))
@ -742,7 +750,8 @@ class SIIReport(Workflow, ModelSQL, ModelView):
self.lines, response.RespuestaLinea):
if not report_line.communication_code:
report_line.state = response_line.EstadoRegistro
report_line.communication_code = response_line.CodigoErrorRegistro
report_line.communication_code = (
response_line.CodigoErrorRegistro)
report_line.communication_msg = (
response_line.DescripcionErrorRegistro)
report_line.save()
@ -785,8 +794,8 @@ class SIIReport(Workflow, ModelSQL, ModelView):
invoice_date = _date(reg.IDFactura.FechaExpedicionFacturaEmisor)
taxes_to_create = []
for detail in reg.DatosFacturaRecibida.DesgloseFactura.DesgloseIVA.\
DetalleIVA:
for detail in reg.DatosFacturaRecibida.DesgloseFactura.\
DesgloseIVA.DetalleIVA:
taxes_to_create.append({
'base': _decimal(detail.BaseImponible),
'rate': _decimal(detail.TipoImpositivo),
@ -883,9 +892,10 @@ class SIIReport(Workflow, ModelSQL, ModelView):
SIIReportLine = pool.get('aeat.sii.report.lines')
issued_invoices = {
'A0': {}, # 'A0', 'Registration of invoices/records'
'A1': {}, # 'A1', 'Amendment of invoices/records (registration errors)'
'D0': {}, # 'D0', 'Delete Invoices'
'A0': {}, # 'A0', 'Registration of invoices/records'
'A1': {}, # 'A1', 'Amendment of invoices/records
# (registration errors)'
'D0': {}, # 'D0', 'Delete Invoices'
}
issued_invs = Invoice.search([
@ -958,9 +968,10 @@ class SIIReport(Workflow, ModelSQL, ModelView):
SIIReportLine = pool.get('aeat.sii.report.lines')
received_invoices = {
'A0': {}, # 'A0', 'Registration of invoices/records'
'A1': {}, # 'A1', 'Amendment of invoices/records (registration errors)'
'D0': {}, # 'D0', 'Delete Invoices'
'A0': {}, # 'A0', 'Registration of invoices/records'
'A1': {}, # 'A1', 'Amendment of invoices/records
# (registration errors)'
'D0': {}, # 'D0', 'Delete Invoices'
}
received_invs = Invoice.search([
@ -1058,7 +1069,8 @@ class SIIReport(Workflow, ModelSQL, ModelView):
values = []
for inv in invs:
sii_header = str(inv.get_sii_header(inv, delete))
values.append([report.id, inv.id, sii_header, company.id])
values.append(
[report.id, inv.id, sii_header, company.id])
cursor.execute(*report_line_table.insert(
columns=[report_line_table.report,
@ -1224,7 +1236,8 @@ class SIIReportLine(ModelSQL, ModelView):
report = (SIIReport(id=vals['report'])
if vals.get('report') else None)
delete = True if report and report.operation_type == 'D0' else False
delete = (True if report and report.operation_type == 'D0' else
False)
vals['sii_header'] = (str(invoice.get_sii_header(invoice, delete))
if invoice else '')
if vals.get('state', None) == 'Correcto' and invoice:
@ -1345,7 +1358,7 @@ class CreateSiiIssuedPending(Wizard):
if reports:
raise UserError(gettext('aeat_sii.reports_exist'))
reports = Report.get_issued_sii_reports()
reports = [x.id for x in reports] if reports else []
reports = [x.id for x in reports] if reports else []
action['pyson_domain'] = PYSONEncoder().encode([
('id', 'in', reports),
])
@ -1384,3 +1397,14 @@ class CreateSiiReceivedPending(Wizard):
('id', 'in', reports),
])
return action, {}
class Report():
__name__ = ''
@fields.depends('exonerated_mod390', 'period')
def on_change_with_exonerated_mod390(self, name=None):
if self.period in ('4T', '12') and self.exonerated_mod390 == '0':
return '1'
else:
return self.exonerated_mod390

View File

@ -2,6 +2,22 @@
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.configuration,aeat_pending_sii:"
msgid "AEAT Pending SII"
msgstr "Generà Llibres del SII pendents"
msgctxt "field:account.configuration,aeat_pending_sii_send:"
msgid "AEAT Pending SII Send"
msgstr "Enviar Llibres del SII pendents"
msgctxt "field:account.configuration,aeat_received_sii:"
msgid "AEAT Received SII"
msgstr "Generà Llibres del SII pendents"
msgctxt "field:account.configuration,aeat_received_sii_send:"
msgid "AEAT Received SII Send"
msgstr "Enviar Llibres del SII pendents"
msgctxt "field:account.invoice,sii_book_key:"
msgid "SII Book Key"
msgstr "SII Clave libro"
@ -102,18 +118,6 @@ msgctxt "field:account.tax.template,tax_used:"
msgid "Used in Tax"
msgstr "Usat en impostos"
msgctxt "field:aeat.sii.issued.invoice.mapper,id:"
msgid "ID"
msgstr "ID"
msgctxt "field:aeat.sii.issued.pending.view,id:"
msgid "ID"
msgstr "ID"
msgctxt "field:aeat.sii.load_pkcs12.start,id:"
msgid "ID"
msgstr "ID"
msgctxt "field:aeat.sii.load_pkcs12.start,password:"
msgid "Password"
msgstr "Contraseña"
@ -122,13 +126,9 @@ msgctxt "field:aeat.sii.load_pkcs12.start,pfx:"
msgid "PFX File"
msgstr "Archivo PFX "
msgctxt "field:aeat.sii.received.pending.view,id:"
msgid "ID"
msgstr "ID"
msgctxt "field:aeat.sii.recieved.invoice.mapper,id:"
msgid "ID"
msgstr "ID"
msgctxt "field:aeat.sii.report,aeat_register:"
msgid "Register sended to AEAT Webservice"
msgstr "Registres enviats al webservice de l'AEAT"
msgctxt "field:aeat.sii.report,book:"
msgid "Book"
@ -146,14 +146,6 @@ msgctxt "field:aeat.sii.report,company_vat:"
msgid "VAT"
msgstr "NIF"
msgctxt "field:aeat.sii.report,create_date:"
msgid "Create Date"
msgstr "Fecha de creación"
msgctxt "field:aeat.sii.report,create_uid:"
msgid "Create User"
msgstr "Usuario de creación"
msgctxt "field:aeat.sii.report,csv:"
msgid "CSV"
msgstr "CSV"
@ -166,10 +158,6 @@ msgctxt "field:aeat.sii.report,fiscalyear:"
msgid "Fiscal Year"
msgstr "Ejercicio fiscal"
msgctxt "field:aeat.sii.report,id:"
msgid "ID"
msgstr "ID"
msgctxt "field:aeat.sii.report,lines:"
msgid "Lines"
msgstr "Líneas"
@ -194,10 +182,6 @@ msgctxt "field:aeat.sii.report,period:"
msgid "Period"
msgstr "Período"
msgctxt "field:aeat.sii.report,rec_name:"
msgid "Name"
msgstr "Nombre"
msgctxt "field:aeat.sii.report,response:"
msgid "Response"
msgstr "Resposta"
@ -214,14 +198,6 @@ msgctxt "field:aeat.sii.report,version:"
msgid "Version"
msgstr "Versión"
msgctxt "field:aeat.sii.report,write_date:"
msgid "Write Date"
msgstr "Fecha de modificación"
msgctxt "field:aeat.sii.report,write_uid:"
msgid "Write User"
msgstr "Usuario de modificación"
msgctxt "field:aeat.sii.report.line.tax,amount:"
msgid "Amount"
msgstr "Importe"
@ -230,18 +206,6 @@ msgctxt "field:aeat.sii.report.line.tax,base:"
msgid "Base"
msgstr "Base"
msgctxt "field:aeat.sii.report.line.tax,create_date:"
msgid "Create Date"
msgstr "Fecha de creación"
msgctxt "field:aeat.sii.report.line.tax,create_uid:"
msgid "Create User"
msgstr "Usuario de creación"
msgctxt "field:aeat.sii.report.line.tax,id:"
msgid "ID"
msgstr "ID"
msgctxt "field:aeat.sii.report.line.tax,line:"
msgid "Report Line"
msgstr "Línea informe"
@ -258,10 +222,6 @@ msgctxt "field:aeat.sii.report.line.tax,reagyp_rate:"
msgid "REAGYP Rate"
msgstr "Importe REAGYP"
msgctxt "field:aeat.sii.report.line.tax,rec_name:"
msgid "Name"
msgstr "Nombre"
msgctxt "field:aeat.sii.report.line.tax,surcharge_amount:"
msgid "Surcharge Amount"
msgstr "Importe recargo"
@ -270,14 +230,6 @@ msgctxt "field:aeat.sii.report.line.tax,surcharge_rate:"
msgid "Surcharge Rate"
msgstr "Conversión recargo"
msgctxt "field:aeat.sii.report.line.tax,write_date:"
msgid "Write Date"
msgstr "Fecha de modificación"
msgctxt "field:aeat.sii.report.line.tax,write_uid:"
msgid "Write User"
msgstr "Usuario de modificación"
msgctxt "field:aeat.sii.report.lines,aeat_register:"
msgid "Register from AEAT Webservice"
msgstr "Registre del Webservice de l'AEAT"
@ -306,14 +258,6 @@ msgctxt "field:aeat.sii.report.lines,counterpart_name:"
msgid "Counterpart Name"
msgstr "Nombre contrapartida"
msgctxt "field:aeat.sii.report.lines,create_date:"
msgid "Create Date"
msgstr "Fecha de creación"
msgctxt "field:aeat.sii.report.lines,create_uid:"
msgid "Create User"
msgstr "Usuario de creación"
msgctxt "field:aeat.sii.report.lines,csv:"
msgid "CSV"
msgstr "CSV"
@ -326,10 +270,6 @@ msgctxt "field:aeat.sii.report.lines,final_serial_number:"
msgid "Final Serial Number"
msgstr "Final número serie"
msgctxt "field:aeat.sii.report.lines,id:"
msgid "ID"
msgstr "ID"
msgctxt "field:aeat.sii.report.lines,identifier_type:"
msgid "Identifier Type"
msgstr "Tipo identificación"
@ -366,10 +306,6 @@ msgctxt "field:aeat.sii.report.lines,presenter:"
msgid "Presenter"
msgstr "Presentación"
msgctxt "field:aeat.sii.report.lines,rec_name:"
msgid "Name"
msgstr "Nombre"
msgctxt "field:aeat.sii.report.lines,report:"
msgid "Issued Report"
msgstr "Informe Emitidas"
@ -402,14 +338,6 @@ msgctxt "field:aeat.sii.report.lines,vat_code:"
msgid "VAT Code"
msgstr "NIF/CIF"
msgctxt "field:aeat.sii.report.lines,write_date:"
msgid "Write Date"
msgstr "Fecha de modificación"
msgctxt "field:aeat.sii.report.lines,write_uid:"
msgid "Write User"
msgstr "Usuario de modificación"
msgctxt "field:company.company,encrypted_private_key:"
msgid "Encrypted Private Key"
msgstr "Clave privada encriptada"
@ -430,6 +358,30 @@ msgctxt "field:party.party,sii_vat_code:"
msgid "SII VAT Code"
msgstr "Número NIF SII"
msgctxt "help:account.configuration,aeat_pending_sii:"
msgid "Automatically generate AEAT Pending SII reports by cron"
msgstr ""
"Generà automàticament Llibres del SII pendents des de les acciones "
"planificades"
msgctxt "help:account.configuration,aeat_pending_sii_send:"
msgid "Automatically send AEAT Pending SII reports by cron"
msgstr ""
"Enviar automàticament Llibres del SII pendents des de les acciones "
"planificades"
msgctxt "help:account.configuration,aeat_received_sii:"
msgid "Automatically generate AEAT Received SII reports by cron"
msgstr ""
"Generà automàticament Llibres del SII pendents des de les acciones "
"planificades"
msgctxt "help:account.configuration,aeat_received_sii_send:"
msgid "Automatically send AEAT Received SII reports by cron"
msgstr ""
"Enviar automàticament Llibres del SII pendents des de les acciones "
"planificades"
msgctxt "help:aeat.sii.report,load_date:"
msgid "Filter invoices to the date whitin the period."
msgstr "Filtra les factures fins la data dins del període."
@ -544,13 +496,17 @@ msgctxt "model:ir.message,text:msg_missing_fernet_key"
msgid "Missing Fernet key configuration"
msgstr "Falta clau Fernte"
msgctxt "model:ir.message,text:msg_missing_nif"
msgid "The party of the invoice %(invoice)s must has a valid Tax Identifier."
msgstr "El tercer de la factura %(invoice)s ha de tenir un NIF válid."
msgctxt "model:ir.message,text:msg_missing_pem_cert"
msgid "Missing PEM certificate"
msgstr "Falta certicat PEM"
msgctxt "model:ir.message,text:msg_missing_nif"
msgid "The party of the invoice %(invoice)s must has a valid Tax Identifier."
msgstr "El tercer de la factura %(invoice)s ha de tenir un NIF válid."
msgctxt "model:ir.message,text:msg_service_message"
msgid "%(message)s"
msgstr ""
msgctxt "model:ir.message,text:msg_sii_operation_key_wrong"
msgid ""
@ -559,6 +515,14 @@ msgstr ""
"La factura %(invoice)s té una convinació de claus del SII 'Operació' y "
"'Subjecte' errònies."
msgctxt "model:ir.message,text:msg_wrong_identifier_type"
msgid ""
"The party [%(party)s] of the invoice %(invoice)s must has a valid SII "
"Identifier [VAT (only for intracommunity operators)]."
msgstr ""
"El tercer [%(party)s] de la factura %(invoice)s ha de tenir un identificador"
" SII vàlid [NIF-VAT (Només per operados intracomunitaris)]."
msgctxt "model:ir.message,text:reports_exist"
msgid ""
"There are some reports in draft and/or confirmed. Any report won't be "
@ -820,27 +784,28 @@ msgstr ""
msgctxt "selection:account.invoice,sii_received_key:"
msgid ""
"Activities subject to Canary Islands General Indirect Tax/Tax on Production,"
" Services and Imports"
" Services and Imports (IPSI/IGIC)"
msgstr ""
"Operaciones sujetas al IPSI / IGIC (Impuesto sobre la Producción, los "
"Servicios y la Importación / Impuesto General Indirecto Canario)"
"Operacions subjectes al IPSI / IGIC (Impost sobre la Producció, els Serveis "
"y la Importació / Impost General Indirecte Canari)"
msgctxt "selection:account.invoice,sii_received_key:"
msgid ""
"Activities through which businesses pay compensation for special VAT "
"arrangements for agriculture and fisheries"
"arrangements for agriculture and fisheries (REAGYP)"
msgstr ""
"Operaciones por las que los empresarios satisfacen compensaciones en las "
"adquisiciones a personas acogidas al Régimen especial de la agricultura, "
"ganaderia y pesca"
"Operacions per les que els empresaris satisfan compensacions en les "
"adquisicions a persones acollides al Régim Especial de l'Agricultura, "
"Remaderia i Pesca (REAGYP)"
msgctxt "selection:account.invoice,sii_received_key:"
msgid ""
"Activities to which the special scheme of used goods, works of art, "
"antiquities and collectables (135-139 of the VAT Law)"
"antiquities and collectables (REBU) [135-139 of the VAT Law]"
msgstr ""
"Operaciones a las que se aplique el régimen especial de bienes usados, "
"objetos de arte, antigüedades y objetos de colección"
"Operacions a les que s'aplica el régim especial de bens usats, objectes "
"d'art, antiguitats i objectes de col·lecció (REBU) [135-139 de la Ley de "
"IVA]"
msgctxt "selection:account.invoice,sii_received_key:"
msgid "Business premises lease activities"
@ -1107,27 +1072,28 @@ msgstr ""
msgctxt "selection:account.tax,sii_received_key:"
msgid ""
"Activities subject to Canary Islands General Indirect Tax/Tax on Production,"
" Services and Imports"
" Services and Imports (IPSI/IGIC)"
msgstr ""
"Operaciones sujetas al IPSI / IGIC (Impuesto sobre la Producción, los "
"Servicios y la Importación / Impuesto General Indirecto Canario)"
"Operacions subjectes al IPSI / IGIC (Impost sobre la Producció, els Serveis "
"y la Importació / Impost General Indirecte Canari)"
msgctxt "selection:account.tax,sii_received_key:"
msgid ""
"Activities through which businesses pay compensation for special VAT "
"arrangements for agriculture and fisheries"
"arrangements for agriculture and fisheries (REAGYP)"
msgstr ""
"Operaciones por las que los empresarios satisfacen compensaciones en las "
"adquisiciones a personas acogidas al Régimen especial de la agricultura, "
"ganaderia y pesca"
"Operacions per les que els empresaris satisfan compensacions en les "
"adquisicions a persones acollides al Régim Especial de l'Agricultura, "
"Remaderia i Pesca (REAGYP)"
msgctxt "selection:account.tax,sii_received_key:"
msgid ""
"Activities to which the special scheme of used goods, works of art, "
"antiquities and collectables (135-139 of the VAT Law)"
"antiquities and collectables (REBU) [135-139 of the VAT Law]"
msgstr ""
"Operaciones a las que se aplique el régimen especial de bienes usados, "
"objetos de arte, antigüedades y objetos de colección"
"Operacions a les que s'aplica el régim especial de bens usats, objectes "
"d'art, antiguitats i objectes de col·lecció (REBU) [135-139 de la Ley de "
"IVA]"
msgctxt "selection:account.tax,sii_received_key:"
msgid "Business premises lease activities"
@ -1379,27 +1345,28 @@ msgstr ""
msgctxt "selection:account.tax.template,sii_received_key:"
msgid ""
"Activities subject to Canary Islands General Indirect Tax/Tax on Production,"
" Services and Imports"
" Services and Imports (IPSI/IGIC)"
msgstr ""
"Operaciones sujetas al IPSI / IGIC (Impuesto sobre la Producción, los "
"Servicios y la Importación / Impuesto General Indirecto Canario)"
"Operacions subjectes al IPSI / IGIC (Impost sobre la Producció, els Serveis "
"y la Importació / Impost General Indirecte Canari)"
msgctxt "selection:account.tax.template,sii_received_key:"
msgid ""
"Activities through which businesses pay compensation for special VAT "
"arrangements for agriculture and fisheries"
"arrangements for agriculture and fisheries (REAGYP)"
msgstr ""
"Operaciones por las que los empresarios satisfacen compensaciones en las "
"adquisiciones a personas acogidas al Régimen especial de la agricultura, "
"ganaderia y pesca"
"Operacions per les que els empresaris satisfan compensacions en les "
"adquisicions a persones acollides al Régim Especial de l'Agricultura, "
"Remaderia i Pesca (REAGYP)"
msgctxt "selection:account.tax.template,sii_received_key:"
msgid ""
"Activities to which the special scheme of used goods, works of art, "
"antiquities and collectables (135-139 of the VAT Law)"
"antiquities and collectables (REBU) [135-139 of the VAT Law]"
msgstr ""
"Operaciones a las que se aplique el régimen especial de bienes usados, "
"objetos de arte, antigüedades y objetos de colección"
"Operacions a les que s'aplica el régim especial de bens usats, objectes "
"d'art, antiguitats i objectes de col·lecció (REBU) [135-139 de la Ley de "
"IVA]"
msgctxt "selection:account.tax.template,sii_received_key:"
msgid "Business premises lease activities"
@ -1639,6 +1606,10 @@ msgctxt "selection:aeat.sii.report.lines,state:"
msgid "Rejected"
msgstr "Rechazado"
msgctxt "selection:ir.cron,method:"
msgid "AEAT SII"
msgstr "AEAT SII"
msgctxt "selection:party.party,sii_identifier_type:"
msgid "Not registered (only for Spanish VAT not registered)"
msgstr "No censado (solo para NIF españoles no censados)"
@ -1666,13 +1637,13 @@ msgctxt "selection:party.party,sii_identifier_type:"
msgid "VAT (only for intracommunity operators)"
msgstr " NIF-IVA (Solo para operadores intracomunitarios) "
msgctxt "view:account.invoice:"
msgctxt "view:account.configuration:"
msgid "AEAT SII"
msgstr "AEAT SII"
msgctxt "view:account.invoice:"
msgid "Reset SII Keys"
msgstr "Reiniciar claves SII"
msgid "AEAT SII"
msgstr "AEAT SII"
msgctxt "view:account.tax.template:"
msgid "AEAT SII"

View File

@ -2,6 +2,22 @@
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.configuration,aeat_pending_sii:"
msgid "AEAT Pending SII"
msgstr "Generar Libros del SII pendientes"
msgctxt "field:account.configuration,aeat_pending_sii_send:"
msgid "AEAT Pending SII Send"
msgstr "Mandar Libros del SII pendientes"
msgctxt "field:account.configuration,aeat_received_sii:"
msgid "AEAT Received SII"
msgstr "Generar Libros del SII pendientes"
msgctxt "field:account.configuration,aeat_received_sii_send:"
msgid "AEAT Received SII Send"
msgstr "Mandar Libros del SII pendientes"
msgctxt "field:account.invoice,sii_book_key:"
msgid "SII Book Key"
msgstr "SII Clave libro"
@ -102,18 +118,6 @@ msgctxt "field:account.tax.template,tax_used:"
msgid "Used in Tax"
msgstr "Usado en impuestos"
msgctxt "field:aeat.sii.issued.invoice.mapper,id:"
msgid "ID"
msgstr "ID"
msgctxt "field:aeat.sii.issued.pending.view,id:"
msgid "ID"
msgstr "ID"
msgctxt "field:aeat.sii.load_pkcs12.start,id:"
msgid "ID"
msgstr "ID"
msgctxt "field:aeat.sii.load_pkcs12.start,password:"
msgid "Password"
msgstr "Contraseña"
@ -122,13 +126,9 @@ msgctxt "field:aeat.sii.load_pkcs12.start,pfx:"
msgid "PFX File"
msgstr "Archivo PFX "
msgctxt "field:aeat.sii.received.pending.view,id:"
msgid "ID"
msgstr "ID"
msgctxt "field:aeat.sii.recieved.invoice.mapper,id:"
msgid "ID"
msgstr "ID"
msgctxt "field:aeat.sii.report,aeat_register:"
msgid "Register sended to AEAT Webservice"
msgstr "Registro enviado al webservice de la AEAT"
msgctxt "field:aeat.sii.report,book:"
msgid "Book"
@ -146,14 +146,6 @@ msgctxt "field:aeat.sii.report,company_vat:"
msgid "VAT"
msgstr "NIF"
msgctxt "field:aeat.sii.report,create_date:"
msgid "Create Date"
msgstr "Fecha de creación"
msgctxt "field:aeat.sii.report,create_uid:"
msgid "Create User"
msgstr "Usuario de creación"
msgctxt "field:aeat.sii.report,csv:"
msgid "CSV"
msgstr "CSV"
@ -166,10 +158,6 @@ msgctxt "field:aeat.sii.report,fiscalyear:"
msgid "Fiscal Year"
msgstr "Ejercicio fiscal"
msgctxt "field:aeat.sii.report,id:"
msgid "ID"
msgstr "ID"
msgctxt "field:aeat.sii.report,lines:"
msgid "Lines"
msgstr "Líneas"
@ -194,10 +182,6 @@ msgctxt "field:aeat.sii.report,period:"
msgid "Period"
msgstr "Período"
msgctxt "field:aeat.sii.report,rec_name:"
msgid "Name"
msgstr "Nombre"
msgctxt "field:aeat.sii.report,response:"
msgid "Response"
msgstr "Respuesta"
@ -214,14 +198,6 @@ msgctxt "field:aeat.sii.report,version:"
msgid "Version"
msgstr "Versión"
msgctxt "field:aeat.sii.report,write_date:"
msgid "Write Date"
msgstr "Fecha de modificación"
msgctxt "field:aeat.sii.report,write_uid:"
msgid "Write User"
msgstr "Usuario de modificación"
msgctxt "field:aeat.sii.report.line.tax,amount:"
msgid "Amount"
msgstr "Importe"
@ -230,18 +206,6 @@ msgctxt "field:aeat.sii.report.line.tax,base:"
msgid "Base"
msgstr "Base"
msgctxt "field:aeat.sii.report.line.tax,create_date:"
msgid "Create Date"
msgstr "Fecha de creación"
msgctxt "field:aeat.sii.report.line.tax,create_uid:"
msgid "Create User"
msgstr "Usuario de creación"
msgctxt "field:aeat.sii.report.line.tax,id:"
msgid "ID"
msgstr "ID"
msgctxt "field:aeat.sii.report.line.tax,line:"
msgid "Report Line"
msgstr "Línea informe"
@ -258,10 +222,6 @@ msgctxt "field:aeat.sii.report.line.tax,reagyp_rate:"
msgid "REAGYP Rate"
msgstr "Importe REAGYP"
msgctxt "field:aeat.sii.report.line.tax,rec_name:"
msgid "Name"
msgstr "Nombre"
msgctxt "field:aeat.sii.report.line.tax,surcharge_amount:"
msgid "Surcharge Amount"
msgstr "Importe recargo"
@ -270,14 +230,6 @@ msgctxt "field:aeat.sii.report.line.tax,surcharge_rate:"
msgid "Surcharge Rate"
msgstr "Conversión recargo"
msgctxt "field:aeat.sii.report.line.tax,write_date:"
msgid "Write Date"
msgstr "Fecha de modificación"
msgctxt "field:aeat.sii.report.line.tax,write_uid:"
msgid "Write User"
msgstr "Usuario de modificación"
msgctxt "field:aeat.sii.report.lines,aeat_register:"
msgid "Register from AEAT Webservice"
msgstr "Registro del Webservice de la AEAT"
@ -306,14 +258,6 @@ msgctxt "field:aeat.sii.report.lines,counterpart_name:"
msgid "Counterpart Name"
msgstr "Nombre contrapartida"
msgctxt "field:aeat.sii.report.lines,create_date:"
msgid "Create Date"
msgstr "Fecha de creación"
msgctxt "field:aeat.sii.report.lines,create_uid:"
msgid "Create User"
msgstr "Usuario de creación"
msgctxt "field:aeat.sii.report.lines,csv:"
msgid "CSV"
msgstr "CSV"
@ -326,10 +270,6 @@ msgctxt "field:aeat.sii.report.lines,final_serial_number:"
msgid "Final Serial Number"
msgstr "Final número serie"
msgctxt "field:aeat.sii.report.lines,id:"
msgid "ID"
msgstr "ID"
msgctxt "field:aeat.sii.report.lines,identifier_type:"
msgid "Identifier Type"
msgstr "Tipo identificación"
@ -366,10 +306,6 @@ msgctxt "field:aeat.sii.report.lines,presenter:"
msgid "Presenter"
msgstr "Presentación"
msgctxt "field:aeat.sii.report.lines,rec_name:"
msgid "Name"
msgstr "Nombre"
msgctxt "field:aeat.sii.report.lines,report:"
msgid "Issued Report"
msgstr "Informe Emitidas"
@ -402,14 +338,6 @@ msgctxt "field:aeat.sii.report.lines,vat_code:"
msgid "VAT Code"
msgstr "NIF/CIF"
msgctxt "field:aeat.sii.report.lines,write_date:"
msgid "Write Date"
msgstr "Fecha de modificación"
msgctxt "field:aeat.sii.report.lines,write_uid:"
msgid "Write User"
msgstr "Usuario de modificación"
msgctxt "field:company.company,encrypted_private_key:"
msgid "Encrypted Private Key"
msgstr "Clave privada encriptada"
@ -430,6 +358,30 @@ msgctxt "field:party.party,sii_vat_code:"
msgid "SII VAT Code"
msgstr "Número NIF SII"
msgctxt "help:account.configuration,aeat_pending_sii:"
msgid "Automatically generate AEAT Pending SII reports by cron"
msgstr ""
"Generar automáticamente Libros del SII pendientes des de las acciones "
"planificadas"
msgctxt "help:account.configuration,aeat_pending_sii_send:"
msgid "Automatically send AEAT Pending SII reports by cron"
msgstr ""
"Mandar automáticamente Libros del SII pendientes des de las acciones "
"planificadas"
msgctxt "help:account.configuration,aeat_received_sii:"
msgid "Automatically generate AEAT Received SII reports by cron"
msgstr ""
"Generar automáticamente Libros del SII pendientes des de las acciones "
"planificadas"
msgctxt "help:account.configuration,aeat_received_sii_send:"
msgid "Automatically send AEAT Received SII reports by cron"
msgstr ""
"Mandar automáticamente Libros del SII pendientes des de las acciones "
"planificadas"
msgctxt "help:aeat.sii.report,load_date:"
msgid "Filter invoices to the date whitin the period."
msgstr "Filtra las facturas hasta la fecha dentro del período."
@ -546,20 +498,32 @@ msgctxt "model:ir.message,text:msg_missing_fernet_key"
msgid "Missing Fernet key configuration"
msgstr "Falta llave Fernet"
msgctxt "model:ir.message,text:msg_missing_nif"
msgid "The party of the invoice %(invoice)s must has a valid Tax Identifier."
msgstr "El tercero de la factura %(invoice)s tiene que tener un NIF válido."
msgctxt "model:ir.message,text:msg_missing_pem_cert"
msgid "Missing PEM certificate"
msgstr "Falta Certificado PEM"
msgctxt "model:ir.message,text:msg_missing_nif"
msgid "The party of the invoice %(invoice)s must has a valid Tax Identifier."
msgstr "El tercero de la factura %(invoice)s tiene que tener un NIF válido."
msgctxt "model:ir.message,text:msg_service_message"
msgid "%(message)s"
msgstr ""
msgctxt "model:ir.message,text:msg_sii_operation_key_wrong"
msgid ""
"The invoice %(invoice)s has wrong subjected and opertion sii combination."
msgstr ""
"La factura %(invoice)s tiene una combinación de claves del SII 'Operación' y "
"'Sujeta' errónea."
"La factura %(invoice)s tiene una combinación de claves del SII 'Operación' y"
" 'Sujeta' errónea."
msgctxt "model:ir.message,text:msg_wrong_identifier_type"
msgid ""
"The party [%(party)s] of the invoice %(invoice)s must has a valid SII "
"Identifier [VAT (only for intracommunity operators)]."
msgstr ""
"El tercero [%(party)s] de la factura %(invoice)s tiene que tner un "
"identificador SII válido [NIF-VAT (Sólo para operadores intracomunitarios)]."
msgctxt "model:ir.message,text:reports_exist"
msgid ""
@ -822,27 +786,28 @@ msgstr ""
msgctxt "selection:account.invoice,sii_received_key:"
msgid ""
"Activities subject to Canary Islands General Indirect Tax/Tax on Production,"
" Services and Imports"
" Services and Imports (IPSI/IGIC)"
msgstr ""
"Operaciones sujetas al IPSI / IGIC (Impuesto sobre la Producción, los "
"Servicios y la Importación / Impuesto General Indirecto Canario)"
"Servicios y la Importación / Impuesto General Indirectio Canario)"
msgctxt "selection:account.invoice,sii_received_key:"
msgid ""
"Activities through which businesses pay compensation for special VAT "
"arrangements for agriculture and fisheries"
"arrangements for agriculture and fisheries (REAGYP)"
msgstr ""
"Operaciones por las que los empresarios satisfacen compensaciones en las "
"adquisiciones a personas acogidas al Régimen especial de la agricultura, "
"ganaderia y pesca"
"Operaciones por las que los empresarios satifacen compensaciones en las "
"adquisiciones a personas acogidas al Régimen Especial de la Agricultura, "
"Ganadería y Pesca (REAGYP)"
msgctxt "selection:account.invoice,sii_received_key:"
msgid ""
"Activities to which the special scheme of used goods, works of art, "
"antiquities and collectables (135-139 of the VAT Law)"
"antiquities and collectables (REBU) [135-139 of the VAT Law]"
msgstr ""
"Operaciones a las que se aplique el régimen especial de bienes usados, "
"objetos de arte, antigüedades y objetos de colección"
"objectos de arte, antigüedades y objectos de colección (REBU) [135-139 de la"
" Ley de IVA]"
msgctxt "selection:account.invoice,sii_received_key:"
msgid "Business premises lease activities"
@ -1109,27 +1074,28 @@ msgstr ""
msgctxt "selection:account.tax,sii_received_key:"
msgid ""
"Activities subject to Canary Islands General Indirect Tax/Tax on Production,"
" Services and Imports"
" Services and Imports (IPSI/IGIC)"
msgstr ""
"Operaciones sujetas al IPSI / IGIC (Impuesto sobre la Producción, los "
"Servicios y la Importación / Impuesto General Indirecto Canario)"
"Servicios y la Importación / Impuesto General Indirectio Canario)"
msgctxt "selection:account.tax,sii_received_key:"
msgid ""
"Activities through which businesses pay compensation for special VAT "
"arrangements for agriculture and fisheries"
"arrangements for agriculture and fisheries (REAGYP)"
msgstr ""
"Operaciones por las que los empresarios satisfacen compensaciones en las "
"adquisiciones a personas acogidas al Régimen especial de la agricultura, "
"ganaderia y pesca"
"Operaciones por las que los empresarios satifacen compensaciones en las "
"adquisiciones a personas acogidas al Régimen Especial de la Agricultura, "
"Ganadería y Pesca (REAGYP)"
msgctxt "selection:account.tax,sii_received_key:"
msgid ""
"Activities to which the special scheme of used goods, works of art, "
"antiquities and collectables (135-139 of the VAT Law)"
"antiquities and collectables (REBU) [135-139 of the VAT Law]"
msgstr ""
"Operaciones a las que se aplique el régimen especial de bienes usados, "
"objetos de arte, antigüedades y objetos de colección"
"objectos de arte, antigüedades y objectos de colección (REBU) [135-139 de la"
" Ley de IVA]"
msgctxt "selection:account.tax,sii_received_key:"
msgid "Business premises lease activities"
@ -1381,27 +1347,28 @@ msgstr ""
msgctxt "selection:account.tax.template,sii_received_key:"
msgid ""
"Activities subject to Canary Islands General Indirect Tax/Tax on Production,"
" Services and Imports"
" Services and Imports (IPSI/IGIC)"
msgstr ""
"Operaciones sujetas al IPSI / IGIC (Impuesto sobre la Producción, los "
"Servicios y la Importación / Impuesto General Indirecto Canario)"
"Servicios y la Importación / Impuesto General Indirectio Canario)"
msgctxt "selection:account.tax.template,sii_received_key:"
msgid ""
"Activities through which businesses pay compensation for special VAT "
"arrangements for agriculture and fisheries"
"arrangements for agriculture and fisheries (REAGYP)"
msgstr ""
"Operaciones por las que los empresarios satisfacen compensaciones en las "
"adquisiciones a personas acogidas al Régimen especial de la agricultura, "
"ganaderia y pesca"
"Operaciones por las que los empresarios satifacen compensaciones en las "
"adquisiciones a personas acogidas al Régimen Especial de la Agricultura, "
"Ganadería y Pesca (REAGYP)"
msgctxt "selection:account.tax.template,sii_received_key:"
msgid ""
"Activities to which the special scheme of used goods, works of art, "
"antiquities and collectables (135-139 of the VAT Law)"
"antiquities and collectables (REBU) [135-139 of the VAT Law]"
msgstr ""
"Operaciones a las que se aplique el régimen especial de bienes usados, "
"objetos de arte, antigüedades y objetos de colección"
"objectos de arte, antigüedades y objectos de colección (REBU) [135-139 de la"
" Ley de IVA]"
msgctxt "selection:account.tax.template,sii_received_key:"
msgid "Business premises lease activities"
@ -1534,7 +1501,7 @@ msgstr "1.1"
msgctxt "selection:aeat.sii.report.lines,identifier_type:"
msgid "Not registered (only for Spanish VAT not registered)"
msgstr "No censado (solo para NIF españoles no censados)"
msgstr "No censado (sólo para NIF españoles no censados)"
msgctxt "selection:aeat.sii.report.lines,identifier_type:"
msgid ""
@ -1557,7 +1524,7 @@ msgstr "Certificado de residencia"
msgctxt "selection:aeat.sii.report.lines,identifier_type:"
msgid "VAT (only for intracommunity operators)"
msgstr " NIF-IVA (Solo para operadores intracomunitarios)"
msgstr " NIF-IVA (Sólo para operadores intracomunitarios)"
msgctxt "selection:aeat.sii.report.lines,invoice_operation_key:"
msgid "Corrected Invoice (Art 80.1, 80.2 and 80.6 and error grounded in law)"
@ -1641,9 +1608,13 @@ msgctxt "selection:aeat.sii.report.lines,state:"
msgid "Rejected"
msgstr "Rechazado"
msgctxt "selection:ir.cron,method:"
msgid "AEAT SII"
msgstr "AEAT SII"
msgctxt "selection:party.party,sii_identifier_type:"
msgid "Not registered (only for Spanish VAT not registered)"
msgstr "No censado (solo para NIF españoles no censados)"
msgstr "No censado (sólo para NIF españoles no censados)"
msgctxt "selection:party.party,sii_identifier_type:"
msgid ""
@ -1666,15 +1637,15 @@ msgstr "Certificado de residencia"
msgctxt "selection:party.party,sii_identifier_type:"
msgid "VAT (only for intracommunity operators)"
msgstr " NIF-IVA (Solo para operadores intracomunitarios) "
msgstr " NIF-IVA (Sólo para operadores intracomunitarios) "
msgctxt "view:account.invoice:"
msgctxt "view:account.configuration:"
msgid "AEAT SII"
msgstr "AEAT SII"
msgctxt "view:account.invoice:"
msgid "Reset SII Keys"
msgstr "Reiniciar claves SII"
msgid "AEAT SII"
msgstr "AEAT SII"
msgctxt "view:account.tax.template:"
msgid "AEAT SII"
@ -1746,7 +1717,7 @@ 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. "
msgstr "Sólo 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."
@ -1793,7 +1764,3 @@ msgstr "Cancel·lar"
msgctxt "wizard_button:aeat.sii.reset.keys,start,reset:"
msgid "Reset"
msgstr "Reiniciar"
msgctxt "field:ir.model.button,string:reset_sii_keys"
msgid "Reset SII keys"
msgstr "Reestablecer claves SII"

20
sii.xml
View File

@ -71,7 +71,7 @@ this repository contains the full copyright notices and license terms. -->
<field name="sii_book_key">E</field>
<field name="sii_issued_key">02</field>
<field name="sii_exemption_cause">E2</field>
<field name="tax_used" eval="False"/>
<field name="tax_used" eval="True"/>
<field name="invoice_used" eval="True"/>
</record>
<record model="account.tax.template" id="account_es.iva_ISP_compras_16">
@ -130,14 +130,14 @@ this repository contains the full copyright notices and license terms. -->
<field name="sii_book_key">R</field>
<field name="sii_received_key">09</field>
<field name="sii_exemption_cause">E6</field>
<field name="tax_used" eval="False"/>
<field name="tax_used" eval="True"/>
<field name="invoice_used" eval="True"/>
</record>
<record model="account.tax.template" id="account_es.iva_ded_AI_serv">
<field name="sii_book_key">R</field>
<field name="sii_received_key">09</field>
<field name="sii_exemption_cause">E6</field>
<field name="tax_used" eval="False"/>
<field name="tax_used" eval="True"/>
<field name="invoice_used" eval="True"/>
</record>
<record model="account.tax.template" id="account_es.iva_IC_compras_4_bc">
@ -314,23 +314,19 @@ this repository contains the full copyright notices and license terms. -->
<field name="tax_used" eval="False"/>
<field name="invoice_used" eval="True"/>
</record>
<record model="account.tax.template" id="account_es.iva_reagp_compras_12">
<field name="tax_used" eval="False"/>
<field name="invoice_used" eval="False"/>
</record>
<record model="account.tax.template" id="account_es.iva_reagp_compras_12_1">
<record model="account.tax.template" id="account_es.iva_rea_compras_12">
<field name="sii_book_key">R</field>
<field name="sii_received_key">02</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_reagp_compras_12_2">
<record model="account.tax.template" id="account_es.iva_regp_compras_105">
<field name="sii_book_key">R</field>
<field name="sii_received_key">02</field>
<field name="sii_exemption_cause">E6</field>
<field name="tax_used" eval="False"/>
<field name="invoice_used" eval="False"/>
<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_ISP_compras">
<field name="tax_used" eval="False"/>

View File

@ -9,6 +9,7 @@ extras_depend:
party_identifier
sale
purchase
aeat_303
xml:
account.xml
aeat.xml