OCA / l10n-spain

Odoo Spain Localization
https://www.aeodoo.org/estado-localizacion
GNU Affero General Public License v3.0
274 stars 517 forks source link

[10.0][12.0] [BUG]SII con analítica de costes marcada en el impuesto (o varias cuentas analíticas e impuestos sin cuenta contable) #1320

Closed angelmoya closed 4 years ago

angelmoya commented 4 years ago

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)

Factura de proveedor - Odoo

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.

Odoo (5)

pedrobaeza commented 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:

angelmoya commented 4 years ago

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

pedrobaeza commented 4 years ago

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...

angelmoya commented 4 years ago

@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.

pedrobaeza commented 4 years ago

@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.

angelmoya commented 4 years ago

Son muchas cosas... voy a buscarlo

pedrobaeza commented 4 years ago

Pero si no tienes que buscarlo. Te he puesto el enlace antes...

angelmoya commented 4 years ago

Perdona, tengo mil cosas abiertas ahora.... muchas gracias

jalzaga commented 4 years ago

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.

pedrobaeza commented 4 years ago

@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.

jalzaga commented 4 years ago

@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.

pedrobaeza commented 4 years ago

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.