MyFinAI · el sistema operativo financiero con IA← Documentación
Documentación técnica · v1.0.0 · actualizado 2026-09-17 · ESENPT · ⬇ Descargar Markdown

Procesos contables · alcance completo

Este documento describe todo lo que MyFinAI contabiliza, proceso por proceso: qué lo dispara, qué asiento produce, qué controla y qué deja como evidencia. Es la referencia para tu contador o CPA cuando pregunta «¿y esto cómo queda registrado?».

Cómo leerlo. Cada proceso aparece como *disparador → asiento → control*. Los códigos de cuenta que se muestran son los del plan genérico de negocio (1000 Banco, 1100 CxC, 2000 CxP…); el sistema no trabaja con códigos fijos: resuelve cada cuenta por su nombre en el plan del espacio, de modo que un plan PUC colombiano (Decreto 2650 de 1993) usa 1105/1305/2205/2408 y el asiento es el mismo. Donde falta una cuenta obligatoria (retención, impuesto sobre ventas, diferencia en cambio), el sistema la crea con su nombre y su base legal en vez de perder el registro.


1 · Los cinco principios

  1. Doble entrada exacta. Todo asiento nace con sus dos lados y se valida antes de tocar el

libro: ΣDébitos = ΣCréditos, calculado en decimal (nunca en coma flotante). Un asiento que no cuadra se rechaza; no existe «cuadrarlo después».

  1. El libro es la fuente. Los estados —resultados, balance, flujo— no se arman aparte: se

derivan del mayor. Si un número aparece en un tablero, se puede abrir hasta el asiento que lo sustenta.

  1. Un espacio, un libro. Cada empresa y cada hogar es un espacio con su propio libro, aislado

en la base de datos por fila (RLS). El libro del negocio y el del hogar nunca se mezclan, aunque sea la misma persona la que entra.

  1. Cada libro en su moneda. Un espacio lleva su contabilidad en su moneda funcional: dólares en

Puerto Rico y Estados Unidos, pesos en Colombia. Un documento en otra moneda se convierte con la tasa oficial de la fecha del documento y guarda el original, la tasa y la fecha.

  1. La IA propone; el dinero lo mueve una persona. Los agentes leen, clasifican, concilian,

calculan y preparan. Ninguna herramienta que mueva dinero se expone a un agente: el pago, el cobro, la remesa y el cierre los confirma un humano con rol suficiente.

Cómo llega un documento al mayor

Nada se postea solo. El barrido automático que corre cada seis horas solo lee (genera alertas, enlaza identidades y entiende movimientos); no escribe un asiento. Cuando pulsas ↻ Postear al mayor, el sistema corre los procesos en orden de dependencia dentro de una sola transacción: movimientos → facturas → reconocimiento diferido → recepciones de inventario → cuentas por pagar → cobros → pagos → capital → propiedades → costo de ventas → nómina. Si algo no cuadra, no entra nada.

Idempotencia. Cada asiento se marca con el tipo y el identificador del documento que lo originó (bill, invoice, bill_payment, pay_run, depreciation…), así que reprocesar un documento nunca lo contabiliza dos veces. Los asientos de un solo disparo —préstamo, arrendamiento, remesa fiscal, asiento manual, causación de período— se registran cada vez que los confirmas: para corregir uno, se reversa desde el mayor (queda marcado como reversado, no se borra).


2 · Plan de cuentas y apertura

PasoQué hace
PlantillaAl crear el espacio se provisiona el plan: negocio (genérico), hogar o PUC para un negocio colombiano (Decreto 2650 de 1993). La elección sale de la jurisdicción del espacio, no de un texto escrito a mano.
Resolución por nombreEl motor busca «cuentas por pagar», «impuesto sobre ventas», «retención en la fuente», «diferencia en cambio»… por nombre, con las variantes de cada país. Así el mismo código funciona sobre un plan PR y sobre un PUC.
Auto-creación citadaSi falta una cuenta obligatoria, se crea con su nombre y su ley: retenciones por pagar (2340 en PR, Sec. 1062.03), retención en la fuente / reteIVA / reteICA (2365/2367/2368 en Colombia), IVA por pagar (2408), diferencia en cambio (421020 / 530525 en PUC).
Apertura de librosLos saldos iniciales entran como un asiento de apertura balanceado contra Saldos de apertura (3900). Es el único asiento que puede «inventar» patrimonio, y queda marcado como apertura.

