Appearance
Facturación por Lotes
Esta sección documenta el proceso de facturación masiva de membresías, que genera comprobantes electrónicos (A/B/C) para múltiples miembros de forma automática, agrupados por grupos familiares.
Descripción General
El sistema de facturación por lotes permite:
- Facturación masiva: Generar facturas para rangos de miembros en un período específico
- Agrupación familiar: Consolidar facturación de grupos familiares en una única factura
- Determinación de tipo de comprobante: Automática según condición IVA (A/B/C)
- Integración ARCA: Obtención de CAE (Código de Autorización Electrónico)
- Registro en Ventas: Integración automática con módulo de facturación
- Re-facturación: Generar NC y nuevas facturas para corrección de errores
- Estadísticas detalladas: Reporte completo de resultados por socio
Componentes Documentados
Facturación Masiva
- Facturación por Lotes: Proceso completo de facturación
- Generación masiva por rango de IDs y período
- Agrupación automática por grupos familiares
- Cálculo de deuda considerando categoría, disciplinas y productos
- Determinación de tipo de comprobante por condición IVA
- Integración con ARCA para obtención de CAE
- Registro en módulo de Ventas
- Condición de venta fija: Cuenta Corriente a 30 días
- Visualización de resultados detallados
- Re-facturación con generación de NC
Historial y Reimpresión
- Historial de Lotes de Facturación: Consulta y reimpresión de resultados
- Listado de lotes ejecutados (facturación y refacturación)
- Reimpresión del informe PDF de resultados
- Lotes fallidos y abortados con detalle de error
- Soporte para facturación asíncrona (acceso permanente a resultados)
Reglas de Negocio Principales
RN-001: Agrupación por Familias
Los miembros se agrupan automáticamente:
- Los miembros del mismo grupo familiar se consolidan en una única factura
- Los miembros sin grupo familiar se facturan individualmente
- La factura se emite a nombre del titular del grupo
RN-002: Determinación de Tipo de Comprobante
El tipo de comprobante (A/B/C) se determina automáticamente según condición IVA del cliente:
- IVA Responsable Inscripto: Factura A
- Monotributista: Factura B o C (según configuración)
- Consumidor Final: Factura C
- Exento: Factura B o C (según configuración)
RN-003: Condición de Venta Fija
Todas las facturas de membresía se generan con:
- Condición de venta: Cuenta Corriente
- Plazo: 30 días
- Esta condición es fija y no configurable por el usuario
RN-004: Cálculo de Deuda
El sistema calcula automáticamente los items a facturar para cada socio o grupo:
- Cuota de categoría del titular o miembro individual
- Productos asignados a cada miembro con sus ajustes de precio
- Disciplinas asignadas a cada miembro (si tienen producto asociado)
RN-005: Integración con ARCA
La facturación se integra con ARCA (ex AFIP) para:
- Validación de datos del comprobante
- Obtención de CAE (Código de Autorización Electrónico)
- Registro fiscal del comprobante
- Manejo de errores ARCA (agrupados en estadísticas)
RN-006: Registro en Módulo de Ventas
Cada factura aprobada por ARCA se registra automáticamente en el módulo de Ventas:
- Comprobante de venta con items, cantidades y precios
- Referencia al CAE de ARCA
- Vinculación con cliente (titular del grupo o miembro individual)
RN-007: Re-facturación con NC
La re-facturación es un proceso de dos fases:
- Fase 1: Genera Notas de Crédito para anular facturas existentes del período
- Fase 2: Genera nuevas facturas con datos actualizados
Útil para corregir errores de facturación (productos omitidos, precios incorrectos, etc.)
RN-009: Re-facturación cross-mode
Cuando se refactura en el modo contrario al de la factura original (ej: se facturó en prueba y se refactura en oficial), el sistema detecta automáticamente el origen de cada factura por el campo modo_prueba en membresia_facturacion y genera las NCs en la BD correspondiente a cada una. Las NCs de facturas prueba son sintéticas (sin ARCA); las NCs de facturas oficiales llaman a ARCA independientemente del modo del request.
RN-010: Validación doc_nro en NCs
Para NCs de facturas tipo B o C (Consumidor Final / Monotributista), el campo doc_nro no es obligatorio. Para facturas tipo A, doc_nro es obligatorio cuando doc_tipo lo requiere.
RN-011: membresia_facturacion sin constraint única por período
La tabla permite múltiples registros por (ordcon_id, anio, mes), habilitando refacturaciones sucesivas sin conflictos. La deduplicación de facturas activas del período es responsabilidad de la lógica de negocio (getFacturadosEnPeriodoPorModo).
RN-008: Omisión de Deuda Cero
Si un miembro o grupo familiar tiene deuda cero en el período:
- No se genera factura
- Se registra como "Omitido" en estadísticas
Flujo de Facturación
Flujo Principal
mermaid
graph TD
A[Inicio: Rango de IDs + Período] --> B[1. Obtener miembros del rango]
B --> C[2. Agrupar por familias]
C --> D[3. Enriquecer datos]
D --> E[4. Calcular deuda]
E --> F{Deuda > 0?}
F -->|Sí| G[5. Determinar tipo de comprobante]
F -->|No| H[Omitir - Deuda cero]
G --> I[6. Construir lote ARCA]
I --> J[7. Enviar a ARCA]
J --> K{ARCA OK?}
K -->|Sí| L[8. Registrar en Ventas]
K -->|No| M[Registrar error ARCA]
L --> N[9. Retornar respuesta exitosa]
M --> O[Retornar respuesta con error]
H --> P[Retornar respuesta omitido]Flujo de Re-facturación (2 fases con cross-mode)
mermaid
graph TD
A[Inicio: Re-facturar período] --> B[Consultar membresia_facturacion BD oficial]
B --> C{Separar por modo_prueba}
C -->|sameModeRows| D[Enriquecer desde BD del modo actual]
C -->|crossModeRows| E[Enriquecer desde BD del modo opuesto]
D --> F[Fase 1a: NC en BD del modo actual]
E --> G[Fase 1b: NC en BD del modo opuesto]
F --> H{Modo actual oficial?}
G --> I{Modo original oficial?}
H -->|Sí| J[Enviar NC a ARCA]
H -->|No| K[NC sintética sin ARCA]
I -->|Sí| L[Enviar NC a ARCA]
I -->|No| M[NC sintética sin ARCA]
J --> N[Fase 2: Nuevas Facturas en modo actual]
K --> N
L --> N
M --> N
N --> O[Fin: Facturas corregidas]Cálculo de Items de Facturación
Para cada grupo familiar o miembro individual:
Item 1: Cuota de Categoría
- Descripción: "Cuota [Nombre Categoría] - Período [MM/YYYY]"
- Cantidad: 1
- Precio: Precio del producto de categoría (con ajuste si aplica)
- Origen: Categoría del titular (grupos) o del miembro (individuales)
Items 2-N: Productos Asignados
Para cada producto asignado a cada miembro del grupo:
- Descripción: Nombre del producto
- Cantidad: 1
- Precio: Precio base con ajuste aplicado
- Origen: Productos asignados individualmente a cada miembro
Items N+1-M: Disciplinas
Para cada disciplina con producto asociado de cada miembro:
- Descripción: Nombre de la disciplina
- Cantidad: 1
- Precio: Precio del producto de la disciplina
- Origen: Disciplinas asignadas a cada miembro que tienen producto asociado
Vistas
- Movimientos > Facturación por Lotes — Generación de facturación masiva y visualización de resultados
- Utilidades > Historial de Lotes — Consulta de lotes ejecutados y reimpresión de informes PDF
Visualización de Resultados
El modal de resultados muestra:
Estadísticas Agregadas
- Total de socios procesados
- Exitosos
- Errores
- Omitidos
- Monto total facturado
- Cantidad de comprobantes generados
Tabla de Errores ARCA (si hay)
- Código de error
- Mensaje de error
- Cantidad de ocurrencias
Detalle por Socio
Para cada socio procesado:
- Estado: Exitoso / Error / Omitido
- Socio: Identificación y nombre
- Comprobante: Tipo, número, CAE, fecha (si exitoso)
- Monto: Total facturado (si exitoso)
- Items: Detalle de conceptos facturados
- Error: Mensaje de error (si aplica)
- Razón de omisión: Motivo de omisión (si aplica)
Casos de Uso Comunes
1. Facturación Mensual Normal
- Acceder a "Movimientos > Facturación por Lotes"
- Ingresar rango de IDs (ej: 1 a 1000)
- Seleccionar período (mes/año)
- No marcar "Re-facturar"
- Ejecutar
- Esperar procesamiento (puede demorar según cantidad)
- Ver resultados en modal
2. Re-facturación por Error
- Acceder a "Movimientos > Facturación por Lotes"
- Ingresar rango de IDs de los socios a re-facturar
- Seleccionar mismo período que se quiere corregir
- Marcar "Re-facturar"
- Ejecutar
- El sistema genera Notas de Crédito primero, luego nuevas facturas
- Ver resultados en modal
3. Facturación de Grupo Específico
- Identificar IDs de miembros del grupo
- Ingresar rango que incluya esos IDs (puede ser amplio, el sistema omite los que no corresponde facturar)
- Seleccionar período
- Ejecutar
- Ver que se generó una única factura para el grupo
Manejo de Errores
Errores ARCA
Los errores de ARCA se capturan y agrupan en estadísticas:
- Código de error
- Mensaje descriptivo
- Cantidad de ocurrencias
- No detienen el proceso: cada socio se procesa independientemente
Errores de Negocio
- Deuda cero: El socio se omite, no se considera error
- Cliente sin condición IVA: Error, no se puede determinar tipo de comprobante
- Precio no disponible: Error, no se puede calcular el importe a facturar
Dependencias
Funcionalidades Relacionadas
- Gestión de Miembros: Los miembros a facturar
- Grupos Familiares: Agrupación para factura única
- Categorías de Membresía: Cuota de categoría a facturar
- Productos del Miembro: Productos adicionales a facturar
- Disciplinas del Miembro: Disciplinas con producto a facturar
Módulos Externos
- Ventas: Registro de comprobantes generados
- CtaCte: Las facturas generan saldo en cuenta corriente
- ARCA: Obtención de CAE y validación fiscal
Estado
Implementado - Todas las funcionalidades están en producción
Última actualización: 2026-03-05