Appearance
Facturacion por Lotes de Membresias
Modulo: Membresias Tipo: Process Estado: Implementado Fecha Creacion: 2026-01-27 Fecha Implementacion: 2026-01-27
Descripcion
Problema que resuelve
El modulo de membresias requiere generar facturas de forma periodica para todos los socios activos. Realizar esta facturacion de manera individual seria extremadamente ineficiente y propenso a errores, considerando el volumen de socios que la organizacion gestiona.
Sin un proceso de facturacion masiva, la organizacion enfrenta:
- Ineficiencia operativa: El usuario deberia generar manualmente cada factura para cada socio, consumiendo un tiempo considerable
- Errores de omision: Es facil olvidar facturar a uno o varios socios en un proceso manual
- Inconsistencia en calculos: Los calculos de deuda, bonificaciones y conceptos asociados a cada socio pueden variar segun su categoria, disciplinas y grupo familiar, lo cual es dificil de gestionar manualmente
- Demora en la integracion fiscal: Cada factura debe ser autorizada por ARCA (organismo fiscal) para obtener el CAE correspondiente, proceso que debe realizarse de forma eficiente
- Falta de correccion masiva: Cuando se detectan errores en la facturacion de un periodo, no existe un mecanismo para corregirlos de forma sistematica
Solucion implementada
Se implemento un proceso integral de facturacion por lotes que permite:
- Facturacion masiva: Generar facturas para un rango de socios en un periodo determinado, agrupando automaticamente por grupos familiares
- Calculo automatico de deuda: Determinar los items a facturar segun la categoria, disciplinas y productos asociados a cada socio
- Integracion fiscal automatica: Enviar lotes de comprobantes a ARCA para obtener el CAE de forma masiva
- Visualizacion de resultados: Mostrar el detalle de la facturacion realizada, incluyendo estados por socio, errores y estadisticas
- Re-facturacion: Permitir corregir la facturacion de un periodo mediante la emision de Notas de Credito y nuevas Facturas
Valor de negocio
- Eficiencia operativa: Un solo proceso genera todas las facturas del periodo, reduciendo drasticamente el tiempo de facturacion
- Precision en calculos: El sistema calcula automaticamente la deuda de cada socio segun su configuracion (categoria, disciplinas, productos, bonificaciones)
- Cumplimiento fiscal: La integracion automatica con ARCA garantiza que cada factura cuente con su CAE valido
- Trazabilidad: Cada factura queda registrada en el modulo de Ventas con todos sus datos fiscales y comerciales
- Flexibilidad de correccion: El mecanismo de re-facturacion permite corregir errores sin perder la trazabilidad contable
- Agrupacion familiar: Los grupos familiares se facturan de forma consolidada al titular, simplificando la gestion de cobro
Contexto del sistema
Esta funcionalidad se integra con los siguientes componentes existentes:
- Modulo de Ventas: Las facturas generadas se registran como comprobantes de venta
- ARCA (Organismo Fiscal): Servicio externo para la autorizacion de comprobantes electronicos y obtencion del CAE
- Gestion de Socios: Maestro de socios con sus categorias, disciplinas y grupos familiares
- Cuenta Corriente: Las facturas generadas se registran con condicion de venta Cuenta Corriente a 30 dias
Proceso de Negocio
Componente 1: Generacion de Facturacion Masiva
El proceso de facturacion masiva genera facturas para un rango de socios en un periodo especifico, automatizando el calculo de la deuda y la integracion fiscal.
Flujo de facturacion masiva
mermaid
flowchart TD
subgraph FACTURACION["PROCESO DE FACTURACION MASIVA"]
A["1. SOLICITUD DE FACTURACION
- Usuario indica rango de IDs de socios
- Usuario indica periodo (mes-ano)
- Usuario confirma ejecucion"]
A1["1b. VALIDACION DE PERIODO
- Sistema consulta configuracion de limites de periodo
- Calcula periodo base (mes actual o mes vencido)
- Verifica que el periodo este dentro del rango permitido
- Si fuera del rango: rechaza con error 422 indicando rango valido"]
B["2. OBTENCION DE MIEMBROS
- Sistema obtiene todos los socios del rango indicado
- Filtra socios activos y elegibles para facturacion"]
C["3. AGRUPACION FAMILIAR
- Sistema agrupa socios por grupos familiares
- Identifica titular de cada grupo
- Socios sin grupo se procesan individualmente"]
D["4. ENRIQUECIMIENTO DE DATOS
- Obtiene categoria de cada socio/grupo
- Obtiene disciplinas contratadas
- Obtiene productos asociados"]
E["5. CALCULO DE DEUDA
- Calcula items a facturar por cada socio/grupo
- Aplica regla de Deuda con DDD
- Determina importes segun categoria y disciplinas"]
F["6. DETERMINACION DE TIPO DE COMPROBANTE
- Evalua condicion IVA del cliente
- Determina tipo de factura: A, B o C"]
G["7. CONSTRUCCION DE LOTES ARCA
- Agrupa comprobantes para envio a ARCA
- Prepara datos fiscales de cada factura"]
H["8. ENVIO A ARCA
- Envia lote de comprobantes a ARCA
- Obtiene CAE para cada comprobante autorizado"]
I["9. REGISTRO EN VENTAS
- Registra cada factura en el modulo de Ventas
- Condicion de venta: Cuenta Corriente a 30 dias
- Asocia CAE y datos fiscales"]
J["10. RESPUESTA AL USUARIO
- Retorna detalle por cada socio
- Estado: Exitoso, Error u Omitido
- Estadisticas agregadas del proceso"]
end
A --> A1
A1 --> B
B --> C
C --> D
D --> E
E --> F
F --> G
G --> H
H --> I
I --> JAgrupacion por grupos familiares
El sistema maneja dos tipos de agrupacion:
| Tipo de agrupacion | Descripcion | Comportamiento |
|---|---|---|
| Grupo real | Socios vinculados formalmente como grupo familiar en el sistema | Se factura al titular del grupo, incluyendo los conceptos de todos los miembros |
| Grupo simbolico | Socios que comparten una relacion pero no estan formalmente agrupados | Se aplican reglas especificas segun la configuracion del proveedor de agrupacion |
| Sin grupo | Socios individuales sin vinculacion familiar | Se facturan individualmente |
Calculo de deuda con DDD
El calculo de la deuda de cada socio o grupo familiar considera:
- Categoria del socio: Determina el conjunto base de conceptos a facturar
- Disciplinas contratadas: Cada disciplina puede agregar items adicionales a la factura
- Productos asociados: Productos especificos vinculados al socio
- Regla DDD: Mecanismo de calculo de deuda que considera la acumulacion de periodos impagos
Determinacion del tipo de comprobante
El tipo de comprobante se determina segun la condicion fiscal del cliente:
| Condicion IVA del cliente | Tipo de comprobante |
|---|---|
| Responsable Inscripto | Factura A |
| Monotributista | Factura B |
| Consumidor Final | Factura B |
| Exento | Factura C |
Condicion de venta
Todas las facturas generadas por el proceso de facturacion masiva se registran con:
- Condicion de venta: Cuenta Corriente
- Plazo: 30 dias
Componente 2: Visualizacion de Resultados
Una vez finalizado el proceso de facturacion, el sistema presenta un modal con los resultados detallados.
Informacion presentada
Estadisticas agregadas del proceso:
| Estadistica | Descripcion |
|---|---|
| Total de socios procesados | Cantidad total de socios incluidos en el rango |
| Facturas generadas exitosamente | Cantidad de facturas que obtuvieron CAE y fueron registradas |
| Socios con error | Cantidad de socios cuya facturacion fallo |
| Socios omitidos | Cantidad de socios que fueron omitidos (sin deuda, inactivos, etc.) |
Detalle por socio:
| Dato | Descripcion |
|---|---|
| Identificacion del socio | Nombre o razon social del socio/titular |
| Estado | Exitoso, Error u Omitido |
| Numero de comprobante | Tipo y numero de la factura generada (si exitoso) |
| CAE | Codigo de Autorizacion Electronica obtenido de ARCA |
| Fecha de comprobante | Fecha de emision de la factura |
| Items facturados | Detalle de los conceptos incluidos con sus precios |
| Error ARCA | Mensaje de error devuelto por ARCA (si aplica) |
Estados posibles por socio
| Estado | Descripcion | Accion del usuario |
|---|---|---|
| Exitoso | La factura fue generada, autorizada por ARCA y registrada correctamente | Ninguna requerida |
| Error | Ocurrio un error durante el proceso (rechazo de ARCA, error de calculo, etc.) | Revisar error y corregir datos del socio o reintentar |
| Omitido | El socio fue excluido del proceso (sin deuda, inactivo, ya facturado, etc.) | Verificar si la omision es correcta |
Componente 3: Modo Prueba
Proposito de negocio
El modo prueba es el modo no oficial del sistema: los comprobantes se registran en la base de datos interna de prueba, sin intervenir entes externos como ARCA. No es un paso previo al modo oficial ni un sandbox temporal — es un modo de operacion paralelo e independiente, con sus propios registros permanentes.
Casos de uso del modo prueba:
- Facturacion de socios en gestion interna: Registrar facturacion para socios que no requieren comprobantes fiscales oficiales
- Facturacion no sujeta a autorizacion fiscal: Procesar periodos sin necesidad de validacion por ARCA
- Operacion paralela al modo oficial: Es posible tener facturacion prueba y facturacion oficial para el mismo socio y periodo de forma simultanea, sin conflicto
Activacion del modo prueba
El operador activa el modo prueba a traves del selector global de modo (ModeChanger) disponible en la barra lateral del modulo de Membresias. La interpretacion de los modos es la siguiente:
| Modo del selector | Comportamiento en facturacion por lotes |
|---|---|
1 — Oficial | Modo oficial: registros en base de datos de produccion, llamada a ARCA, comprobantes con validez fiscal |
0 — Prueba | Modo prueba: registros en base de datos de prueba, sin ARCA, sin validez fiscal |
2 — Consolidados | Se interpreta como prueba para transacciones: mismo comportamiento que modo Prueba. El modo Consolidados es primariamente para reportes e informes, pero cuando se usa en un proceso transaccional como la facturacion por lotes, opera como prueba |
Regla: Solo el modo Oficial (1) genera comprobantes fiscales reales. Cualquier otro modo activa el comportamiento de prueba.
Comportamiento en modo prueba
Cuando el proceso se ejecuta en modo prueba:
| Aspecto | Modo Prueba | Modo Oficial |
|---|---|---|
| Base de datos | Base de datos de prueba | Base de datos oficial |
| Llamada a ARCA | No se realiza | Se realiza normalmente |
| Numeracion de comprobantes | Numerador interno (secuencial, sin valor fiscal) | Numerador oficial autorizado por ARCA |
| CAE | No se genera (queda sin CAE) | Se obtiene de ARCA |
| Tipo de comprobante | Siempre Factura A (codigo 1) independientemente de la condicion IVA del cliente | Determinado segun condicion IVA: Factura A, B o C |
| Validez fiscal | Ninguna — solo para validacion interna | Valida, con CAE |
Tipo de comprobante en modo prueba
En modo prueba, todos los comprobantes se generan como Factura A (codigo 1), sin importar la condicion fiscal del cliente. Esta simplificacion se debe a que la base de datos de prueba solo dispone de un tipo de comprobante configurado (Factura). Dado que los comprobantes de prueba no tienen validez fiscal, la letra del comprobante no es relevante para la validacion del proceso.
En modo oficial, el tipo de comprobante se determina normalmente segun la condicion IVA del cliente (Factura A, B o C).
Notas de Credito en modo prueba
Las Notas de Credito generadas en modo prueba (durante la Fase 1 de re-facturacion) siguen el mismo principio:
- No se llama a ARCA: la NC se genera con numeracion interna
- Sin CAE: la NC queda sin Codigo de Autorizacion Electronica
- Registro en base de datos de prueba: la NC se registra exclusivamente en la base de datos de prueba
Excepcion (cross-mode): Cuando se re-factura en modo prueba y existen facturas originalmente emitidas en modo oficial, las NCs para esas facturas oficiales si se envian a ARCA porque la factura original tiene validez fiscal y su anulacion requiere autorizacion del organismo fiscal. Ver RN-009 para el detalle completo del flujo cross-mode.
Indicador visual
La vista de facturacion por lotes muestra un indicador de color en el encabezado para distinguir el modo activo:
| Color del encabezado | Modo activo |
|---|---|
| Verde | Modo oficial (registros reales, ARCA activo) |
| Azul | Modo prueba o Consolidados (registros en base de datos de prueba, ARCA desactivado) |
Auditoria del modo
Cada ejecucion del proceso de facturacion registra el modo en que fue ejecutada:
- El historial de facturacion de cada socio registra si la factura fue emitida en modo oficial o prueba. Esto permite al sistema identificar el origen de cada factura al momento de re-facturar (ver RN-009)
- El registro de auditoria del lote captura el modo de la ejecucion junto con los demas datos de la solicitud (rango de socios, periodo, fecha, usuario)
Esta informacion es fundamental para:
- Distinguir facturas de prueba de facturas oficiales al consultar el historial de un periodo
- Determinar la base de datos correcta para emitir NCs en escenarios de refacturacion cross-mode
- Evitar que facturas de prueba se confundan con facturacion real en reportes o consultas
Aislamiento de datos
Los registros generados en modo prueba son completamente independientes de la base de datos de produccion:
- Las facturas de prueba no afectan la cuenta corriente oficial del socio
- Los numeradores internos de prueba son independientes de los numeradores oficiales
- Las facturas de prueba no aparecen en reportes oficiales ni en la contabilidad del modulo de Ventas
- Es posible tener facturacion de prueba y facturacion oficial para el mismo socio y periodo de forma simultanea, sin conflicto entre ambas
Componente 4: Re-facturacion
La re-facturacion permite corregir facturas ya emitidas para un periodo, generando Notas de Credito para anular las facturas existentes y luego emitiendo nuevas facturas con los datos actualizados.
Flujo de re-facturacion
mermaid
flowchart TD
subgraph REFACTURACION["PROCESO DE RE-FACTURACION"]
A["1. SOLICITUD DE RE-FACTURACION
- Usuario indica rango de IDs de socios
- Usuario indica periodo (mes-ano)
- Usuario activa opcion de re-facturacion
- Usuario confirma ejecucion"]
B["2. CONSULTA DE FACTURAS DEL PERIODO
- Consulta el historial de facturacion del periodo
- Clasifica las facturas segun su modo de emision:
Facturas del mismo modo que el request actual
Facturas del modo opuesto al request actual"]
C["FASE 1a: NCs PARA FACTURAS DEL MISMO MODO
- Obtiene datos desde la BD del modo actual
- Genera NCs en la BD del modo actual
- Si modo oficial: envia NCs a ARCA
- Si modo prueba: NC sintetica (sin ARCA)"]
D["FASE 1b: NCs PARA FACTURAS DEL MODO OPUESTO
- Obtiene datos desde la BD del modo opuesto
- Genera NCs en la BD del modo opuesto
- Si factura original era oficial: envia NCs a ARCA
- Si factura original era prueba: NC sintetica (sin ARCA)"]
E["FASE 2: NUEVA FACTURACION
- Sistema recalcula la deuda con datos actualizados
- Genera nuevas facturas en el modo del request
- Si modo oficial: envia facturas a ARCA
- Registra nuevas facturas en BD correspondiente"]
F["3. RESULTADO
- Retorna detalle de NCs generadas (ambos grupos)
- Retorna detalle de nuevas facturas
- Estadisticas del proceso completo"]
end
A --> B
B --> C
B --> D
C --> E
D --> E
E --> FEscenarios de re-facturacion
| Escenario | Descripcion | Resultado |
|---|---|---|
| Cambio de precio | Se actualizo el precio de una categoria o disciplina despues de facturar | NC por factura original + nueva factura con precio actualizado |
| Cambio de categoria del socio | Un socio cambio de categoria despues de la facturacion del periodo | NC por factura original + nueva factura segun nueva categoria |
| Error en datos del socio | Se detectaron datos incorrectos que afectan la facturacion | NC por factura original + nueva factura con datos corregidos |
| Cambio de grupo familiar | Un socio fue agregado o removido de un grupo familiar | NC por factura(s) original(es) + nueva(s) factura(s) con agrupacion correcta |
Frontend (Perspectiva de Usuario)
Vistas
Vista principal de facturacion por lotes
- Formulario para ingresar parametros de facturacion:
- Rango de IDs de socios (desde - hasta)
- Periodo de facturacion (mes y ano)
- Opcion de re-facturacion (activar/desactivar)
- Boton para ejecutar el proceso de facturacion
- Indicador de progreso durante la ejecucion
- Indicador de modo activo: el encabezado de la vista cambia de color segun el modo (verde = oficial, azul = prueba). El modo se hereda del selector global de modo del sistema y se interpreta como prueba cuando el modo activo no es Oficial.
Modal de resultados de facturacion
- Resumen estadistico del proceso (totales exitosos, errores, omitidos)
- Tabla detallada con resultado por socio:
- Estado (Exitoso/Error/Omitido) con indicador visual
- Datos del comprobante generado (tipo, numero, CAE, fecha)
- Items facturados con precios
- Mensaje de error ARCA si aplica
- Posibilidad de revisar el detalle de cada socio
Interacciones del usuario
Facturacion masiva
- El usuario accede a la vista de facturacion por lotes del modulo de membresias
- El usuario ingresa el rango de IDs de socios a facturar
- El usuario selecciona el periodo (mes y ano)
- El usuario confirma la ejecucion del proceso
- El sistema muestra indicador de progreso mientras se ejecuta
- Al finalizar, el sistema presenta el modal de resultados
Re-facturacion
- El usuario accede a la vista de facturacion por lotes
- El usuario ingresa el rango de IDs de socios a re-facturar
- El usuario selecciona el periodo
- El usuario activa la opcion de re-facturacion
- El usuario confirma la ejecucion
- El sistema ejecuta Fase 1 (Notas de Credito) y Fase 2 (Nuevas facturas)
- Al finalizar, el sistema presenta el modal de resultados con ambas fases
Revision de resultados
- Al completarse la facturacion, se muestra automaticamente el modal de resultados
- El usuario puede revisar las estadisticas generales del proceso
- El usuario puede consultar el detalle de cada socio (comprobante, CAE, items, errores)
- El usuario puede identificar socios con error para tomar accion correctiva
Permisos
| Permiso | Descripcion | Acciones permitidas |
|---|---|---|
| Facturacion masiva de membresias | Permite ejecutar el proceso de facturacion por lotes | Generar facturacion masiva, ver resultados |
| Re-facturacion de membresias | Permite ejecutar el proceso de re-facturacion | Generar NCs y nuevas facturas de correccion |
Estados de UI
| Estado | Descripcion | Elementos visuales |
|---|---|---|
| Formulario inicial | Vista lista para ingresar parametros | Campos vacios, boton de ejecucion habilitado |
| Validando parametros | Sistema verificando datos ingresados | Indicadores de validacion en campos |
| Procesando facturacion | Proceso en ejecucion | Indicador de progreso, botones deshabilitados, mensaje "Procesando facturacion..." |
| Resultados disponibles | Proceso finalizado exitosamente | Modal de resultados con estadisticas y detalle por socio |
| Error de proceso | Error general durante la ejecucion | Mensaje de error con descripcion del problema |
Backend (Perspectiva de Datos de Negocio)
Entidades de negocio involucradas
Socio / Miembro
Entidad que representa a un socio o miembro de la organizacion.
| Dato de negocio | Descripcion |
|---|---|
| Identificador | Identificador unico del socio |
| Nombre / Razon social | Nombre completo o razon social |
| Condicion IVA | Condicion fiscal del socio (RI, Monotributo, CF, Exento) |
| Categoria | Categoria de membresia del socio |
| Disciplinas | Disciplinas contratadas por el socio |
| Grupo familiar | Grupo familiar al que pertenece (si aplica) |
| Estado | Activo / Inactivo |
Grupo Familiar
Agrupacion de socios que comparten una relacion familiar y se facturan consolidadamente.
| Dato de negocio | Descripcion |
|---|---|
| Identificador | Identificador unico del grupo |
| Titular | Socio responsable de la facturacion del grupo |
| Miembros | Lista de socios que componen el grupo |
| Tipo de agrupacion | Real o simbolica |
Factura de Membresia
Comprobante generado por el proceso de facturacion masiva.
| Dato de negocio | Descripcion |
|---|---|
| Tipo de comprobante | Factura A, B o C segun condicion IVA |
| Numero de comprobante | Numero correlativo del comprobante |
| CAE | Codigo de Autorizacion Electronica otorgado por ARCA |
| Fecha de emision | Fecha de emision del comprobante |
| Periodo facturado | Mes y ano al que corresponde la facturacion |
| Socio / Titular | Socio o titular del grupo familiar facturado |
| Items | Detalle de conceptos facturados con precios |
| Total | Importe total de la factura |
| Condicion de venta | Cuenta Corriente a 30 dias (fija) |
Nota de Credito de Re-facturacion
Comprobante generado durante la Fase 1 del proceso de re-facturacion para anular facturas existentes.
| Dato de negocio | Descripcion |
|---|---|
| Tipo de comprobante | Nota de Credito A, B o C segun condicion IVA de la factura original |
| Factura anulada | Referencia a la factura que se esta anulando |
| CAE | Codigo de Autorizacion Electronica otorgado por ARCA. No aplica si la NC es sintetica (factura original era de modo prueba) |
| Periodo | Periodo al que corresponde la anulacion |
| Total | Importe total de la Nota de Credito (igual al de la factura anulada) |
| Tipo de NC | Con ARCA: para facturas oficiales — requiere autorizacion fiscal. Sintetica: para facturas de prueba — numerador local, sin CAE, sin llamada a ARCA |
| Base de datos de registro | Base de datos del modo en que fue emitida la factura original (no necesariamente la del modo de la solicitud actual) |
Relaciones de negocio
- Un socio pertenece a una categoria de membresia
- Un socio puede estar inscripto en una o varias disciplinas
- Un socio puede pertenecer a un grupo familiar (como titular o como miembro)
- Un grupo familiar tiene un unico titular que recibe la facturacion
- La facturacion masiva genera una factura por cada socio o grupo familiar
- Cada factura se registra en el modulo de Ventas con condicion Cuenta Corriente
- Cada factura oficial obtiene un CAE del servicio fiscal ARCA; las facturas de prueba no tienen CAE
- La re-facturacion genera Notas de Credito que anulan facturas existentes y nuevas facturas con datos corregidos
- El historial de facturacion del periodo puede tener multiples entradas por socio: una por la facturacion inicial y una por cada refacturacion posterior. La factura activa vigente es la mas reciente que no haya sido anulada por una nota de credito
- Cuando se refactura y existen facturas emitidas en un modo distinto al actual, las NCs se emiten en la base de datos del modo en que fue emitida la factura original, no necesariamente en la del modo actual
Validaciones de negocio
| Validacion | Descripcion | Comportamiento si no cumple |
|---|---|---|
| Rango de socios valido | Los IDs de inicio y fin deben ser numeros validos y el inicio debe ser menor o igual al fin | Error: Rango de socios invalido |
| Periodo valido | El periodo debe ser un mes y ano validos | Error: Periodo de facturacion invalido |
| Periodo dentro del rango configurado | El periodo debe estar dentro del rango permitido calculado a partir de la configuracion de la empresa (ver Configuración de Límites de Período) | Error 422: indica el rango valido permitido |
| Socio activo | Solo se facturan socios con estado activo | El socio se omite del proceso (estado: Omitido) |
| Socio con deuda calculable | El socio debe tener categoria y datos suficientes para calcular la deuda | El socio se reporta con error o se omite |
| Autorizacion ARCA | Cada comprobante debe ser autorizado por ARCA (solo en modo oficial, no sintetico) | El socio se reporta con error ARCA y sin factura registrada |
| Re-facturacion: factura existente | Para re-facturar, debe existir una factura previa del periodo para el socio | El socio se omite de la Fase 1 si no tiene factura previa |
| Documento del receptor en NCs tipo A | Para NCs de facturas tipo A, el numero de documento del receptor es obligatorio cuando el tipo de documento lo requiere | Error ARCA al emitir la NC |
| Documento del receptor en NCs tipo B o C | Para NCs de facturas tipo B o C, el numero de documento del receptor no es obligatorio (Consumidor Final / Monotributista) | No aplica — la validacion se omite para estos tipos |
Reglas de Negocio
RN-001: Agrupacion familiar para facturacion
Descripcion: Cuando un socio pertenece a un grupo familiar, la facturacion se emite a nombre del titular del grupo, consolidando los conceptos de todos los miembros del grupo en una unica factura.
Condicion: El socio pertenece a un grupo familiar con titular asignado.
Accion:
- Identificar al titular del grupo familiar
- Consolidar los conceptos de todos los miembros del grupo (categorias, disciplinas, productos)
- Emitir una unica factura a nombre del titular
- No emitir facturas individuales para los demas miembros del grupo
RN-002: Determinacion del tipo de comprobante segun condicion IVA
Descripcion: El tipo de factura a generar depende de la condicion fiscal del cliente (socio o titular del grupo).
Condicion: Se va a generar una factura para un socio.
Accion:
- Si el cliente es Responsable Inscripto: emitir Factura A
- Si el cliente es Monotributista o Consumidor Final: emitir Factura B
- Si el cliente es Exento: emitir Factura C
RN-003: Condicion de venta fija - Cuenta Corriente a 30 dias
Descripcion: Todas las facturas generadas por el proceso de facturacion masiva de membresias se registran con condicion de venta Cuenta Corriente a 30 dias.
Condicion: Se genera cualquier factura a traves del proceso de facturacion por lotes.
Accion:
- Registrar la factura con condicion de venta: Cuenta Corriente
- Establecer plazo de 30 dias
- Generar el movimiento correspondiente en la cuenta corriente del cliente
RN-004: Calculo de deuda con DDD
Descripcion: El calculo de los items a facturar para cada socio o grupo se realiza mediante el mecanismo de Deuda con DDD, que considera la categoria, disciplinas y productos del socio para determinar los conceptos e importes correspondientes.
Condicion: Se debe calcular la deuda de un socio o grupo para un periodo.
Accion:
- Obtener la categoria del socio o del grupo
- Obtener las disciplinas contratadas
- Obtener los productos asociados
- Aplicar el calculo DDD para determinar los items y sus importes
- Retornar la lista de items con sus precios para la factura
RN-005: Integracion obligatoria con ARCA para obtencion del CAE
Descripcion: Toda factura generada por el proceso de facturacion masiva debe ser autorizada por ARCA para obtener el Codigo de Autorizacion Electronica (CAE). Sin el CAE, la factura no se considera valida.
Condicion: Se construye un comprobante para un socio.
Accion:
- Construir el lote de comprobantes segun formato requerido por ARCA
- Enviar el lote a ARCA
- Si ARCA autoriza: registrar la factura con el CAE obtenido
- Si ARCA rechaza: reportar el error al usuario y no registrar la factura
RN-006: Registro en modulo de Ventas
Descripcion: Toda factura autorizada por ARCA debe ser registrada en el modulo de Ventas del sistema, integrando la facturacion de membresias con el flujo general de ventas y cuenta corriente.
Condicion: Una factura obtiene su CAE de ARCA exitosamente.
Accion:
- Registrar la factura como comprobante de venta
- Incluir todos los datos fiscales (CAE, numero, fecha, tipo)
- Incluir todos los items con sus precios
- Generar el movimiento de cuenta corriente correspondiente
RN-007: Re-facturacion en dos fases
Descripcion: El proceso de re-facturacion se ejecuta en dos fases secuenciales: primero anula las facturas existentes mediante Notas de Credito y luego genera nuevas facturas con datos actualizados.
Condicion: El usuario solicita re-facturar un periodo para un rango de socios.
Accion:
- Fase 1 - Anulacion: Para cada socio con factura existente en el periodo:
- Generar una Nota de Credito que anule la factura original
- Enviar la NC a ARCA para obtener su CAE
- Registrar la NC en el modulo de Ventas
- Fase 2 - Nueva facturacion: Para cada socio del rango:
- Recalcular la deuda con datos actualizados
- Generar nueva factura con los importes corregidos
- Enviar la factura a ARCA para obtener su CAE
- Registrar la factura en el modulo de Ventas
- Ambas fases se ejecutan de forma secuencial (primero todas las NCs, luego todas las facturas)
RN-008: Modo prueba omite ARCA y usa numeracion interna
Descripcion: Cuando el proceso de facturacion por lotes se ejecuta en modo prueba, no se llama a ARCA, se genera numeracion interna provisional y los comprobantes se registran exclusivamente en la base de datos de prueba.
Condicion: La solicitud de facturacion se ejecuta en modo prueba.
Accion:
- Todos los registros del proceso se almacenan en la base de datos de prueba
- Se omite la llamada a ARCA en cada comprobante
- Se genera el numero de comprobante con el numerador interno (sin validez fiscal)
- El comprobante queda sin CAE ni fecha de vencimiento de CAE
- El comprobante queda registrado solo en la base de datos de prueba — no afecta datos de produccion
Importante: Los registros generados en modo prueba son independientes de la base de datos de produccion. No tienen validez fiscal.
RN-008b: Tipo de comprobante simplificado en modo prueba
Descripcion: En modo prueba, todos los comprobantes se generan como Factura A (codigo 1), independientemente de la condicion fiscal del cliente. Esto se debe a que la base de datos de prueba solo dispone de un tipo de comprobante configurado.
Condicion: La solicitud de facturacion se ejecuta en modo prueba.
Accion:
- Todos los comprobantes del lote se generan como Factura A
- No se evalua la condicion IVA del cliente para determinar el tipo de comprobante
- Esta simplificacion aplica tanto a facturas como a Notas de Credito generadas en modo prueba
Justificacion: Dado que los comprobantes de prueba no tienen validez fiscal, la letra del comprobante no afecta la validacion del proceso. El objetivo del modo prueba es verificar calculos, agrupaciones e importes, no la correcta asignacion de tipo de comprobante (que ya esta validada en modo oficial).
RN-009: Refacturacion cross-mode (de prueba a oficial y viceversa)
Descripcion: Cuando se solicita re-facturar en un modo (oficial o prueba) y existen facturas del modo opuesto para el mismo periodo, el sistema detecta automaticamente el origen de cada factura y procesa cada grupo en su base de datos correcta.
Deteccion del modo original: El historial de facturacion registra en que modo fue emitida cada factura. Esto permite que el sistema identifique automaticamente cuales facturas del periodo fueron emitidas en el mismo modo que la solicitud actual y cuales fueron emitidas en el modo opuesto.
Condicion: El usuario solicita refacturacion en modo oficial (o prueba) y existen socios con facturas registradas en el modo opuesto para el mismo periodo.
Identificacion del contexto de cada factura: El sistema clasifica las facturas del periodo en dos grupos y obtiene los datos de cada uno desde la base de datos correspondiente:
- Facturas del mismo modo: se obtienen los datos desde la base de datos del modo actual
- Facturas del modo opuesto: se obtienen los datos desde la base de datos del modo en que fueron emitidas (ej: base de datos de prueba si la factura fue de prueba)
Accion por grupo:
- Socios con facturas del modo opuesto:
- Fase 1: Generar NC en la base de datos del modo opuesto (base de datos de prueba para facturas de prueba)
- Las NCs de facturas de prueba son sinteticas: numerador local, sin llamada a ARCA, sin CAE
- Las NCs de facturas oficiales llaman a ARCA independientemente del modo de la solicitud actual
- Fase 2: Generar nueva factura en el modo actual de la solicitud
- Socios con facturas del mismo modo (refacturacion estandar):
- Fase 1: Generar NC en la BD del modo actual (con ARCA si es oficial; sintetica si es prueba)
- Fase 2: Generar nueva factura en el modo actual
- Socios sin ninguna factura previa en el rango:
- Solo Fase 2: Generar factura nueva en el modo actual
Ejemplo: Si se facturaron socios 1-40 en prueba y luego se solicita refacturacion en oficial para socios 1-50:
- Socios 1-40 (facturas del modo opuesto): NC sintetica en BD de prueba (sin ARCA) + factura oficial (con ARCA)
- Socios 41-50 (sin factura previa): factura oficial directamente
Regla clave: La decision de llamar o no a ARCA para la NC depende del modo en que fue emitida la factura original, no del modo del request de refacturacion. Las facturas de modo prueba no tienen validez fiscal (sin CAE), por lo tanto sus NCs tampoco requieren ARCA.
RN-010: Validacion de datos fiscales para Notas de Credito
Descripcion: La validacion del numero de documento del receptor al emitir una Nota de Credito depende del tipo de comprobante y del modo de ejecucion.
Condicion: Se genera una Nota de Credito durante la Fase 1 de la refacturacion.
Accion segun tipo de comprobante y modo:
- Facturas tipo B o C (Monotributista, Consumidor Final): el numero de documento del receptor no es obligatorio. Estos clientes no siempre tienen CUIT registrado y ARCA no lo requiere para estos tipos de comprobante
- Facturas tipo A (Responsable Inscripto): el numero de documento del receptor es obligatorio cuando el tipo de documento lo exija. La validacion se aplica normalmente
- NCs sinteticas (modo prueba): se omite la validacion ARCA completa ya que no se llama al organismo fiscal
Esta regla evita rechazos innecesarios de ARCA al refacturar socios con condicion de Consumidor Final o Monotributista que no tienen CUIT registrado en el sistema.
RN-011: Historial de facturacion permite multiples registros por periodo
Descripcion: El historial de facturacion del periodo puede tener multiples registros para el mismo socio y periodo, habilitando refacturaciones sucesivas. Cada facturacion o refacturacion agrega un nuevo registro sin modificar los anteriores.
Condicion: Se ejecuta una refacturacion para un socio que ya tiene uno o mas registros de facturacion para el mismo periodo.
Accion:
- Cada proceso de facturacion o refacturacion agrega un nuevo registro independiente al historial
- No se modifican ni eliminan registros anteriores
- El sistema identifica la factura activa del periodo como la mas reciente que no haya sido anulada por una nota de credito, clasificandola ademas segun el modo en que fue emitida (oficial o prueba)
- Las facturas activas identificadas son las que se usan como base para generar las NCs en la Fase 1 de la refacturacion
Consecuencia: El historial conserva el rastro completo de cada facturacion y refacturacion realizada para un socio en un periodo dado. No es posible deducir el estado actual solo por la existencia de un registro — se requiere verificar en el modulo de Ventas si la factura fue posteriormente anulada por una NC.
RN-012: Socios sin deuda se omiten
Descripción: Si al calcular la deuda de un socio el resultado es cero o no hay conceptos a facturar, el socio se omite del proceso de facturación sin generar error.
Condición: El cálculo de deuda de un socio resulta en cero items o importe cero.
Acción:
- Omitir al socio del proceso de facturación
- Reportar al socio con estado "Omitido" en los resultados
- Continuar con el siguiente socio del rango
RN-013: Validación de período dentro del rango configurado
Descripción: El período indicado al ejecutar la facturación (o refacturación) debe estar dentro del rango de períodos válidos calculado a partir de la configuración de la empresa/sucursal.
Condición: Se solicita ejecutar un lote de facturación o refacturación.
Acción:
- El sistema calcula el período base según la modalidad configurada (mes actual o mes vencido)
- El sistema calcula el rango válido:
[período base − N meses, período base + N meses] - Si el período indicado está dentro del rango: el proceso continúa normalmente
- Si el período indicado está fuera del rango: el sistema rechaza la solicitud con error 422 e indica el rango permitido
Esta regla aplica tanto para facturación nueva como para refacturación. El detalle de la configuración, los valores por defecto y los casos de uso de la restricción se documentan en Configuración de Límites de Período.
Casos de Uso
CU-001: Facturacion masiva exitosa de un periodo
Actor: Usuario Administrador de Membresias
Objetivo: Generar las facturas mensuales para todos los socios activos de un rango
Precondiciones:
- Usuario autenticado con permiso de facturacion masiva de membresias
- Socios del rango con datos completos (categoria, condicion IVA)
- Servicio ARCA disponible
- Periodo aun no facturado para los socios del rango
Flujo principal:
- El usuario accede a la vista de facturacion por lotes del modulo de membresias
- El usuario ingresa el rango de IDs de socios (ejemplo: 1 a 500)
- El usuario selecciona el periodo (ejemplo: enero 2026)
- El usuario confirma la ejecucion
- El sistema obtiene los socios del rango indicado
- El sistema agrupa los socios por grupos familiares
- El sistema enriquece los datos de cada socio/grupo (categoria, disciplinas, productos)
- El sistema calcula la deuda de cada socio/grupo para el periodo
- El sistema determina el tipo de comprobante segun la condicion IVA de cada cliente
- El sistema construye los lotes de comprobantes para ARCA
- El sistema envia los lotes a ARCA y obtiene los CAE correspondientes
- El sistema registra cada factura autorizada en el modulo de Ventas
- El sistema presenta el modal de resultados con estadisticas y detalle por socio
Postcondiciones:
- Cada socio/grupo con deuda tiene una factura registrada con CAE valido
- Las facturas estan registradas en el modulo de Ventas con condicion Cuenta Corriente a 30 dias
- Los movimientos de cuenta corriente estan generados
- El usuario puede consultar el detalle de la facturacion realizada
Flujos alternativos:
- Socio sin deuda: El socio se omite y se reporta como "Omitido" en los resultados
- Socio inactivo: El socio se omite y se reporta como "Omitido"
- Rechazo de ARCA: El socio se reporta con estado "Error" y el mensaje de error de ARCA
- Error de calculo: El socio se reporta con estado "Error" y la descripcion del problema
CU-002: Re-facturacion por cambio de precios
Actor: Usuario Administrador de Membresias
Objetivo: Corregir la facturacion de un periodo porque se actualizaron los precios de las categorias despues de haber facturado
Precondiciones:
- Usuario autenticado con permiso de re-facturacion de membresias
- El periodo ya fue facturado previamente para los socios del rango
- Los precios de las categorias fueron actualizados en el sistema
- Servicio ARCA disponible
Flujo principal:
- El usuario accede a la vista de facturacion por lotes
- El usuario ingresa el rango de IDs de socios afectados
- El usuario selecciona el periodo a re-facturar
- El usuario activa la opcion de re-facturacion
- El usuario confirma la ejecucion
- Fase 1: El sistema identifica las facturas existentes del periodo para cada socio
- El sistema genera una Nota de Credito por cada factura existente
- El sistema envia las NCs a ARCA y obtiene sus CAE
- El sistema registra las NCs en el modulo de Ventas
- Fase 2: El sistema recalcula la deuda con los precios actualizados
- El sistema genera nuevas facturas con los importes corregidos
- El sistema envia las nuevas facturas a ARCA y obtiene sus CAE
- El sistema registra las nuevas facturas en el modulo de Ventas
- El sistema presenta el modal de resultados con el detalle de NCs y nuevas facturas
Postcondiciones:
- Las facturas originales estan anuladas mediante Notas de Credito
- Nuevas facturas con precios actualizados estan registradas con CAE valido
- Los movimientos de cuenta corriente reflejan las NCs y las nuevas facturas
- El historial contable mantiene trazabilidad completa (factura original, NC, nueva factura)
Flujos alternativos:
- Socio sin factura previa: Se omite de la Fase 1 (no hay NC que generar) pero se incluye en la Fase 2
- Error ARCA en NC: Se reporta el error y el socio no continua a la Fase 2 para ese comprobante
- Error ARCA en nueva factura: Se reporta el error; la NC ya emitida queda registrada
CU-003: Consulta de resultados de facturacion
Actor: Usuario Administrador de Membresias
Objetivo: Revisar el resultado de una facturacion masiva recien ejecutada para identificar socios con errores
Precondiciones:
- Se acaba de ejecutar un proceso de facturacion masiva o re-facturacion
- El modal de resultados se muestra automaticamente
Flujo principal:
- El sistema presenta el modal de resultados al finalizar la facturacion
- El usuario revisa las estadisticas generales (total procesados, exitosos, errores, omitidos)
- El usuario identifica que hay socios con estado "Error"
- El usuario consulta el detalle de cada socio con error
- El usuario observa el mensaje de error ARCA para cada caso
- El usuario toma nota de los socios que requieren correccion de datos
- El usuario cierra el modal de resultados
Postcondiciones:
- El usuario conoce el resultado completo de la facturacion
- El usuario identifica los socios que requieren atencion
- El usuario puede planificar las acciones correctivas necesarias
Flujos alternativos:
- Todos exitosos: El usuario verifica que no hay errores y cierra el modal
- Todos con error: El usuario identifica un problema sistematico y consulta con soporte
Visualizacion del Progreso en Tiempo Real
Descripcion
El proceso de facturacion por lotes emite eventos de progreso al browser mediante Server-Sent Events (SSE) mientras se ejecuta. Esto permite al operador seguir el avance del proceso sin necesidad de recargar la pagina ni consultar el estado manualmente.
Endpoint
POST /mod-membresia/comprobantes-streamEl endpoint acepta los mismos parametros que el proceso estandar (rango de socios, periodo, refacturacion, modo) y responde con un stream de eventos SSE que el browser mantiene abierto hasta que el proceso finaliza.
Etapas del progreso
El proceso reporta avance en las siguientes etapas secuenciales:
| Etapa | Descripcion |
|---|---|
| Preparando contexto | Inicializacion del proceso y carga de configuracion |
| Obteniendo miembros | Consulta de los socios en el rango indicado |
| Construyendo grupos | Agrupacion de socios por grupos familiares |
| Calculando deuda | Calculo de items y montos a facturar por cada socio/grupo |
| Enviando a ARCA | Envio de lotes de comprobantes al organismo fiscal |
La barra de progreso de la vista se actualiza en tiempo real segun los eventos SSE recibidos.
Apertura automatica del modal de resultados
Al completarse el proceso, el ultimo evento SSE contiene el resultado completo (detalle por socio, estadisticas, detalles de errores). El modal de resultados se abre automaticamente al recibir este evento final, sin intervencion del operador.
Comportamiento ante interrupcion
El proceso corre sincronicamente en el servidor durante el stream SSE. Si el usuario navega a otra seccion o cierra el browser antes de que el proceso finalice, la conexion SSE se interrumpe. El servidor puede detectar la desconexion del cliente y detener el proceso antes de completarlo. Por este motivo se recomienda no navegar fuera de la vista de facturacion mientras el proceso esta en curso.
Consideraciones
Seguridad
Control de acceso:
- Solo usuarios con permisos especificos pueden ejecutar la facturacion masiva
- La re-facturacion requiere un permiso adicional independiente
- Las facturas generadas quedan asociadas al usuario que ejecuto el proceso
Datos sensibles:
- Las facturas contienen datos fiscales del cliente (CUIT, condicion IVA)
- Los importes facturados son informacion financiera sensible
- El CAE es un dato fiscal emitido por el organismo de recaudacion
Integridad:
- El proceso debe garantizar que cada factura autorizada por ARCA se registre en el modulo de Ventas
- En caso de error parcial, las facturas ya autorizadas deben quedar registradas
Auditoria
Operaciones a registrar:
| Operacion | Informacion a capturar |
|---|---|
| Ejecucion de facturacion masiva | Usuario, fecha, rango de socios, periodo, cantidad de facturas generadas, modo de ejecucion (oficial/prueba) |
| Factura generada | Socio, tipo comprobante, numero, CAE, importe total, modo en que fue emitida |
| Ejecucion de re-facturacion | Usuario, fecha, rango de socios, periodo, cantidad de NCs y facturas generadas, modo de ejecucion |
| Nota de Credito generada | Socio, tipo comprobante, numero, CAE, factura anulada, importe |
| Error de facturacion | Socio, tipo de error, mensaje ARCA si aplica |
Trazabilidad:
- Desde cualquier factura de membresia debe poder identificarse el proceso de facturacion masiva que la genero
- En caso de re-facturacion, debe poder rastrearse la cadena: factura original, NC de anulacion, nueva factura
- Los comprobantes registrados en Ventas mantienen la trazabilidad fiscal con ARCA
Rendimiento
Volumenes esperados:
- Rango tipico de facturacion: entre 100 y 1000 socios por ejecucion
- Cada ejecucion puede generar cientos de comprobantes
- La comunicacion con ARCA se realiza en lotes para optimizar el tiempo
Tiempos esperados:
- El proceso de facturacion puede demorar varios minutos dependiendo del volumen
- La comunicacion con ARCA es el componente que mas tiempo consume
- El usuario debe estar informado del progreso durante la ejecucion
Procesamiento asincrono (Background Job)
La facturacion por lotes puede ejecutarse en segundo plano, liberando al usuario de esperar bloqueado en el navegador durante el procesamiento. El flujo desde la perspectiva del usuario es:
- El usuario ejecuta la facturacion y el sistema acepta el pedido de forma inmediata.
- El proceso se ejecuta en segundo plano mientras el usuario puede continuar trabajando.
- Al completarse, el sistema genera una notificacion en la campana de notificaciones con el resultado.
- La notificacion aparece como sin leer. El usuario puede ver el resultado haciendo clic en "Ver Resultados".
Flujo de consulta del resultado:
El usuario hace clic en "Ver Resultados" desde la campana de notificaciones. Con un unico clic, el sistema navega a la vista de facturacion por lotes y abre automaticamente el modal de resultados. La notificacion se marca como leida y desaparece de la campana una vez que el modal se abre.
Este comportamiento es independiente de donde se encuentre el usuario al momento de hacer clic:
- Si el usuario NO esta en la vista de facturacion por lotes: el clic navega a la vista y el modal se abre automaticamente al llegar.
- Si el usuario YA esta en la vista de facturacion por lotes: el modal se abre directamente.
Esta recuperacion funciona incluso si el usuario cerro sesion y volvio a iniciarla: el resultado se consulta desde el servidor, no desde el navegador local. La notificacion permanece en la campana hasta que el usuario haga clic en "Ver Resultados".
Dependencias
Funcionalidades relacionadas
- Gestion de Socios: Maestro de socios con datos personales, categoria, disciplinas y grupo familiar
- Categorias de Membresia: Configuracion de categorias que determinan los conceptos a facturar
- Disciplinas: Catalogo de disciplinas que pueden agregar items a la factura
- Grupos Familiares: Gestion de agrupaciones familiares con titular asignado
- Modulo de Ventas: Registro de comprobantes de venta donde se almacenan las facturas generadas
- Cuenta Corriente: Modulo que gestiona los movimientos de cuenta corriente generados por las facturas
Servicios externos
- ARCA (Organismo Fiscal): Servicio de facturacion electronica para la autorizacion de comprobantes y obtencion del CAE. Es obligatorio para la validez fiscal de las facturas emitidas
Criterios de Aceptacion
La funcionalidad se considera completa cuando:
Facturacion masiva
- [x] AC-001: El usuario puede ingresar un rango de IDs de socios y un periodo para ejecutar la facturacion
- [x] AC-002: El sistema agrupa automaticamente los socios por grupos familiares, facturando al titular
- [x] AC-003: El sistema calcula la deuda de cada socio/grupo utilizando el mecanismo DDD, considerando categoria, disciplinas y productos
- [x] AC-004: El sistema determina el tipo de comprobante (A, B o C) segun la condicion IVA del cliente
- [x] AC-005: El sistema envia los comprobantes a ARCA y obtiene el CAE para cada factura autorizada
- [x] AC-006: Las facturas autorizadas se registran en el modulo de Ventas con condicion Cuenta Corriente a 30 dias
- [x] AC-007: Los socios sin deuda o inactivos se omiten del proceso sin generar error
Visualizacion de resultados
- [x] AC-008: Al finalizar la facturacion, se muestra un modal con los resultados detallados
- [x] AC-009: El modal presenta estadisticas agregadas: total procesados, exitosos, errores y omitidos
- [x] AC-010: Para cada socio se muestra el estado (Exitoso/Error/Omitido) con detalle del comprobante o error
- [x] AC-011: Para socios exitosos se muestra: tipo y numero de comprobante, CAE, fecha, items facturados con precios
- [x] AC-012: Para socios con error se muestra el mensaje de error de ARCA si aplica
Re-facturacion
- [x] AC-013: El usuario puede activar la opcion de re-facturacion al ejecutar el proceso
- [x] AC-014: En Fase 1, el sistema genera Notas de Credito para anular las facturas existentes del periodo
- [x] AC-015: Las NCs de facturas oficiales son autorizadas por ARCA y registradas en el modulo de Ventas. Las NCs de facturas de prueba son sinteticas (sin CAE, sin ARCA) y se registran en la BD de prueba
- [x] AC-016: En Fase 2, el sistema genera nuevas facturas con datos actualizados
- [x] AC-017: Las nuevas facturas en modo oficial son autorizadas por ARCA y registradas en el modulo de Ventas
- [x] AC-018: El resultado de la re-facturacion muestra el detalle de NCs y nuevas facturas generadas
- [x] AC-019: En escenarios cross-mode, las NCs se generan en la BD del modo original de la factura (no del modo del request)
- [x] AC-020: Para NCs de facturas tipo B o C, la ausencia del numero de documento del receptor no genera error ni rechazo ARCA
Modo prueba
- [x] AC-021: El operador puede activar el modo prueba desde el selector global de modo en la barra lateral de Membresias
- [x] AC-022: En modo prueba, los registros se almacenan en la base de datos de prueba sin afectar datos de produccion
- [x] AC-023: En modo prueba, no se llama a ARCA — los comprobantes quedan sin CAE
- [x] AC-024: En modo prueba, se usa numeracion interna secuencial sin valor fiscal
- [x] AC-025: En modo prueba, todos los comprobantes se generan como Factura A independientemente de la condicion IVA del cliente
- [x] AC-026: El encabezado de la vista muestra color verde en modo oficial y azul en modo prueba/consolidados
- [x] AC-027: El historial de facturacion y la auditoria del lote registran el modo de ejecucion (oficial o prueba)
- [x] AC-028: Es posible tener facturacion de prueba y facturacion oficial para el mismo socio y periodo sin conflicto
- [x] AC-029: En modo prueba, las NCs de re-facturacion se generan sin ARCA (sinteticas), excepto las NCs cross-mode para facturas originalmente oficiales que si requieren ARCA
- [x] AC-030: El modo Consolidados (2) se interpreta como prueba al ejecutar facturacion por lotes
Documentacion Tecnica
Especificacion tecnica backend: membresia_facturacion — Esquema Tecnico Backend
Cubre: estructura de datos del historial de facturacion, criterios para identificar la factura activa del periodo, flujo de datos en refacturaciones sucesivas, y consideraciones multi-modo.
Notas Adicionales
Consideraciones sobre grupos familiares
El proceso de agrupacion familiar maneja dos proveedores de agrupacion:
- Agrupacion real: Grupos familiares formalmente constituidos en el sistema, donde el titular esta claramente definido
- Agrupacion simbolica: Relaciones entre socios que se agrupan segun reglas de negocio especificas
Ambos tipos de agrupacion convergen en el mismo resultado: una unica factura emitida al titular del grupo.
Condicion de venta fija
A diferencia de otros procesos de facturacion del sistema donde el usuario puede seleccionar la condicion de venta, en la facturacion de membresias la condicion es siempre Cuenta Corriente a 30 dias. Esto se debe a la naturaleza del negocio de membresias, donde los socios generan deuda que luego se gestiona a traves de la cuenta corriente.
Re-facturacion y trazabilidad contable
El proceso de re-facturacion no "modifica" las facturas originales. En su lugar, genera Notas de Credito que anulan las facturas existentes y luego emite nuevas facturas. Esto garantiza la trazabilidad contable completa y cumple con las normativas fiscales que requieren que los comprobantes electronicos autorizados por ARCA no sean alterados.
Comunicacion con ARCA en lotes
La comunicacion con ARCA se realiza en lotes (batch) en lugar de comprobante por comprobante. Esto optimiza significativamente el tiempo de procesamiento cuando se facturan grandes volumenes de socios, reduciendo la cantidad de comunicaciones con el servicio fiscal externo.
Historial de Cambios
| Fecha | Version | Autor | Descripcion |
|---|---|---|---|
| 2026-01-27 | 1.0 | Sistema | Creacion del documento - Documentacion de funcionalidad ya implementada en produccion |
| 2026-02-26 | 1.1 | Sistema | Documentacion de procesamiento asincrono (background job) y recuperacion de resultado via campana de notificaciones |
| 2026-02-26 | 1.2 | Sistema | Correccion: el modal se abre solo con clic explicito del usuario. La notificacion queda sin leer hasta ser consumida explicitamente. |
| 2026-02-26 | 1.3 | Sistema | Actualizacion: un solo clic en "Ver Resultados" navega a la vista y abre el modal automaticamente, sin importar donde este el usuario. |
| 2026-03-03 | 1.4 | Sistema | Documentacion de modo prueba: bypass de ARCA, numeracion interna, base de datos _p, indicador visual de color en encabezado. Aclaracion: solo modos 0 y 1 aplican a transacciones; modo 2 (Consolidados) es exclusivo de reportes. |
| 2026-03-04 | 1.5 | Sistema | Nueva RN-009: refacturacion cross-mode (de prueba a oficial y viceversa). NC en BD original del modo opuesto + nueva factura en modo actual. |
| 2026-03-05 | 1.6 | Sistema | Actualizacion post-bugs: detalle del mecanismo de refacturacion entre modos (identificacion del modo original de cada factura, obtencion de datos desde la BD correspondiente). Nueva RN-010: validacion de documento del receptor en NCs (no obligatorio para tipo B/C). Nueva RN-011: historial de facturacion permite multiples registros por periodo, deduplicacion por logica de negocio. Actualizacion del diagrama de flujo de re-facturacion. |
| 2026-03-05 | 1.7 | Sistema | Revision de lenguaje: eliminacion de technicismos de implementacion (nombres de funciones, constraints de BD, variables internas) para mantener perspectiva de negocio. |
| 2026-03-05 | 2.0 | Sistema | Cobertura integral de Modo Prueba: proposito de negocio, activacion via selector de modo, tipo de comprobante simplificado (RN-008b), NCs en prueba, auditoria del modo, aislamiento de datos, modo Consolidados como prueba en transacciones. Nuevos AC-021 a AC-030. |
| 2026-03-19 | 2.1 | Sistema | Nueva RN-013: validacion de periodo dentro del rango configurado. Referencia a limites-periodo-config-process.md. Validacion de periodo en tabla de validaciones. Paso de validacion de periodo en flujo de facturacion masiva. |