Documentación Operativa

Manual del Operador: Conciliación Mensual

Guía de operación habitual, flujos de trabajo paso a paso, conciliación por plantillas y auditoría de movimientos bancarios en conhw.

1. Introducción y Objetivo

El Módulo de Agilización de Conciliación Mensual de conhw tiene como propósito sustituir el procedimiento manual previo dependiente de macros de Excel (MacrosConciliación.bas y PlantillasConciliación.xlsm), permitiendo al operador:

  • Cargar directamente el archivo CSV exportado desde la banca en línea de Scotiabank.
  • Previsualizar las sumatorias de control (total abonos, cargos, saldo neto y fechas) antes de alterar la base de datos.
  • Conciliar automáticamente los movimientos estándar mediante Plantillas Contables deterministas.
  • Garantizar que en cada paso la partida doble se mantenga perfectamente balanceada en el catálogo general de movimientos.
Compatibilidad: El módulo está optimizado para funcionar directamente en tu navegador y sobre el entorno de producción en cPanel con PHP 7.4 y base de datos MariaDB/MySQL.

2. Flujo Habitual Mensual (Operación Mes a Mes)

¿Cómo opera el usuario habitualmente al iniciar el cierre o conciliación de un nuevo mes?

Fase 0: Provisiones IMSS al Inicio de Mes (Paso 0)

Al inicio de cada mes, antes de conciliar el extracto bancario, el operador procesa los archivos IDSE_EMA.csv (mensual) e IDSE_EBA.csv (bimestral) desde el menú Inicio & Carga → 0. Provisiones IMSS (EMA/EBA), registrando las cuotas en tmp_provisiones_imss y acumulando la provisión contable en CC 6 (HASHWARE PROVISIONES) para cuadrar con el pago SIPARE de mediados de mes.

Fase A: Descarga del Archivo Bancario

Al inicio del mes (ej. los primeros días de septiembre para conciliar agosto), el operador ingresa a la banca en línea de Scotiabank y descarga el archivo de movimientos del mes en formato CSV (habitualmente nombrado ExportarArchivo.csv).

Fase B: Carga y Previsualización (Paso 1)

Entra a conhw/conciliacion/index.php, arrastra el archivo CSV y revisa las tarjetas KPI. Si los totales y fechas coinciden con su estado de cuenta, selecciona la opción recomendada "Reemplazar tabla temporal" y confirma la carga. La tabla temporal tmp_movimientos_cuentas_bancarias queda poblada (ej. 34 registros).

Fase C: Conciliación de Traspasos de Inversiones (Paso 2)

Hace clic en el botón "Continuar a Paso 2: Conciliar Traspasos de Inversiones" (o desde el menú superior). El sistema detecta de inmediato los movimientos correspondientes a las Plantillas 7 y 22 (en agosto, los 4 retiros de inversión por $93,020.26). Revisa la previsualización del asiento contable de partida doble y da clic en "Aplicar Conciliación de Traspasos".

Fase D: Conciliación de Movimientos Restantes

En la tabla de stage solo permanecen los movimientos pendientes (en agosto, pasan de 34 a 30 registros), listos para las siguientes fases de conciliación (nóminas, impuestos IMSS/ISR, pagos de servicios y comisiones).

Inicio de Mes Plantillas 8 y 31

0. Provisiones de Cuotas de Seguridad Social IMSS (EMA / EBA)

Al inicio de cada mes, antes de conciliar los movimientos bancarios, se determinan y provisionan las cuotas obrero-patronales de seguridad social a pagar. Para ello se utilizan los archivos oficiales emitidos por el portal IDSE:

  • tmp/IDSE_EMA.csv: Movimientos por Asegurado de EMA (cuotas mensuales ordinarias IMSS).
  • tmp/IDSE_EBA.csv: Movimientos por Asegurado de EBA (cuotas bimestrales RCV e Infonavit).
Reglas de Procesamiento y Sanitización
Estructura del CSV y Campos
  • Omitir metadatos: Las dos primeras filas contienen títulos y vacíos del reporte IDSE; la fila 3 contiene los encabezados oficiales.
  • Columna Total: Se sanitizan signos monetarios, comas y comillas dobles (ej. " 1,431.93 " → 1431.93).
  • Limpieza de Nombres: Se aplica trim() para remover espacios finales y normalización para asociar con el catálogo de centros de costos.
Fecha Paramétrica y Notas Dinámicas
  • Fecha: Se toma por omisión el primer día del mes actual (ej. 2026-09-01 00:00:00), siendo editable en caso de desfases en la operación.
  • Formato Nota EMA: Provisión IMSS EMA Pago <mes> <año> (ej. Provisión IMSS EMA Pago septiembre 2026).
  • Formato Nota EBA: Provisión IMSS EBA pago <mes> <año> (ej. Provisión IMSS EBA pago septiembre 2026).
  • Límite: Ambos textos respetan el límite de 45 caracteres del campo nota.
Modalidades de Pago SIPARE (Plantilla 9): Mensual vs Bimestral

La Plantilla 9 opera bajo dos modalidades calendarizadas:
• Solo Mensual (EMA - Plantilla 8): Aplica para meses pares (ej. Octubre, Febrero, Abril, Junio, Agosto, Diciembre). Solo se generan cuotas ordinarias IMSS por \$9,686.25. La emisión EBA (Plantilla 31) no aplica y se omite tanto en el stage como en la partida doble.
• Bimestral Completo (EMA + EBA - Plantillas 8 y 31): Aplica para meses impares (ej. Septiembre, Noviembre, Enero, Marzo, Mayo, Julio), donde coinciden cuotas ordinarias más RCV e Infonavit. Ambas pólizas se contabilizan acumulando el total consolidado en CC 6.

Modelo Contable de Partida Doble
Plantilla Modalidad Cargos (Debe) Abono (Haber) Destino / Articulación
Plantilla 8 Mensual (EMA) • Todos los meses Centros de costos de los 5 trabajadores por su cuota individual CC 6 (HASHWARE PROVISIONES) por el subtotal ($9,686.25 en oct) Crea cabecera en provisiones_traspasos y asientos en movimientos
Plantilla 31 Bimestral (EBA) • Un mes Sí y otro No Centros de costos de los 5 trabajadores por su cuota individual CC 6 (HASHWARE PROVISIONES) por el subtotal ($32,541.62) Solo se aplica en meses bimestrales (inactiva en periodos de solo EMA)
Plantilla 9 Pago Bancario SIPARE Configurada con el saldo de las provisiones activas del mes (\$9,686.25 mensual ó \$42,227.87 bimestral) Permite que a mediados de mes el Paso 7 (Pagos IMSS) concilie en un solo clic contra el cargo en banco
Inicio de Mes Plantilla 29