3 · Ciclo de ingresos (lo que entra)

3.1 Factura de cliente

Disparador: emites la factura (manual, desde una suscripción, desde horas facturadas o desde el lector de timesheets).

CuentaImporte
DR1100 Cuentas por cobrartotal (base + impuesto)
CR4000/4050/4100 Ingreso (el de cada línea)base
CR2300 Impuesto sobre ventas por pagar (IVU/IVA)impuesto de las líneas

Controles: una factura en borrador no reconoce ingreso; el impuesto por línea se separa del ingreso y si el plan no tiene cuenta de impuesto sobre ventas se crea (nunca se «disuelve» el impuesto en el ingreso); el total del encabezado se reconcilia con sus líneas.

3.2 Ingreso diferido (anualidades)

Una factura anual reconoce ingreso diferido y lo libera por período según su calendario de reconocimiento: DR ingreso diferido / CR ingreso del mes. Es el tratamiento de ASC 606 para lo cobrado por adelantado.

3.3 Cobro del cliente

Disparador: registras el cobro (o lo trae el conciliador desde el banco, o lo lee el buzón de comprobantes).

CuentaImporte
DR1000 Banco / cuenta de depósitoneto recibido
DR1355 Anticipo de impuestos y retenciones (a favor)retención que te practicó el cliente
DRGasto de comisionescomisión de la pasarela
CR1100 Cuentas por cobrarbruto de la factura

Controles: la retención sufrida nunca se pierde: queda como activo tributario a tu favor (1355 en el PUC); el bruto salda la cuenta por cobrar aunque al banco llegue menos; se crea el movimiento de banco correspondiente (idempotente) para que Movimientos y el mayor cuenten lo mismo; se genera el comprobante de ingreso en PDF con la razón social del espacio.

3.4 Cobranza

El agente de cobro prioriza lo vencido por antigüedad de saldos, propone los recordatorios y deja registro de cada gestión. El incobrable se da de baja como tal (no se borra la factura).


4 · Ciclo de compras y pagos (lo que sale)

4.1 Cuenta por pagar

Disparador: subes la factura del proveedor, llega al buzón invoicing@, la importas del reporte de documentos de la DIAN o la capturas a mano. El lector entiende PDF, imagen, Word, Excel, CSV o el cuerpo del correo, identifica al proveedor o consultor como una sola entidad y propone la cuenta de gasto.

CuentaImporte
DRCuenta de gasto (líneas o cuenta del documento)base
DR2408 IVA descontable (Colombia)IVA de la compra
CR2000 Cuentas por pagartotal

Si la cuenta está ligada a una orden de compra con mercancía ya recibida, el asiento releva Mercancía recibida no facturada (GRNI 2150) en vez de volver a reconocer el gasto.

Controles: una cuenta sin cuenta de gasto no se postea (el sistema no adivina); el documento original queda guardado y visible; el duplicado se detecta por parte + número o por monto + fecha + parte; el borrador no reconoce nada; en moneda distinta a la de libros se convierte con la tasa exacta de su fecha.

4.2 Orden de compra, recepción y cuadre a tres bandas

La orden registra lo pedido; la recepción registra lo recibido (y capitaliza inventario); la factura no puede exceder lo recibido — el cuadre a tres bandas bloquea, no solo avisa.

4.3 Pago al proveedor

Disparador: un humano registra el pago (con su método, cuenta, fecha y recibo) o lo dispara por PayPal Payouts.

CuentaImporte
DR2000 Cuentas por pagarbruto
CR2340 Retenciones por pagar (PR) · 2365/2367/2368 (Colombia)retención practicada
DRGasto de comisionescomisión del medio de pago
CR1000 Banconeto + comisión
DR/CRDiferencia en cambio (ganancia o pérdida)si la factura estaba en otra moneda

