Giter VIP home page Giter VIP logo

account-payment's Introduction

Code Climate

ADHOC Account Invoicing

Odoo Invoicing Extension Addons

Translation Status

Transifex Status


ADHOC

**Adhoc SA** - www.adhoc.com.ar

account-payment's People

Contributors

adhoc-cicd-bot avatar adhoc-transbot avatar bruno-zanotti avatar cav-adhoc avatar damiansoriano avatar filoquin avatar georginacicerchia avatar ica-adhoc avatar ivantodorovich avatar jjscarafia avatar jobiols avatar joelzilli avatar juanpgarza avatar lepistone avatar lk-eska avatar manutvarghese avatar maq-adhoc avatar matiasperalta1 avatar mlaitinen avatar nicomacr avatar opencode avatar pablohmontenegro avatar pablopaezsheridan avatar paulius-sladkevicius avatar roboadhoc avatar rov-adhoc avatar tathar avatar thomaspaulb avatar vib-adhoc avatar zaoral avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

account-payment's Issues

[13.0] Problema al intentar pagar un monto parcial.

Si intento pagar el monto parcial de una factura me arroja el siguiente error:
AttributeError: 'account.move.line' object has no attribute 'invoice_id'

para solucionarlo cambien en la función _get_withholdable_amounts del archivo account_payment_group del modulo account_withholding_automatic la linea de código partial_line.invoice_id: por partial_line.move_id:
Revisen si el cambio esta bien formulado por favor y gracias, slds.

[11.0] Error al enviar correo electrónico de recibos

Tengo una situación, no se si le pasará a todos, pero probé con una base de datos en producción y una base de datos nueva, y, con usuario administrador genera correctamente el renderizado del template para el envío por email de los recibos, con un usuario normal, con permisos para facturación, incluso con permisos de administración no se renderiza la plantilla. Adjunto una imagen para que se entienda mejor, no puedo dar con el error. Muchas Gracias.
Captura de Pantalla 2019-09-30 a la(s) 18 53 21
Captura de Pantalla 2019-09-30 a la(s) 18 53 35
Captura de Pantalla 2019-09-30 a la(s) 18 54 30
Captura de Pantalla 2019-09-30 a la(s) 18 54 57

[9.0][account_payment_group] Permitir elegir, en account.payment, una fecha distinta a la del account.payment.group

Sería particularmente útil para registrar una Orden de Pago de un cliente compuesta por varios comprobantes de depósitos bancarios, realizados en distintas fechas.

Por ejemplo:

Cliente X nos informa que canceló la factura de $ 15.000 de la siguiente manera:

Fecha Detalle
15/08 Depósito de $ 5000 en CC Galicia
16/08 Depósito de $ 5000 en CC Galicia
20/08 Entrega efectivo por $ 5000

Nosotros registramos la Orden de Pago el 20/08, ingresando las 3 líneas de pagos tal cual las informa el cliente (de acuerdo a sus comprobantes de transferencia/depósito)

De esa manera, se guardan las fechas de los depósitos, y eso agiliza muchísimo el trabajo de realizar conciliaciones bancarias, ya que las líneas de Pagos coinciden en fecha e importe con las líneas en el resumen bancario.

Notas:
El valor podría dejarse vacío y luego completarse con la fecha del payment.group, si no está definido.

account_payment_group en v17

Estimados, no veo el módulo account_payment_group en el branch de v17. Se va a deprecar este módulo en v17? Esa funcionalidad, con que módulo se reemplaza? Gracias!

Bank Rejection Error

When i click on Bank Rejection button and confirm from wizard in check view i have this error
if operation.origin._name == 'account.payment':
AttributeError: 'NoneType' object has no attribute '_name

[9.0][account_payment_group] ¿Cómo mejorar la usabilidad de pagos con Cheques y/o retenciones?

El hecho de que cada cheque sea un payment del tipo Efectivo, y se deba seleccionar tipo de pago a "Received Third Check" antes de cargar los datos del cheque hace que ya no se pueda cargar una serie de cheques tan fácilmente con el botón "Guardar y Nuevo".

Mi sugerencia es que, por cuestiones de usabilidad:

Se agregue una solapa "Cheques" y otra "Retenciones" en account.payment.group, al lado de Lineas del Pago, algo así:
unnamed 2

Internamente, el funcionamiento podría ser similar a lo que es ahora.. es decir, cada cheque podría ser un account.payment, sólo que modificaríamos la vista para no solicitar el "Tipo de Pago" (ya que sería cheque o retención, seleccionado automáticamente)

[9.0][account_check] ¿Se deprecó a propósito el menú de Cheques?

Veo que en 9.0 la única forma de acceder al listado de cheques es a través del tablero, ya que no existe el menú Cheques de Terceros ni Cheques Propios.

Mi sugerencia es mantener los menúes tal cual estaban. Está bueno el indicador del tablero, pero no creo que sea suficiente. Creo que es práctico poder acceder desde el menú también.

De hecho, si bien Odoo agregó el link a las facturas del diario, no eliminó el menú de facturas de cliente.

Soporte para 9.0 para account_check

Trabajamos con este módulo, tiene algún plan para soportar 9.0 ?

de no hacerlo podemos hacer la migración.

Escribo aca para no duplicar esfuerzos.

[11.0] Débito del Banco para cheque propio en pago a proveedores. Error.