0.2 Provisiones de ISR Retenido (Sueldos y Asimilados)

Al inicio de cada mes, se extraen las retenciones de Impuesto Sobre la Renta (ISR) descontadas a los trabajadores en sus recibos de nómina para provisionar el monto exacto a pagar en la declaración provisional del SAT:

  • tmp/rptNominaCerrada.csv: Reporte de nómina de sueldos ordinarios cerrada (5 trabajadores por $14,964.78).
  • tmp/rptNominaCerrada Asimilados.csv: Reporte de nómina de honorarios asimilados a salarios cerrada (3 colaboradores por $1,850.04).
Detección Automática y Reglas de Negocio
Detección de Periodo y Fecha de Provisión
  • Lectura de Periodo: Se extrae el rango de fechas del encabezado (ej. "Del 01/08/2026 al 31/08/2026").
  • Fecha de Provisión: Se calcula automáticamente para el primer día del mes siguiente (ej. 2026-09-01 00:00:00), que corresponde a la fecha de pago y provisión del impuesto.
  • Paramétrica: Es editable desde la interfaz ante cualquier eventualidad operativa.
Concepto 621 y Tabla Stage
  • Concepto 621: Se ubica el renglón 621 IMPUESTO RETENIDO de cada empleado y se extrae el importe positivo descontado.
  • Nota Dinámica: Formato estricto Provisión ISR pago en <mes> <año> (ej. Provisión ISR pago en septiembre 2026), menor a 45 caracteres.
  • Persistencia: Se insertan los 8 registros en la tabla temporal tmp_provisiones_isr.
Modelo Contable: Plantilla 29 y Enlace con SAT (Plantilla 18)
Plantilla Concepto Cargos (Debe) Abono (Haber) Articulación Operativa
Plantilla 29 (Provisiones pago ISR) 8 (Provisión para el pago del ISR) A los centros de costo de los 8 trabajadores por su retención individual ($16,814.82) A CC 6 (HASHWARE PROVISIONES) por el gran total ($16,814.82) Crea cabecera en provisiones_traspasos y asientos en movimientos
Plantilla 18 (Impuestos SAT) 8 (ISR retenciones) El saldo acumulado en CC 6 por $16,814.82 cubre la retención del pago mensual SAT Permite que a mediados de mes el Paso 8 (Impuestos SAT) concilie exactamente el cargo bancario

3. Paso 1: Carga y Validación del CSV Bancario

El módulo de carga ([`index.php`](index.php)) procesa archivos de formato bancario y realiza validaciones automáticas:

Reglas de Extracción
  • Mapea las columnas del CSV de Scotiabank (Fecha en col 4, Referencia en col 5, Importe en col 6, Tipo en col 7, Transacción en col 9, Leyendas 1 y 2 en cols 10 y 11).
  • Sanea codificaciones (UTF-8) para acentos y caracteres especiales.
  • Descarta filas en blanco o pies de página bancarios.
Modos de Inserción
  • Reemplazar tabla temporal (Predeterminado): Vacía los registros previos no conciliados y coloca los 34 nuevos movimientos del mes a procesar.
  • Anexar: Conserva los registros existentes y añade los nuevos.

4. Paso 2: Conciliación de Traspasos de Inversiones (P7 / P22)

Esta función ([`traspasos.php`](traspasos.php)) busca en la tabla temporal los movimientos entre la Cuenta Principal (10) y la Cuenta de Inversiones (9):

Plantilla Concepto Detectado Tipo Banco Dirección Contable Afectación en movimientos
Plantilla 7 ABONO POR VENTA DE TITULOS Abono Inversión ➔ Banco
(Retiro de inversiones)
• Cargo: Cuenta HW (10) con Concepto 10 (+$)
• Abono: Cuenta Inversiones (9) con Concepto 11 (-$)
Plantilla 22 CARGO POR COMPRA DE TITULOS Cargo Banco ➔ Inversión
(Depósito en inversiones)
• Abono: Cuenta HW (10) con Concepto 11 (-$)
• Cargo: Cuenta Inversiones (9) con Concepto 11 (+$)
Efecto en la tabla Stage: Los movimientos conciliados se insertan en movimientos_cuentas_bancarias con fg_conciliado = 1 y se eliminan de tmp_movimientos_cuentas_bancarias para que solo queden los registros pendientes.

5. Paso 3: Conciliación de Comisiones Bancarias e IVA (Plantilla 32)

Esta función ([`comisiones.php`](comisiones.php)) localiza de forma automática todos los cargos por comisiones bancarias y sus impuestos correspondientes:

Tipo de Operación Concepto Banco (Comisión) Concepto Banco (IVA) Regla de Agrupación Afectación Contable (Plantilla 32)
Envío SPEI TRANSF ENVIO SPEI BCA INTERNET ($5.00) IVA - COMISIONES ($0.80) Misma Fecha y Referencia Numérica Por cada renglón:
• Cargo: Centro Costo 7 (HASHWARE SALDO) con Concepto 23 (+$)
• Abono: Centro Costo 10 (Cuenta principal HW) con Concepto 23 (-$)
Banca en Línea COBRO DE COMISION ($520.00) IVA POR COMISIONES ($83.20) Misma Fecha y Referencia Numérica Por cada renglón:
• Cargo: Centro Costo 7 (HASHWARE SALDO) con Concepto 23 (+$)
• Abono: Centro Costo 10 (Cuenta principal HW) con Concepto 23 (-$)
Validación Fiscal Automática

El sistema calcula automáticamente que el IVA sea exactamente el 16% de la comisión base. Si cuadra al centavo, la fila se marca con un distintivo verde de aprobación fiscal inmediata.

Aplicación en Lote sin Errores

Al presionar "Aplicar Conciliación", los movimientos seleccionados se transfieren a movimientos_cuentas_bancarias con plantilla_conciliacion_id = 32, se insertan los asientos balanceados en movimientos y se depuran de la tabla temporal.

6. Paso 4: Póliza de Ingresos por Factura Electrónica (Plantilla 19)

