Giter Club home page Giter Club logo

account_invoice_ar's Introduction

account_invoice_ar

The Tryton account_invoice_ar module add account invoice localization for Argentina (AFIP).

Installing

See INSTALL

Support

If you encounter any problems with this module, please don't hesitate to ask questions on the module bug tracker:

https://github.com/tryton-ar/account_invoice_ar/issues

For more information please contact the programmers at tryton-ar

website: https://groups.google.com/forum/#!forum/tryton-ar

If you encounter any problems with Tryton, please don't hesitate to ask questions on the Tryton bug tracker, mailing list, wiki or IRC channel:

http://bugs.tryton.org/ http://groups.tryton.org/ http://wiki.tryton.org/ irc://irc.freenode.net/tryton irc://irc.freenode.net/tryton-es

License

See LICENSE

See COPYRIGHT

For more information please visit the Tryton web site:

http://www.tryton.org/

account_invoice_ar's People

Contributors

abernardi avatar dmascialino avatar lukio avatar mariomop avatar marto-ales avatar smarro avatar

Stargazers

 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

account_invoice_ar's Issues

GetAFIPData debe evaluar si la persona tiene cargado el impuesto IVA

Actualmente esta marcando algunas personas como Responsable Inscripto cuando NO tienen el impuesto IVA cargado. Esto genera que a la hora de hacerle la factura se setee la factura de "Tipo A", cuando en realidad deberian ser facturas de TIPO B.

Para corregirlo, estas personas se les debe setear el campo "Condicion ante IVA" como Consumidor Final.

Error al imprimir una factura confirmada

Me tira el siguiente error:

Traceback (most recent call last):
  File "/trytond/protocols/jsonrpc.py", line 150, in _marshaled_dispatch
    response['result'] = dispatch_method(method, params)
  File "/trytond/protocols/jsonrpc.py", line 179, in _dispatch
    res = dispatch(*args)
  File "/trytond/protocols/dispatcher.py", line 161, in dispatch
    result = rpc.result(meth(*c_args, **c_kwargs))
  File "/trytond/modules/account_invoice/invoice.py", line 2450, in execute
    res = super(InvoiceReport, cls).execute(ids, data)
  File "/trytond/report/report.py", line 144, in execute
    type, data = cls.parse(action_report, records, data, {})
  File "/trytond/modules/account_invoice_ar/invoice.py", line 700, in parse
    localcontext['condicion_iva_cliente'] = cls._get_condicion_iva_cliente(Invoice, invoice)
  File "/trytond/modules/account_invoice_ar/invoice.py", line 737, in _get_condicion_iva_cliente
    return dict(invoice.party._fields['iva_condition'].selection)[invoice.party.iva_condition]
KeyError: None

Mirando en detalle, cuando entro a la entidad relacionada (cliente a facturar) desde la factura me aparece vacío el campo condición ante el iva. Pero si entro desde entidades a la misma entidad me aparece bien. El campo condición de iva se "vacía" cuando confirmás la factura, en los estados anteriores funciona bien y se puede imprimir sin errores.

Conflicto con modulo sale_pos

Error informado por Cecilia Popper:

He instalado el módulo sale_pos que permite hacer ventas rapidas (sobre todo nos sirve para las ventas de nuestro local a la calle, ya que permite hacer las ventas en un solo clic)
El problema es que al querer generar la factura (en el mòdulo se genera haciendo clic en "Pay") me aparece este error:

Error "El campo «Tipo de factura» en «Factura» es requerido."

El módulo sale_pos tiene como dependencia trytond_sale, el cual a su vez tiene las siguientes dependencias:

The VAT number must be unique in each country.

Buenas, me encontré con este mensaje a la hora de realizar unas pruebas en el modulo. El mismo aparece solo cuando se selecciona AR en el campo País de CUIT, si se deja en blanco el registro se guarda normalmente.

El modulo fue instalado clonando este repo en la carpeta /trytond/modules actualizando la db y realizando la instalacion desde el cliente tryton.

Factura electrónica: validar concepto

Validar concepto antes de llamar al webservices (concepto afip debe estar completo y si es servicio debe tener fecha).
De todas formas el error es claro y se puede modificar luego, es decir es una mejora

error al editar un party

Al editar un Party desde otro módulo (socio de cooperativa) da el siguiente error la validación de condición ante el iva

