Skip to content

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:

  1. Cuota de categoría del titular o miembro individual
  2. Productos asignados a cada miembro con sus ajustes de precio
  3. 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:

  1. Fase 1: Genera Notas de Crédito para anular facturas existentes del período
  2. 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

  1. Acceder a "Movimientos > Facturación por Lotes"
  2. Ingresar rango de IDs (ej: 1 a 1000)
  3. Seleccionar período (mes/año)
  4. No marcar "Re-facturar"
  5. Ejecutar
  6. Esperar procesamiento (puede demorar según cantidad)
  7. Ver resultados en modal

2. Re-facturación por Error

  1. Acceder a "Movimientos > Facturación por Lotes"
  2. Ingresar rango de IDs de los socios a re-facturar
  3. Seleccionar mismo período que se quiere corregir
  4. Marcar "Re-facturar"
  5. Ejecutar
  6. El sistema genera Notas de Crédito primero, luego nuevas facturas
  7. Ver resultados en modal

3. Facturación de Grupo Específico

  1. Identificar IDs de miembros del grupo
  2. Ingresar rango que incluya esos IDs (puede ser amplio, el sistema omite los que no corresponde facturar)
  3. Seleccionar período
  4. Ejecutar
  5. 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