Esta función ([`ingresos.php`](ingresos.php)) concilia el pago recibido de clientes por concepto de facturación de servicios mensuales, integrando la distribución del archivo Polizafactura.csv con el abono registrado en la tabla temporal:

Rubro / Destino Horas Facturadas Monto Base IVA (16%) Total Neto Efecto en Póliza (Partida Doble)
AHM (Centro Costo 1) 459.75 hrs $160,912.50 $25,746.00 $186,658.50 ABONO en CC 1 con Concepto 18 (Honorarios AHM)
JCS (Centro Costo 4) 171.00 hrs $59,850.00 $9,576.00 $69,426.00 ABONO en CC 4 con Concepto 18 (Honorarios JCS)
Provisión IVA (Centro Costo 6) — — $35,322.00 $35,322.00 ABONO en CC 6 con Concepto 7 (Provisión IVA)
Banco HW (Centro Costo 10) 630.75 hrs $220,762.50 $35,322.00 $256,084.50 CARGO en CC 10 con Concepto 18 (Entrada de Dinero)
Cuadratura Automática: El abono depositado en banco (\$256,084.50) cubre con exactitud la base de AHM (\$160,912.50), la base de JCS (\$59,850.00) y el IVA trasladado (\$35,322.00). La póliza queda con diferencia cero y el movimiento se depura de stage.

7. Paso 5: Conciliación de Nómina Mensual

Esta pantalla (nomina.php) concilia los cargos por dispersión de fondos bancarios correspondientes a los sueldos netos de los colaboradores, cotejándolos contra el reporte oficial de nómina rptNominaCerrada.csv.

Lectura Directa en Memoria (Zero Disk Dependencies)

Para agilizar el proceso y evitar incidencias de permisos de escritura o rutas en el servidor, el archivo rptNominaCerrada.csv se lee completamente en memoria a través de la API FileReader del navegador. El operador puede arrastrar cualquier reporte de nómina al recuadro superior y la previsualización se recalculará de forma instantánea sin requerir guardar archivos en disco.

Plantillas y Centros de Costo de Nómina Vigentes
Clave Empleado Plantilla Centro de Costo Concepto Monto Neto (Ago 2026)
JCS CORTES SANCHEZ JOSE ANTONIO 10 Nómina JCS 4 JCS 13 Pago de nómina $25,209.08
DYLC LOPEZ CHIU DIANA YAMILLET 11 Nomina DYLC 2 DYLC 13 Pago de nómina $26,693.12
MRM MARTINEZ RENDON MERCEDES 12 Nómina MRM 14 MRM 13 Pago de nómina $18,057.59
EGCS CAYETANO SOLIS EMILIA GUADALUPE 38 Nómina EGCS 16 EGCS 13 Pago de nómina $12,361.09
MLC LOPEZ CHIU MIGUEL 53 Nómina MLC 19 MLC 13 Pago de nómina $11,020.50
Total Nómina Neta: $93,341.38
Póliza de Partida Doble Generada (10 Asientos)

Por cada empleado seleccionado, el sistema registra:

  • Salida de Banco (Abono): Centro de Costo 10 (Cuenta principal HW), Concepto 13 (Pago de nómina), Abono = $neto.
  • Gasto del Empleado (Cargo): Centro de Costo del trabajador (4, 2, 14, 16 ó 19), Concepto 13 (Pago de nómina), Cargo = $neto.
  • Depuración: El movimiento correspondiente a la dispersión de fondos se elimina de tmp_movimientos_cuentas_bancarias.

8. Paso 6: Conciliación de Honorarios Asimilados

Esta pantalla (asimilados.php) concilia los pagos bancarios por dispersión de fondos correspondientes a honorarios asimilados a salarios, cotejándolos contra el reporte oficial rptNominaCerrada Asimilados.csv.

Lectura Directa en Memoria (Zero Disk Dependencies)

Al igual que en nómina regular, el archivo rptNominaCerrada Asimilados.csv se procesa completamente en memoria a través de FileReader en el navegador. La vista recalcula de manera instantánea la conciliación sin almacenar archivos en el servidor ni requerir permisos especiales de carpeta.

Plantillas y Centros de Costo de Asimilados Vigentes
Clave Colaborador Plantilla Centro de Costo Concepto Monto Neto (Ago 2026)
OLZ LOPEZ ZAMUDIO OLGA 21 Nómina OLZ 15 OLZ 13 Pago de nómina $1,923.97
JUAHM HERNANDEZ MORGADO JUANA URSULA 44 Nómina JUAHM 18 JUAHM 13 Pago de nómina $4,512.66
LZLE LOPEZ ZAPATA LUIS ENRIQUE 61 Nómina LZLE Dinámico (Plantilla 61) 13 Pago de nómina $14,000.03
Total Honorarios Netos: $20,436.66
Póliza de Partida Doble Generada (6 Asientos)

Por cada colaborador seleccionado, el sistema registra:

  • Salida de Banco (Abono): Centro de Costo 10 (Cuenta principal HW), Concepto 13 (Pago de nómina), Abono = $neto.
  • Gasto del Colaborador (Cargo): Centro de Costo del colaborador (15, 18 ó según Plantilla 61), Concepto 13 (Pago de nómina), Cargo = $neto.
  • Depuración: El cargo por dispersión de fondos se elimina de tmp_movimientos_cuentas_bancarias.

9. Paso 7: Conciliación de Pagos IMSS (Plantilla 9)

Esta pantalla (imss.php) concilia el cargo bancario correspondiente al pago mensual de cuotas obrero-patronales de seguridad social, cotejando la propuesta/línea de captura oficial SIPARE en formato PDF (ej. Línea de captura 202607 Julio.pdf) contra el cargo registrado en tmp_movimientos_cuentas_bancarias.

Lectura Directa de PDF en Memoria (Zero Disk Vulnerability)