Controles: la retención se calcula sola (porcentaje del proveedor o montos digitados en el pago) y cada tipo va a su pasivo; en Colombia el porcentaje único del proveedor es retención en la fuente sobre la base (2365), nunca la retención de Puerto Rico; doble control: un pago por encima del umbral del espacio queda pendiente de aprobación antes de postear; el pago genera el comprobante de pago en PDF (con el recibo adjunto si llegó por paymentReceipt@) y el aviso al proveedor; se crea el movimiento de banco idempotente; el bruto salda la cuenta por pagar.

4.4 Reembolsos de gastos (T&E)

Flujo: borrador → enviado → aprobado → pagado. Las líneas solo se editan en borrador y para enviar el reporte todas deben estar clasificadas. Al aprobar, el reporte se convierte en una cuenta por pagar a nombre de la persona: así el reembolso sale por el mismo camino que cualquier pago (con su comprobante, su retención si aplica y su movimiento de banco) y no por una puerta lateral. El reembolso propiamente dicho es su asiento: DR el pasivo con la persona / CR banco.

Lo capitalizable pasa a activo en vez de gasto, con el umbral expresado en la moneda del espacio. Nadie aprueba su propio gasto: quien somete no aprueba, salvo que el dueño habilite explícitamente la auto-aprobación para principales; un empleado nunca puede. Reabrir un reporte ya aprobado anula su cuenta por pagar (o registra un asiento de reversa en los reportes anteriores al enlace con AP), y se rehúsa si ya está pagado.

4.5 Caja chica y tarjetas

La caja chica lleva su propio registro de control con apertura, reposiciones, gastos, ajustes y arqueos (saldo de libro contra lo contado); es un auxiliar de control y no postea al mayor por sí solo. Las tarjetas registran cargos, pagos y fecha de corte: el cargo entra como movimiento con origen «tarjeta» y acredita el pasivo de la tarjeta, y pagarla desde el banco es un traslado de pasivo, no un gasto (un error clásico que el sistema evita por diseño).

4.6 Correcciones y bajas

ProcesoAsiento
Recategorizar un movimiento ya posteadoel asiento anterior queda reversado (se conserva para auditoría) y se postea el nuevo
IncobrableDR gasto por deuda mala / CR cuentas por cobrar
Baja de activoDR banco (lo recibido) + DR depreciación acumulada / CR costo del activo, con la ganancia o pérdida de la venta
Causación de fin de períodoDR gasto de lo ordenado y recibido / CR pasivo acumulado, con su reversa automática al día siguiente
Causación de un tributo (Colombia)DR el gasto del tributo / CR su propio pasivo — solo para los que se causan a mano (ICA y timbre); IVA y retenciones nacen de las facturas y los pagos

5 · Horas → ingreso (servicios profesionales)

PasoQué hace
CargaEl lector multi-archivo entiende los timesheets reales y recuerda la asignación persona → consultor.
Guardia de doble conteoAntes de confirmar, detecta totales de período cargados como un día, re-subidas del mismo archivo y horas ya cargadas; la decisión es humana y queda registrada.
Una sola regla de tarifaLa tarifa de venta y el costo salen de una única jerarquía (hora → asignación → consultor → proyecto); solo las horas aprobadas se facturan.
DevengoAl aprobar: DR 1250 Trabajo en curso (WIP) / CR 4050 Ingresos por horas, con la porción de cada hora estampada en el asiento.
FacturaciónAl facturar esas horas se releva el devengo (DR 4050 / CR 1250) y la factura hace su propio asiento — el ingreso no se cuenta dos veces.
Costo del consultorLa cuenta de cobro del consultor entra como cuenta por pagar y liquida las horas cubiertas.
Reparto del margenLa compensación por proyecto reparte el margen (venta − costos) entre los participantes y se liquida como cuenta por pagar a cada uno.

6 · Nómina

El régimen sale de la jurisdicción del espacio, no de una casilla suelta.

Puerto Rico / Estados Unidos. FICA 7.65% exacto del lado del empleado (6.2% Seguro Social + 1.45% Medicare), retención federal y estatal como porcentaje revisable.

Cuenta
DRGasto de nómina (bruto)
CRRetenciones de nómina por pagar (federal, estatal, FICA)
CRNómina por pagar (neto)

