Closed angelmoya closed 4 years ago
Efectivamente ese caso no está contemplado. Ayer de hecho solucionaba un error en Odoo core en https://github.com/odoo/odoo/pull/48018 porque dividía (sin tener que hacerlo), y al no haber soporte, salía mal. Es un caso extraño, ya que llevar a analítica los impuestos en cualquier empresa (que son simples transmisores del IVA) es desvirtuar dicha analítica, pero bueno, supongo que lo harás por otra razón.
Para solucionarlo, hay que pre-agrupar los account.invoice.tax por impuesto. Intenta que el código sea lo más limpio posible :pray:
Justo a parte de intentar solucionarlo le he consultado a la empresa si es necesario añadir impuestos en la analítica... también creo que no es necesario.
Correcto hay que agrupar impuestos, estoy revisando el código, a ver donde lo meto, gracias
A ver, si va a ser un caso inexistente porque finalmente no lo pongas, no sé si merece la pena corregirlo, y más como en 13.0 todo esto cambia, pero lo que tú veas...
@pedrobaeza resulta que el problema está en otro caso, al menos en v 10.0, tendría que revisar el resto.
La factura es de transporte, con el impuesto "IVA Soportado exento (operaciones corrientes)"
Como este impuesto no tiene cuenta, en la línea de impuestos pone la cuenta de la linea de la factura... y a la hora de calcular lineas de impuestos hay esto:
# If the taxes generate moves on the same financial account as the invoice line,
# propagate the analytic account from the invoice line to the tax line.
# This is necessary in situations were (part of) the taxes cannot be reclaimed,
# to ensure the tax move is allocated to the proper analytic account.
if not vals.get('account_analytic_id') and line.account_analytic_id and vals['account_id'] == line.account_id.id:
vals['account_analytic_id'] = line.account_analytic_id.id
return vals
Por lo que aunque no se marque analítica de costes si crea una línea para cada proyecto.
Aquí contablemente me pierdo y no se si se podría poner una cuenta en ese impuesto, aunque en este caso al ser 0% no generaría apuntes y entiendo que daría igual.
@angelmoya pues justo eso es el mismo parche que hice en v11 para Odoo. Se nota que ni lo has abierto :stuck_out_tongue: Aplica eso mismo en el l10n_es de la v10. Como ése está hospedado aquí, puedes hacer el PR.
Son muchas cosas... voy a buscarlo
Pero si no tienes que buscarlo. Te he puesto el enlace antes...
Perdona, tengo mil cosas abiertas ahora.... muchas gracias
Respecto a incluir el IVA en la analítica de costes, quisiera aclarar que, si el IVA es no deducible, ese importe de IVA se lleva a una cuenta de gastos y por eso se incluye para asignarle una cuenta analítica a ese gasto. En ese caso el impuesto lleva la cuenta contable en blanco.
@jalzaga pero diría que no tienes que marcar esa casilla para que salga bien, ¿no? De todas formas, sí que en ese caso habría que poner el parche para agrupar los account.invoice.tax.
@pedrobaeza Si no marcas en el impuesto la casilla de "incluir en la analítica de costes" no asigna asigna al apunte del IVA la cuenta analítica de la línea de la factura, la deja en blanco. Efectivamente habría que aplicar el parche, hay empresas que utilizan este tipo de impuestos, e.g. las organizaciones sin ánimo de lucro o las clínicas que no aplican IVA en sus ventas, tienen gran parte de sus compras con IVA no deducible.
Tal como se ha hablado, la solución es el parche en l10n_es
(o hacerlo manualmente en el plan contable instalado), así que cierro.
El error supongo que se dará en el resto de versiones, lo he detectado en versión 10.0 y comprobado en versión 12.0.
En principio lo voy a solucionar en versión 10.0.
Si se marca en el impuesto el campo "Incluir en analítica de costes", cuando se registra una factura se indica la cuenta analítica en las líneas de impuestos de la factura y por tanto en el asiento.
Si una factura de proveedor tiene varias cuentas analíticas (para el mismo impuesto) se crean varias líneas de impuestos (agrupadas por cuenta analítica e impuesto)
A la hora de enviar al SII se envía varias veces el mismo impuesto, en versión 10 con 7 cuentas analíticas distintas el error me lo da el SII, en versión 12.0 da un error en Odoo antes de enviar, por un ensure_one cuando recibe un recordset.