1. Introducción y propósito

MADeCa emite y gestiona el DeCA, el documento de control que exige la Orden FOM/2861/2012 en cada envío de transporte público de mercancías por carretera, en el formato electrónico que fija la Resolución de 5 de junio de 2026 de la Dirección General de Transporte por Carretera y Ferrocarril (BOE-A-2026-12784): un PDF nativo digital con un código QR que el inspector escanea para descargarlo.

MADeCa Mini es la versión gratuita de MADeCa, obtenida de Masoft.es. Tiene todas las funciones de la aplicación con tres límites (una empresa, 30 DeCA al día y 3 vehículos) y se instala en un servidor propio con un único script.

Totalmente gratuita. Se entrega tal cual, sin soporte ni garantía. Prohibida su venta y su modificación. El paquete y esta guía son todo lo que incluye. La instalación, el servidor, las copias de seguridad y el mantenimiento corren a cargo de quien la instala. Soporte, instalación, servidor alojado o la versión completa: con un contrato aparte con Masoft.es.
Servidor Linux + dominio
sudo ./madeca.sh instalar
Entrar y cambiar la contraseña
Registrar vehículos
Emitir DeCA

2. Características principales

📄
DeCA nativo digitalMADeCa redacta el PDF con los datos del art. 6, o estampa el QR en el PDF que ya genera tu ERP.
🔗
QR con descarga directaURL única por DeCA, sin credenciales, que descarga el PDF (Apartado Tercero).
✏
Modificaciones durante el servicioCambios añadidos al mismo PDF con el motivo; la URL y el QR no cambian (Apartado Quinto).
🔍
Bandeja de revisión con OCRAlbaranes escaneados o fotografiados: lee los datos y una persona los confirma antes de emitir.
🔌
Integración con el ERPAPI REST con clave, carpeta compartida y conectores a nubes, SFTP y ERP.
🔑
Firma electrónicaFirma AdES con el certificado de la empresa para los DeCA con finalidad contractual (Apartado Cuarto).
📊
Historial y ExcelEstadísticas por periodo, actividad de cada expedición y exportación a Excel.
💾
Copias y actualizacionesCopia completa, restauración y actualización con una sola orden.

Límites de la versión Mini

LímiteValorQué pasa al llegar
Empresas1 por instalaciónNo se puede dar de alta otra.
DeCA emitidos30 al día (día natural en la zona horaria elegida al instalar)No se emite el n.º 31: lo pendiente sigue en la bandeja y se puede emitir al día siguiente. La API responde 429. Las modificaciones no cuentan como DeCA nuevos.
Vehículos3 vehículos motor (cabezas tractoras o camiones)Solo se emiten DeCA con vehículos registrados. Los remolques no cuentan ni se registran. Un vehículo dado de baja ocupa su hueco 30 días.

Los límites están dentro del programa y de la base de datos: no hay ninguna opción para cambiarlos. Toda la aplicación muestra que es la versión gratuita obtenida de Masoft.es.

Si la empresa necesita más de 30 DeCA en un día, el resto debe emitirse con otro medio válido: el DeCA tiene que existir antes de empezar el transporte (Resolución de 5/6/2026, Apartado Primero.2).

3. Requisitos del sistema

ElementoMínimoRecomendado / notas
Sistema operativoUbuntu 22.04 o 24.04 LTS, o Debian 12Servidor dedicado, máquina virtual o VPS. Sin escritorio.
Procesadorx86_64 (Intel/AMD), 2 núcleosEl paquete no funciona en ARM (Raspberry Pi, Ampere).
Memoria2 GB4 GB. Con menos de 4 GB y sin memoria de intercambio, el instalador crea 2 GB.
Disco10 GB libres20 GB o más: los DeCA se conservan al menos un año.
SoftwareNinguno previoEl instalador pone Docker y Docker Compose v2 (repositorio oficial de Docker) si no están.
AccesoUsuario con sudoPor consola o SSH.
InternetSalida a internet durante la instalaciónDescarga Docker, PostgreSQL, Redis y Caddy, y pide el certificado HTTPS.

Dominio, puertos y HTTPS