Colombia (Ley 100 de 1993 y CST). Empleado: salud 4% + pensión 4% + retención en la fuente. Empleador: salud 8,5%, pensión 12%, ARL (Decreto 1607 de 2002) y parafiscales; prestaciones sociales: cesantías 8,33%, intereses ≈1%, prima 8,33% y vacaciones 4,17%. Auxilio de transporte cuando aplica.

Cuenta
DR5105 Gastos de personal
CR2370 Aportes a la seguridad social por pagar
CR2365 Retención en la fuente por pagar
CR2610 Prestaciones sociales por pagar
CR2505 Nómina por pagar (neto)

El pago del neto es su propio asiento (DR nómina por pagar / CR banco) y lo dispara un humano. El portal del empleado muestra su recibo con los conceptos de su país (federal/estatal/FICA y W-2 / 499R en PR; salud, pensión y retención con el certificado de ingresos y retenciones, formulario 220 de la DIAN, en Colombia).


7 · Inventario y operaciones

ProcesoAsiento
Recepción de mercancíaDR Inventario / CR 2150 GRNI (mercancía recibida no facturada)
Costo de ventasDR 5000 Costo de ventas / CR Inventario

Las existencias se derivan de los movimientos de inventario (no de un contador paralelo) y la valuación es promedio ponderado, mantenido por la propia base de datos en cada movimiento. La venta genera su movimiento de inventario desde la línea de la factura (idempotente por línea), y el módulo de operaciones añade multi-ubicación, demanda (velocidad, ABC, cobertura), reabastecimiento sugerido, órdenes de venta, lotes con vencimiento y traslados entre ubicaciones.


8 · Patrimonio: activos, propiedades, préstamos y arrendamientos

ProcesoAsiento / tratamiento
CapitalizaciónUn gasto por encima del umbral (expresado en la moneda del espacio) entra como activo, no como gasto.
DepreciaciónLínea recta con modelo de alcance: cada corrida postea exactamente lo que falta para que la depreciación acumulada sea la correcta a la fecha (DR gasto de depreciación / CR depreciación acumulada), idempotente por activo.
PropiedadesEl auxiliar de la propiedad (renta, gastos, hipoteca) se lleva al mayor, de modo que el patrimonio neto y el P&L cuadran con el libro.
PréstamosDesembolso: DR banco / CR préstamo por pagar. Pago: DR préstamo (capital) + DR gasto de interés + DR gastos / CR banco.
ArrendamientosReconocimiento del derecho de uso y su pasivo, y cada pago separado en capital e interés.
Capital de sociosAportes y distribuciones al mayor (DR banco / CR capital; DR distribuciones / CR banco), solo posteriores al asiento de apertura para no duplicar la historia.

9 · Banco, movimientos y conciliación

PasoQué hace
EntradaImportas el estado de cuenta (CSV o PDF, lo lee la IA) o conectas el banco por Plaid — MyFinAI nunca toca tus credenciales.
IdempotenciaCada movimiento trae una huella; reimportar el mismo estado no duplica nada.
EntendimientoUn lector determinista separa comercio, canal, lugar, titular y referencia del descriptor bancario, y lo liga a la contraparte registrada (proveedor, cliente, consultor, empleado, miembro del hogar) con su historial.
CategorizaciónRegla del espacio o propuesta de IA; el humano confirma.
AsientoDR/CR según la dirección del movimiento y su cuenta, con dimensiones (clase, ubicación, departamento) si están definidas.
TrasladosEntre cuentas propias se emparejan y postean como traslado, no como ingreso ni gasto.
Conciliación bancariaMarcas lo que aparece en el estado, registras el saldo y la fecha del estado y concilias; cada cuenta muestra «conciliado hasta» y lo pendiente desde entonces.
Conciliación de auxiliaresUn reporte compara cuentas por cobrar contra las facturas abiertas, cuentas por pagar contra las cuentas abiertas, el inventario contra su valuación y cada banco contra su saldo, y marca cualquier diferencia mayor a un centavo.

10 · Multimoneda

contado de su fecha — TRM oficial para el peso colombiano (Banco de la República / Superintendencia Financiera, serie pública) y tasas de referencia del BCE para las demás; entre dos monedas que no son el dólar, el cruce pasa por dólar. Nunca se aproxima: si falta la tasa, el documento queda marcado para revisión en vez de registrarse mal.

