Guía completa
Instalación, uso diario, copias de seguridad y resolución de problemas — paso a paso, sin necesidad de saber de tecnología.
Lo que incluye la app (gratis, MIT)
Todo lo que un taller usa en el día a día, sin suscripción ni límites:
| Menú | Qué incluye |
|---|---|
| Panel | El día de un vistazo — reparaciones abiertas, prioridades y alertas (vista distinta para dueño, técnico y mostrador) |
| Reparaciones | Fichas con código único (REP-…), estados (recepción → listo → entregado), línea de tiempo, notas internas y al cliente, fotos y fecha prevista |
| Pedidos | Cola de entrada — pedidos y diagnósticos enviados por clientes, listos para convertir en reparación |
| Devoluciones | Gestión de devoluciones ligadas a ventas y reparaciones |
| Clientes | Fichas con historial de reparaciones, búsqueda por nombre/teléfono/IMEI, consentimientos |
| Inventario de piezas | Stock, alertas de mínimos, proveedores, piezas asociadas a reparaciones |
| TPV de mostrador | Venta de piezas y accesorios, sesiones de caja, tickets y registro de pagos |
| Servicios de reparación | Catálogo de reparaciones con precios — la «tarifa» de la tienda |
| Presupuestos | Versiones enviadas al cliente, respuesta aceptar/rechazar con registro fechado, historial completo |
| Notificaciones | Alertas en la app, plantillas de mensaje editables y cola de envío WhatsApp/SMS |
| Informes | Ventas, reparaciones y márgenes por periodo — con página de impresión A4 |
| Impresión | Recibos y etiquetas configurables — rollo 58/80 mm, A4, secciones opcionales e impresión directa en térmicas de red |
| Analista de IA | Preguntas sobre los datos de la tienda en lenguaje natural |
| Seguimiento del cliente | Página pública en la red de la tienda para seguir la reparación — gratis en LAN |
| Usuarios | Varios empleados con perfiles y permisos por función |
| Idiomas | Portugués, inglés, francés y español |
Tres formas de instalar
OficinaOS es siempre el mismo programa — la diferencia está en cómo se ejecuta en el PC de la tienda. Hay tres caminos:
OficinaOS-Setup.exe (recomendado) — un instalador Windows normal, sin Docker: corre como servicio, arranca con el PC, crea la regla de firewall, hace copias de seguridad diarias automáticas y deja un icono en la bandeja. El camino correcto para el PC de la tienda.
Modo portátil — un único paquete con todo incluido (la app, la base de datos PostgreSQL y el runtime), sin instalación y sin servicios de Windows. Existe para los casos en que el instalador no sirve: PCs donde no tienes la contraseña de administrador, quien prefiere no instalar nada en el sistema, y como plan B si el instalador falla en una máquina concreta (antivirus, políticas de empresa).
Docker — para un NAS, un servidor dedicado, Linux o macOS, o para quien ya usa Docker.
| Setup.exe (recomendado) | Portátil | Docker | |
|---|---|---|---|
| Cuándo usarlo | PC de la tienda — casi siempre | Sin admin, sin instalar nada, o el instalador falla | NAS, servidor, Linux/macOS |
| Requiere administrador | Sí, durante la instalación | No | Sí, al instalar Docker |
| Descarga | ~339 MB | ~540 MB | ~1 GB (Docker + app) |
| Arranque con el PC | Automático (servicio Windows) | Opcional — tarea programada, se pregunta la 1ª vez | Automático |
| Si la app falla | Se reinicia sola | Se reinicia sola (wrapper) | Se reinicia sola |
| Copias de seguridad | Diaria automática a las 03:30 | En cada arranque + BACKUP.bat | Diaria automática (cada 24h) |
| Copias fuera del PC | Copiar la carpeta de backups | Copiar la carpeta de backups | Soportado (rclone → S3/B2/GCS) |
| Actualizaciones | Botón «Actualizar» en la app (~100 MB) o Setup encima | Botón «Actualizar» en la app o ATUALIZAR.bat | ATUALIZAR.bat — solo descarga lo que cambió |
| Acceso remoto (HTTPS) | Cloudflare Tunnel instalado aparte | Cloudflare Tunnel instalado aparte | Cloudflare Tunnel incluido |
Instalación — OficinaOS-Setup.exe (una vez, ~10 minutos)
Descarga OficinaOS-Setup.exe en la página de releases y haz doble clic. Si Windows Defender SmartScreen avisa: «Más información» → «Ejecutar de todas formas».
Pide administrador una sola vez (servicios, firewall y la tarea de copias) y lo hace todo solo. Al final el navegador se abre en http://localhost:4000. Primer acceso: usuario admin, contraseña braindead — la app obliga a cambiar ambos.
Queda un icono en la bandeja junto al reloj: abrir la app, ver el estado, parar/arrancar, hacer una copia. En otros aparatos de la tienda: http://oficinaos.local:4000 — o el código QR en la página Ayuda.
En Linux o macOS no hay instalador — se usa Docker directamente:
git clone https://github.com/braindeadpt/OficinaOS.git
cd OficinaOS && cp .env.example .env
docker compose up -d
docker compose exec app bun run db:seed
Modo portátil — sin admin, sin instalar nada
Para cuando el instalador no es opción: no tienes la contraseña de administrador del PC, no quieres que nada quede instalado en el sistema, o el instalador/servicios fueron bloqueados en esa máquina (antivirus, políticas de empresa).
Descarga oficinaos-portable.zip, extráelo en una carpeta y ejecuta INICIAR.bat. La app es exactamente la misma — mismo código, misma base de datos PostgreSQL, mismas funciones — y también tiene el botón «Actualizar» dentro de la app.
Dos diferencias prácticas frente a Setup.exe: el arranque automático es una tarea programada opcional (INICIAR.bat pregunta la 1ª vez) en vez de un servicio; y como nadie abre el firewall por ti, Windows pregunta una vez si permite la conexión — elige «Permitir» para que los tablets de la tienda conecten.
Si llegaste aquí por el error «virtualization support not detected» del camino Docker, el portátil lo resuelve — pero en ese caso el Setup.exe es aún más simple, porque tampoco necesita Docker.
Día a día — encender, apagar, archivos
Una vez instalado, el día a día es doble clic en un archivo. Los nombres son iguales en los dos modos — solo cambia la carpeta donde están:
- Instalación por Setup.exe: el servicio corre solo — parar/arrancar y copia manual desde el icono de la bandeja.
- Modo Docker: en la carpeta donde extrajiste el instalador.
- Modo portátil: dentro de la carpeta oficinaos-portable — los datos viven en data\, las copias en app\uploads\backups.
- Otros dispositivos de la tienda (tablet, móvil, otro PC) no instalan nada — abren http://<IP-del-PC>:4000 en el navegador.
| Archivo | Para qué |
|---|---|
| INICIAR.bat | Encender OficinaOS — abre el navegador al final |
| PARAR.bat | Apagar — los datos quedan guardados |
| ATUALIZAR.bat | Actualizar a la versión más reciente |
| BACKUP.bat | (solo portátil) Copia de seguridad manual |
| RESTAURAR.bat | (solo portátil) Restaurar la base de datos desde una copia |
Copias de seguridad y restauración
Las copias son archivos comprimidos (.sql.gz) con toda la base de datos. La app muestra el estado de la última copia en Ajustes → Tienda → Copias de seguridad — funciona igual en todos los modos.
Con la instalación por Setup.exe una tarea programada hace copia diaria a las 03:30 en C:\ProgramData\OficinaOS\backups. En modo Docker un servicio dedicado hace una copia cada 24 horas, guarda 14 días, y opcionalmente copia a almacenamiento externo (S3, Backblaze, etc.) y prueba la restauración automáticamente.
En modo portátil la copia se hace en cada arranque y con BACKUP.bat. Restaurar se hace con RESTAURAR.bat (elige un archivo de backups). Como no hay copia fuera del PC automática, copia la carpeta app\uploads\backups a un disco externo o USB — las copias en el mismo disco no protegen contra avería, robo o ransomware.
Actualizaciones
La app avisa arriba cuando hay una versión nueva. En las instalaciones por Setup.exe y en modo portátil, el dueño de la tienda tiene un botón «Actualizar» en el aviso — descarga solo la parte de la app (~100 MB) con verificación SHA-256, hace copia de la base de datos antes y repone la versión anterior solo si la nueva no arranca. La app queda offline ~1-2 minutos durante el cambio.
A mano también funciona: el Setup.exe de la versión nueva encima, o ATUALIZAR.bat en portátil y en Docker. En Docker puedes activar actualizaciones 100% automáticas (Watchtower) — las migraciones de la base de datos corren siempre solas.
En la tienda — móviles, tablets y PCs
Cualquier aparato conectado al Wi-Fi de la tienda abre la app en el navegador — sin instalar nada. Solo hay que escribir la dirección que da la instalación e iniciar sesión:
Funciona sin internet para el uso diario. Guarda la dirección en favoritos — siempre es la misma.
http://192.168.1.33:4000 # la dirección del PC servidor
Icono en la pantalla del móvil
Para abrir con un toque, como una app normal — tarda 10 segundos:
- iPhone/iPad: Safari → botón Compartir → «Añadir a pantalla de inicio»
- Android: Chrome → menú ⋮ → «Añadir a pantalla de inicio»
- Con acceso remoto activo, Android puede llegar a ofrecer «Instalar aplicación» — instalación real
Fuera de la tienda — acceso remoto
Con el PC de la tienda encendido, un Cloudflare Tunnel gratuito da a la tienda una dirección https:// propia — sin tocar el router, funciona con cualquier operadora, incluso las que bloquean puertos (CGNAT).
Sirve para que el equipo consulte la app fuera de la tienda y para que los enlaces de los clientes — seguimiento, presupuestos, QR de garantía — abran en cualquier parte.
- Crear cuenta gratis en Cloudflare + un dominio (~10 €/año)
- En el panel Zero Trust: crear el túnel y copiar el token
- Dos líneas en el archivo .env y reiniciar la app
- En la app: Ajustes → Tienda → URL base de seguimiento → la dirección pública
Privado por defecto
El túnel es opcional: la app funciona al 100% en la red local incluso sin internet. Los datos de los clientes se quedan en la tienda — Cloudflare solo transporta el tráfico cifrado mientras el túnel está activo.
Quien quiera una barrera extra puede activar Cloudflare Access (gratis): email + código antes del login, manteniendo abiertas las páginas públicas de los clientes.
Impresión — recibos y etiquetas
OficinaOS imprime los tres documentos del día a día directamente desde la ficha o la pantalla de venta: el recibo de reparación para el cliente, el ticket de venta del TPV y la etiqueta que se pega en el equipo.
Todo se configura en Ajustes → Tienda → Impresión — las opciones se aplican a todos los documentos a partir de ese momento:
| Opción | Opciones |
|---|---|
| Papel del recibo | Rollo térmico 58 mm · Rollo térmico 80 mm · Hoja A4 (documento completo, tipo factura) |
| Secciones del recibo | Activar/desactivar cada bloque: IMEI, problema reportado, firma del cliente, QR de seguimiento, garantía |
| Etiqueta del equipo | 40×20 mm · 57×32 mm · 62×29 mm |
| Método de impresión | Cuadro de diálogo Imprimir — cualquier impresora instalada — o térmica de red ESC/POS — directo, sin diálogo |
Dos formas de imprimir
Cuadro de diálogo Imprimir (predeterminado): el documento se abre en una pestaña nueva y usa el diálogo de impresión del sistema. Funciona con cualquier impresora instalada — USB, red, Bluetooth — e incluso con «Guardar como PDF». Las etiquetas usan siempre esta vía: las etiqueteras hablan otros lenguajes (ZPL/TSPL) y el navegador se ocupa del driver.
Impresora térmica de red (ESC/POS): la app envía el recibo directamente a la impresora por la red de la tienda — un clic y sale el ticket, sin diálogo. Para térmicas conectadas por cable o Wi-Fi (Epson TM, Star, Xprinter y compatibles ESC/POS). El texto usa la página de códigos CP850 — tildes correctas — y el QR de seguimiento se imprime con comandos nativos de la impresora, sin drivers.
- Activar (una vez): Ajustes → Tienda → Impresión → Método «Impresora térmica de red» → indicar IP y puerto (casi siempre 9100) → «Enviar ticket de prueba»
- Encontrar la IP: en la mayoría de las térmicas, encender con el botón FEED pulsado imprime un autotest con la IP; también aparece en la lista de dispositivos del router
- Fijar la IP en el router (reserva DHCP) — si no, la impresora puede cambiar de dirección y dejar de imprimir
- Con el papel A4 configurado o una impresora solo USB, el camino es el cuadro de diálogo — ESC/POS es solo para rollos térmicos en red
Impresión — problemas comunes
Las situaciones más frecuentes:
| Síntoma | Qué hacer |
|---|---|
| «No se pudo conectar con la impresora» | Comprobar que está encendida y en la misma red de la tienda; revisar IP y puerto; repetir el «ticket de prueba» |
| «No hay ninguna impresora de red configurada» | Indicar IP + puerto en Ajustes → Tienda → Impresión — o cambiar el método a «Cuadro de diálogo Imprimir» |
| La impresora cambió de IP | Crear una reserva DHCP en el router y actualizar la IP en los ajustes |
| Recibo cortado o márgenes incorrectos | En el cuadro de diálogo: elegir el papel correcto (58 mm, 80 mm o A4), márgenes «Ninguno» y escala 100% |
| La pestaña del recibo no se abre | Permitir ventanas emergentes para la dirección de la app e imprimir de nuevo |
| Impresora solo USB | Usar el método «Cuadro de diálogo Imprimir» — ESC/POS necesita una impresora en la red |
Módulos Pro — cómo funcionan
Los módulos Pro son funciones que necesitan «llegar a internet». La app sigue siendo 100% local y gratuita; cuando la tienda quiere alcance remoto, empareja la app con OficinaOS Cloud — nuestro servicio que hace de puente entre la app de la tienda y el exterior, sin exponer el PC de la tienda.
La tienda crea una cuenta en Cloud y empareja la app con un código (una vez). Cada módulo se activa del lado del servidor — sin archivos de licencia. La app se sincroniza con Cloud cada ~2 minutos para enviar y recibir.
Sin emparejamiento, todo sigue funcionando en la red local — los módulos Pro simplemente no aparecen.
| Módulo | Lo que gana el cliente de la tienda |
|---|---|
| Portal del cliente | Enlace público con el estado de la reparación y botones para aceptar/rechazar el presupuesto — sin llamar a la tienda |
| Bot de WhatsApp | Escribe al WhatsApp de la tienda y recibe el estado de la reparación automáticamente; aprueba presupuestos con SÍ/NO |
| Diagnóstico a distancia | Hace el diagnóstico del móvil en casa (oficinaos-diag, gratis) y lo envía a la tienda con un código |
| Informes IA | Informe del diagnóstico escrito en lenguaje sencillo, listo para entregar |
| Facturación certificada | Factura o factura-recibo legal emitida directamente desde la reparación o la venta — vía InvoiceXpress, con la cuenta de la propia tienda — solo Portugal |
| Escaparate online | Página pública con artículos del catálogo de la tienda; el cliente reserva y la reserva entra en la cola de Pedidos |
| Busco pieza | Tablón entre tiendas OficinaOS para pedir piezas y responder «la tengo» — el trato se cierra entre tiendas |
| Precios de mercado | La mediana anónima de los precios de reparaciones y piezas de otras tiendas, para compararla con los tuyos |
| Multitienda | Ingresos y reparaciones de todas las tiendas del mismo dueño en un solo panel de OficinaOS Cloud |
| Remarketing por WhatsApp | Mensaje automático a clientes con consentimiento cuya última reparación fue hace tiempo |
Precios
La app completa es gratuita y open source (MIT) — sin límites, sin cuentas, sin periodo de prueba. Para siempre.
Los módulos Pro están en beta: durante este periodo, las tiendas piloto los usan gratis mientras medimos el valor real que aportan al mostrador. Cuando se anuncien los precios serán suscripciones mensuales sencillas — sin permanencia ni costes ocultos.
* Nota WhatsApp: responder a clientes dentro de la ventana de 24h es gratis. Para notificaciones proactivas («está lista») fuera de esa ventana, Meta cobra pequeños importes por mensaje plantilla — coste de Meta, no nuestro.
| Qué | Estado | Precio |
|---|---|---|
| App completa (core) | Gratis para siempre | 0 € |
| OficinaOS Diag (herramienta) | Gratis para siempre | 0 € |
| Portal del cliente | Disponible (beta) | Por anunciar — gratis en beta |
| Bot de WhatsApp | Disponible (beta) | Por anunciar — gratis en beta* |
| Canal SMS (pasarela Android) | Incluido en el core | 0 € — gratis |
| Recepción de diagnósticos | Disponible (beta) | Por anunciar — gratis en beta |
| Informes IA | Disponible (beta) | Por anunciar — por informe |
| Facturación (InvoiceXpress) | Disponible (beta) | Por anunciar — gratis en beta. La cuenta de InvoiceXpress es de la tienda y tiene el coste propio del servicio |
| Escaparate online (+ personalización) | Disponible (beta) | Por anunciar — gratis en beta |
| Busco pieza | Disponible (beta) | Por anunciar — gratis en beta |
| Precios de mercado | Disponible (beta) | Por anunciar — gratis en beta |
| Multitienda | Disponible (beta) | Por anunciar — gratis en beta |
| Remarketing por WhatsApp | Disponible (beta) | Por anunciar — gratis en beta. Los mensajes plantilla tienen el coste de Meta* |
Portal del cliente (Pro)
Con el módulo activo, cada reparación gana un botón «Public link» en su página de detalle. Al pulsarlo, la app publica en Cloud una copia redactada del trabajo — estado, dispositivo, presupuesto, fecha prevista y línea de tiempo — y copia el enlace.
El enlace es un secreto por trabajo (un código aleatorio de 16 caracteres): quien lo tiene ve la página. Se envía al cliente por SMS, WhatsApp o impreso en el registro. La página se actualiza sola cuando cambia el estado en la app.
Si hay un presupuesto pendiente, el cliente lo acepta o rechaza directamente en la página — la respuesta entra en la app por el flujo normal de presupuestos, con notificación al personal.
Bot de WhatsApp (Pro)
El cliente escribe al número de WhatsApp de la tienda y el bot responde con datos reales de la ficha — sin que nadie coja el teléfono. Funciona con el propio número de la tienda (el WhatsApp Business del móvil sigue funcionando en paralelo).
Notas honestas: la respuesta puede tardar hasta ~2 minutos (ciclo de sincronización); el alta usa la WhatsApp Business Platform oficial de Meta y la primera tienda la acompañamos nosotros.
| El cliente escribe | El bot responde |
|---|---|
| «¿está listo?» o cualquier texto | Estado de la reparación + fecha prevista |
| «presupuesto» / «precio» | Importe del presupuesto + cómo responder |
| SÍ / acepto | Aprueba el presupuesto pendiente (mismo flujo del mostrador) |
| NO / rechazo | Rechaza el presupuesto |
| Código de la reparación (REP-…) | Estado de ese trabajo |
| «ayuda», audio o imagen | Deriva al personal con aviso en la app |
Canal SMS (gratis en el core)
El mismo asistente automático, pero por SMS — para tiendas que no quieren (o aún no tienen) la cuenta empresarial de Meta. Un móvil Android con SIM se queda en la tienda haciendo de puente: la app envía y recibe SMS a través de él, por la red móvil normal. Es gratuito y no necesita Cloud — todo ocurre en la red de la tienda.
Sin cuentas Meta, sin aprobaciones de plantillas y sin coste por mensaje — solo la tarifa del SIM de la tienda (las tarifas con SMS incluidos hacen el coste marginal cero). La configuración tarda ~5 minutos y la guía la explica paso a paso.
Diagnósticos remitidos por los clientes (Pro)
La herramienta oficinaos-diag es gratuita para cualquiera: el cliente la descarga, conecta el móvil al PC por cable y el programa lee batería, pantalla, sensores y almacenamiento.
Con el módulo activo, la tienda recibe esos diagnósticos directamente en la app (cola de pedidos), listos para convertir en reparación — el cliente solo necesita el código de la tienda. El módulo de informes IA convierte los datos técnicos en un texto sencillo para entregar al cliente.
Facturación certificada (Pro)
La app emite documentos fiscales legales directamente desde la venta o la reparación — factura-recibo cuando el cliente tiene NIF, factura simplificada cuando no lo tiene. La emisión se hace vía InvoiceXpress con la cuenta de la propia tienda: la clave API queda guardada cifrada en el PC de la tienda y la app habla directamente con InvoiceXpress — la OficinaOS Cloud solo controla el acceso al módulo, nunca ve los documentos. Solo para tiendas en Portugal.
Escaparate, busco pieza, precios, multitienda y remarketing (Pro)
Cinco módulos Pro más, todos en beta y activados en la cuenta de OficinaOS Cloud. Cada uno tiene una guía breve:
| Módulo | Para qué |
|---|---|
| Escaparate online | Página pública con los artículos del catálogo que elijas — el cliente reserva y el pedido aparece en Pedidos |
| Busco pieza | Pedir una pieza a otras tiendas OficinaOS o responder a sus pedidos |
| Precios de mercado | Ver la mediana anónima de los precios de otras tiendas junto a los tuyos |
| Multitienda | Panel con los ingresos y las reparaciones de todas tus tiendas |
| Remarketing por WhatsApp | Mensaje automático a clientes que llevan tiempo sin volver |
Problemas comunes
Las situaciones más frecuentes y cómo resolver cada una:
| Síntoma | Qué hacer |
|---|---|
| SmartScreen avisa al instalar | «Más información» → «Ejecutar de todas formas» — es un archivo nuevo sin reputación, no un virus |
| «Virtualization support not detected» | El instalador ofrece las dos opciones: activar en BIOS o usar el modo portátil |
| Windows pide reiniciar durante la instalación | Reiniciar y ejecutar INSTALAR.bat otra vez — es normal al instalar Docker |
| El firewall de Windows pregunta | Elegir «Permitir» en red privada |
| Página en blanco / no abre | Ctrl+F5; comprobar que la dirección es http:// (no https://) |
| «Invalid username or password» | El acceso es por usuario (admin), no por email |
| El PC cambió de IP y los demás dispositivos no conectan | Actualizar APP_URL en .env (Docker) o borrar .env y ejecutar INSTALAR.bat de nuevo |
| Puerto 4000 ocupado (portátil) | Cambiar PORT en app\.env |
| Postgres no arranca (portátil) | Ver data\postgres.log; puerto 5433 ocupado → cambiarlo en data\postgresql.conf y en .env |
| Desinstalar todo | PARAR.bat + borrar la carpeta (portátil); docker compose down -v + borrar la carpeta (Docker). Ojo: borra la base de datos — hacer copia antes |
Preguntas frecuentes
Las dudas que más escuchamos:
| Pregunta | Respuesta |
|---|---|
| ¿Necesito internet? | No para el uso diario — la app corre toda en la red de la tienda. Solo para actualizaciones y módulos Pro. |
| ¿Los datos de los clientes van a algún servidor? | No por defecto — la app no tiene telemetría. Con módulos Pro, OficinaOS Cloud recibe solo los datos que necesita cada módulo (por ejemplo, páginas del portal, mensajes, reservas y diagnósticos enviados), nunca costes internos ni notas internas. El detalle está en la política de privacidad de la Cloud (cloud.oficinaos.app/privacy). |
| ¿Funciona en el móvil? | Sí — en el Wi-Fi de la tienda cualquier aparato lo abre en el navegador; fuera de la tienda con el acceso remoto (Cloudflare Tunnel). |
| ¿El cliente tiene que instalar algo? | No — el portal abre como un enlace en su navegador; el bot responde en su WhatsApp normal. |
| ¿Cuánto cuesta? | La app completa es gratuita (licencia MIT). Los módulos Pro son suscripciones opcionales, en beta. |
| ¿Varias tiendas / sucursales? | Cada tienda tiene su propia instalación. Con el módulo Pro Multitienda, el dueño ve los ingresos y las reparaciones de todas las tiendas en un solo panel de OficinaOS Cloud. |
| ¿Y si el PC se estropea? | Copias de seguridad diarias automáticas; restaurar en otro PC es copiar la copia y volver a ejecutar el instalador. |
| ¿Mac o Linux? | Sí, con Docker manual — el instalador automático es solo Windows. |
| ¿Puedo importar datos de otro sistema? | Clientes y catálogo por CSV; contáctanos para migraciones asistidas. |
Documentación completa
Esta guía cubre lo esencial. El repositorio en GitHub tiene la documentación técnica completa — instalación detallada, acceso remoto, móviles, copias con réplica externa y el funcionamiento interno del paquete portátil: