wnpower / iFactura-WHMCS

Este módulo te permitirá emitir comprobantes fiscales de facturación electrónica en Argentina (AFIP), utilizando el API del servicio online de iFactura.com.ar.
https://marketplace.whmcs.com/product/6717-ifactura
6 stars 0 forks source link

No se genera la factura en WHMCS #20

Closed stefanofabi closed 2 years ago

stefanofabi commented 2 years ago

Hola! migré el sitio de whmcs a un servidor vps, todo sigue igual solo que el modulo no genera la factura automáticamente, me las deja listadas en el modulo y las tengo que ir emitiendo manualmente.

¿Que puede ocurrir? ¿Donde puedo ver algún log?

Utilizo WHMCS 8.3.1 y PHP 7.4

villaboamiguel commented 2 years ago

Hola! Poder ver en el log de WHMCS las entradas que empiezan como "[iFactura Addon Module]". Los comprobantes se generan automáticamente cada vez que una invoice se crea, si te quedan en Draft o borrador no se van a emitir automáticamente.

Saludos.

stefanofabi commented 2 years ago

Si correcto, tampoco se genera la factura cuando se crea/publica la invoice en estado "no pagada".

En el Log no veo ningún error, el cliente tiene tildado las opciones de "facturar" y "datos confirmados"

villaboamiguel commented 2 years ago

Si las creas a mano tenes que usar el botón "Publish and Send Email". El módulo esta enganchado al evento de la generación de la invoice con el envió del correo. Si presionás en solo "Publish" la automatización no va a funcionar.

image

Proba si de esa manera con el botón "Publish and Send Email" te funciona correctamente.

Saludos

stefanofabi commented 2 years ago

La factura no la emito yo, la hace el mismo cron de WHMCS.

villaboamiguel commented 2 years ago

Si la generás manualmente te queda en Draft, es necesario presionar en "Publish and Send Email" para que haga el envío a iFactura. Hice esa prueba hoy en un entorno con las mismas versiones que vos y funciona correctamente. Proba haciendo esto para confirmar que la funcionalidad de los hooks en tu sistema.

Que otros plugins o modificaciones tenes en tu WHMCS? Tenes los clientes configurados para que no se les envíen los emails? porque de ser así cuando se genera la invoice, no se enviá el mail y no se enviá de forma automática a iFactura.

Otra cosa que te puedo sugerir es en la configuración de WHMCS, solapa "Others", activar el Debug para hooks y addons. image Con esto activado anda al log del sistema y fijate si ves lo siguiente: image

Saludos.

stefanofabi commented 2 years ago

Estuve haciendo unas pruebas, si genero un pedido o si genero una factura manual con el tilde de "enviar correo" o el botón "publish and send email" correspondientemente funciona todo perfecto.

Lo que parece no funcionar es cuando pasa el cron de whmcs que va generando las facturas recurrentes todos los meses.

Lo del debug hook si aparece.

datos cliente

Factura generada por el cron de WHMCS el día de ayer (ya que está configurado para cuando faltan 7 días del vencimiento) invoice sin factura

ifactura log

villaboamiguel commented 2 years ago

Estuve probando creando un nuevo cliente con un servicio nuevo que venza el 23/11/21 y configurar para que se hagan las invoices 7 dias antes del Next Due Date. Ejecutando el cron diario funciona correctamente el hook.

El usuario que tenes configurado como "Usuario API" para el addon de iFactura es válido? Por defecto es admin pero si le cambiaste el nombre al admin puede estar por ahí el problema.

Que diferencias podes tener de configuración con respecto a tu entorno anterior? Tanto a nivel WHMCS o Servidor.

Otra sugerencia, es que ejecutes el cron con el parámetro -vvv para ver el máximo verbose de la salida del cron para si hay algún error o algo que no estemos viendo.

Saludos

villaboamiguel commented 2 years ago

Otra cosa, cualquier mensaje que deje el hook de iFactura en la bitacora del sistema lo podes encontrar que comienza con el siguiente texto

[iFactura Addon Module Hook]

Me había equivocado y el string para buscar en el log que te dije anteriormente es solo para la ejecución manual desde el addon.

stefanofabi commented 2 years ago

El usuario api es el mismo usuario que estoy usando en whmcs.

Algunas diferencias entre el alojamiento cpanel que tenia antes y el vps Ubuntu:

No veo mas diferencias.

Algun problema de permisos quizás en la instalación?

ifact

cron execute

villaboamiguel commented 2 years ago

Por la IP, dominio, cloudflare no veo problemas allí. Además que si las haces manualmente funcionan. Por lo que veo tambien en tu log del hook funcionan las notas de cancelación de manera automática y algunas de creación.

Por ejemplo la invoice número 11039, la hiciste manualmente y publicaste o fue automática?

La recomendación del -vvv es para que lo pongas en el cron asi ves todo el proceso. La parte de generación de invoices solo se ejecuta 1 vez por dia en el horario que hayas definido como daily. Ahora si lo queres forzar a hacer eso solo podes usar los argumentos

do --CreateInvoices -vvv
stefanofabi commented 2 years ago

La invoice #11039 es de un cliente que generó un pedido a través del carrito de compras.

Ahora agrego el parametro -vvv al crontab y veré mañana que resultados trae.

villaboamiguel commented 2 years ago

Dale, en ese caso deberías ver algo así si se generan invoices. image

El hook estaría funcionando si se creo la factura cuando se hizo la venta. Tiene que haber algún parámetro de configuración del cliente, del producto o de la configuración del cron que se nos esta escapando.

stefanofabi commented 2 years ago

Si.. Definitivamente es algo del cron porque he probado también utilizar el botón "Facturar servicios seleccionados" y la factura se genera con la invoice perfectamente.

Una cosa que no entendí, agregué en crontab -e el parametro -vvv a la ruta del script pero esto se ejecuta en segundo plano automáticamente, como vería yo la salida de ese script mañana en el daily cron de las 9AM?

villaboamiguel commented 2 years ago

Hace que guarde el standard output y el standard error en un archivo y después pasado ese horario podes chequear el contenido. Agregando algo así al final de la lineá del comando por ejemplo >>/var/www/clientes.4evergaming.com.ar/log.txt 2>&1

stefanofabi commented 2 years ago

Este seria el log, entre la 01:00a.m y las 13:55Hs. del dia 22/11

log.txt

villaboamiguel commented 2 years ago

No veo que crashie ni informe de algún error. Tampoco indica si se genero alguna invoice en la ejecución.

stefanofabi commented 2 years ago

Lo solucioné!

Cuestión que había un problema entre el certificado ssl viejo de cpanel y el nuevo certificado CA de CloudFlare.

villaboamiguel commented 2 years ago

Gracias por el comentario de como lo solucionaste para tener en cuenta. Saludos!