Tema
Expensas
Descripcion
Modulo de gestion de expensas mensuales del consorcio. Permite crear expensas individuales o masivas por periodo, hacer seguimiento de cobranza por unidad, anular expensas y exportar datos. El sistema calcula automaticamente bonificaciones por pago anticipado cuando estan configuradas.
Acceso
- Roles permitidos: admin
- Ruta:
/admin/expensas
Funcionalidades
Indicadores Resumen
Se muestran 4 tarjetas con metricas de las expensas emitidas:
| Indicador | Descripcion |
|---|---|
| Periodos Activos | Cantidad de expensas con estado "emitida" |
| Total Emitido | Suma de montos de todas las expensas emitidas |
| Cobrado | Total cobrado (en verde) |
| Pendiente | Total pendiente de cobro (en ambar) |
Crear Expensa
Boton "Nueva Expensa" que abre el dialogo CrearExpensaDialog. Soporta dos modos:
- Individual: Se selecciona una unidad especifica
- Masiva: Boton "Todos (N)" para generar expensas para todas las unidades del consorcio
El sistema detecta automaticamente unidades que ya tienen expensa para el periodo seleccionado y las excluye, mostrando un dialogo de confirmacion con el detalle de cuantas se crearan y cuantas se omitiran.
Ver Detalle
Boton con icono de ojo en cada fila. Abre el dialogo DetalleExpensaDialog con informacion completa de la expensa y sus unidades.
Anular Expensa
Boton con icono de prohibido (solo visible para expensas no anuladas). Muestra dialogo de confirmacion que advierte si existen pagos registrados. Las expensas con pagos aprobados no pueden ser anuladas (validacion del lado servidor via RPC can_annul_expensa).
Exportar
Boton "Exportar" que genera un archivo Excel con las columnas: Periodo, Vencimiento, Unidades, Pagadas, Total Emitido, Cobrado, Pendiente, Estado.
Notificacion por Email
Al crear expensas, se puede activar la opcion "Notificar por email" (switch). Si esta activada y el email SMTP esta configurado, se envia un email a cada propietario/inquilino afectado con los datos de la expensa. La preferencia se guarda en localStorage.
Actualizacion en Tiempo Real
El modulo utiliza suscripciones realtime de Supabase para actualizar automaticamente la lista cuando se registran cambios en expensa_unidades o pagos.
Campos
Campos del formulario de creacion de expensa:
| Campo | Tipo | Obligatorio | Notas |
|---|---|---|---|
| Periodo (Ano) | select | Si | Rango 2020-2050 |
| Periodo (Mes) | select | Si | Enero a Diciembre |
| Unidad | select | Si | O boton "Todos" para modo masivo |
| Monto (ARS) | texto numerico | Si | Formato moneda argentina, debe ser mayor a 0 |
| Fecha de Vencimiento | date | Si | |
| Notificar por email | switch | No | Requiere configuracion SMTP |
Estados
Estado de workflow (estado)
| Estado | Badge | Descripcion |
|---|---|---|
| borrador | Azul "Borrador" | Expensa creada pero no emitida |
| emitida | Segun cobro | Expensa emitida, el badge refleja el estado de cobro |
| anulada | Gris "Anulada" | Expensa anulada |
Estado de cobro (calculado)
Se calcula automaticamente a partir de las unidades y sus pagos:
| Estado | Badge | Condicion |
|---|---|---|
| Pagado | Verde | Todas las unidades pagadas |
| Parcial | Ambar | Al menos un pago parcial registrado |
| Vencida | Rojo | Fecha de vencimiento pasada y saldo pendiente |
| Pendiente | Azul | Sin pagos y no vencida |
Filtros y busqueda
- Busqueda por texto: periodo (ej: "2025-03" o "Mar 2025")
- Filtro por estado (select): Todos, Pendiente, Parcial, Pagado, Vencida, Anulada
- Paginacion: configurable con componente
TablePagination