Traceback (most recent call last):
File "hometryton.virtualenvstrytonlibpython2.7site-packagestrytondprotocolsjsonrpc.py", line 123, in _marshaled_dispatch
response['result'] = dispatch_method(method, params)
File "hometryton.virtualenvstrytonlibpython2.7site-packagestrytondprotocolsjsonrpc.py", line 156, in _dispatch
res = dispatch(_args)
File "hometryton.virtualenvstrytonlibpython2.7site-packagestrytondprotocolsdispatcher.py", line 168, in dispatch
result = rpc.result(meth(_args, **kwargs))
File "hometryton.virtualenvstrytonlibpython2.7site-packagestrytondmodulesaccount_invoice_arparty.py", line 140, in write
if vals['iva_condition'] == u'consumidor_final':
KeyError: 'iva_condition'

Error al crear secuencia factura cliente

Traceback (most recent call last):
File "/trytond/protocols/jsonrpc.py", line 125, in _marshaled_dispatch
response['result'] = dispatch_method(method, params)
File "/trytond/protocols/jsonrpc.py", line 158, in _dispatch
res = dispatch(_args)
File "/trytond/protocols/dispatcher.py", line 158, in dispatch
result = rpc.result(meth(_c_args, **c_kwargs))
File "/trytond/model/modelview.py", line 239, in fields_view_get
result['field_childs'])
File "/trytond/model/modelview.py", line 331, in _view_look_dom_arch
fields_width=fields_width)
File "/trytond/model/modelview.py", line 471, in __view_look_dom
fields_width=fields_width, fields_attrs=fields_attrs)
File "/trytond/model/modelview.py", line 431, in __view_look_dom
CONTEXT)))
File "/trytond/tools/misc.py", line 400, in safe_eval
raise ValueError('Double underscores not allowed')
ValueError: Double underscores not allowed

Facturas de tipo proveedor

Agregar el campo:

  • tipo_comprobante

Dar a posibilidad de agregar número de factura de proveedor y luego se pueda referenciar ese número en el asiento contable.

Formato para imprimir factura

Pasar el formato actual al que la AFIP requiere.
Agregar datos faltantes, CAE, código de barras, fechas vencimiento de pago, periodo facturado, etc.

Error al pasar a producción config de empresas

El commit #35 permite configurar desde empresa el certificado AFIP y se testea la conección, homologación funciona ok, pero al intentar pasar a modo producción:

Problemas de Certificado: "X509Error: 3028286320:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: CERTIFICATE

Recuperar Factura

Para cuando hay un error de comunicación con la AFIP y se genera una inconsistencia entre los datos que tiene la AFIP y lo que esta registrado en el sistema. Sería deseable poder recuperar los datos de una factura

Tipo de factura tiene que ser readonly

al seleccionar el Punto de Venta determina correctamente qué factura le corresponde a ese cliente, pero permite cambiarla si el punto de venta tiene otras facturas

unoconv crashes al confirmar factura

Problemas que suceden cuando se queda colgado sin grabar los datos.
La parte donde se visualiza el CAE esta en blanco. No genera el asiento, No genera el número de factura.

Hay una parte del código donde usa esto del cursor.commit()[0] justamente para grabar el mensaje que recibimos de AFIP.
De esa manera, estamos asegurandonos que pase lo que pase, sincronizamos con la base de datos luego de crear el registro con los datos de XML recibidos por AFIP.

[0] https://code.google.com/p/tryton/wiki/HowToUseTrytondAsAModule

Ensure that you manage the cursor. Eg. Changes will be committed to the database only after a cursor.commit() is issued.

Ahora bien, luego de terminar ese proceso, (en la function post()), invoca a la function print_invoice(). Esta function por lo que pude ver escribe que el template a usar va a ser pdf, y que el nombre del archivo que se va a generar para este invoice va a ser de la forma: "Factura - (punto de venta - numero de factura).pdf". Es por eso que esta llamando a print_invoice().

for invoice in invoices:
    if invoice.type in ('out_invoice', 'out_credit_note'):
    invoice.print_invoice()

Bug reportado en tryton.org: https://bugs.tryton.org/issue2703

Por el momento, la forma de "solucionarlo" es comentando estas lineas al confirmar la factura.
Hice la prueba de generar el reporte después de confirmar y no he tenido ningún inconveniente. ¿Alguna razón para que se invoque a print_invoice() en ese momento?