hasta siete días antes (si no, se busca la exacta — de lo contrario un recibo de julio tomaría la tasa de junio), y cada moneda tiene una banda de sensatez: una lectura fuera de banda se rechaza en vez de corromper los saldos.

la del día del pago va a ganancia o pérdida cambiaria (en un plan PUC, 421020 / 530525 — Decreto 2650 de 1993).

se propone en modo ensayo y se postea cuando el humano lo aprueba.

E.T. arts. 21-1 y 288 para el efecto fiscal; ASC 830-20-30-1 en Puerto Rico y Estados Unidos.


11 · Impuestos por jurisdicción

MyFinAI solo muestra —y solo permite— lo que aplica al espacio. La regla es única: Colombia es país CO o moneda COP; vacío se trata como Puerto Rico.

Puerto Rico. IVU por línea de factura al pasivo de impuesto sobre ventas; retención sobre servicios (Sec. 1062.03) al pagar → 2340; estimado de patente municipal y contribución sobre ingresos desde el mayor posteado; exportación 480.6 e IVU; borradores de 941, 499R-1B y W-2PR desde las corridas de nómina; póliza y declaración de nómina de la CFSE (Ley 45 de 1935) con su vencimiento del 15 de agosto.

Colombia. IVA (19%/5%/exento) con IVA descontable en compras; retención en la fuente, reteIVA y reteICA cada una a su cuenta; catálogo de 16 tributos con su código, base legal y cuenta del PUC; calendario e importación del reporte de documentos de la DIAN. La facturación electrónica con CUFE está modelada pero no transmite sin las credenciales y la resolución de numeración del cliente.

Remesa fiscal. Pagar el impuesto o la retención a la autoridad es su propio asiento (DR el pasivo fiscal / CR banco) y solo acepta un pasivo fiscal — no se puede «remesar» a un proveedor como si fuera impuesto. Cada tributo tiene su cuenta y su ley citada en el marco regulatorio que se mantiene junto al código (docs/regulatory-framework.md).


12 · Cierre

PasoQué hace
Estado del cierreLista de verificación antes de cerrar: movimientos, facturas y cuentas sin postear a la fecha de corte, la diferencia de la balanza, el resultado del período y si el período ya está cerrado.
CerrarPostea lo pendiente y bloquea el período. Rehúsa cerrar si la balanza no cuadra, y avisa —dejándote forzar con criterio— si más del 5% de los movimientos del período están sin conciliar. Un asiento con fecha en o antes del bloqueo se rechaza; reversar un asiento de un período cerrado también.
Bloqueo de períodosLa fecha de bloqueo vive en la configuración del espacio y debe ser pasada (una fecha futura congelaría la operación).
Cierre de añoTraslada el resultado del ejercicio a resultados acumulados (patrimonio), con modo ensayo antes de postear, y mueve el bloqueo al 31 de diciembre sin retrocederlo nunca.

13 · Controles y auditoría

restricción que se dispara al confirmar la transacción y rechaza cualquier asiento descuadrado, incluso si entrara por fuera del motor (una migración mala, una inserción directa, un error nuevo).

(hash = sha256(hash_anterior ‖ contenido)): alterar un registro rompe la cadena y se detecta. La verificación reporta por separado el encadenamiento (autoritativo) y la reproducción del contenido (indicativa, porque el formato JSON de la base no es reproducible byte a byte). La bitácora tiene revocado el permiso de actualizar y borrar a nivel de base de datos.

editan ni se borran: una corrección es un evento nuevo que apunta al anterior.

un segundo humano antes de postear, y quien lo retiene es la propia base de datos (un disparador marca el pago como pendiente al insertarlo), no solo la aplicación.

espacio activo; los agregadores de plataforma se sellan cuando el espacio activo es un demo.

lectura sobre datos reales: doble entrada por asiento y global, auxiliares contra el mayor, cada pago con su movimiento de banco y su retención, unicidad de identidad, horas con su llave al consultor, y moneda del documento con su tasa. Un fallo bloquea el despliegue; «0 casos» se reporta como vacío, nunca como aprobado.

invariantes (tenants ≥ 1, ΣDR − ΣCR = 0,00) antes de darlo por bueno.


14 · Estados, reportes y documentos

