Skip to main content

🧾 Facturación


1. 🧩 Descripción General

El módulo de Facturación permite generar, registrar y controlar comprobantes fiscales (facturas) relacionados a ventas, anticipos, devoluciones o cargos. Se conecta con Ventas, Clientes, Finanzas y Producción para reflejar operaciones económicas reales con sustento legal.


2. 🧱 Modelos del Módulo

a. Invoice

  • id: integer (PK)
  • client_id: FK → Client
  • sales_order_id: FK → SalesOrder
  • date: date
  • folio: string (único)
  • status: enum (generada, timbrada, cancelada)
  • subtotal, tax, total: decimal
  • currency: string
  • payment_method: string
  • cfdi_use: string
  • xml_path: string
  • pdf_path: string

b. InvoiceItem

  • id: integer (PK)
  • invoice_id: FK → Invoice
  • product_id: FK → Product
  • description: string
  • quantity: decimal
  • unit_price: decimal
  • amount: decimal

c. CreditNote

  • id: integer (PK)
  • invoice_id: FK → Invoice
  • reason: text
  • amount: decimal
  • date: date
  • status: enum (emitida, aplicada)

3. 🔁 Funciones del Controlador

  • index(): Listar facturas.
  • store(): Generar factura desde pedido.
  • show($id): Ver detalle y archivos asociados.
  • cancel(): Solicitar cancelación.
  • generateCreditNote(): Emitir nota de crédito.
  • download(): Descargar XML o PDF.

4. 🌐 Endpoints detallados y justificados

MétodoRutaDescripciónJustificación
GET/api/invoicesListar facturasHistorial contable y fiscal
POST/api/invoicesGenerar facturaDesde pedido de venta
GET/api/invoices/{id}Detalle de facturaVer campos y archivos
POST/api/invoices/{id}/cancelCancelarCFDi cancelación
POST/api/invoices/{id}/credit-noteNota de créditoCorrección o devolución
GET/api/invoices/{id}/downloadDescargarArchivos XML y PDF

5. 🖥️ Diseño UX sugerido (flujo de usuario)

Página: "Facturas"

  • Tabla con folio, cliente, fecha, monto, estado
  • Filtros por periodo, cliente, estatus
  • Acciones: Ver, Cancelar, Descargar

Página: "Detalle"

  • Datos del CFDI
  • Lista de productos facturados
  • Botones: Descargar XML/PDF, Emitir Nota

6. 📄 Vistas sugeridas (tipo wireframe)

VistaCampos sugeridosAcciones
ListadoFolio, cliente, fecha, total, estadoVer, Descargar, Cancelar
DetalleCliente, productos, impuestos, archivosNota crédito, Descargar

7. 🔗 Conexión Frontend ↔ API JSON:API

Acción en FrontendMétodo/APIResultado esperado
Ver facturasGET /api/invoicesTabla
Emitir facturaPOST /api/invoicesCrear desde pedido
Ver detalleGET /api/invoices/{id}Información fiscal
CancelarPOST /api/invoices/{id}/cancelEstado = cancelado
Nota de créditoPOST /api/invoices/{id}/credit-noteCorrección aplicada
Descargar archivosGET /api/invoices/{id}/downloadXML o PDF

🧾 Este módulo formaliza las operaciones económicas del ERP, permitiendo el cumplimiento fiscal, control contable y generación automática de CFDI en conexión con SAT o servicios externos.