Hola, estamos utilizando éste módulo.
Realizamos una factura de proveedor.
Luego un pago a proveedor correspondiente a la factura.
Agregamos una línea de pago como la siguiente:
image
El inconveniente se presenta cuando utilizamos el botón "Débito del banco"
en el módulo contabilidad -> Caja y Bancos -> Cheques propios.

El diario, del tipo Banco, tenía, como método de pago: Manual, Cheque propio y Cheques.
Se modificó y se dejó tildado únicamente Cheque propio.

La traza nos arroja la siguiente información:
Error:
Odoo Server Error

Traceback (most recent call last):
File "/opt/odoo/odoo-server/odoo/http.py", line 653, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/opt/odoo/odoo-server/odoo/http.py", line 312, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "/opt/odoo/odoo-server/odoo/tools/pycompat.py", line 87, in reraise
raise value
File "/opt/odoo/odoo-server/odoo/http.py", line 695, in dispatch
result = self._call_function(**self.params)
File "/opt/odoo/odoo-server/odoo/http.py", line 344, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/opt/odoo/odoo-server/odoo/service/model.py", line 97, in wrapper
return f(dbname, *args, **kwargs)
File "/opt/odoo/odoo-server/odoo/http.py", line 337, in checked_call
result = self.endpoint(*a, **kw)
File "/opt/odoo/odoo-server/odoo/http.py", line 939, in call
return self.method(*args, **kw)
File "/opt/odoo/odoo-server/odoo/http.py", line 517, in response_wrap
response = f(*args, **kw)
File "/opt/odoo/odoo-server/addons/web/controllers/main.py", line 938, in call_button
action = self._call_kw(model, method, args, {})
File "/opt/odoo/odoo-server/addons/web/controllers/main.py", line 926, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/opt/odoo/odoo-server/odoo/api.py", line 699, in call_kw
return call_kw_multi(method, model, args, kwargs)
File "/opt/odoo/odoo-server/odoo/api.py", line 690, in call_kw_multi
result = method(recs, *args, **kwargs)
File "/opt/odoo/addons/ADHOC/account-payment-11.0/account_check/wizard/account_check_action_wizard.py", line 33, in action_confirm
check.with_context(action_date=self.date), self.action_type)()
File "/opt/odoo/addons/ADHOC/account-payment-11.0/account_check/models/account_check.py", line 472, in bank_debit
payment_values = self.get_payment_values(self.journal_id)
File "/opt/odoo/addons/ADHOC/account-payment-11.0/account_check/models/account_check.py", line 631, in get_payment_values
journal._default_outbound_payment_methods().id,
File "/opt/odoo/odoo-server/odoo/fields.py", line 2577, in get
raise ValueError("Expected singleton: %s" % record)
ValueError: Expected singleton: account.payment.method(2, 15)

[9.0][account_payment_group] El botón [+ Nota de Débito] y [+ Nota de Crédito] no funciona con la localización argentina

unnamed

Comentarios por @jjscarafia :

Hay otro tema relativo a esto que es que una vez validado el pago no queda vínculo de que esa nota de débito se generó desde ese pago.

Si es necesario, dicho link podría ser:

  1. Simplemente el campo origen de la factura que tenga de manera descriptiva ese dato
  2. Si es necesario, además agregar un campo función en los payment groups que busque comprobantes con origen igual a código de pago y los muestre con un m2m computado
  3. agregar un campo m2o en facturas que sea "origin_payment_id" y si es necesario campo inverso o2m en pagos
  4. agregar un campo m2m en pagos y/o facturas generadas

[9.0][account_check] Estado "Anulado" en cheques

El módulo de cheques me parece muy interesante, pero siempre me ha extrañado que tanto en el core como en módulos de terceros no se considere un estado "Anulado" en el cheque.

Ya sea por error de impresión, digitación u otro. Un cheque impreso o emitido puede ser luego anulado. Actualmente Odoo no tiene este estado, y cuando un cheque se cancela pasa nuevamente a Draft y las entradas de Diario desaparecen.

Sería muy práctico agregar a este módulo un estado de "Anulado" o "Cancelado", y revertir los Apuntes Contables con este estado (al igual que con una factura).

Payline currency calculation problem

Hello,

account_voucher_payline is not taking currency on the voucher into account and generates a difference move line.

Scenario: When receiving EUR payment, at the bottom select local currency and set a custom rate. An extra move line is being created when confirmed.

As far as I understood, paid_amount_in_company_currency should be used instead of _convert_amount in net amount but what to do with account_check and account_voucher_withholding ?

Solution might be moving calculation of amount to calling functions?

Funcionalidad modulo account_check

Si se hace un pago desde una factura con método de pago cheque, el sistema propone como monto a pagar el total de la factura, entonces sale un aviso diciendo:

You can not use a check journal with Net Amount different from 0. Correct it first

No queda claro para el usuario que es lo que tiene que hacer, para continuar el proceso hay que poner el monto en cero. En algún momento se forzaba a cero según pude ver aquí account_voucher.py [153]

    def _get_checks_amount(self):
        # Hack because sometimes net_amount is not 0 and then we have an error
        # we delete this hack because now we check net amount = 0 on checks
        # journals
        # self.net_amount = 0.0

Sería mejor que se fuerce el monto a cero desde el programa como se hacía antes.

Método de pago vacío en Ventas/Compras Pagos