Traceback (most recent call last):
  File "/trytond/protocols/jsonrpc.py", line 123, in _marshaled_dispatch
    response['result'] = dispatch_method(method, params)
  File "/trytond/protocols/jsonrpc.py", line 156, in _dispatch
    res = dispatch(*args)
  File "/trytond/protocols/dispatcher.py", line 168, in dispatch
    result = rpc.result(meth(*args, **kwargs))
  File "/trytond/model/modelview.py", line 513, in wrapper
    return func(cls, *args, **kwargs)
  File "/trytond/model/workflow.py", line 33, in wrapper
    result = func(cls, filtered, *args, **kwargs)
  File "/trytond/modules/account_invoice_ar/invoice.py", line 250, in post
    invoice.print_invoice()
  File "/trytond/modules/account_invoice/invoice.py", line 1252, in print_invoice
    InvoiceReport.execute([self.id], {})
  File "/trytond/modules/account_invoice/invoice.py", line 2388, in execute
    res = super(InvoiceReport, cls).execute(ids, data)
  File "/trytond/report/report.py", line 127, in execute
    type, data = cls.parse(action_report, records, data, {})
  File "/trytond/modules/account_invoice_ar/invoice.py", line 615, in parse
    localcontext=localcontext)
  File "/trytond/modules/account_invoice/invoice.py", line 2417, in parse
    localcontext)
  File "/trytond/report/report.py", line 283, in parse
    data = cls.unoconv(data, report.template_extension, output_format)
  File "/trytond/report/report.py", line 303, in unoconv
    raise Exception(stderrdata)
Exception: None

Al procesar Compra

Me pide Tipo de comprobante en "Factura" es requerido, y no puede continuar.

captura de pantalla de 2015-05-18 11 49 01

No se puede modificar datos del reporte de Factura

Al querer modificar datos del informe de Factura dice que no puede porque no tiene permisos.
Es un error que generamos al setear por defecto en el xml el dato de extension en pdf.
La forma de corregirlo es agregar la function check_xml_records a ese Modelo y dejar que se pueda modificar si el usuario lo desea.

Error en impresión factura B

Al generar el odt de factura B se muestra en cada linea de la factura el total del impuesto de toda la factura (si hay mas de una linea se muestra mal el subtotal de cada producto).
El total de factura y de impuesto informado está ok, es un problema en la generación del odt.

crash en function do_pyafipws_request_cae

Esto sucedió porque no tenía lineas la factura.
Claramente, no debería llegar a ese punto:

Traceback (most recent call last):
  File "hometryton.virtualenvstrytonlibpython2.7site-packagestrytondprotocolsjsonrpc.py", line 123, in _marshaled_dispatch
    response['result'] = dispatch_method(method, params)
  File "hometryton.virtualenvstrytonlibpython2.7site-packagestrytondprotocolsjsonrpc.py", line 156, in _dispatch
    res = dispatch(*args)
  File "hometryton.virtualenvstrytonlibpython2.7site-packagestrytondprotocolsdispatcher.py", line 168, in dispatch
    result = rpc.result(meth(*args, **kwargs))
  File "hometryton.virtualenvstrytonlibpython2.7site-packagestrytondmodelmodelview.py", line 513, in wrapper
    return func(cls, *args, **kwargs)
  File "hometryton.virtualenvstrytonlibpython2.7site-packagestrytondmodelworkflow.py", line 33, in wrapper
    result = func(cls, filtered, *args, **kwargs)
  File "hometryton.virtualenvstrytonlibpython2.7site-packagestrytondmodulesaccount_invoice_arinvoice.py", line 240, in post
    invoice.do_pyafipws_request_cae()
  File "hometryton.virtualenvstrytonlibpython2.7site-packagestrytondmodulesaccount_invoice_arinvoice.py", line 340, in do_pyafipws_request_cae
    last_payment = max(payments, key=lambda x:x[0])[0]
ValueError: max() arg is an empty sequence

Error de Formato al querer generar un reporte de factura confirmada

Al querer generar el reporte de la Factura (ya confirmada y con CAE) aparece el siguiente error:
Traceback (most recent call last):
File "/trytond/protocols/jsonrpc.py", line 150, in _marshaled_dispatch
response['result'] = dispatch_method(method, params)
File "/trytond/protocols/jsonrpc.py", line 179, in _dispatch
res = dispatch(_args)
File "/trytond/protocols/dispatcher.py", line 161, in dispatch
result = rpc.result(meth(_c_args, **c_kwargs))
File "/trytond/modules/account_invoice/invoice.py", line 2450, in execute
res = super(InvoiceReport, cls).execute(ids, data)
File "/trytond/report/report.py", line 144, in execute
type, data = cls.parse(action_report, records, data, {})
File "/trytond/modules/account_invoice_ar/invoice.py", line 706, in parse
localcontext=localcontext)
File "/trytond/modules/account_invoice/invoice.py", line 2479, in parse
localcontext)
File "/trytond/report/report.py", line 300, in parse
data = cls.unoconv(data, report.template_extension, output_format)
File "/trytond/report/report.py", line 320, in unoconv
raise Exception(stderrdata)
Exception: None

