Generar Factura Manualmente
Exportar contenido
Genera una factura desde una plantilla recurrente fuera del calendario programado, sin alterar la proxima fecha de generacion automatica.
- Ve a Facturas y selecciona la pestana Recurrentes.
- Localiza la plantilla desde la que deseas generar la factura.
- Clic en el boton “Generar Ahora” en la columna Acciones.
- Confirma la accion en el dialogo de confirmacion.
- La factura se genera con los datos actuales de la plantilla.
Cuando usar la generacion manual
Sección titulada «Cuando usar la generacion manual»| Caso de uso | Descripcion |
|---|---|
| Facturacion adelantada | El cliente solicita la factura antes de la fecha programada |
| Prueba de plantilla | Verificar que la plantilla genera correctamente antes de la primera ejecucion automatica |
| Facturacion irregular | Necesitas una factura adicional fuera del ciclo habitual |
| Plantilla pausada | Generar una factura puntual desde una plantilla que esta temporalmente pausada |
Como se que lo hice bien
Sección titulada «Como se que lo hice bien»- Toast de confirmacion: “Factura generada correctamente”.
- La factura aparece en la pestana Facturas (como borrador o emitida, segun la configuracion de la plantilla).
- En el historial de la plantilla aparece la nueva entrada con la fecha de generacion manual.
- La proxima fecha de generacion no ha cambiado.
Errores comunes
Sección titulada «Errores comunes»| Mensaje | Causa | Solucion |
|---|---|---|
| ”La plantilla esta finalizada” | La plantilla alcanzo su fecha de fin | Crea una nueva plantilla o elimina la fecha de fin |
| ”Error al generar factura” | Problema temporal del servidor | Espera unos segundos y reintenta |
| ”Cliente inactivo” | El cliente de la plantilla fue desactivado | Reactiva el cliente o actualiza la plantilla con otro cliente |
Detalles técnicos
Proceso de generacion manual:
- Se leen los datos de
recurring_invoicesyrecurring_invoice_items. - Se crea un registro en
invoicesconstatus = 'draft'(ostatus = 'sent'siauto_emit = true). - Se copian los items a
invoice_items. - Se registra la generacion en
recurring_invoice_history. - No se modifica
next_generation_dateenrecurring_invoices.
Query de diagnostico:
-- Ultima factura generada manualmenteSELECT rih.generated_at, i.invoice_number, i.statusFROM recurring_invoice_history rihJOIN invoices i ON rih.invoice_id = i.idWHERE rih.recurring_invoice_id = '<recurring_invoice_id>'ORDER BY rih.generated_at DESCLIMIT 1;