Al intentar generar un Pago no aparecen los Métodos de Pago. Sólo se puede marcar como paga desde la factura. Lo esperado sería que se pueda hacer pagos parciales.

Comentarios:

  • Según lo buscado hay cambios recientes en Odoo 9 en Marzo que cambian el comportamiento en la búsqueda aunque para el pago de factura que fue lo reportado funcionan correctamente.
  • No se puede reproducir en Runbot debido a que no está al módulo.

Version affectada:
9.0 ( 20170701 )

Pasos para reproducir:

Nueva instalación con Docker

  • Plan Contable Generico Argentina para Responsables Inscriptos
  1. Generar una Factura
  2. Ir al menú Ventas -> Pagos
  3. Elegir el Cliente
  4. Tipo de Pago: Recibir Dinero
  5. Método de pago está vacío.

Lo que debe pasar:

Se deberían poder cargar pagos parciales.

Ambiente: Docker

  • Imagen: adhoc/odoo-ar:9.0
  • Versión: 9.0c-20170701

Módulos:

  • account_payment_fix: 9.0.1.0.0

Otros Datos

  • Instancia basada en Docker
  • Únicos módulos: Contabilidad y Facturación
  • Plan Contable: Plan Contable Generico Argentina para Responsables Inscriptos

Screenshots:

15/05/2017

Traceback (most recent call last):
File "/opt/odoo/90/local/lib/python2.7/site-packages/odoo-9.0rc0-py2.7.egg/openerp/http.py", line 648, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/opt/odoo/90/local/lib/python2.7/site-packages/odoo-9.0rc0-py2.7.egg/openerp/http.py", line 685, in dispatch
result = self._call_function(**self.params)
File "/opt/odoo/90/local/lib/python2.7/site-packages/odoo-9.0rc0-py2.7.egg/openerp/http.py", line 321, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/opt/odoo/90/local/lib/python2.7/site-packages/odoo-9.0rc0-py2.7.egg/openerp/service/model.py", line 118, in wrapper
return f(dbname, *args, **kwargs)
File "/opt/odoo/90/local/lib/python2.7/site-packages/odoo-9.0rc0-py2.7.egg/openerp/http.py", line 314, in checked_call
result = self.endpoint(*a, **kw)
File "/opt/odoo/90/local/lib/python2.7/site-packages/odoo-9.0rc0-py2.7.egg/openerp/http.py", line 964, in call
return self.method(*args, **kw)
File "/opt/odoo/90/local/lib/python2.7/site-packages/odoo-9.0rc0-py2.7.egg/openerp/http.py", line 514, in response_wrap
response = f(*args, **kw)
File "/opt/odoo/90/sources/server/addons/web/controllers/main.py", line 892, in call_button
action = self._call_kw(model, method, args, {})
File "/opt/odoo/90/sources/server/addons/web/controllers/main.py", line 880, in _call_kw
return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)
AttributeError: 'account.invoice' object has no attribute 'action_account_invoice_payment_group'

[11.0] Calcular Retenciones en Pago a proveedores.

Hola, Estamos utilizando el módulo de retenciones en la versión de Odoo 11.0.
Hemos configurado un diario de la siguiente manera:
image
image

Además configuramos el impuesto para Retención Aplicada de la siguiente manera:
image

y
image

Pero al momento de registrar un pago a proveedores, para un proveedor de Buenos aires, situación RI, y nosotros siendo situación RI y convenio multilateral, no descarga las alícuotas de IIBB del partner.
Si lo hace al registrar una factura del proveedor, pero de todas formas no utiliza esas alícuotas descargadas.
El funcionamiento esperado sería el inverso, en la factura una carga manual de la percepción sufrida y en el pago al proveedor un calculo en base a la alícuota de la Retención aplicada.
image

Cual puede ser la causa? falta configurar algún punto?

Ingreso de Nueva Linea de pago

Impacted versions:

  • 11.0 (CE)

Steps to reproduce:

  1. Ingresar al modulo de Subscripciones
  2. Visualizar una subscripcion
  3. Ingresar a las facturas realacionadas
  4. Presionar el boton de registrar pago.
  5. Se visualizar el form para ingresar un pago.

Current behavior:

  • En la linea de pago no se visualiza el link para "Añadir un elemento"

Expected behavior:

  • Visualizar el link para "Añadir un elemento" y poder ingresar una linea de pago.

[IMP][9.0] Usar modelo account.payment para implementar account.payment.group

La propuesta es que el módulo account_payment_group, en vez de generar un nuevo modelo "account.payment.group" implemente toda esa lógica en account.payment agregando un nuevo tipo de pago (payment_type = group). Básicamente quedarían payments con payments hijos

Notas de desarrollo:

  • Hacer journal_id no required

Ventajas:

  • No haría falta ocultar y generar nuevos menus, si cambiaríamos el dominio de los menus para que se muestren los payments que no tengan payment padre
  • La integración con account_document sería más directa, ya que es la misma clase la que tendría el tipo de documento y la numeración
  • Si se instala el módulo en una bd con datos, no habría que generar un payment group para cada payment actual ya que se podrían visualizar y consultar sin problemas
  • La migración de datos parece que iría más facil entre v8 y v9 (por mismo tema de punto anterior)
  • No recuerdo ahora pero había algunas otras que había pensado

No muy lindo:

  • Deberíamos hacer que journal_id sea no requerido (no muy odoo way)
  • Si se desinstala el módulo habría que proponer borrar todos los payments del tipo group o algo por el estilo