El QR del DeCA lo escanea un inspector con su móvil, en carretera. Por eso MADeCa Mini tiene que estar publicado en internet con HTTPS (Apartado Tercero.1: la URL empieza necesariamente por https://). Antes de instalar hace falta:

  1. Un dominio o subdominio propio, por ejemplo deca.miempresa.es, con un registro DNS A que apunte a la IP pública del servidor.
  2. Los puertos 80 y 443 (TCP) abiertos desde internet hasta el servidor. Si está detrás de un router, reenvíalos a la IP interna del servidor.
  3. Que nada más use los puertos 80 y 443 en ese servidor (Apache, nginx...).

El certificado HTTPS lo pide y lo renueva solo Caddy (Let's Encrypt). No hay que comprar nada ni copiar certificados. Basta con que el dominio apunte al servidor y el puerto 80 llegue desde internet.

El dominio puede ser cualquiera y no hay que comunicarlo a la Administración (Apartado Primero.3). Pero si el servidor se apaga o pierde la conexión, los inspectores no podrán descargar los DeCA: el servidor debe estar siempre disponible.

4. Instalación

Todo se hace con el script madeca.sh del paquete. Queda instalado en /opt/madeca-mini.

madeca-mini-0.5.0/ ├── madeca.sh instalación y mantenimiento ├── docker-compose.yml servicios (no hace falta tocarlo) ├── Caddyfile HTTPS con Let's Encrypt ├── Caddyfile.prueba solo para probar en una red local ├── LICENCIA.txt condiciones de uso ├── LEEME.txt ├── VERSION ├── SHA256SUMS comprobación de integridad ├── GUIA_INSTALACION_MADeCa_Mini.html esta guía ├── img_guia/ └── imagen/ └── madeca-mini-0.5.0.tar.gz la aplicación (imagen de Docker)

4.1 Copiar el paquete al servidor

Desde el equipo donde tengas el paquete (en Windows sirven scp de PowerShell o WinSCP):

scp madeca-mini-0.5.0.tar.gz usuario@IP-DEL-SERVIDOR:/tmp/

En el servidor, descomprímelo:

cd /tmp
tar xzf madeca-mini-0.5.0.tar.gz
cd madeca-mini-0.5.0

4.2 Ejecutar el instalador

sudo ./madeca.sh instalar

El instalador va paso a paso y se detiene con un mensaje claro si algo no cumple los requisitos:

  1. Condiciones de uso. Muestra LICENCIA.txt. Escribe ACEPTO para seguir.
  2. Comprobación del servidor: procesador x86_64, memoria, disco y que los puertos 80 y 443 estén libres.
  3. Docker: si no está, lo instala desde su repositorio oficial (download.docker.com), con Docker Compose v2.
  4. Datos de la instalación. Pregunta:
    • el dominio (deca.miempresa.es);
    • el correo técnico (Let's Encrypt avisa ahí si hay algún problema con el certificado);
    • la zona horaria: peninsula (también Baleares, Ceuta y Melilla) o canarias. De ella dependen la hora impresa en los DeCA y el «día» del límite diario.
  5. Comprobación del dominio: que apunta a la IP pública de este servidor. Si no, avisa y pregunta si continuar.
  6. Configuración: crea /opt/madeca-mini/.env con claves aleatorias propias de la instalación, y la memoria de intercambio si hace falta. Si el cortafuegos ufw está activo, abre los puertos 80 y 443; si no hay cortafuegos activo, no lo toca.
  7. Imagen y arranque: carga la aplicación, crea la base de datos y arranca los servicios.
  8. HTTPS: espera a que el certificado esté listo y comprueba que la aplicación responde.
  9. Empresa y administrador. Pregunta el nombre o razón social, el NIF/CIF y el correo del administrador, y muestra su contraseña inicial.

Así queda una instalación completa (salida real en un Ubuntu 24.04 recién instalado, sin Docker, con la empresa ficticia del ejemplo y en modo de prueba local; en una instalación real aparece además el paso 4/9 Comprobación del dominio y el certificado es el de Let's Encrypt). Las líneas debconf: ... son avisos normales de los sistemas mínimos, sin importancia:

$ sudo ./madeca.sh instalar # (respuestas: dominio, correo, zona, empresa, NIF y administrador)
MADeCa Mini 0.5.0 — versión totalmente gratuita obtenida de Masoft.es. Sin soporte ni garantía. Prohibida su venta y su modificación.

== Condiciones de uso
Aceptadas (--acepto-condiciones).

== 1/9 Comprobación del servidor
Sistema: Ubuntu 24.04.5 LTS
Memoria: 15937 MB
Disco libre: 944 GB

== 2/9 Docker
debconf: delaying package configuration, since apt-utils is not installed
Instalando Docker desde su repositorio oficial (download.docker.com)...
debconf: delaying package configuration, since apt-utils is not installed
Docker instalado: Docker version 29.9.1, build dfc520d

== 3/9 Datos de la instalación
[AVISO] MODO PRUEBA EN RED LOCAL: certificado interno, NO vale para DeCA reales (el móvil del inspector no lo aceptaría).

== 5/9 Ficheros en /opt/madeca-mini

== 6/9 Configuración, memoria y cortafuegos
.env creado con claves aleatorias.
No hay ufw activo en el servidor: no se toca. Comprueba tu cortafuegos o router (80 y 443 hacia este servidor).
Cargando la imagen (puede tardar unos minutos)...
Loaded image: madeca-mini:0.5.0

== 7/9 Base de datos y arranque
Base de datos preparada.
Servicios en marcha.

== 8/9 Comprobación HTTPS
MADeCa Mini responde en https://deca.transcanarias.test (certificado de prueba)

== 9/9 Empresa y administrador
Empresa:        TransCanarias Logística SL (B76419027)
Administrador:  admin@transcanarias.test
Contraseña:     •••••••••••••••• (aquí sale la contraseña)
Guárdala ahora: no se vuelve a mostrar. Al entrar, cámbiala en «Mi cuenta».
Si se pierde, se restablece con: sudo /opt/madeca-mini/madeca.sh clave admin@transcanarias.test
(Copia en /opt/madeca-mini/estado/ALTA.txt, solo para root: bórrala cuando la hayas guardado.)

Instalación terminada: https://deca.transcanarias.test
Siguientes pasos (ver la guía): entrar con el administrador, registrar los vehículos,
subir el certificado de firma si se usa y crear los usuarios.
Desde ahora usa: sudo /opt/madeca-mini/madeca.sh <orden>
Guarda la contraseña inicial en cuanto aparezca: no se vuelve a mostrar. Queda una copia en /opt/madeca-mini/estado/ALTA.txt, legible solo por root: bórrala cuando la tengas guardada. Si se pierde, se genera otra con sudo /opt/madeca-mini/madeca.sh clave CORREO.

4.3 Comprobar

sudo /opt/madeca-mini/madeca.sh estado

Los seis servicios deben estar running: app (la aplicación), caddy (HTTPS), db (PostgreSQL), redis, hotfolder-watcher (carpeta compartida) y conectores (fuentes de datos). Después abre https://TU-DOMINIO en el navegador: debe salir la pantalla de acceso con el candado del navegador correcto.

Comprueba también desde un móvil con datos (fuera de la red de la empresa) que la dirección abre: así la verá el inspector.

4.4 Instalación desatendida

Para instalar sin preguntas (por un script de administración o un sistema de despliegue), pasa todas las respuestas como opciones. Con --acepto-condiciones se aceptan las condiciones de LICENCIA.txt:

sudo ./madeca.sh instalar --acepto-condiciones \
     --dominio deca.miempresa.es --correo it@miempresa.es --zona peninsula \
     --empresa "Transportes Ejemplo SL" --nif B12345678 --admin admin@miempresa.es
Prueba en una red local: con --prueba-local se instala con un certificado interno, sin dominio público. Sirve para ver la aplicación antes de publicarla, no para emitir DeCA reales: el navegador avisa del certificado y el móvil de un inspector no lo aceptaría.

5. Configuración inicial

Las capturas de esta guía son de una instalación de prueba con TransCanarias Logística SL, una empresa ficticia: sus datos, NIF y matrículas (serie Z, aún no emitida) son inventados.

5.1 Primer acceso y cambio de contraseña

Abre https://TU-DOMINIO y entra con el correo del administrador y la contraseña inicial.

Pantalla de acceso de MADeCa Mini
Pantalla de acceso. La banda superior y el pie indican que es la versión gratuita obtenida de Masoft.es.

Lo primero: Mi cuenta → Cambiar la contraseña. La nueva debe tener al menos 12 caracteres; al cambiarla se cierran las demás sesiones abiertas de ese usuario.

Mi cuenta: cambio de contraseña
Mi cuenta: cada usuario cambia aquí su propia contraseña.

Después se ve el Inicio: lo pendiente de revisar, lo que está en tránsito y lo que necesita atención.

Inicio con los contadores de la versión Mini
Inicio. En la Mini, arriba están los contadores de DeCA emitidos hoy y de vehículos registrados (en rojo cuando se llega al límite).

5.2 Vehículos

En Vehículos se registran las cabezas tractoras y los camiones de la empresa: la «matrícula del vehículo» del DeCA (art. 6.g de la Orden FOM/2861/2012). Los remolques y semirremolques no se registran: su matrícula se escribe en cada DeCA, como siempre. Solo el administrador puede dar de alta y de baja.

En la Mini es obligatorio: solo se emiten DeCA con un vehículo registrado y activo, hasta 3. Registra tus vehículos antes de emitir el primer DeCA. Un vehículo dado de baja ocupa su hueco 30 días: sirve para sustituir un camión, no para ir cambiando de matrícula cada día.
Vehículos registrados
Vehículos registrados. Al rellenar un DeCA, la matrícula se elige de esta lista.
Aviso al intentar registrar un cuarto vehículo
Intento de registrar un cuarto vehículo en la Mini: se rechaza con el motivo.

5.3 Usuarios y roles

En Usuarios el administrador crea las cuentas del resto del personal. Cada persona debe tener la suya: la actividad de cada expedición registra quién hizo qué.

RolPuede
adminTodo: usuarios, vehículos, certificados, claves de API, fuentes de datos e historial.
operadorEmitir, modificar y dar por entregados DeCA, revisar la bandeja y exportar.
lecturaConsultar, sin cambiar nada.
Usuarios de la empresa
Usuarios: alta, rol, desactivación.

5.4 Certificado de firma (si se usa)

La firma electrónica avanzada solo es obligatoria en los DeCA con finalidad contractual (Apartado Cuarto). Sin certificado, el resto se emite igualmente, sin firmar. Si la empresa los necesita, sube en Certificados su certificado .p12/.pfx con su contraseña: se guarda cifrado y la aplicación avisa antes de que caduque.

Certificados de firma
Certificados de firma electrónica.

5.5 Conectar el ERP por API

Si el programa de gestión puede llamar a una API, crea en Integraciones ERP una clave para él. La clave completa se muestra una sola vez: cópiala en la configuración del ERP. Se envía en la cabecera X-API-Key.

Claves de API del ERP
Integraciones ERP: claves de API (solo se guarda su huella; se pueden revocar).
PeticiónPara qué
POST /api/v1/expediciones/datosEl ERP manda los datos (JSON) y MADeCa redacta el DeCA.
POST /api/v1/expedicionesEl ERP manda su propio PDF (albarán, carta de porte) y MADeCa le estampa el QR.
POST /api/v1/expediciones/{id}/modificacionesModificación durante el servicio (Apartado Quinto).
PATCH /api/v1/expediciones/{id}/finalizarServicio terminado (entregado o anulado).
GET /api/v1/expediciones/{id}/pdf y /qr.pngCopia para el conductor (PDF o solo el QR).
POST /api/v1/borradores/documentoUn documento escaneado o una foto a la bandeja de revisión.

La descripción completa de cada petición (especificación OpenAPI) está en https://TU-DOMINIO/openapi.json: se abre con cualquier herramienta compatible con OpenAPI, como Postman o Swagger Editor.

5.6 Carpeta compartida

Para un ERP que solo sabe dejar ficheros en una carpeta: lo que se copie en

/opt/madeca-mini/intercambio/hotfolder/incoming/ID-DE-LA-EMPRESA/generico/pdf/     # PDF + .json con los metadatos
/opt/madeca-mini/intercambio/hotfolder/incoming/ID-DE-LA-EMPRESA/generico/datos/   # .json o .csv con los datos

se emite solo. Lo procesado pasa a processed/ y lo que falla, a errores/ con un fichero que explica el motivo. El identificador de la empresa lo muestra sudo /opt/madeca-mini/madeca.sh estado. Los ficheros deben pertenecer al usuario 1000 (sudo chown -R 1000:1000 /opt/madeca-mini/intercambio) para que MADeCa pueda moverlos.

5.7 Fuentes de datos

En Fuentes de datos el administrador conecta carpetas en la nube (SharePoint/OneDrive, Google Drive, Dropbox), servidores SFTP, la carpeta /opt/madeca-mini/intercambio/nas/ID-DE-LA-EMPRESA del propio servidor, o un ERP (Business Central, Odoo; SAP Business One y Holded sin verificar todavía con instalaciones reales). Los documentos que lleguen se leen y quedan en la bandeja de revisión: nunca se emite nada sin que una persona lo confirme.

Fuentes de datos
Fuentes de datos automáticas.
Por seguridad, las fuentes no pueden apuntar a direcciones de la red interna (un NAS o un ERP en la oficina). Si lo necesitas, pon FUENTES_PERMITIR_RED_PRIVADA=true en /opt/madeca-mini/.env y reinicia (sudo /opt/madeca-mini/madeca.sh reiniciar).

5.8 Avisos por correo (opcional)

MADeCa puede mandar cada día a los administradores un resumen de lo que necesita atención (certificados por caducar, borradores atascados, fuentes con error). Para activarlo, quita el # de las líneas SMTP_* de /opt/madeca-mini/.env, rellénalas con los datos del servidor de correo de la empresa y reinicia.

6. La aplicación en el día a día

Expediciones
Todos los DeCA, con filtros por estado, fechas, matrícula y texto, paginación y exportación a Excel.
Nueva expedición
Formulario con los datos del art. 6 que avisa al escribir de lo que falta o no es válido; o un PDF propio al que se le estampa el QR.
Bandeja de revisión
Documentos escaneados, fotos y lo que llega de las fuentes: datos leídos junto al original, para confirmar y emitir.
Historial
Estadísticas por día, semana, mes, trimestre o año, con desgloses y Excel (solo administradores).
Listado de expediciones
Expediciones: listado con filtros.
Formulario de nueva expedición
Nueva expedición: los datos obligatorios del art. 6 están marcados; la matrícula se elige de los vehículos registrados.
Detalle de una expedición
Detalle de una expedición: URL pública del QR, copia para el conductor (PDF o QR), enlace para la otra parte (un año, Apartado Segundo.4), modificaciones y actividad. Aquí, un cambio de vehículo durante el servicio.
Bandeja de revisión
Bandeja de revisión: documentos pendientes y los datos que les faltan.
Revisión de un borrador
Revisión de un albarán escaneado: los datos que faltan se señalan en rojo y se puede ver de qué parte del documento se leyó cada dato.
Historial
Historial: estadísticas del periodo.
Acerca de
Acerca de: versión, límites y condiciones de uso de la versión gratuita.
Al conductor: antes de salir debe llevar el DeCA (PDF o solo el QR) en el móvil o en papel (Apartado Séptimo). Si se modifica durante el servicio, el PDF modificado también debe llegarle.

7. Mantenimiento

Copias de seguridad

sudo /opt/madeca-mini/madeca.sh copia

Crea en /opt/madeca-mini/copias/ un único fichero con la base de datos, los PDF, los certificados y las claves de la instalación. Llévalo fuera del servidor (otro equipo, NAS, nube) y guárdalo en lugar seguro: contiene las claves. Los DeCA deben conservarse al menos un año (Apartado Segundo.4). Para hacerla cada noche, por ejemplo a las 2:30, añade con sudo crontab -e:

30 2 * * * /opt/madeca-mini/madeca.sh copia >> /var/log/madeca-copia.log 2>&1

Las copias no se borran solas: revisa de vez en cuando el espacio de /opt/madeca-mini/copias/.

Restaurar

sudo /opt/madeca-mini/madeca.sh restaurar /opt/madeca-mini/copias/madeca-mini-20261014-200306.tar.gz

Sustituye todos los datos actuales por los de la copia (pide escribir RESTAURAR). Sirve también para pasar a otro servidor: instala allí el mismo paquete con el mismo dominio y restaura la copia.

Actualizar a una versión nueva

tar xzf madeca-mini-NUEVA.tar.gz && cd madeca-mini-NUEVA
sudo ./madeca.sh actualizar

Hace antes una copia de seguridad, carga la versión nueva, conserva claves y datos, y aplica los cambios de la base de datos.

Servidor

Mantén el sistema al día (sudo apt update && sudo apt upgrade). Los servicios arrancan solos al reiniciar el servidor.

8. Referencia: órdenes y configuración

Órdenes de madeca.sh

OrdenQué hace
instalarInstalación completa (desde la carpeta del paquete).
actualizarCopia de seguridad y actualización (desde la carpeta del paquete nuevo).
estadoServicios, versión, empresa, su identificador y uso del día.
altaAlta de la empresa y su administrador, si no se hizo al instalar.
clave CORREOContraseña nueva para ese usuario (se muestra una vez; cierra sus sesiones).
copiaCopia de seguridad completa en /opt/madeca-mini/copias.
restaurar FICHERORestaura una copia (sustituye los datos actuales).
parar · arrancar · reiniciarPara, arranca o reinicia los servicios.
registros [servicio]Últimas líneas de registro (app, caddy, db...).
desinstalarQuita los servicios; ofrece una copia antes y conserva los datos salvo que se escriba BORRAR DATOS.

Opciones de «instalar»

OpciónDescripción
--dominioobligatoriaDominio público de MADeCa Mini. Si falta, se pregunta.
--correoobligatoriaCorreo técnico para Let's Encrypt.
--zonapeninsulapeninsula o canarias.
--empresa, --nif, --adminobligatoriasRazón social, NIF/CIF y correo del administrador.
--acepto-condicionesopcionalAcepta LICENCIA.txt sin preguntar (instalación desatendida).
--siopcionalContinúa aunque el dominio aún no apunte al servidor.
--prueba-localopcionalCertificado interno, sin dominio público. Solo para probar, no para DeCA reales.

Ajustes de /opt/madeca-mini/.env

Lo crea el instalador. Tras cambiarlo: sudo /opt/madeca-mini/madeca.sh reiniciar. No cambies las claves (APP_SECRET_KEY, JWT_SECRET_KEY, POSTGRES_PASSWORD): los certificados guardados y la base de datos dependen de ellas.

AjusteValorDescripción
DOMINIO / APP_BASE_URLel dominioDirección pública. Va dentro de cada QR: no se cambia con DeCA vigentes.
ZONA_HORARIAEurope/Madrid o Atlantic/CanaryHora de los DeCA y día del límite diario.
RETENTION_DAYS365Días que se conservan los DeCA (mínimo legal: un año).
PUBLIC_URL_DEACTIVATION_DAYS7Días tras el fin del servicio en que la URL del QR deja de descargar (Apartado Tercero.5).
FUENTES_PERMITIR_RED_PRIVADAfalsePermite que las fuentes de datos apunten a la red interna.
OCR_SIMULTANEOS1Documentos que se leen a la vez. Súbelo solo con más núcleos.
SMTP_HOST, SMTP_PUERTO, SMTP_USUARIO, SMTP_CLAVE, SMTP_REMITENTEopcionalServidor de correo para los avisos diarios. SMTP_SEGURIDAD: starttls (por defecto), ssl o ninguna.

9. Ejemplos

Emitir un DeCA desde el ERP (MADeCa redacta el PDF)

curl -X POST https://deca.miempresa.es/api/v1/expediciones/datos \
  -H "X-API-Key: mad_live_..." -H "Content-Type: application/json" \
  -d '{
    "referencia_externa": "ALB-2026-001",
    "cargador": {"nombre_razon_social": "Cargador Ejemplo SL", "nif_cif": "B12345674",
                 "domicilio": "Calle Industria 14, 28001 Madrid"},
    "transportista": {"nombre_razon_social": "Transportes Ejemplo SL", "nif_cif": "B87654323"},
    "origen_direccion": "Calle Industria 14, 28001 Madrid",
    "destino_direccion": "Polígono Sur, parcela 4, 41001 Sevilla",
    "mercancia": {"naturaleza": "Palés de material eléctrico", "peso_kg": 850.5},
    "fecha_transporte": "2026-10-15T08:00:00+02:00",
    "matricula_vehiculo": "1234BBC"
  }'
# 201: devuelve el id y la url_publica del QR.
# 422: datos que faltan o no válidos (o, en la Mini, vehículo no registrado).
# 429: en la Mini, ya se han emitido hoy los 30 DeCA.

Estampar el QR en el PDF del ERP

curl -X POST https://deca.miempresa.es/api/v1/expediciones -H "X-API-Key: mad_live_..." \
  -F referencia_externa=ALB-2026-002 -F matricula_vehiculo=1234BBC \
  -F fecha_transporte=2026-10-15T08:00:00+02:00 -F archivo=@albaran.pdf

Ver el estado y el uso del día

sudo /opt/madeca-mini/madeca.sh estado
(antes, la tabla de servicios)
MADeCa Mini 0.5.0
Empresa: TransCanarias Logística SL (B76419027) · usuarios: 3 · DeCA emitidos: 16
Id de la empresa: 1189e380-6bee-471b-a711-0da0cc3783bf   # el de la carpeta compartida
Hoy: 16 de 30 DeCA · vehículos: 3 de 3
Dirección: https://deca.transcanarias.test

Un usuario ha olvidado su contraseña

sudo /opt/madeca-mini/madeca.sh clave trafico@miempresa.es

10. Resolución de problemas

ProblemaCausa probableSolución
El instalador dice que el servidor no es x86_64Servidor ARMUsa un servidor Intel/AMD: la imagen solo existe para x86_64.
«El puerto 80 ya lo usa otro programa»Apache, nginx u otro servicio web en el servidorUsa un servidor solo para MADeCa Mini o para ese servicio.
Instalado, pero la dirección no abre o el navegador avisa del certificadoEl dominio no apunta al servidor o el puerto 80/443 no llega desde internet; Let's Encrypt no pudo emitir el certificadoComprueba el registro A y el reenvío de puertos del router; mira madeca.sh registros caddy. Al corregirlo, Caddy lo reintenta solo.
Abre en la oficina pero no desde el móvil con datosSolo funciona en la red interna (DNS interno, sin reenvío de puertos)El inspector accede desde internet: publica el dominio y los puertos.
«No está entre los vehículos registrados»Mini: la matrícula del vehículo no está en «Vehículos»Regístrala (hasta 3) o revisa que esté bien escrita y con su país.
«Ya se han emitido hoy los 30 DeCA»Límite diario de la MiniLo pendiente sigue en la bandeja para mañana. Si hace falta más, versión completa.
La API responde 401Clave de API mal copiada o revocadaCrea otra en «Integraciones ERP» (solo se muestra una vez).
Un DeCA con finalidad contractual da errorNo hay certificado de firma activo y vigenteSube el certificado en «Certificados» (Apartado Cuarto).
Los ficheros de la carpeta compartida no se procesanRuta incorrecta o permisosRevisa la ruta con el identificador de estado y ejecuta chown -R 1000:1000 /opt/madeca-mini/intercambio. Mira errores/.
Un documento de la bandeja aparece sin datosEscaneo ilegible o fichero dañadoEl motivo está en el borrador: rellena los datos a mano o vuelve a escanearlo.
«Hubo MADeCa Mini X, más nueva que este paquete» o «no se puede volver atrás»Se intenta instalar o actualizar con un paquete más antiguo que el de los datos del servidorUsa el paquete de la versión instalada o una posterior: la base de datos de una versión nueva puede no valer con una anterior.
Se perdió la contraseña del administrador—sudo /opt/madeca-mini/madeca.sh clave CORREO.
La aplicación no arranca (app no está running)Base de datos aún arrancando, o disco llenomadeca.sh registros app; comprueba el espacio con df -h.