El operador puede arrastrar el archivo PDF generado por el SIPARE/IMSS directamente a la zona Dropzone de la pantalla. Mediante descompresión nativa de streams FlateDecode en memoria, el sistema extrae al instante y distingue entre pagos mensuales ordinarios y bimestrales consolidados:

  • Período y Bimestre: Identifica el período fiscal mensual (ej. 08-2026 o 07-2026) y el bimestre correspondiente (ej. Bimestre 04-2026) cuando aplica.
  • Folio SUA: Extrae el folio del Sistema Único de Autodeterminación (ej. 337088 en agosto o 389782 en julio).
  • Línea de Captura SIPARE: Clave única alfanumérica de 53 caracteres que se coteja automáticamente contra la leyenda bancaria (leyenda_2).
  • Desglose por Ramos (Caso Bimestral): Extrae los 3 ramos oficiales:
    • Seguros IMSS: \$10,012.22 (Patronal: \$8,714.31 | Obrera: \$1,297.91).
    • RCV (Retiro, Cesantía y Vejez): \$19,042.23 (Patronal: \$16,974.82 | Obrera: \$2,067.41).
    • Vivienda y ACV (Infonavit): \$13,499.39 (Patronal: \$9,188.53 | Amortización: \$4,310.86).
  • Totales Consolidados: Cuotas Patronales (\$34,877.66) + Cuotas Obreras (\$7,676.18) = Total a Pagar \$42,553.84 (o \$10,012.22 en meses no bimestrales).
Emparejamiento con el Cargo Bancario en Stage

El sistema localiza de inmediato en tmp_movimientos_cuentas_bancarias el movimiento correspondiente con transacción SEL PAGO DE SERVICIOS, cotejando el importe exacto registrado en el banco (ej. \$42,553.84 para agosto o \$10,012.22 para julio) contra el total a pagar SIPARE, garantizando un estatus de CUADRADO (Diferencia: \$0.00 exacto).

Póliza de Partida Doble Generada (Plantilla 9 - 2 Asientos)
# Cuenta / Centro de Costo Concepto Cargo (Debe) Abono (Haber) Comentario Contable
1 10 Cuenta principal HW 12 Cuotas IMSS $0.00 $42,553.84 Cargo en el banco por el pago de las cuotas de seguridad social SIPARE
2 6 HASHWARE PROVISIONES 12 Cuotas IMSS $42,553.84 $0.00 Descuento en provisiones HW por el pago de las cuotas de seguridad social SIPARE
Sumas Iguales: $42,553.84 $42,553.84 Diferencia: $0.00 (Balanceado)
Depuración Automática y Articulación con Provisiones: Al aplicar la conciliación, se genera el registro definitivo en movimientos_cuentas_bancarias con plantilla_conciliacion_id = 9, se graban los dos asientos en movimientos amortizando el saldo acreedor acumulado en CC 6 (HASHWARE PROVISIONES) procedente del Paso 0 (EMA: \$10,012.22 + EBA: \$32,541.62 = \$42,553.84), y el cargo de stage se remueve atómicamente de tmp_movimientos_cuentas_bancarias.

10. Paso 8: Conciliación de Impuestos Provisionales SAT (Plantilla 18)

Esta pantalla (impuestos.php) concilia el cargo bancario correspondiente al pago provisional de impuestos federales (ISR e IVA), cotejando el acuse oficial del SAT en formato PDF (ej. Línea de captura ISR 2026 07.pdf) contra el cargo registrado en tmp_movimientos_cuentas_bancarias.

Lectura y Decodificación de PDF en Memoria (Zero Disk Dependencies)

El operador puede arrastrar el acuse del SAT directamente al recuadro Dropzone. El sistema incorpora un decodificador nativo de fuentes Identity-H y tablas CMap en PHP, extrayendo en memoria:

  • Línea de Captura SAT: Cadena de 20 caracteres (ej. 0426 5UD6 3000 5070 7417 / 04265UD6300050707417) que se coteja automáticamente contra el campo transaccion del movimiento bancario.
  • Desglose de los 5 Impuestos Declarados: ISR personas morales (\$1,674.00), ISR retenciones salarios (\$14,965.00), ISR retenciones asimilados (\$1,850.00), IVA personas morales (\$38,070.00) e IVA retenciones (\$325.00).
  • Metadatos Fiscales: Período declarado (Julio 2026), ejercicio (2026), fecha límite de pago (18/08/2026) y número de operación oficial (261820223788).
Emparejamiento con el Cargo Bancario en Stage

El sistema localiza en tmp_movimientos_cuentas_bancarias el cargo del 18/08/2026 con referencia 00000000000074839925, por el importe exacto de \$56,884.00, verificando que el campo transacción bancario coincida al 100% con la línea de captura SAT.

Póliza de Partida Doble Generada (Plantilla 18 - 6 Asientos)
# Cuenta / Centro de Costo Concepto Cargo (Debe) Abono (Haber) Comentario Contable
1 10 Cuenta principal HW 17 Impuestos $0.00 $56,884.00 Cargo en bancos por pago mensual declaración provisional
2 7 HASHWARE SALDO 45 ISR Empresa $1,674.00 $0.00 Pago de ISR persona moral
3 6 HASHWARE PROVISIONES 8 Provisión ISR $14,965.00 $0.00 Provisión para el pago de ISR mensual
4 6 HASHWARE PROVISIONES 8 Provisión ISR $1,850.00 $0.00 Provisión para el pago de ISR nómina asimilados
5 6 HASHWARE PROVISIONES 7 Provisión IVA $38,070.00 $0.00 IVA provisional mensual
6 7 HASHWARE SALDO 7 Provisión IVA $325.00 $0.00 IVA retenciones (No provisionado)
Sumas Iguales: $56,884.00 $56,884.00 Diferencia: $0.00 (Balanceado)
Depuración Atómica: Al confirmar la conciliación, se genera el registro definitivo en movimientos_cuentas_bancarias con plantilla_conciliacion_id = 18, se graban los 6 asientos contables en movimientos y el movimiento bancario se remueve de tmp_movimientos_cuentas_bancarias.

11. Paso 9: Conciliación de Préstamos para Pago de Nómina (Plantilla 60)

Esta pantalla (prestamos.php) permite identificar y conciliar de forma inteligente los movimientos bancarios que corresponden a devoluciones o pagos de préstamos entre la empresa y el socio/acreedor, aplicando la Plantilla 60 (Préstamo para pago de nómina).

Motor de Detección Heurística Inteligente

El sistema analiza en tiempo real la tabla temporal tmp_movimientos_cuentas_bancarias combinando dos capas de filtrado:

  • Semántica de Leyendas: Evalúa si los campos transaccion, leyenda_1 o leyenda_2 contienen términos característicos como prestamo, pago prestamo, operacion hw o pago nomina.
  • Importes Clave de la Conciliación: Coteja los montos esperados del ciclo contable (en el período activo: $35,000.00, $1,000.00 y $37,000.00, totalizando $73,000.00).
  • Puntaje de Confianza: Los movimientos que cumplen simultáneamente la condición de monto y palabra clave reciben un score del 100% de confianza y se seleccionan automáticamente por defecto.
