Saltar al contenido principal

Contabilidad

Pantalla de gestión contable: ve ingresos, gastos, ganancias netas y KPIs clave de tu clínica. Administrador de clínica.

Operación — cómo se usa​

Cómo ver el estado financiero (ingresos, gastos, ganancia) del mes​

  1. Abre la pantalla Contabilidad desde el menú de administración.
  2. Verifica que el rango de fechas en la parte superior sea el período que quieres analizar (por defecto, el mes actual).
  3. En las tarjetas de la parte superior, observa:
    • Ingresos totales: dinero que entró por consultas y farmacia.
    • Costo de ventas: lo que te gastó en insumos clínicos (algodón, jeringuillas, etc.) para esas consultas.
    • Utilidad bruta: lo que ganaste antes de los gastos de operación (renta, luz, salarios administrativos).
    • Gastos operativos: renta, servicios, nómina administrativa (todo lo que no es insumos ni honorarios).
    • Utilidad neta: la ganancia final (lo que realmente ganas después de TODO).
  4. Mira el gráfico de Estado de Resultados (P&L) — las barras te muestran visualmente cómo crecen ingresos y bajan por gastos.
  5. Si necesitas los datos en Excel, haz clic en Exportar CSV — descargas una hoja con todos los movimientos contables del período.

Las 6 pestañas de Contabilidad​

La pantalla tiene 6 secciones (pestañas arriba): Resumen (KPIs y P&L, descrito arriba), Pólizas, Reportes, Cierre, Bancos y Catálogos.

Cómo capturar una póliza (asiento contable formal)​

  1. Ve a la pestaña Pólizas.
  2. Haz clic en Nueva póliza, elige tipo (Ingreso/Egreso/Diario) y fecha.
  3. Agrega al menos 2 líneas (partidas): cada línea es una cuenta contable con un monto en Cargo (debe) o Abono (haber) — nunca ambos en la misma línea.
  4. El sistema no deja guardar si Cargo total ≠ Abono total (partida doble: todo debe cuadrar).
  5. Si el mes de la fecha ya está cerrado (ver pestaña Cierre), la póliza se rechaza — usa una fecha del período abierto.
  6. Para anular una póliza ya guardada, usa Cancelar — no se borra, se crea una póliza reversa (invierte cargos y abonos) para dejar rastro completo.

Cómo ver los reportes formales (balanza, libro diario, balance general)​

  1. Ve a la pestaña Reportes.
  2. Elige el sub-reporte: Balanza de comprobación, Libro diario, Auxiliar por cuenta, Estado de resultados o Balance general.
  3. Ajusta el rango de fechas (o "al" para balance general, que es una foto a un día).
  4. Exporta a CSV si lo necesitas para el contador externo.

Cómo cerrar el mes contable​

  1. Ve a la pestaña Cierre. Solo administrador o gerente.
  2. Elige el mes a cerrar — debe estar totalmente terminado (no se puede cerrar el mes en curso).
  3. Al confirmar, el sistema genera automáticamente una póliza que cancela los saldos de ingresos y egresos del mes contra "Resultados acumulados" (cuenta 305).
  4. Una vez cerrado, ya no se pueden capturar pólizas nuevas con fecha en ese mes — si te equivocaste, contacta al dev (no hay botón de reabrir).

Cómo conciliar el banco (pestaña Bancos)​

  1. Ve a la pestaña Bancos.
  2. Sube el estado de cuenta en CSV (formato: fecha, concepto, monto, referencia).
  3. El sistema descarta líneas duplicadas automáticamente si vuelves a subir el mismo archivo.
  4. Haz clic en Sugerir conciliación — el sistema propone qué línea de banco corresponde a qué póliza (mismo monto exacto, fecha ±2 días).
  5. Revisa cada sugerencia y confirma (Conciliar) o descarta. Si te equivocaste, usa Desconciliar para deshacer el match.
  6. No hay conexión directa al banco — es carga manual de CSV (versión 1).

Cómo configurar el IVA de un ingreso (consultas, farmacia, otros)​

  1. Ve a Catálogos → edita la cuenta de ingreso (ej. "Ingresos por consultas").
  2. Elige el Tratamiento IVA: Sin configurar (por defecto, no calcula nada), Exento, Tasa 0% o Tasa general (captura el % exacto, normalmente 16).
  3. Antes de cambiar esto, confírmalo con tu contador — depende de si tu clínica factura como persona física (servicios médicos suelen estar exentos) o persona moral (se gravan normal). Configurarlo mal puede causar que declares IVA de más o de menos.
  4. Una vez configurado, cada cobro nuevo de esa cuenta separa automático el IVA (lo calcula del total ya cobrado, no cambia lo que le cobras al paciente).

Cómo ver el reporte de IVA y exportar Anexo 24​

  1. Ve a Reportes → pestaña IVA.
  2. Verás IVA trasladado (de tus ventas), IVA acreditable (de tus compras a proveedores, ya se calcula solo desde que capturas facturas) y el resultado (a pagar o a favor).
  3. Botones Catálogo de cuentas XML y Balanza XML generan los archivos del Anexo 24 (contabilidad electrónica SAT) del mes de la fecha "Hasta".
  4. Estos archivos NO están firmados — el sistema nunca toca tu e.firma (por seguridad). Pásaselos a tu contador para que los firme y suba al SAT con su propio software.
  5. Necesitas tener el RFC capturado en Configuración → Facturación y CFDI antes de exportar, o el botón mostrará error.

