tryton-ar/account_invoice_ar

1667: El tipo de cambio no podrá ser inferior al 20% ni superior en un 100% del que suministra AFIP

lukio opened this issue · 3 comments

lukio commented

Buen día Lukio soy Pablo de Luma, pido mil disculpas si esta no es la forma apropiada de expresarme, estoy abierto a sugerencias sobre como manejarme en estos sitios. Mi consulta es la siguiente: al generar una FC en moneda extranjera AFIP me devuelve este error:
"1667: El tipo de cambio no podr ser inferior al 20% ni superior en un 100% del que suministra AFIP como orientativo de acuerdo a la cotizacin oficial. Ver Metodo FEXGetPARAM_Ctz."
La tasa de cambio que manejamos (self.currency_rate) es 0.015888 (o sea 1 / 63)
Cuando miro el código veo que la cotización es seteada en la linea 1460: ctz = self.currency_rate
por lo tanto AFIP recibe 0.015888 en lugar de 63 como cotización. Cuando probé
ctz = 1 / self.currency_rate lo tomó sin problemas, pero no estoy seguro si esta es la forma de proceder. Desde ya muchas gracias. Saludos!

Originally posted by @pablo-pinko in #170 (comment)

lukio commented

Hola @pablo-pinko! La idea es que cargues en el campo Tasa de cambio (currency_rate) la cotización de aduana. O sea, en la monea Peso Argentino la cotización debe valer=1 y la cotización de USD debe ser ~63 (en la actualidad). Anteriormente existía el sitio http://afip.gov.ar/aduana/cotizacionesMaria para consultar las distintas cotizaciones de las monedas. Desgraciadamente no veo que el sitio este respondiendo ahora.

Otra forma, se desarrolló pero no fue implementado, es utilizar el método get_afip_rate en el modelo Rate.

Gracias por contestar Lukio, entonces la idea seria cargar de forma manual ese campo?
Porque veo que aca te lo asigna automaticamente cuando cambias la moneda (O eso entiendo yo):

@fields.depends('company', 'currency')
def on_change_currency(self):
----if self.company and self.currency:
--------if self.company.currency != self.currency:
------------self.currency_rate = self.currency.rate

donde self.currency.rate = 0.015888, y es ahi donde se genera el problema, ahora si cambio self.currency.rate por 1 / self.currency.rate lo toma, pero nuevamente, no se si estoy resolviendolo de forma adecuada, gracias nuevamente, abrazo!

lukio commented

Hola, sí, te lo cambia automáticamente en base a lo que tengas cargado como tasa de cambio para la moneda USD. Igualmente, vos podes modificar ese dato manualmente.