OdinPro ERP
Documentación Oficial Interna

Manual del Portal Administrativo

Guía operativa integral para miodinpro.com/admin

Ir al Portal Admin →

01. Arquitectura y Acceso al Portal

El Portal Administrativo de OdinPro ERP (https://miodinpro.com/admin.html) es una consola privada serverless diseñada para el control comercial, financiero y de distribución de software. Opera directamente sobre la infraestructura de Cloudflare Pages Functions, la base de datos relacional serverless Cloudflare D1 (odinpro-db) y el almacenamiento de objetos Cloudflare R2 (releases.miodinpro.com).

🔒 Mecanismo de Seguridad y Autenticación:

El acceso está protegido por la variable de entorno maestra ADMIN_KEY configurada en Cloudflare Pages. Por defecto, la clave es odinpro2026. Al iniciar sesión, la clave se guarda exclusivamente en la sesión temporal de su navegador (sessionStorage) y se destruye al cerrar la pestaña o pulsar Salir.

02. Módulo: Clientes y Pólizas de Soporte

Control de empresas, suscripciones anuales y derecho a actualizaciones

Pestaña Principal

Tarjetas de Métricas (Semáforo en Tiempo Real)

TOTAL CLIENTES

Conteo total de empresas registradas en Cloudflare D1.

🟢 PÓLIZAS AL DÍA

Pólizas con más de 30 días de vigencia. Reciben todas las versiones nuevas sin restricciones.

🟡 POR VENCER (≤ 30d)

Alertas preventivas. Clientes a los que se debe contactar para coordinar la cobranza de la anualidad.

🔴 PÓLIZAS VENCIDAS

Fecha de soporte caducada. Su ERP sigue funcionando pero no se les entregan nuevas versiones.

¿Cómo registrar un Nuevo Cliente? (Botón "+ Nuevo Cliente")

Al hacer clic en el botón naranja + Nuevo Cliente, se despliega un formulario con los siguientes campos:

Campo Formato / Ejemplo Impacto en el ERP
RIF Fiscal J-12345678-9 Identificador unívoco obligatorio. Coincide exactamente con el RIF configurado en la base de datos PostgreSQL del cliente.
Razón Social Distribuidora Los Andes C.A. Nombre legal y comercial de la empresa.
Tipo de Licencia PERPETUA o ANUAL PERPETUA: Derecho de uso vitalicio (nunca expira el ERP).
ANUAL: Derecho de uso condicionado a la suscripción activa.
Teléfono / WhatsApp 584141234567 Habilita el botón directo de WhatsApp en la tabla con mensaje preformateado.
Fecha Emisión YYYY-MM-DD Fecha de compra o entrega original del sistema.
Soporte/Updates Hasta YYYY-MM-DD Fecha de corte de actualizaciones. Por defecto, el sistema asigna 1 año exacto desde la emisión.

¿Cómo registrar un Pago y Extender la Póliza? (Botón "💳 Extender (+1 Año)")

Cuando un cliente cancela su anualidad (vía transferencia, Zelle, divisas o pago móvil), ubique al cliente en la tabla y haga clic en 💳 Extender (+1 Año):

  1. Período a Extender: Seleccione +1 Año (12 Meses), +6 Meses o +2 Años.
  2. Fecha del Pago: Registre la fecha real en que el cliente realizó el abono bancario.
  3. Monto Cancelado ($) y Moneda: Monto neto percibido (ejemplo: $150.00).
  4. Nº Referencia / Comprobante: Código de transacción bancaria o número de confirmación Zelle.
  5. Notas u Observaciones: Notas internas (ej: "Pago transferido a cuenta Banesco, factura fiscal nº 0451").
  6. Haga clic en Confirmar y Guardar en D1.

⭐ Algoritmo de Extensión Justa para el Cliente:

• Si el cliente paga antes de que su póliza venza: El sistema suma los 12 meses a su fecha actual de vencimiento (el cliente no pierde ni un solo día ya pagado).
• Si el cliente paga después de haber vencido: El sistema suma los 12 meses a partir de la fecha del pago.

Telemetría Automática del ERP

La columna Versión en Uso se actualiza automáticamente sin que el administrador tenga que escribir nada. Cada vez que una terminal de OdinPro en la empresa del cliente arranca, envía su versión actual a la API. Si un cliente está rezagado en la versión 2.3.0 mientras la oficial es 2.5.0, el administrador lo detecta de un solo vistazo.

03. Módulo: Versiones y Releases (Cloudflare R2)

Publicación y distribución segura de paquetes ZIP desde releases.miodinpro.com

Pestaña Releases

Procedimiento Estándar para Lanzar una Actualización:

Paso 1: Compilar

Compilar odinpro.exe en Lazarus en modo Release (con opción -Xs para eliminar símbolos de depuración y dejarlo en ~25 MB).

Paso 2: Comprimir

Empaquetar en un ZIP llamado por ejemplo odinpro_update_2.5.0.zip con el ejecutable, reportes nuevos y scripts SQL.

Paso 3: Subir a R2

En el panel de Cloudflare, entrar a R2 > odinpro-releases y arrastrar el archivo ZIP.

Paso 4: Publicar

En el portal web, hacer clic en + Publicar Nueva Versión para darla de alta en D1.

Tipos de Versión: ¿Cuándo usar FEATURE y cuándo HOTFIX?

⭐ FEATURE Versión Comercial / Nuevas Funciones

Se utiliza cuando la actualización incluye nuevos módulos, nuevos reportes, rediseños visuales o mejoras operativas.

Política de Entrega: Solo se descarga e instala en empresas cuya fecha de soporte sea igual o posterior a la fecha del release. Los clientes vencidos reciben un mensaje invitando a renovar.
🔥 HOTFIX Parche Correctivo de Emergencia

Se utiliza exclusivamente para corregir un fallo crítico del sistema, un cálculo tributario o un problema de estabilidad.

Política de Entrega: Se distribuye a ABSOLUTAMENTE TODOS los clientes sin mirar si están al día o morosos, garantizando la reputación y estabilidad de OdinPro.

📦 Estructura del Enlace de Descarga:

https://releases.miodinpro.com/odinpro_update_<VERSION>.zip

Al escribir el número de versión en el modal, el portal autocompleta la URL directa hacia tu subdominio R2 automáticamente.

04. Módulo: Prospectos Web (CRM)

Recepción y gestión de solicitudes comerciales captadas desde miodinpro.com

Pestaña CRM

Cada vez que un empresario o contador completa el formulario de solicitud en la página principal (https://miodinpro.com/#contacto), el registro entra de forma instantánea a la base de datos D1 a través del endpoint /api/leads.

Filtro Anti-Spam / Bots

Posee un campo invisible (*Honeypot*) que neutraliza y descarta envíos automatizados sin molestar al usuario con captchas.

Botón Directo WhatsApp

Un clic abre un chat directo con el número del prospecto y un mensaje formal de bienvenida citando su nombre y empresa.

Exportación a Excel / CSV

Descarga en un clic un archivo .csv compatible con Excel con todos los contactos históricos para respaldo.

05. Preguntas Frecuentes y Buenas Prácticas

¿Qué ocurre si un cliente con licencia PERPETUA no paga la anualidad?

Su sistema NUNCA se bloquea. Puede seguir facturando, cobrando e ingresando datos toda la vida en la versión que ya tiene. Lo único que pierde es el acceso a descargar e instalar versiones lanzadas posteriormente a su vencimiento de póliza.

¿Qué pasa si un cliente con licencia ANUAL no paga la anualidad?

Al ser suscripción temporal, al cumplirse la fecha de vencimiento el ERP de escritorio bloquea el acceso en la pantalla de inicio y solicita la nueva clave de activación extendida emitida desde el portal.

¿Cómo cambio la contraseña de acceso al portal admin?

En Cloudflare Pages, entra a miodinpro > Settings > Variables and secrets y edita la variable ADMIN_KEY con tipo Secret.