Cómo registrar un egreso manual (renta, luz, servicios, etc.)​

  1. Ve a Contabilidad → sección Egresos manuales (abajo de los KPIs).
  2. Haz clic en Agregar egreso nuevo o + Egreso.
  3. Llena los campos:
    • Tipo de gasto: elige de la lista (Renta, Servicios, Nómina administrativa, Otros egresos, etc.).
    • Monto: escribe la cantidad sin decimales — el sistema suma centavos automáticamente (ej. escribir 1500 = $1,500.00).
    • Fecha: cuándo pagaste (fecha de pago real, no de factura).
    • Descripción: qué es (ej. "Renta julio" o "Factura CFE folio 12345").
  4. Haz clic en Guardar.
  5. Verás el egreso en la lista abajo y el resumen de Utilidad neta se recalculará automáticamente.

Cómo entender cada KPI (indicador clave)​

IndicadorQué significaPor qué importa
Ingresos totalesTodo lo que cobró la clínica (citas + farmacia)Base de la ganancia; si crece, el negocio crece
Costo de ventasLo que gastaste en insumos para hacer esas consultasEntre más bajo, más ganancia sin perder calidad
Margen bruto %(Ingresos menos Costo) dividido Ingresos por 100Si es menor a 60%, revisa que insumos no suban
Gastos operativosRenta, luz, agua, nómina admin (fijos + variables)Son los "gastos para estar abierto" sin atender
Margen neto %(Ingresos menos Costo menos Gastos) dividido IngresosEs tu ganancia real; si es menor a 10% está apretado
Flujo de efectivoDinero que realmente entró vs. que realmente salióNo es lo mismo que "ganancia" (puedes ganar pero no tener cash)

Reglas de negocio — por qué se comporta así​

  • Los insumos se registran en citas, no manualmente. Cuando la enfermera cierra una cita, selecciona qué insumos se usaron — el costo se suma automático. Por eso la clínica "ve" qué gastó en cada paciente. Por qué: control preciso: sabes exactamente cuánto cuesta cada tipo de consulta (pediatría ≠ cirugía).

  • Egresos manuales solo los registra el admin. Si eres enfermera o recepcionista, no puedes agregar gastos (evita gastos fantasma). Por qué: auditoría; la clínica necesita saber que cada peso que reporta fue aprobado.

  • Existe una fecha de "devengo" y una de "pago". Devengo = cuándo ocurrió (ej. cita el 15 de julio). Pago = cuándo cobraste (ej. cliente pagó el 20). Por qué: NIIF (norma contable) exige diferenciar — un cliente que paga a crédito genera ingreso en julio pero dinero en agosto.

  • El costo de insumos está "congelado" en el momento de la consulta. Si un insumo costaba $100 en junio y $120 en julio, los insumos de junio siempre valen $100 — no cambian. Por qué: coherencia; de otro modo, cambiar un precio viejo reescribiría la historia y no podrías confiar en reportes pasados.

  • No incluimos costo de medicamentos de farmacia. Si vendes una caja de amoxicilina, el ingreso entra, pero el costo no se descuenta (limitación conocida). Por qué: los medicamentos se gestionan como un stock separado; el detalle de costo medicamento-por-medicamento es futuro.

Preguntas frecuentes​

Lo que pasaPor qué pasaQué hacer
El monto de un egreso aparece con decimales raros (ej. 1500.01)Convertión de centavos; error menor de redondeo en cálculos.Reporta al dev si es >$1, probable bug.
Hice clic en "Exportar CSV" y no descargó nadaBloqueador de ventanas emergentes del navegador.Permite ventanas emergentes para integrika.mx.
Un insumo no aparece en cierre de citaEstá marcado como inactivo O no tiene precio capturado.En Inventario, edita el insumo y fija Costo > 0, márcalo activo.
Veo un egreso del mes pasado hoyLos egresos manuales se ven en el período donde caiga la fecha de devengo (no fecha de creación).Si lo quieres en otro período, edítalo (solo admin).

Implementación — para el siguiente dev/agente​

El botón "?" dentro de la app corta el contenido justo antes de este encabezado.

  • Archivo(s) principal(es): src/pages/Contabilidad.tsx (tabs), src/hooks/useContabilidad.ts, src/features/contabilidad/{PolizasTab,ReportesTab,CierreTab,BancosTab,CatalogosTab}.tsx.
  • Tablas Supabase involucradas — devengo simple: appointment_insumos, cuentas_contables, movimientos_contables, doctor_honorarios_config.
  • Tablas Supabase involucradas — partida doble: polizas, poliza_partidas, poliza_folios, contab_cierres, contab_estados_cuenta.
  • RPCs/edge functions: registrar_insumos_cita(), kpis_dashboard(), trigger PG en movimientos/pharmacy_sales (devengo simple); crear_poliza(), cancelar_poliza(), cierre_mensual(), balanza_comprobacion(), libro_diario(), auxiliares_cuenta(), estado_resultados(), balance_general(), contab_importar_estado_cuenta(), contab_matching_bancario(), contab_conciliar_linea(), contab_desconciliar_linea() (partida doble).
  • Cómo agregar un tipo de egreso nuevo: en migration, INSERT INTO cuentas_contables (codigo, nombre, tipo, es_fijo, naturaleza) ... — aparecerá automático en el dropdown.
  • Cómo agregar una regla de negocio nueva: triggers en Postgres (contab_*) para automático, o policy RLS si necesita control de acceso.
  • Los dos sistemas (devengo simple vs. partida doble) NO se sincronizan automático — ver sección 9 de memoria/proyectos/modulo-contable-memoria-tecnica.md.

/aprende 2026-07-19 — Fase 10, cierre del módulo contable (fases 1-8 documentadas, fase 9 IVA pospuesta).