Póliza de Partida Doble Generada (Plantilla 60)
# Centro de Costo / Cuenta Concepto Cargo (Debe) Abono (Haber) Comentario Contable
1 1 HERNANDEZ MORGADO ALEJANDRO 10 Abono por transferencia entre cuentas $73,000.00 $0.00 Disminución de deuda/acreedor por devolución de préstamo (leyenda original)
2 10 Cuenta principal HW 10 Abono por transferencia entre cuentas $0.00 $73,000.00 Salida de efectivo de tesorería bancaria de cheques
Sumas Iguales: $73,000.00 $73,000.00 Diferencia: $0.00 (Balanceado)
Depuración Atómica: Al hacer clic en "Aplicar Plantilla 60", cada movimiento se inserta en movimientos_cuentas_bancarias con plantilla_conciliacion_id = 60 y fg_conciliado = 1, se generan los asientos balanceados en movimientos y se elimina el registro de la tabla temporal tmp_movimientos_cuentas_bancarias.

12. Paso 10: Conciliación de ISRTP Nómina (Plantilla 20)

Permite conciliar el pago mensual del Impuesto Sobre Erogaciones por Remuneraciones al Trabajo Personal (ISRTP / 3% Nómina Estado de México) mediante la Plantilla 20, distribuyendo el costo proporcionalmente entre los centros de costo de los trabajadores de la nómina mensual.

Fundamento y Regla de Cálculo

El impuesto se determina a partir de las percepciones gravables de los trabajadores en la nómina mensual cerrada (rptNominaCerrada.csv). Por disposición legal y fiscal, se excluye el concepto 469 (TELETRABAJO) de la base gravable:

  • Base Gravable Total: Total Percepciones Brutas − Total Teletrabajo = $134,720.38 − $2,455.00 = $132,265.38.
  • Impuesto Determinado Declarado (PDF): 3.00% sobre base = $3,967.96.
  • Importe Pagado en Banco: Redondeado a pesos enteros conforme a la regla del SAT/Tesorería = $3,968.00.
  • Criterio de Distribución: El pago bancario ($3,968.00) se reparte entre los 5 colaboradores según su participación porcentual en la base gravable. La diferencia de redondeo de centavos ($0.01) se equilibra automáticamente para garantizar balance exacto al centavo.
Distribución Contable Proporcional (Partida Doble)
Colaborador Centro Costo (Cargo) Base Sueldo % Part. Cargo (Gasto) Comentario Contable
CAYETANO SOLIS EMILIA GUADALUPE CC 16 (Emilia Guadalupe) $15,599.59 11.7942% $467.99 ISRTP EGCS
LOPEZ CHIU MIGUEL CC 19 (Miguel) $14,164.05 10.7088% $424.93 ISRTP MLC
CORTES SANCHEZ JOSE ANTONIO CC 4 (José Antonio) $36,675.00 27.7283% $1,100.26 ISRTP JCS
MARTINEZ RENDON MERCEDES CC 14 (Mercedes) $24,450.00 18.4856% $733.51 ISRTP MRM
LOPEZ CHIU DIANA YAMILLET CC 2 (Diana Yamillet) $41,376.74 31.2831% $1,241.31 ISRTP DYLC
Salida Bancaria: CC 10 (Cuenta Principal HW) - Concepto 14 (Impuesto sobre nóminas) Abono: $3,968.00 Movimiento de banco, pago del impuesto sobre nómina.
Sumas Iguales: Cargos: $3,968.00 | Abono: $3,968.00 Diferencia: $0.00
Lectura en Memoria y Cero Huella en Disco

Tanto la declaración fiscal en PDF (Declaración ISRTP YYYY MM.pdf) como el archivo de nómina cerrada (rptNominaCerrada.csv) se procesan 100% en memoria mediante IsrtpNominaService. No se almacena ninguna copia física en el servidor, garantizando máxima seguridad, privacidad y rendimiento.

Depuración y Aplicación Atómica: Al confirmar la póliza, se actualiza movimientos_cuentas_bancarias con plantilla_conciliacion_id = 20 y fg_conciliado = 1, se registran los 6 asientos de diario en movimientos y se depura el registro de la tabla temporal tmp_movimientos_cuentas_bancarias.

13. Paso 11: Conciliación de Seguros de Vida (Plantillas 2 y 4)

Permite conciliar en una sola vista unificada los cargos mensuales de cobranza domiciliada de pólizas de seguros de vida emitidos bajo el RFC SAR0210119D5 (exentos de IVA), asociando automáticamente a cada colaborador su plantilla y centro de costo correspondiente.

Asignación y Reglas de Negocio
Colaborador Asegurado Plantilla Centro Costo (Cargo) Concepto Tarifa Fija Salida Bancaria (Abono)
José Antonio Cortés Sánchez Plantilla 2 CC 4 (José Antonio Cortés Sánchez) 3 (Seguro de vida JCS) $270.00 CC 10 ($270.00)
Diana Yamillet López Chiu Plantilla 4 CC 2 (Diana Yamillet López Chiu) 4 (Seguro de vida DYLC) $175.00 CC 10 ($175.00)
Total Mensual Paquete Seguros: $445.00 Partida Doble Balanceada ($445.00)
Criterios de Detección Inteligente

El motor heurístico analiza la tabla temporal tmp_movimientos_cuentas_bancarias identificando registros con:

  • Transacción: 03 POR COBRANZA DOMICILIADA.
  • Leyenda 1: RFC/CURP: SAR0210119D5 con IVA: 0.00.
  • Importes clave: Coincidencia exacta con las primas ($270.00 para Plantilla 2 y $175.00 para Plantilla 4).
Depuración y Aplicación Atómica: Cada registro seleccionado se inserta en movimientos_cuentas_bancarias con su respectivo plantilla_conciliacion_id (2 o 4), genera sus 2 asientos contables de partida doble en movimientos y se elimina de forma segura de tmp_movimientos_cuentas_bancarias.

14. Paso 12: Conciliación de Servicios Contables (Plantilla 16)

Permite conciliar el pago mensual de honorarios por servicios de contabilidad y asesoría fiscal mediante la Plantilla 16 (Pago contador), con soporte inteligente tanto para los montos habituales como para importes variables o regularizaciones.