La versión de invoice_ar es la 3.4.2. con la base actualizada.
Unoconv instalado. Python-UNO ya no está disponible en Python 2.7.

En acciones / informe, la extensión que aparece es Open Office Text Document. Al querer blanquearlo aparece el error "No está autorizado a cambiar este registro. Este registro pertenece a la configuración base". (ver prtscreen)
screenshot from 2015-07-31 10 11 20
screenshot from 2015-07-31 10 24 29

El campo invoice_report_format en la tabla account_invoice está en blanco.

Gracias!

error con pyafipws: TypeError: __init__() got an unexpected keyword argument 'trace'

pyafipws se ha ido actualizando.
Este error aparece con el código más reciente.

Traceback (most recent call last):
File "/trytond/protocols/jsonrpc.py", line 125, in _marshaled_dispatch
response['result'] = dispatch_method(method, params)
File "/trytond/protocols/jsonrpc.py", line 158, in _dispatch
res = dispatch(_args)
File "/trytond/protocols/dispatcher.py", line 158, in dispatch
result = rpc.result(meth(_c_args, *_c_kwargs))
File "/trytond/model/modelview.py", line 491, in wrapper
return func(cls, *args, *_kwargs)
File "/trytond/model/workflow.py", line 33, in wrapper
result = func(cls, filtered, _args, *_kwargs)
File "/trytond/modules/account_invoice_ar/invoice.py", line 240, in post
invoice.do_pyafipws_request_cae()
File "/trytond/modules/account_invoice_ar/invoice.py", line 298, in do_pyafipws_request_cae
ws.Conectar()
File "/pyafipws/utils.py", line 225, in Conectar
trace = "--trace" in sys.argv)
TypeError: init() got an unexpected keyword argument 'trace'

Procesar los textos que se mandan la AFIP y sacarle los acentos

Procesar los textos que se mandan la AFIP y sacarle los acentos.

Al enviar datos a la AFIP me devuelve este error cuando envio un texto por ejemplo con acentos.

"UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 2094:
 ordinal not in range(128)  'ascii' codec can't decode byte 0xc3 in position 2094:
 ordinal not in range(128)"

Error al instalar el modulo: ProgrammingError: no existe la relación «account_pos_sequence»

Al instalar el modulo me da el siguiente error::

Traceback (most recent call last):
  File "/trytond/protocols/jsonrpc.py", line 123, in _marshaled_dispatch
    response['result'] = dispatch_method(method, params)
  File "/trytond/protocols/jsonrpc.py", line 156, in _dispatch
    res = dispatch(*args)
  File "/trytond/protocols/dispatcher.py", line 169, in dispatch
    result = rpc.result(meth(*c_args, **c_kwargs))
  File "/trytond/wizard/wizard.py", line 218, in execute
    return wizard._execute(state_name)
  File "/trytond/wizard/wizard.py", line 249, in _execute
    result = self._execute(transition())
  File "/trytond/ir/module/module.py", line 494, in transition_upgrade
    pool.init(update=True, lang=lang)
  File "/trytond/pool.py", line 151, in init
    lang=lang)
  File "/trytond/modules/__init__.py", line 399, in load_modules
    load_module_graph(graph, pool, lang)
  File "/trytond/modules/__init__.py", line 235, in load_module_graph
    cls.__register__(module)
  File "/trytond/modules/account_invoice/invoice.py", line 261, in __register__
    super(Invoice, cls).__register__(module_name)
  File "/trytond/model/modelsql.py", line 124, in __register__
    table.add_fk(field_name, ref, field.ondelete)
  File "/trytond/backend/postgresql/table.py", line 303, in add_fk
    'ON DELETE ' + on_delete)
  File "/trytond/backend/postgresql/database.py", line 311, in execute
    return self.cursor.execute(sql)
ProgrammingError: no existe la relación «account_pos_sequence»

Si el reporte no tiene Fecha de Venta tira error: UnicodeDecodeError: 'ascii' codec can't decode byte 0x86 in position 2560: ordinal not in range(128)

Traceback (most recent call last):
File "hometryton.virtualenvstrytonlibpython2.7site-packagestrytondprotocolsjsonrpc.py", line 123, in _marshaled_dispatch
response['result'] = dispatch_method(method, params)
File "hometryton.virtualenvstrytonlibpython2.7site-packagestrytondprotocolsjsonrpc.py", line 156, in _dispatch
res = dispatch(*args)
File "hometryton.virtualenvstrytonlibpython2.7site-packagestrytondprotocolsdispatcher.py", line 193, in dispatch
database_name) + tb_s)
UnicodeDecodeError: 'ascii' codec can't decode byte 0x86 in position 2560: ordinal not in range(128)

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.