Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Carlos-Gnd/FERRED-Inventario-y-Ventas/llms.txt

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

Ferred es un sistema de punto de venta (POS) diseñado para ferreterías con múltiples sucursales. Antes de Ferred, cada sucursal controlaba su stock en hojas de cálculo independientes, sin visibilidad consolidada entre tiendas y sin forma de emitir facturas electrónicas conforme al Ministerio de Hacienda de El Salvador. Ferred resuelve estos tres problemas en una sola aplicación de escritorio: opera 100 % sin internet usando SQLite local por sucursal, sincroniza automáticamente con Supabase (PostgreSQL) cuando detecta conexión, y emite DTE directamente a la API del Ministerio de Hacienda.

Funcionalidades principales

POS sin internet

Registra ventas, consulta stock y genera tickets aunque no haya conexión. Todo queda en SQLite local y se sincroniza al reconectar.

Inventario multisucursal

Cada sucursal mantiene su propio stock. El administrador tiene vista consolidada y puede gestionar transferencias entre tiendas.

DTE Hacienda

Emite facturas electrónicas tipo 01 conformes al Ministerio de Hacienda de El Salvador, con soporte para modo sandbox y producción.

Sincronización offline

El SyncService corre cada 30 segundos. Cuando hay internet, sube los registros pendientes de sync_log a Supabase automáticamente.

Roles diferenciados

Tres roles con permisos distintos: Administrador, Cajero y Bodeguero. Cada usuario ve y opera únicamente las funciones que le corresponden.

Desktop con Electron

Empaquetado con ElectronJS v30. El servidor Express corre embebido en el proceso principal; no se necesita instalar nada más.

Stack tecnológico

CapaTecnologíaVersión
FrontendReact + Vite + Tailwind CSSv18 / v5 / v3
Estado globalZustandv4
DesktopElectronJSv30
BackendExpress.js (Arquitectura Hexagonal)v4
ORMPrisma ORMv5
Base de datos localSQLite (better-sqlite3)
Base de datos nubeSupabase / PostgreSQL 15hosted
AutenticaciónJWT + bcryptjsv9 / v3
Seguridad HTTPHelmet + express-rate-limitv7 / v7

Roles y permisos

AcciónAdminCajeroBodega
Gestionar usuarios
Configurar precios
Ver reportes consolidados
Registrar ventas
Gestionar inventario
Consultar stock
Recepción de proveedores

Credenciales de prueba

Las siguientes cuentas están disponibles en el entorno de producción en ferred.netlify.app.
Estas credenciales son para demostración. No almacenes datos de clientes reales con ellas. En producción, el Administrador debe crear usuarios propios y deshabilitar o cambiar las contraseñas de prueba.
RolCorreoContraseñaPermisos
Administradoradmin@ferred.comadmin123Acceso total al sistema
Cajerocajero@ferred.comcajero123Ventas y consulta de stock
Bodeguerobodega@ferred.combodega123Inventario y recepción

Build docs developers (and LLMs) love