Modelo Contable y Cuentas de Afectación

Cada pago registrado genera dos asientos contables de partida doble en el Libro Diario (movimientos):

Tipo Asiento Centro de Costo Concepto Importe Comentario Contable
CARGO CC 7 (HASHWARE SALDO - Gasto Contable HW) 15 (Pago contador) $2,231.17 Pago mensual servicios contador
ABONO CC 10 (Cuenta principal HW - Salida Banco) 15 (Pago contador) $2,231.17 Pago mensual servicios contador Anrea Lora
Sumas Iguales: Cargos: $2,231.17 | Abonos: $2,231.17 Diferencia: $0.00
Flexibilidad ante Montos Variables

Debido a retenciones de ISR/IVA, actualizaciones anuales de tarifas o pagos complementarios (por ejemplo, regularizaciones de $3,955.25 o cuotas de $2,028.33), la interfaz ofrece dos mecanismos integrados:

  • Detección Semántica Automática: Identifica con 100% de confianza cargos dirigidos a BBVA MEXICO con términos como "Honorarios", "Contables" o "Contador".
  • Selector de Otros Movimientos en Stage: Permite marcar con un solo clic cualquier otro cargo pendiente en la tabla temporal para asociarlo de inmediato a la Plantilla 16, recalculando la póliza contable en tiempo real.
Depuración Atómica: Al confirmar la conciliación, se actualiza movimientos_cuentas_bancarias con plantilla_conciliacion_id = 16 y fg_conciliado = 1, se registran los asientos de partida doble y se depura el registro de la tabla temporal tmp_movimientos_cuentas_bancarias.

15. Paso 13: Conciliación de Telefonía Celular (Plantilla 17)

Permite conciliar el pago mensual del servicio de telefonía celular corporativa (Movistar) mediante la Plantilla 17 (Pago Celulares Movistar. Desglose 1), asociando el gasto a José Antonio Cortés Sánchez (CC 4) contra la salida bancaria de Cuenta principal HW (CC 10).

Modelo Contable y Cuentas de Afectación

Cada pago de telefonía registrado genera dos asientos contables de partida doble en el Libro Diario (movimientos):

Tipo Asiento Centro de Costo Concepto Importe Comentario Contable
CARGO CC 4 (José Antonio Cortés Sánchez - JCS) 16 (Pago mensual planes celular movistar) $594.00 Pago de celulares movistar JCS
ABONO CC 10 (Cuenta principal HW - Salida Banco) 16 (Pago mensual planes celular movistar) $594.00 Pago de celulares movistar
Sumas Iguales: Cargos: $594.00 | Abonos: $594.00 Diferencia: $0.00
Criterios de Detección y Selección Flexible

El sistema detecta automáticamente los cargos con:

  • Transacción: 03 SEL PAGO DE SERVICIOS.
  • Leyenda 1: Contrato CONTRATO: 00002124.
  • Leyenda 2: Prefijo del servicio 9905000793842946|.
  • Soporte para Montos Variables: Dado que el importe de facturación mensual oscila por consumo o ajustes tarifarios (ej. $594.00, $568.00, $558.00, $679.09), el operador puede vincular con un solo clic cualquier otro cargo disponible en stage a la Plantilla 17.
Depuración Atómica: Al aplicar la conciliación, se actualiza movimientos_cuentas_bancarias con plantilla_conciliacion_id = 17 y fg_conciliado = 1, se generan los asientos de diario y se depura el registro de la tabla temporal tmp_movimientos_cuentas_bancarias.

16. Paso 14: Conciliación de Comisiones Pago de Impuestos (Plantilla 63)

Esta pantalla (comisiones_impuestos.php) automatiza la conciliación de la comisión bancaria cobrada por el banco al procesar el pago de la declaración fiscal del SAT, aplicando la Plantilla 63 (Comisiones del pago de impuestos provisional mensual).

Estructura de la Póliza de Partida Doble (Plantilla 63)
Tipo Asiento Centro de Costo Concepto Importe Comentario Contable
CARGO CC 7 (HASHWARE SALDO - ISR Empresa) 45 (ISR Empresa) $76.00 Comisión bancaria por el pago de la declaración mensual
ABONO CC 10 (Cuenta principal HW - Salida Banco) 45 (ISR Empresa) $76.00 Comisiones bancarias por el pago de la declaración provisional mensual
Sumas Iguales: Cargos: $76.00 | Abonos: $76.00 Diferencia: $0.00
Criterios de Detección Heurística y Selección Flexible

El motor de inteligencia semántica detecta automáticamente el cargo correspondiente evaluando:

  • Contrato Bancario SAT: Presencia de CONTRATO: 00001088 en leyenda_2 o leyenda_1 (utilizado exclusivamente para la declaración provisional del SAT).
  • Términos Clave: Detección de cadenas como IMPUESTOS LINEA CAP SEL o comision.
  • Discriminación de Importes: Identificación precisa como cargo de tarifa bancaria ($10 a $300, como los $76.00 de agosto o $28.00 de meses anteriores) distinguiéndolo del pago tributario principal.
  • Soporte para Tarifas Variables: Si el importe bancario osciló o el banco generó múltiples cargos complementarios, el operador puede seleccionar cualquier otro movimiento disponible en la tabla de stage para asociarlo a la Plantilla 63.
Depuración Atómica: Al confirmar la conciliación, se genera el registro en movimientos_cuentas_bancarias con plantilla_conciliacion_id = 63 y fg_conciliado = 1, se asientan la partida doble en movimientos y el movimiento se elimina de forma inmediata y segura de la tabla de stage tmp_movimientos_cuentas_bancarias.
Pre-Cierre Mensual Plantilla 37: Trasferencias rendimientos

16.1 Pre-Cierre: Traspaso de Rendimientos de Inversiones (Plantilla 37)

Esta pantalla (rendimientos_inversion.php) se ejecuta inmediatamente después de conciliar los movimientos bancarios de stage y antes de realizar la concentración de resultados del Cierre Mensual. Su objetivo es registrar el incremento del valor de la cartera de inversiones generado por los rendimientos netos devengados del mes y acreditar dicho monto a favor del socio AHM.

Fundamento Operativo y Contable

