Categorías
Las categorías (/categories) clasifican cuentas por pagar, cuentas por cobrar y transacciones. La estructura es jerárquica, de hasta tres niveles.

Campos
| Campo | Obligatorio | Descripción |
|---|---|---|
| Nombre | Sí | Nombre de la categoría |
| Tipo | Sí | Ingresos o Gasto |
| Empresa | Sí | La empresa dueña de la categoría |
| Categoría padre | No | Categoría superior en la jerarquía |
En una subcategoría, Tipo y Empresa no aparecen — se heredan del padre. Solo eliges los dos al crear una categoría raíz.
Tipo: ingreso o gasto
- Gasto — aparece en el selector de cuentas por pagar y de transacciones de salida.
- Ingresos — aparece en el selector de cuentas por cobrar y de transacciones de entrada.
Una subcategoría es siempre del mismo tipo que el padre. No hay forma de mezclar: el sistema rechaza el guardado con "Una subcategoría debe tener el mismo tipo que su categoría padre".
Cambiar el tipo de una categoría raíz está permitido, y el cambio baja a todo el subárbol — hijos y nietos acompañan.
Jerarquía
Gastos Operativos (Gasto)
├── Alquiler
├── Energía y Agua
│ ├── Energía Eléctrica
│ └── Agua y Alcantarillado
└── Nómina
├── Salarios
└── Cargas Sociales
Ingresos (Ingresos)
├── Cuotas Mensuales
└── Servicios
├── Consultoría
└── Soporte
El límite es de tres niveles. En el tercer nivel el botón Agregar subcategoría deja de aparecer, y un intento por otro camino se rechaza con "Se alcanzó el límite de 3 niveles de jerarquía."
La pantalla
Las categorías se muestran en tarjetas, no en tabla. Cada tarjeta es una categoría raíz, con sus subcategorías listadas dentro.
- Búsqueda por nombre. Un resultado en nivel 2 o 3 trae la tarjeta entera del ancestro a la pantalla, para que veas dónde está.
- Pestañas con contadores: Todas · Gastos · Ingresos. Los contadores cuentan solo categorías raíz — es el número de tarjetas.
- Doble clic en el nombre abre la edición ahí mismo, sin diálogo.
- Distintivos: Ingresos o Gasto en la tarjeta raíz, y Sin uso cuando ni la categoría ni ninguna subcategoría suya tienen vínculos.
- El conteo de transacciones de una tarjeta suma el subárbol — el número en el padre incluye lo que está en los hijos.
Con el selector de empresa en "Todas", las tarjetas se agrupan en secciones plegables por empresa. Al elegir una empresa específica, se vuelve una cuadrícula única.
Filtrar por categoría en otras pantallas
Al filtrar transacciones o cuentas por una categoría padre, las subcategorías no entran automáticamente. Dentro del filtro de Categoría existe la opción Incluir subcategorías — márcala para que el filtro alcance el subárbol entero.
La opción Sin categoría, en el mismo filtro, es mutuamente excluyente: marcarla deshabilita Incluir subcategorías.
Importación de CSV
La importación de CSV no crea categorías. Solo busca por el nombre: si existe, la vincula; si no existe, la transacción entra sin categoría — sin error y sin aviso.
Esto es distinto de Personas, que la importación crea cuando no encuentra. Si vas a importar un archivo, registra las categorías antes.
Crear categoría por el nombre funciona en los formularios y en la API.
Eliminar
La eliminación no está bloqueada por uso — y borra las subcategorías junto. Eliminar una categoría la quita a ella y a todo su subárbol. Las transacciones, cuentas por pagar y cuentas por cobrar vinculadas no se borran: quedan sin categoría.
El diálogo dice exactamente eso antes de que confirmes: "Esto eliminará esta categoría y todas sus subcategorías. Esta acción no se puede deshacer.", seguido de lo que encontró — "Esta categoría está vinculada a 12 transacciones, 3 cuentas por pagar (15 en total). Estas transacciones quedarán sin categoría tras la eliminación." Si no hay vínculo, también lo dice.
El aviso es informativo, no impide. Si quieres preservar la clasificación, reclasifica los registros antes: en las pantallas de Transacciones, Cuentas por Pagar y Cuentas por Cobrar, selecciona las filas y usa Clasificar seleccionados.