[12.0][account_payment_group] install this module, existing payment..bug

1、install this new [12.0] [account_payment_group]
2、click menu-> accounting->Customers->Customer Receipts
3、show Odoo Server Error
4、Error Messages: account.payment(1,).other_currency
5、if fix other_currency。But another problem has arisen again...--> account.payment(1,).signed_amount
image

Today..test process:
1、,When there are existing payment orders, another_currency error will occur after installation.show account.payment(1,).other_currency, can't see this payment order.
orign source code
image
so...i fix it, change code to:
image
now, i can see this account.payment.group.tree list...
image

2、signed_amount question:
source code:
image
i fix it...change to :
image
now..can click this payment order to form view...
But I think this solution should be incorrect.

Valores de items en lineas de pago

Impacted versions:

  • 11.0

Steps to reproduce:

  1. crear nuevo pago a proveedor (Facturación | Compras | Pagos a Proveedor)
  2. el proveedor debe posee deuda (por ejemplo, $450)
  3. crear una nueva linea de pago
  4. modificar el campo Cantidad a Pagar por $50.
  5. Guardar linea de pago

Current behavior:

  • En la linea de pago se visualiza en el importe de Pago $450

Expected behavior:

  • En la linea de pago se debería visualizar en el importe ingresado de $50

[v15CE] POS configurar un método de pago con una Cuenta de Intermedia

Buen día

Al tratar de configurar un método de pago con una Cuenta de Intermedia,
image

me ocurre el siguiente error de validación, que me pudiesen recomendar en este aspecto
image

Si coloco la opción identificar cliente, funciona bien, pero pierdo la opción de configurar una cuenta intermedia

Account_Payment_Group

Saludos, se va a mantener esté módulo como dependecia para account_cashbox, me interesa colaborar en la migración

Dependencia de account_voucher_withholding_automatic al modulo account_voucher_double_validation

Hola @jjscarafia

Estoy tratando de identificar la necesidad de esta dependencia para el funcionamiento de account_voucher_withholding_automatic, para ver si es posible removerla.

Sin embargo, no puedo encontrarla.. ya que, en teoría, este módulo podría deducir toda la información que necesita sin depender del otro.

Desde el punto de vista de la interacción con el usuario, tampoco sería necesario.. ya que podría agregarse un paso previo "Calcular retenciones" al de validación. (Similar como se hace con el "Correr operaciones" de los planes de facturación)

¿Para qué es necesaria?

Si pudiera entenderlo, tal vez podría hacer una PR con las modificaciones necesarias para remover esta dependencia.

Error in new account.payment.group when it has a "Memo" (communication)

Error:

Odoo Server Error
Traceback (most recent call last):
  File "/opt/odoo/custom/src/odoo/odoo/http.py", line 619, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/opt/odoo/custom/src/odoo/odoo/http.py", line 309, in _handle_exception
    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
  File "/opt/odoo/custom/src/odoo/odoo/tools/pycompat.py", line 14, in reraise
    raise value
  File "/opt/odoo/custom/src/odoo/odoo/http.py", line 664, in dispatch
    result = self._call_function(**self.params)
  File "/opt/odoo/custom/src/odoo/odoo/http.py", line 345, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/opt/odoo/custom/src/odoo/odoo/service/model.py", line 93, in wrapper
    return f(dbname, *args, **kwargs)
  File "/opt/odoo/custom/src/odoo/odoo/http.py", line 338, in checked_call
    result = self.endpoint(*a, **kw)
  File "/opt/odoo/custom/src/odoo/odoo/http.py", line 910, in __call__
    return self.method(*args, **kw)
  File "/opt/odoo/custom/src/odoo/odoo/http.py", line 510, in response_wrap
    response = f(*args, **kw)
  File "/opt/odoo/auto/addons/web/controllers/main.py", line 1324, in call_button
    action = self._call_kw(model, method, args, kwargs)
  File "/opt/odoo/auto/addons/web/controllers/main.py", line 1312, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/opt/odoo/custom/src/odoo/odoo/api.py", line 387, in call_kw
    result = _call_kw_multi(method, model, args, kwargs)
  File "/opt/odoo/custom/src/odoo/odoo/api.py", line 374, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "/opt/odoo/auto/addons/account_payment_group_document/models/account_payment_group.py", line 139, in post
    default_l10n_latam_document_type_id=rec.document_type_id.id)).post()
  File "/opt/odoo/auto/addons/account_payment_group/models/account_payment_group.py", line 539, in post
    rec.payment_ids.sorted(key=lambda l: l.signed_amount).filtered(lambda x: x.state == 'draft').post()
  File "/opt/odoo/auto/addons/account_check/models/account_payment.py", line 511, in post
    res = super(AccountPayment, self).post()
  File "/opt/odoo/auto/addons/account_withholding/models/account_payment.py", line 48, in post
    return super(AccountPayment, self).post()
  File "/opt/odoo/auto/addons/payment/models/account_payment.py", line 99, in post
    res = super(AccountPayment, self - payments_need_trans).post()
  File "/opt/odoo/auto/addons/account/models/account_payment.py", line 686, in post
    moves = AccountMove.create(rec._prepare_payment_moves())
  File "/opt/odoo/auto/addons/account_check/models/account_payment.py", line 515, in _prepare_payment_moves
    vals = super(AccountPayment, self)._prepare_payment_moves()
  File "/opt/odoo/auto/addons/account_withholding/models/account_payment.py", line 53, in _prepare_payment_moves
    move_vals = super(AccountPayment, rec)._prepare_payment_moves()
  File "/opt/odoo/auto/addons/account_payment_group/models/account_payment.py", line 341, in _prepare_payment_moves
    move_vals[0]['ref'] = "%s%s" % (self.payment_group_id.communication, move_vals['ref'] or '')
