El módulo Respaldo de Datos protege la información de GastosApp ante cualquier imprevisto: reinstalación del sistema operativo, cambio de equipo, actualización de la aplicación o simplemente como práctica periódica de seguridad. Dado que todos los datos viven enDocumentation 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.
localStorage del proceso Electron, exportar un backup es la única forma de mover o respaldar la información fuera del dispositivo actual. El archivo exportado incluye un campo schemaVersion que permite al sistema aplicar migraciones automáticas al importar backups de versiones anteriores, garantizando que ningún dato se pierda ante cambios en la estructura de la aplicación.
Exportar datos
Para generar un backup, ve a Administración → Respaldo y haz clic en Descargar Respaldo. El archivo se descarga automáticamente con el nombre:YYYY-MM-DD es la fecha actual en formato ISO. El archivo incluye los siguientes campos:
| Campo | Contenido |
|---|---|
schemaVersion | Versión del esquema de datos (actualmente 4). |
exportedAt | Marca de tiempo ISO de cuándo se generó el backup. |
appName | Siempre "GastosApp". Se usa para validar el archivo al importar. |
gastosCaja | Array con todos los gastos por caja registrados. |
facturas | Array con todas las facturas SII y notas de crédito. |
compromisos | Array con todos los compromisos recurrentes. |
categorias | Array de strings con las categorías del catálogo. |
proveedores | Array con todos los proveedores del directorio. |
papelera | Array con los elementos eliminados que aún no han sido purgados. |
El archivo se genera y descarga completamente en local. Ningún dato se envía a internet en ningún momento del proceso.
Importar datos
Seleccionar o arrastrar el archivo JSON
Arrastra el archivo
.json exportado por GastosApp a la zona de carga, o haz clic en ella para abrirlo con el explorador de archivos. Solo se aceptan archivos .json con el campo appName: "GastosApp".Revisar el preview con conteo de registros
Antes de confirmar, GastosApp muestra una vista previa con el conteo de registros por tipo que contiene el backup, así como la versión de esquema y la fecha de exportación. Esto permite verificar que el archivo es el correcto antes de reemplazar los datos actuales.
Versionado de esquema
Cada backup incluye el camposchemaVersion que identifica con qué versión de GastosApp fue generado. Al importar, la función migrateData() compara la versión del archivo con la versión actual de la aplicación y aplica secuencialmente todas las transformaciones necesarias.
El historial de migraciones es el siguiente:
| Migración | Cambio aplicado |
|---|---|
| v0 → v1 | Los proveedores que estaban guardados como strings simples se convierten a objetos con campos id, rut, razonSocial, nombreFantasia, contacto, categoria y observaciones. |
| v1 → v2 | Se agrega el campo facturaRefId: null a todas las facturas existentes, necesario para vincular notas de crédito a facturas. |
| v2 → v3 | Se inicializa el array papelera: [] si no existe en los datos. |
| v3 → v4 | Se agrega el campo plazoPago: null a todos los proveedores existentes para soportar la funcionalidad de plazo de pago. |
schemaVersion: 1 pasará por las migraciones v1→v2, v2→v3 y v3→v4 antes de ser cargado.
Los backups de versiones anteriores se migran automáticamente al importar. No se pierde ningún dato.
4. Este número se incrementa cada vez que se agregan o modifican campos en los modelos de datos de GastosApp.