Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Davidmallega/Gastos-App/llms.txt

Use this file to discover all available pages before exploring further.

GastosApp no elimina registros de forma inmediata. Cuando un usuario borra un gasto por caja, una factura SII o un compromiso recurrente desde cualquier módulo del sistema, el registro se mueve a la Papelera en lugar de desaparecer definitivamente. Esta filosofía de soft-delete funciona como red de seguridad frente a eliminaciones accidentales: el elemento deja de aparecer en su sección original pero permanece accesible y restaurable desde la Papelera durante 30 días. Transcurrido ese plazo, la auto-purga silenciosa lo descarta de forma permanente al siguiente inicio de la aplicación.

¿Qué va a la papelera?

Los siguientes tipos de registros van a la papelera al ser eliminados:

Gastos por Caja

Cualquier gasto eliminado desde el módulo Gastos por Caja, independientemente de si está pagado o pendiente.

Facturas SII

Facturas y notas de crédito eliminadas desde el módulo Facturas SII o desde Pagos Pendientes.

Compromisos Recurrentes

Compromisos eliminados desde el módulo Compromisos, en cualquier estado (activo, inactivo, vencido, etc.).
Cada elemento en la papelera conserva todos sus datos originales más dos campos adicionales que añade el sistema al eliminarlo:
CampoDescripción
deletedAtMarca de tiempo ISO del momento en que fue eliminado. Se usa para calcular el tiempo restante antes de la auto-purga.
deletedFromSección de origen: gastosCaja, facturas o compromisos. Se usa para devolver el elemento a su lugar al restaurar.
Los elementos en la papelera no aparecen en ninguna otra sección: no se contabilizan en los informes, no aparecen en pagos pendientes y no se incluyen en los totales del Dashboard.

Restaurar un elemento

1

Ir a la Papelera

Haz clic en Papelera en el menú lateral. El ícono del menú muestra un badge rojo con el conteo actual de elementos en la papelera.
2

Encontrar el elemento

La tabla muestra todos los elementos ordenados por fecha de eliminación (más recientes primero). Cada fila indica el tipo de documento (badge de color), número o nombre, proveedor, monto total, fecha del documento y fecha en que fue eliminado.
3

Hacer clic en Restaurar

Haz clic en el botón Restaurar de la fila correspondiente. No hay confirmación adicional: el elemento se mueve de inmediato.
4

El elemento vuelve a su sección original

El registro regresa a gastosCaja[], facturas[] o compromisos[] según su campo deletedFrom, con todos sus datos originales intactos (monto, fecha, categoría, estado de pago, etc.). Los campos deletedAt y deletedFrom se eliminan del objeto restaurado.

Eliminar definitivamente

Desde la vista de la Papelera, cada elemento tiene además un botón de eliminar (ícono de papelera rojo). Al hacer clic, aparece un diálogo de confirmación que muestra el nombre o número del elemento. Al confirmar, el registro se borra permanentemente del store y de localStorage sin posibilidad de recuperación. También existe el botón Vaciar papelera en la esquina superior derecha de la vista, que elimina todos los elementos de la papelera de una sola vez. Este botón también muestra un diálogo de confirmación con el conteo total de ítems que se borrarán.
Los elementos en la papelera se eliminan permanentemente y de forma automática después de 30 días. No hay forma de recuperarlos una vez purgados.

Auto-purga de 30 días

Cada vez que GastosApp se abre, el sistema ejecuta automáticamente la función purgePapelera() antes de cargar los datos en memoria. Esta función calcula una fecha de corte de 30 días hacia atrás desde el momento actual y filtra la papelera eliminando todos los elementos cuyo deletedAt sea anterior a esa fecha:
const PAPELERA_DAYS = 30

function purgePapelera(state) {
  if (!state.papelera?.length) return state
  const cutoff = new Date()
  cutoff.setDate(cutoff.getDate() - PAPELERA_DAYS)
  const filtered = state.papelera.filter(
    i => i.deletedAt && new Date(i.deletedAt) >= cutoff
  )
  return filtered.length === state.papelera.length
    ? state
    : { ...state, papelera: filtered }
}
La purga es silenciosa: no muestra notificación al usuario ni requiere confirmación. Los elementos simplemente desaparecen la primera vez que se abre la app después de cumplirse los 30 días.
Si necesitas conservar un elemento por más de 30 días sin restaurarlo, la única opción es exportar un backup antes de que se cumpla el plazo: los elementos de la papelera se incluyen en el archivo de backup con su deletedAt original.

Badge en el menú lateral

El módulo Papelera muestra un badge rojo junto a su nombre en el menú lateral con el conteo de elementos actualmente en la papelera. El badge desaparece cuando la papelera está vacía. Esto permite saber de un vistazo si hay elementos pendientes de revisar sin necesidad de abrir el módulo.

Build docs developers (and LLMs) love