TypeError: list indices must be integers or slices, not str

Seems this line is transforming index in a string.

[16.0] account_cashbox Error en el control de cierre con diario en moneda distinta a la de la compania

Esta dando error en el control de cierre cuando el diario es en moneda distinta a la de la compania.
Si no se informa el saldo real da un error:

Les dejo un video explicativo:

https://youtu.be/sLk8o3ROOuE

Les copio el error:
RPC_ERROR
Odoo Server Error
Traceback (most recent call last):
File "/data/build/adhoc-cicd-odoo-odoo/odoo/http.py", line 1583, in _serve_db
return service_model.retrying(self._serve_ir_http, self.env)
File "/data/build/adhoc-cicd-odoo-odoo/odoo/service/model.py", line 134, in retrying
result = func()
File "/data/build/adhoc-cicd-odoo-odoo/odoo/http.py", line 1610, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "/data/build/adhoc-cicd-odoo-odoo/odoo/http.py", line 1807, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "/data/build/adhoc-cicd-odoo-odoo/addons/website/models/ir_http.py", line 235, in _dispatch
response = super()._dispatch(endpoint)
File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_http.py", line 154, in _dispatch
result = endpoint(**request.params)
File "/data/build/adhoc-cicd-odoo-odoo/odoo/http.py", line 696, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "/data/build/adhoc-cicd-odoo-odoo/addons/web/controllers/dataset.py", line 46, in call_button
action = self._call_kw(model, method, args, kwargs)
File "/data/build/adhoc-cicd-odoo-odoo/addons/web/controllers/dataset.py", line 33, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/data/build/adhoc-cicd-odoo-odoo/odoo/api.py", line 461, in call_kw
result = _call_kw_multi(method, model, args, kwargs)
File "/data/build/adhoc-cicd-odoo-odoo/odoo/api.py", line 448, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "/data/build/ingadhoc-account-payment/account_cashbox/models/account_cashbox_session.py", line 110, in action_account_cashbox_session_close
self.write({'state': 'closed'})
File "/data/build/adhoc-cicd-odoo-odoo/addons/mail/models/mail_thread.py", line 315, in write
result = super(MailThread, self).write(values)
File "/data/build/adhoc-cicd-odoo-odoo/addons/mail/models/mail_activity_mixin.py", line 241, in write
return super(MailActivityMixin, self).write(vals)
File "/data/build/adhoc-cicd-odoo-odoo/odoo/models.py", line 3759, in write
real_recs._validate_fields(vals, inverse_fields)
File "/data/build/adhoc-cicd-odoo-odoo/odoo/models.py", line 1348, in _validate_fields
check(self)
File "/data/build/ingadhoc-account-payment/account_cashbox/models/account_cashbox_session.py", line 121, in _check_pop_session_balance
max_diff_in_currency = line.journal_id.currency_id._convert(
TypeError: Currency._convert() missing 2 required positional arguments: 'company' and 'date'

The above server error caused the following client error:
RPC_ERROR: Odoo Server Error
at makeErrorFromResponse (https://11745-16-0-all.runbot.adhoc.com.ar/web/assets/1114-a841044/web.assets_backend.min.js:977:163)
at XMLHttpRequest. (https://11745-16-0-all.runbot.adhoc.com.ar/web/assets/1114-a841044/web.assets_backend.min.js:985:13)

[13.0] Error "ValueError: El campo `invoice_date` no existe" al instalar account_payment_group

Pasos para reproducir:
Instalar el modulo account_payment_group sobre una instalación limpia de https://github.com/odoo/odoo.git branch 13,aplicada la localización argentina .

Error completo:
`Error:
Odoo Server Error

Traceback (most recent call last):
File "/opt/odoo/odoo/odoo/addons/base/models/ir_ui_view.py", line 394, in _check_xml
self.postprocess_and_fields(view.model, view_doc, view.id)
File "/opt/odoo/odoo/odoo/addons/base/models/ir_ui_view.py", line 987, in postprocess_and_fields
self.raise_view_error(message, view_id)
File "/opt/odoo/odoo/odoo/addons/base/models/ir_ui_view.py", line 614, in raise_view_error
raise ValueError(message)
ValueError: El campo invoice_date no existe

Contexto del error:
Vista account.payment.group.invoice.wizard.form
[view_id: 1009, xml_id: n/a, model: account.payment.group.invoice.wizard, parent_id: n/a]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/opt/odoo/odoo/odoo/tools/convert.py", line 712, in parse
self._tag_root(de)
File "/opt/odoo/odoo/odoo/tools/convert.py", line 674, in _tag_root
f(rec)
File "/opt/odoo/odoo/odoo/tools/convert.py", line 674, in _tag_root
f(rec)
File "/opt/odoo/odoo/odoo/tools/convert.py", line 577, in _tag_record
record = model._load_records([data], self.mode == 'update')
File "/opt/odoo/odoo/odoo/models.py", line 4080, in _load_records
records = self._load_records_create([data['values'] for data in to_create])
File "/opt/odoo/odoo/odoo/models.py", line 3994, in _load_records_create
return self.create(values)
File "", line 2, in create
File "/opt/odoo/odoo/odoo/api.py", line 336, in _model_create_multi
return create(self, arg)
File "/opt/odoo/odoo/odoo/addons/base/models/ir_ui_view.py", line 475, in create
return super(View, self).create(vals_list)
File "", line 2, in create
File "/opt/odoo/odoo/odoo/api.py", line 336, in _model_create_multi
return create(self, arg)
File "/opt/odoo/odoo/odoo/models.py", line 3775, in create
fields[0].determine_inverse(batch_recs)
File "/opt/odoo/odoo/odoo/fields.py", line 1114, in determine_inverse
getattr(records, self.inverse)()
File "/opt/odoo/odoo/odoo/addons/base/models/ir_ui_view.py", line 299, in _inverse_arch
view.write(data)
File "/opt/odoo/odoo/odoo/addons/base/models/ir_ui_view.py", line 493, in write
res = super(View, self).write(self._compute_defaults(vals))
File "/opt/odoo/odoo/odoo/models.py", line 3564, in write
real_recs._validate_fields(set(vals) - set(inverse_fields))
File "/opt/odoo/odoo/odoo/models.py", line 1176, in _validate_fields
check(self)
File "/opt/odoo/odoo/odoo/addons/base/models/ir_ui_view.py", line 396, in check_xml
raise ValidationError("%s\n\n%s" % (
("Error while validating view"), tools.ustr(e)))
odoo.exceptions.ValidationError: ('Error while validating view\n\nEl campo invoice_date no existe\n\nContexto del error:\nVista account.payment.group.invoice.wizard.form\n[view_id: 1009, xml_id: n/a, model: account.payment.group.invoice.wizard, parent_id: n/a]', None)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/opt/odoo/odoo/odoo/http.py", line 624, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/opt/odoo/odoo/odoo/http.py", line 310, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "/opt/odoo/odoo/odoo/tools/pycompat.py", line 14, in reraise
raise value
File "/opt/odoo/odoo/odoo/http.py", line 669, in dispatch
result = self._call_function(**self.params)
File "/opt/odoo/odoo/odoo/http.py", line 350, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/opt/odoo/odoo/odoo/service/model.py", line 94, in wrapper
return f(dbname, *args, **kwargs)
File "/opt/odoo/odoo/odoo/http.py", line 339, in checked_call
result = self.endpoint(*a, **kw)
File "/opt/odoo/odoo/odoo/http.py", line 915, in call
return self.method(*args, **kw)
File "/opt/odoo/odoo/odoo/http.py", line 515, in response_wrap
response = f(*args, **kw)
File "/opt/odoo/odoo/addons/web/controllers/main.py", line 1326, in call_button
action = self._call_kw(model, method, args, kwargs)
File "/opt/odoo/odoo/addons/web/controllers/main.py", line 1314, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/opt/odoo/odoo/odoo/api.py", line 387, in call_kw
result = _call_kw_multi(method, model, args, kwargs)
File "/opt/odoo/odoo/odoo/api.py", line 374, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "", line 2, in button_immediate_install
File "/opt/odoo/odoo/odoo/addons/base/models/ir_module.py", line 72, in check_and_log
return method(self, *args, **kwargs)
File "/opt/odoo/odoo/odoo/addons/base/models/ir_module.py", line 463, in button_immediate_install
return self._button_immediate_function(type(self).button_install)
File "/opt/odoo/odoo/odoo/addons/base/models/ir_module.py", line 573, in _button_immediate_function
modules.registry.Registry.new(self._cr.dbname, update_module=True)
File "/opt/odoo/odoo/odoo/modules/registry.py", line 86, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)
File "/opt/odoo/odoo/odoo/modules/loading.py", line 421, in load_modules
processed_modules += load_marked_modules(cr, graph,
File "/opt/odoo/odoo/odoo/modules/loading.py", line 313, in load_marked_modules
loaded, processed = load_module_graph(
File "/opt/odoo/odoo/odoo/modules/loading.py", line 225, in load_module_graph
load_data(cr, idref, mode, kind='data', package=package, report=report)
File "/opt/odoo/odoo/odoo/modules/loading.py", line 68, in load_data
tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind, report)
File "/opt/odoo/odoo/odoo/tools/convert.py", line 736, in convert_file
convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
File "/opt/odoo/odoo/odoo/tools/convert.py", line 803, in convert_xml_import
obj.parse(doc.getroot())
File "/opt/odoo/odoo/odoo/tools/convert.py", line 715, in parse
pycompat.reraise(
File "/opt/odoo/odoo/odoo/tools/pycompat.py", line 13, in reraise
raise value.with_traceback(tb)
File "/opt/odoo/odoo/odoo/tools/convert.py", line 712, in parse
self._tag_root(de)
File "/opt/odoo/odoo/odoo/tools/convert.py", line 674, in _tag_root
f(rec)
File "/opt/odoo/odoo/odoo/tools/convert.py", line 674, in _tag_root
f(rec)
File "/opt/odoo/odoo/odoo/tools/convert.py", line 577, in _tag_record
record = model._load_records([data], self.mode == 'update')
File "/opt/odoo/odoo/odoo/models.py", line 4080, in _load_records
records = self._load_records_create([data['values'] for data in to_create])
File "/opt/odoo/odoo/odoo/models.py", line 3994, in _load_records_create
return self.create(values)
File "", line 2, in create
File "/opt/odoo/odoo/odoo/api.py", line 336, in _model_create_multi
return create(self, arg)
File "/opt/odoo/odoo/odoo/addons/base/models/ir_ui_view.py", line 475, in create
return super(View, self).create(vals_list)
File "", line 2, in create
File "/opt/odoo/odoo/odoo/api.py", line 336, in _model_create_multi
return create(self, arg)
File "/opt/odoo/odoo/odoo/models.py", line 3775, in create
fields[0].determine_inverse(batch_recs)
File "/opt/odoo/odoo/odoo/fields.py", line 1114, in determine_inverse
getattr(records, self.inverse)()
File "/opt/odoo/odoo/odoo/addons/base/models/ir_ui_view.py", line 299, in _inverse_arch
view.write(data)
File "/opt/odoo/odoo/odoo/addons/base/models/ir_ui_view.py", line 493, in write
res = super(View, self).write(self._compute_defaults(vals))
File "/opt/odoo/odoo/odoo/models.py", line 3564, in write
real_recs._validate_fields(set(vals) - set(inverse_fields))
File "/opt/odoo/odoo/odoo/models.py", line 1176, in _validate_fields
check(self)
File "/opt/odoo/odoo/odoo/addons/base/models/ir_ui_view.py", line 396, in check_xml
raise ValidationError("%s\n\n%s" % (
("Error while validating view"), tools.ustr(e)))
odoo.tools.convert.ParseError: "Error while validating view

El campo invoice_date no existe

Contexto del error:
Vista account.payment.group.invoice.wizard.form
[view_id: 1009, xml_id: n/a, model: account.payment.group.invoice.wizard, parent_id: n/a]
None" while parsing /opt/odoo/odoo/custom-addons/account_payment_group/wizards/account_payment_group_invoice_wizard_view.xml:2, near

    <record id="view_account_payment_group_invoice_wizard" model="ir.ui.view">
        <field name="name">account.payment.group.invoice.wizard.form</field>
        <field name="model">account.payment.group.invoice.wizard</field>
        <field name="arch" type="xml">
            <form string="Credit Note">
                <field name="currency_id" invisible="1"/>
                <field name="payment_group_id" invisible="1"/>
                <group>
                     <group>
                        <field name="product_id"/>
                        <field name="amount_untaxed"/>
                        <field name="tax_ids" widget="many2many_tags" options="{'no_create': True}"/>
                        <field name="amount_total"/>
                        <field name="account_analytic_id" groups="analytic.group_analytic_accounting" domain="[('company_id', '=', company_id)]"/>
                        <field name="description"/>
                     </group>
                     <group>
                        <field name="journal_id"/>
                        <field name="company_id" invisible="1"/>
                        <field name="invoice_date"/>
                        <field name="date" groups="base.group_no_one"/>
                     </group>
                </group>
                <footer>
                    <button string="Confirm" name="confirm" type="object" class="btn-primary"/>
                    <button string="Cancel" class="btn-default" special="cancel"/>
                </footer>
           </form>
        </field>
    </record>

    <record id="action_account_payment_group_invoice_wizard" model="ir.actions.act_window">
        <field name="name">Credit / Debit Note</field>
        <field name="res_model">account.payment.group.invoice.wizard</field>
        <field name="view_mode">form</field>
       <field name="target">new</field>
    </record>


</data>

`

[13] Calcula mal la deuda seleccionada al hacer un pago a proveedor

Pasos para reproducir:
En una base limpia se crea una factura de proveedor de $1000, y una nota de credito de proveedor por $400

Si se dejan sin conciliar, al hacer un pago de proveedor la deuda seleccionada es cero, deberia ser $600

Si se concilian la factura con la nota de credito, al hacer un pago de proveedor la deuda seleccionada es $1400, deberia ser $600

Nota: En recibos de cliente funciona correctamente.

Al cancelar un pago de una factura con account_payment_group, no cancela el asiento del pago

Buen día, en versión 13 CE, al cancelar un pago de una factura desde el módulo account_payment_group, no cancela el asiento del pago

Lo que ocurre: Cancela el payment group, los pagos, pero no los asientos de pago, borra las líneas conciliadas.

Lo que debería ocurrir: Que cancele el/los asiento/s de pago para que no figuren en la contabilidad.

Yo lo solucioné agregando esta línea en el procedimiento def cancel(self) de account_payment_group/models/account_payment_group.py: move.write({'state': 'cancel'})

V16 account_payment_group Error al cerrar POS usando diferentes metodos de pago.

Arroja este mensaje
"Manual payments should not be created manually but created from Customer Receipts / Supplier Payments menus"
La sesion queda sin poder cerrarse.
Desinstalando account_payment_group se soluciona.
Ver que pasa, ya que evita poder usar muchas funcionalidades en V16 EE se pierden sin usar ese modulo.

Gracias.

En validación de pagos con clase account.payment.group

Hola, sugiero en la funcion def _get_receiptbook(self) del archivo /account_payment_group_document/models/account_payment_group.py

hacer un raise validation, porque sino el error que tira no es posible rastrearlo facilmente: "Error while validating constraint"

Sugiero agregar la siguiente línea antes del return: i

if len(receiptbook)==0: raise ValidationError(_('No hay cargado un talonario de recibo'))

Abajo el código de la función:

@api.multi
def _get_receiptbook(self):
    self.ensure_one()
    partner_type = self.partner_type or self._context.get(
        'partner_type', self._context.get('default_partner_type', False))
    receiptbook = self.env[
        'account.payment.receiptbook'].search([
            ('partner_type', '=', partner_type),
            ('company_id', '=', self.company_id.id),
        ], limit=1)

    if len(receiptbook)==0: raise ValidationError(_('No hay cargado un talonario de recibo'))
    return receiptbook

[9.0][account_withholding] ¿Por qué no mantener el modelo account.voucher.withholding?

Veo que ha sido deprecado para ser implementado dentro del mismo account.payment.

Esta implementación me hace un poco de ruido, ya que creo que presenta algunas desventajas:

  • Conceptualmente son cosas distintas.
  • Las retenciones tienen un workflow distinto (en la realidad), que podría potencialmente ser implementado en el modelo.
    Ej: Todas las retenciones aplicadas deben ser rendidas ante algún tipo de organismo, se podrían implementar estados y wizards para registrar esto. (De hecho, es algo que venía pensando como extensión al wizard de exportación para SICORE)
  • A la hora de emitir retenciones, deben ser impresas con un reporte que es específico para estas. Este reporte no tiene ningún sentido en otro tipo de account.payment.

¿Por que no mantenerlo? ¿Tal vez con otro nombre, considerando que account.voucher ya no existe: account.withholding?

Supongo que la decisión de eliminarlo viene de la mano con que cada account.payment sólo debe contener 1:1 retención, y no 1:n como era antes, y no se quiere hacer uso de un campo m2o ya que eso reduciría la usabilidad.

Sin embargo -y esto lo digo desde la ignorancia de nunca haber experimentado con esto antes- ¿no convendría hacer uso de las herencias polimórficas, tanto para este caso como para el de los cheques (siendo ambos casos similares)?

Se pierde link a reembolsos desde payment groups

Una vez validado el pago no queda vínculo de que esa nota de débito se generó desde ese pago.

Si es necesario, dicho link podría ser:

  • Simplemente el campo origen de la factura que tenga de manera descriptiva ese dato
  • Si es necesario, además agregar un campo función en los payment groups que busque comprobantes con origen igual a código de pago y los muestre con un m2m computado
  • agregar un campo m2o en facturas que sea "origin_payment_id" y si es necesario campo inverso o2m en pagos
  • agregar un campo m2m en pagos y/o facturas generadas

Validacion para cheques a fecha

Junto con saludarlos tengo un problemita el cual Creo que es un error mio, pero hago todo el recorrido en el proceso de cheques, pero cuando hago transferencia de cheques al banco no me valida las fecha y me realiza la transferencia con cheques a fecha que aun no están para deposito,es decir hace la transferencia no arroja error, tengo actualizado a la ultima versión los módulos, sera error mio,? Tendré que configurar algo mas? Ayuda en esto por favor

modulo account_check.

Saludos cordiales

[9.0][account_payment_group] Agregar grupo para ocultar el campo "payment_type_copy" (Tipo de Pago) en account.payment, al ser creado desde un payment.group

El hecho de que se pueda "Enviar Dinero" en una Orden de Pago de Cliente (Recibos) es ilógico, y resulta confuso y posiblemente problemático.
Creo que sería mejor ocultar ese campo, y dejar que se setee automáticamente dependiendo de si estamos en una Orden de Pago de Cliente o de Proveedor.

unnamed 1


@jjscarafia:

estos campos los dejé por si querías hacer un ajuste, por ejemplo, te pagan con un cheque de $1500 y le devolves $50 en efectivo. Básicamente fue permitir que un payment group pueda tener pagos para ambos lados y lo que importa es la suma. De última lo podemos ocultar o no con un grupo y opción de configuración, pero conceptualmente me parece que es correcto no limitarlo, de hecho originalmente lo había hecho como decis, el payment_type estaba en payment.group y defínia los payment_type de los pagos

Can not execute action_draft because odoo base validation with taxes in payment lines

When try to action_draft Odoo raise

"You cannot modify the taxes related to a posted journal item, you should reset the journal entry to draft to do so."

We workaround this using _write and None for vals:

def action_draft(self):
''' posted -> draft '''

    withholdings = self.filtered(lambda x: x.tax_withholding_id)
    for withholding in withholdings:
        liquidity_lines, counterpart_lines, writeoff_lines = withholding._seek_for_lines()
        liquidity_lines._write({
            'tax_repartition_line_id': None,
            'tax_line_id': None,
        })

    return super().action_draft()

[15] Problema con la numeración de las transferencias internas

Buenas gente.

Estoy teniendo un problema con la numeración de las transferencias internas entre diarios (opción de menú Contabilidad / Bank and Cash / Transferencias).
Me está tomando la numeración de los talonarios de recibos que utiliza account.payment.group
En Odoo v12/13 las transferencias internas tenían su propia numeración.
Es v15 enterprise y este comportamiento que describo lo reproduje en esta db del runbot 19509-15-0-all.runbot.adhoc.com.ar
con un ejemplo de un depósito de cheques de tercero. Les dejo una captura de pantalla:

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.