En cada cierre mensual, el estado de cuenta oficial de Scotiabank Inversiones (Contrato 07238903-4, p. ej. 72389034_NACIONAL_20260930.pdf) consigna el renglón "Rendimientos Netos" ($403.98 en septiembre 2026, $3,730.61 en agosto 2026). Para mantener alineado el saldo contable del centro de costos CC 9 (Cuenta inversiones HW - CINVHW) con la posición de títulos de la cartera bancaria, se aplica la Plantilla 37.

Póliza de Partida Doble (Plantilla 37)
# Tipo Asiento Cuenta / Centro de Costo Concepto Debe (Cargo) Haber (Abono) Nota Contable
1 CARGO 9 Cuenta inversiones HW (CINVHW) 28 Traspaso rendimientos inversiones $403.98 $0.00 Trasferencias rendimientos al 30/09/2026
2 ABONO 1 HERNANDEZ MORGADO ALEJANDRO (AHM) 28 Traspaso rendimientos inversiones $0.00 $403.98 Trasferencias rendimientos al 30/09/2026
Sumas Iguales: $403.98 $403.98 Diferencia: $0.00
Características y Automatizaciones del Módulo
  • Decodificador Nativo CMap / FlateDecode: El motor backend (RendimientosInversionService.php) parsea el PDF oficial de Scotiabank extrayendo sin librerías externas ni herramientas de consola la cartera anterior, depósitos, retiros, rendimientos netos e ISR acreditable.
  • Cálculo Dinámico de Libros: Determina el saldo en libros de CINVHW (CC 9) acumulando las compras (depósitos a fondos) menos ventas (retiros de fondos), mostrando la comparativa contra la cartera de cierre reportada.
  • Registro Atómico en Base de Datos: Genera la cabecera en provisiones_traspasos con plantilla_conciliacion_id = 37 y fg_aplicado = 1, enlazando ambos renglones de diario en movimientos con provision_traspaso_id.
  • Control de Duplicidad: Si la póliza ya fue aplicada para la fecha de corte indicada, la interfaz muestra el distintivo "Aplicada en Base de Datos" con su ID de traspaso e inhabilita re-aplicaciones accidentales.
Pre-Cierre Mensual Plantilla 30: Traspaso HW saldar provisión IVA del mes

16.2 Pre-Cierre: Traspaso para Saldar la Provisión de IVA (Plantilla 30)

Esta pantalla (traspaso_iva.php) se ejecuta una vez concluida la conciliación de los movimientos bancarios (con la tabla de stage vacía) y antes de ejecutar la concentración de resultados del Cierre Mensual. Su objetivo es calcular el saldo acreedor acumulado en HASHWARE PROVISIONES (CC 6) en el Concepto 7 (Provisión para el pago de IVA) y traspasar el remanente excedente hacia HASHWARE SALDO (CC 7), de modo que el saldo de la provisión coincida exactamente con el IVA cobrado del mes.

Mecánica de Cálculo y Determinación del Traspaso

La cuenta de provisión de IVA (CC 6 • Concepto 7) recibe abonos cada vez que se concilia una factura de clientes (Plantilla 19) y cargos cuando se efectúa la declaración provisional mensual al SAT (Plantilla 18). Debido a que los pagos al SAT reflejan el mes calendario anterior con acreditamiento de deducciones, el saldo acumulado en libros presenta un excedente que se salda periódicamente mediante la Plantilla 30:

Saldo Actual en Libros (CC 6)
$51,102.00
−
Provisión Objetivo a Conservar
$35,322.00
(IVA Factura Última Cerrada - Agosto 2026)
=
Traspaso a Aplicar (P30)
$15,780.00
Póliza de Partida Doble (Plantilla 30)
# Tipo Asiento Cuenta / Centro de Costo Concepto Debe (Cargo) Haber (Abono) Nota Contable
1 CARGO 6 HASHWARE PROVISIONES (HW_PRO) 7 Provisión para el pago de IVA $15,780.00 $0.00 Traspaso cierre 2026-09-30
2 ABONO 7 HASHWARE SALDO (HWS) 7 Provisión para el pago de IVA $0.00 $15,780.00 Traspaso cierre 2026-09-30
Sumas Iguales: $15,780.00 $15,780.00 Diferencia: $0.00 (Balanceado)
Historial y Precedentes Operativos

Esta póliza replica la estructura determinista de traspasos históricos registrados bajo la Plantilla 30, tales como la PT ID 871 del 31/12/2025 ($6,664.00), PT ID 830 del 30/09/2025 ($4,518.00) y PT ID 789 del 31/05/2025 ($4,373.00). Al aplicarse, el saldo final de CC 6 queda ajustado a los $35,322.00 exactos, listo para ser consumido en el siguiente ciclo tributario.

17. Paso 15: Cierre Mensual y Concentración de Resultados

Esta pantalla (cierre_mensual.php) finaliza el ciclo contable del mes tras concluir la conciliación de todos los movimientos bancarios en stage. Su objetivo es concentrar los resultados operativos en tres centros de costo principales (AHM, JCS y HWS) mediante traspasos atómicos con fecha del último día del mes, saldando exactamente en cero ($0.00) los 7 centros de costo origen.

Estructura de los 7 Traspasos de Concentración
# Plantilla Centro Origen (Abono a $0) Centro Destino (Cargo Concentrador) Concepto Importe (Agosto 2026)
1 P46 18 JUHM (Juanita) 1 AHM (Alex) 21 (Traspasos cierre de mes) $4,780.80
2 P52 2 DYLC (Diana) 1 AHM (Alex) 21 (Traspasos cierre de mes) $36,589.44
3 P39 16 EGCS (Emy) 1 AHM (Alex) 21 (Traspasos cierre de mes) $15,324.19
4 P62 22 LZE (Enrique) 1 AHM (Alex) 21 (Traspasos cierre de mes) $15,490.80
5 P54 19 MLC (Miguel) 1 AHM (Alex) 21 (Traspasos cierre de mes) $13,844.90
6 P27 14 MRM (Mercedes) 4 JCS (Toño) 21 (Traspasos cierre de mes) $23,102.19
7 P28 15 OLZ (Olga) 7 HWS (HASHWARE) 21 (Traspasos cierre de mes) $2,015.10
Total Concentrado: $111,147.42
Mejoras de Integridad y Mejores Prácticas Aplicadas
  • Omisión de pIvaProvision: Se eliminó el parámetro y lógica heredada de provisión de IVA; la operación de IVA corre por su propio canal independiente.
  • Inmutabilidad de Catálogos: Se erradicó el antipatrón de modificar plantillas_conciliacion_detalle. Los importes calculados se graban estrictamente en provisiones_traspasos y movimientos.
  • Acotación Temporal Rigurosa: El saldo deudor de cada centro origen se calcula considerando únicamente los movimientos efectivos a la fecha de corte (COALESCE(mcb.fecha, pt.fecha) <= pFechaCierre), aislando registros históricos sin fecha.
  • Atomicidad Transaccional: La concentración de los 7 traspasos se ejecuta dentro de una transacción única (BEGIN / COMMIT), garantizando que o se concentran todos o ninguno en caso de fallo.
  • Verificación Post-Cierre: Al completar la transacción, el sistema audita automáticamente que cada centro origen finalice con saldo exacto de $0.00.
