jccastillo0007 / eFacturaT

eFacturaT
0 stars 2 forks source link

Navision Pagos - calcular el TC del docto relacionado, cuando monedaPago <> monedaDR #1422

Closed RigoFlores closed 6 years ago

RigoFlores commented 6 years ago

Cuando la moneda de pago y la moneda del documento relacionado, el tipo de cambio a nivel documento relacionado SE TIENE QUE CALCULAR...!!!!

Y cómo chingaos se calcula???

Cuando la moneda de pago, y la moneda de los documentos relacionados sean distintas, se TIENE QUE CALCULAR EL TIPO DE CAMBIO que se reportará a nivel de documento relacionado. Ejemplo se recibe un pago de $10,000.00 (MXN) y los importes pagados corresponden a 2 facturas, que son (A): $300.00 y (B) $220.00, ambos en USD. El cálculo del tipo de cambio es:

TC a nivel de documento relacionado = (Monto Pagado) / ( Sumatoria de Importes pagados a cada factura, total o parcial ) = 10000/520= 19.230769

Es decir, debemos sumar el importe pagado ("ImpPagado") en cada factura involucrada dentro del pago. Puede ser que sea una o varias facturas, con pagos totales o parciales. Por ello es importante que la sumatoria se haga de los importes pagados. El monto pagado, ya lo tenemos en la BD.

jccastillo0007 commented 6 years ago

no esta tan sencillo este tema, no lo tienen ellos en alg[un otro campo?

jccastillo0007 commented 6 years ago

esto es un parche... anteriormente se habia solicitado leer el tipo de cambio de la tabla facturat

jccastillo0007 commented 6 years ago

hice una maniobra bien pinche chacarrona... pero no lo probé, si puedes echale un ojo...

RigoFlores commented 6 years ago

Realmente no es un parche, es una mala interpretación de mi parte de la spec, cuando se levantaron los requisitos del pago. Si todos los datos (moneda, folio, serie, uuid, etc), del documento relacionado, se toman del XML ya timbrado, no hubiera pensado que para Tipo de cambio existían excepción, bajo ciertas condiciones.

Total, que esto aplicará para todo documento de pago, donde las monedas de pago y moneda de documento relacionado, sean distintas.

RigoFlores commented 6 years ago

Hice una prueba y marcó error en la cuenta bancaria destino, pero anteriormente si lo había timbrado es pago con ese dato de la cuenta bancaria destino (18PAMX0007 es el pago para mayor referencia). Creo que lo que puede estar mal, es el número de decimales en la variable de TipoCambioDR, que máximo debe ser 6, y lo está reportando con pinchemil :

TipoCambioDR="19.065880706515976"

Aquí existe otro detalle de mi parte, y es que el tipo de cambio en este escenario, se calcula al revés:

TC a nivel de documento relacionado = ( Sumatoria de Importes pagados a cada factura, total o parcial ) / (Monto Pagado) = 520/10000 = 0.052

la spec dice: Se debe registrar el número de unidades de la moneda señalada en el documento relacionado que equivalen a una unidad de la moneda del pago.

En el ejemplo la monedaDR es USD, y 0.052 USD corresponden a 1 MXN.

jccastillo0007 commented 6 years ago

ya cambie la formula, pero no pude probarlo

RigoFlores commented 6 years ago

Entiendo que este cambio, va de la mano con el tema de enviar la moneda de pago, al detalle (productos). Entonces, como lo otro quedó chueco (al menos en el conector estándar), entonces esperaré a que quede resuelto lo de la moneda.

RigoFlores commented 6 years ago

ya lo pasé a navision, pero marca el mismo error que ya había comentado, es decir que la cuenta del beneficiario no cumple, pero la verdad es que anteriormente si la había timbrado. Lo que si es un hecho, es que el tipo de cambio lo pone con pinche mil decimales, y eso si que está incorrecto. Anexo log para que lo veas con tus propios oclayos.

FacturaT.log

RigoFlores commented 6 years ago

Aquí tienes la salida de la consola en producción navision... el tipo de cambio del docto relacionado, lo manda a la luna...

<cfdi:Emisor Rfc="IIP0909294L5" Nombre="I.P. INGENIERIA DE PRODUCCION S.A DE

C.V" RegimenFiscal="601"/>

<cfdi:Conceptos>
    <cfdi:Concepto ClaveProdServ="84111506" Cantidad="1" ClaveUnidad="ACT" D

escripcion="Pago" ValorUnitario="0" Importe="0"/> </cfdi:Conceptos>

jccastillo0007 commented 6 years ago

listo... si era lo del tipo de cambio.. ya que lo ajuste a 4 decimales y ya timbro el pago correctametne...

jccastillo0007 commented 6 years ago

esto fue ya en el servidor de navision pro

RigoFlores commented 6 years ago

ok, entonces lo llevaste al server. A la altura de la carpeta jar, hay una carpeta jarAnteriores, que ahí debe resguardarse la última versión estable, para una regresión fácil en caso de ser necesario.

Ahora, si ya timbró el pago, lo único que faltaría es que no envíe el primer producto vacío, ya que eso le afecta a todos los CFDI's según entendí.

RigoFlores commented 6 years ago

Otra cosa, cuando se incluyen mas de 1 factura en el pago, se debe sumar el importe pagado a cada factura y hacer el cálculo del TC, que será el mismo para todas las facturas. Hice una prueba con el conector estándar, y a cada factura le puso distinto TC... jajaja

RigoFlores commented 6 years ago

Voy a cerrar este issue, pero casi podría asegurar que el tipo de cambio con 2 o mas facturas incluidas en el pago, estaría mal también..