SalidaDónde
Mayor y detalle de cada asientoContabilidad → Mayor (clic en el asiento abre sus líneas)
Balanza de comprobación (plan completo, solo lo posteado, con las cuentas en cero)Contabilidad → Mayor (sello ✓ cuadrado)
Estado de resultados con período, comparable anterior, tendencia de 12 meses y márgenesEstados
Balance y flujo de caja, este último por método directo e indirecto (el indirecto parte del resultado, suma la depreciación y los cambios en cobrar / inventario / pagar)Estados
Estados en formato NIIF (Colombia): Estado de Situación Financiera (corriente / no corriente), Estado de Resultado Integral, Estado de Cambios en el Patrimonio y notasEstados (espacios de Colombia)
P&L por dimensión (clase, ubicación, departamento, proyecto, fondo) y por rango de fechasReportes
Consolidado de varias empresas del grupoConsolidación
Antigüedad de saldos: lo vencido por tramos y el siguiente paso de cobranzaCobranza y Pagar (AP)
Impuestos: planillas, pasivos fiscales por cuenta (con su detalle por sujeto de retención) y estimadosImpuestos
Conciliación de auxiliares contra el mayor y exposición cambiariaConciliaciones e Impuestos
Documentos: factura en PDF, comprobante de pago, comprobante de ingreso, certificación de horasEn cada módulo, con la razón social y el logo del espacio
Exportaciones: estados en PDF y Excel, 480.6 / IVU (PR), lote bancario para dispersión, catálogo de impuestos CO, CSV de cualquier tablaEstados, Impuestos y Pagar (AP)

Toda tabla de la aplicación trae buscador, filtros, orden y totales del conjunto filtrado; cada tarjeta e indicador es navegable hasta el dato que lo sustenta.


15 · Los doce agentes y su frontera

Cónclave (orquesta), Lente (lee documentos), Libro (contabilidad), Espejo (conciliación), Cobro (cobranza), Mecenas (pagos), Salario (nómina), Fisco (impuestos), Caudal (flujo de caja), Guardián (anomalías), Norte (plan) y Mayor (cierre y auditoría).

Lo que sí hacen: leer, extraer, clasificar, emparejar, calcular, avisar y preparar la acción. Lo que nunca hacen: mover dinero, aprobar su propia propuesta, radicar ante una autoridad o alterar un asiento cerrado. Cada intervención queda en el registro de acciones con su valor y el tiempo ahorrado.


16 · Límites declarados

Lo que MyFinAI no hace hoy, dicho sin adornos:

CFSE, calendario DIAN); la radicación la hace una persona en el portal de la autoridad.

transmisión requiere las credenciales y la resolución de numeración del cliente.

contador o CPA valida y firma.

confirmación es siempre de una persona en la aplicación.

parafiscales completos; la exoneración para trabajadores de menos de 10 salarios mínimos requiere declarar el tipo de contribuyente y el salario mínimo del año — está en la lista de pendientes.

período, conciliación de auxiliares) todavía usan códigos fijos del plan genérico en vez de resolver la cuenta por nombre; en un plan PUC hay que revisar la cuenta antes de confirmar. Está identificado y en cola de generalización.


17 · Dónde vive cada proceso

ProcesoMódulo del código
Motor de asientos, todos los post_*, revaluación, cierre de añoapp/posting.py
Depreciaciónapp/depreciation.py
Moneda de libros y tasasapp/fx.py
Jurisdicción, calendario y pasivos fiscalesapp/compliance.py
Catálogo de impuestos de Colombiaapp/co_taxes.py
Lectura de documentos (facturas, recibos, comprobantes, timesheets)app/felipe.py, app/ap_intake.py, app/expense_intake.py
Horas, tarifas y duplicadosapp/hours_rates.py, app/hours_dupes.py
Contraparte del movimiento bancarioapp/txn_parse.py, app/txn_enrich.py
Identidad única de personas y empresasapp/identity.py
Comprobantes y avisos en PDFapp/payments.py
Controles de aseguramientoinfra/assurance.py

Para el detalle de cada norma citada —artículo, vigencia y enlace oficial— ve al marco regulatorio del repositorio (docs/regulatory-framework.md). Para el paso a paso de tu rol, abre tu manual en el Centro de documentación.