Cierre Operativo Listo: Con la concentración de resultados completada, los centros operativos inician el mes subsecuente en balance cero, listos para la nueva nómina y operaciones bancarias.

18. Paso 16: Acreedores Diversos AHM (Plantilla 43)

Esta pantalla (acreedores_diversos.php) gestiona y concilia las transferencias y traspasos bancarios de acreedores diversos a favor del socio AHM, aplicando la Plantilla 43 (Acreedores diversos AHM) con cargo a CC 1 (HERNANDEZ MORGADO ALEJANDRO) y abono a CC 10 (Cuenta principal HW).

Criterios de Detección Semántica en Stage

El servicio backend (AcreedoresDiversosService.php) analiza de manera inteligente los movimientos pendientes en tmp_movimientos_cuentas_bancarias:

  • Leyenda 2 (Identificador Principal): Detecta automáticamente descripciones como "Acreedores diversos EneAgo2026" o palabras clave "Acreedores diversos" asignando la máxima puntuación de confianza (100%).
  • Leyenda 1 y Transacción: Identifica operaciones de tipo "SEL TRASPASO ENTRE CUENTAS" y referencias a "HW MX" o "AHM".
  • Tipo de Movimiento: Movimientos de Cargo bancario (salida de tesorería institucional).
Selección Flexible y Alternativas en Stage

Para responder a variaciones mensuales de importes o modificaciones en las leyendas bancarias capturadas, la pantalla incorpora una sección colapsable de Alternativas: Otros Movimientos Disponibles en Stage con buscador en tiempo real. El operador puede marcar o desmarcar cualquier movimiento del stage; la interfaz recalcula en tiempo real la póliza balanceada y los indicadores clave (KPIs).

Póliza de Partida Doble Generada (Plantilla 43)
# Cuenta / Centro de Costo Concepto Cargo (Debe) Abono (Haber) Comentario Contable
1 10 Cuenta principal HW 35 Acreedores Diversos $0.00 $24,886.46 Acreedores diversos EneAgo2026 [Ref: 20260108]
2 1 HERNANDEZ MORGADO ALEJANDRO (AHM) 35 Acreedores Diversos $24,886.46 $0.00 Acreedores diversos EneAgo2026 [Ref: 20260108]
Sumas Iguales: $24,886.46 $24,886.46 Diferencia: $0.00 (Balanceado)
Depuración Automática: Al aplicar la conciliación, se genera el registro en movimientos_cuentas_bancarias con plantilla_conciliacion_id = 43, se asientan los dos movimientos contables balanceados y se elimina el registro de stage.

19. Los Estados de Cuenta en PDF: Dudas Frecuentes

¿Es obligatorio subir el PDF de inversiones (72389034_NACIONAL_...pdf)?

NO, es totalmente opcional. El sistema opera y concilia al 100% sin necesidad de cargar ningún archivo PDF.

¿Por qué se puede omitir el PDF?

Porque el archivo bancario CSV (ExportarArchivo.csv) ya contiene los movimientos con su fecha, referencia e importe exacto (en agosto: $20,003.36, $8,001.54, $10,006.41 y $55,008.95). Dado que la Plantilla 7 y la Plantilla 22 ya establecen con qué cuenta y concepto deben asociarse, el sistema no requiere información adicional para conciliar.

¿Para qué sirve entonces el PDF de inversiones?

El PDF es un documento de auditoría y respaldo fiscal/legal. El operador puede abrirlo en su visor local para cerciorarse visualmente de que la cifra de retiros de inversiones reportada en la carátula ($93,020.26) coincide con el total que el sistema detectó en la tabla temporal.

¿Cómo se protege la privacidad si se verifica un PDF?

Si el operador decide utilizar la herramienta de cotejo de PDF en la interfaz, el sistema analiza el archivo en memoria o almacenamiento temporal y lo elimina de inmediato mediante unlink(). Ningún estado de cuenta PDF queda almacenado en el servidor ni se incluye en los repositorios de Git.

20. Modelo Contable y Tablas del Sistema

Estructura relacional de las tablas que intervienen en el proceso:

1. tmp_movimientos_cuentas_bancarias (Tabla de Stage temporal) └── Se cargan los movimientos del mes a partir del CSV. └── Al ser conciliados, SE ELIMINAN de aquí. 2. movimientos_cuentas_bancarias (Histórico Definitivo Bancario) └── Almacena el movimiento real de banco con plantilla_conciliacion_id y fg_conciliado = 1. 3. movimientos (Libro Diario / Partida Doble General) └── Cada registro de movimientos_cuentas_bancarias genera 2 o más asientos: • Asiento 1: Cuenta Bancaria (Centro Costo 10) • Asiento 2: Contra-cuenta (Centro Costo 9, nómina, gastos, etc.) • Regla de oro: Suma de Cargos == Suma de Abonos.

21. Preguntas Frecuentes (FAQ)

Durante el Paso 1 (Previsualización de Carga), el sistema busca en el histórico definitivo movimientos_cuentas_bancarias combinaciones idénticas de fecha, importe y referencia. Si encuentra alguna coincidencia, la señala en color ámbar con una advertencia de "Posible duplicado" para evitar dobles registros.

Sí. En la pantalla de traspasos cada movimiento cuenta con su casilla de verificación individual. Al marcar o desmarcar una fila, los asientos contables de partida doble simulados en la sección inferior se recalculan automáticamente en tiempo real.

Puedes ingresar directamente desde los enlaces del menú superior a "Histórico Definitivo" o mediante las vistas estándar de AppGini: movimientos_cuentas_bancarias_view.php y movimientos_view.php.