| Fecha | Tienda | Nº | Cliente | Destino | Total | Estado | Líneas |
|---|
| Fecha | Tienda | Nº | Cliente | Destino | Total | Estado | Líneas |
|---|
Solo cambia en esta app (no en la tienda). Al guardar habrá que volver a verificar la dirección.
Cambia el transportista o los datos de la etiqueta para ESTE pedido. El cambio queda registrado con tu usuario y el motivo.
Escanea ahora el código de barras del producto físico:
¿Qué es esta caja?
¿Qué va en esta caja?
Escanea cada pieza con la pistola (o teclea el SKU y pulsa Intro). Repetir un código suma 1. Cuando esté todo, revisa la lista y pulsa Registrar: hasta entonces no se apunta nada.
Opción A — subir el archivo: elige el Excel (.xlsx) y se importan de golpe todas las hojas que tengan columna SKU (Ray-Ban Lenses, Ray-Ban Arms, Oakley Lenses, Oakley Arms…).
Opción B — pegar: abre una hoja del Excel, selecciónala entera (Ctrl+A), copia y pega aquí. Una hoja cada vez. En ambos casos se puede repetir más adelante: el stock se cuadra a la cifra nueva y la diferencia queda apuntada como movimiento. Los SKUs con errores de forma (espacios, "00" por "OO", duplicados) se corrigen solos y se listan.
| SKU | Nombre | Stock | Coste | PVP | Código de barras |
|---|
Las etiquetas DHL Global Mail creadas durante el día hay que cerrarlas en un AWB (manifiesto) antes de entregar los paquetes al repartidor: se hace UNA vez al día, al terminar. El PDF del AWB es el papel que acompaña a la saca.
Comprobando pendientes…
Cada pedido se compara con las reglas de arriba a abajo
(prioridad) y gana la primera que cumpla TODAS sus condiciones. Condiciones
vacías o con * = cualquiera. Países y tiendas admiten listas
(FR,DE,IT); "CP empieza" son prefijos de código postal
(35,38 = Canarias, 07 = Baleares); "Método contiene" admite
alternativas con | (dhl express|fedex). El total se compara
en euros (≈). "Valor declarado" es lo que se declara en la etiqueta ("PONER X €" del
PDF) y el "Aviso" se muestra al operario al preparar el envío.
Categoría: la regla solo entra si
TODO el pedido es de esas categorías. Una regla con
compatibles NO se aplica a un pedido que lleve también un cristal
original — ahí manda el trato de los originales. Si quieres permitir añadidos,
ponlos: compatibles, accesorios.
| Prior. | Activa | Tiendas | Países | CP empieza | Total € min | Total € max | Método contiene | Categoría | Uds min | Uds max | Transportista | Servicio | Valor declarado | Peso kg | Aviso al operario | Notas |
|---|
| Usuario | Pedidos completados | Líneas | Escaneos | Errores escaneo | Confirm. manual | Direcciones ✓ | Horas activas | Pedidos/hora | Facturación gestionada ≈€ |
|---|
Facturación = suma del total de los pedidos completados por el usuario, convertida a euros con tipos aproximados. La rentabilidad real por usuario (con costes) puede salir ya del inventario propio: cada original tiene su coste.
Hora del taller.
| Día | Pedidos completados | Líneas |
|---|
Categorías derivadas del SKU y el nombre del producto (lentes originales, compatibles, varillas, piezas, accesorios).
| Tienda | Reseñas | Aviso de envío | Remitente | Email del remitente | Logo (URL) | Color | Plantilla Trustpilot | Plantilla Google | Plantilla aviso de envío | URL Trustpilot | URL Google |
|---|
Si una web todavía no tiene Perfil de Empresa en Google, marca «aún sin ficha de Google»: solo pedirá Trustpilot y dejará de aparecer como si le faltara algo. El día que la tengas, quita la marca y pega el enlace: los segundos emails que se hubieran quedado sin enviar vuelven solos a la cola.
El logo es la dirección de la imagen en Medios de WordPress (clic derecho → copiar dirección). Si lo dejas vacío sale el nombre de la web. El color es para el botón, en formato #1a73e8. Con 👁 Ver email lo ves tal como le llegará al cliente, con su idioma. Las plantillas solo hacen falta si prefieres usar las tuyas de Brevo en vez del email de la app.
Lo mejor es traerlo de Brevo: ahí está quién recibió el email de verdad. El Excel de Make lista los pedidos que sus escenarios procesan, pero Make filtra después, así que pegarlo entero bloquearía también a clientes a los que nunca se escribió. Usa el Excel solo si Brevo no tiene el registro tan atrás.
Con el mismo texto pegado: el primer botón apunta a quién ya se le escribió (para no repetir) y el segundo se queda con los que Make tenía programados y aún no ha enviado, con sus mismas fechas, para que no se pierdan al apagarlo. Si a alguien ya le llegó el de Trustpilot, solo se le enviará el de Google.
| Pedido | Cliente | Transportista | Entrega | Email 1 (Trustpilot) | Email 2 (Google) | Estado |
|---|
Ningún email sale sin pasar por esta cola: todo lo programado se puede cancelar aquí antes de que se envíe.
Este enlace va en todos los emails de reseña, para todo el mundo (no se filtra por lo contento que esté el cliente: eso no se puede hacer). Si aquí hay algo sin leer, es un cliente esperando respuesta.
Opción A: pega el usuario y contraseña del portal y la app entra sola (y renueva la sesión cada 4 h). Opción B: pega la cookie copiada del navegador (vale el cURL entero de Chrome). Las claves se guardan y no se vuelven a mostrar.
Cada pedido con sus líneas. Semáforo por línea: ■ en almacén · ■ Luxottica lo tiene · ■ en FABRICACIÓN (sin stock: avisar al cliente del plazo) · ■ DESCATALOGADO (sin stock: no se puede pedir) · ■ sin datos (Luxottica no consultado o color sin casar).
Cargando…
Lo que ya está metido, con la referencia del cliente que verá Luxottica. El pedido se confirma siempre en el portal, nunca desde aquí. Cuando lo hayas confirmado allí, pulsa el botón de abajo: los pedidos de esos clientes pasan a «estamos preparando» en su tienda.
—
Referencias que se venden y cuyo stock libre (almacén − comprometido en pedidos abiertos) no cubre el plazo elegido. Cantidad sugerida = ritmo de ventas × días a cubrir − lo libre. Los descatalogados en Luxottica no se sugieren; los que están en fabricación se avisan.
Pulsa Calcular.
Es la IP desde la que pedimos los pedidos a las tiendas. Si una
web responde HTML en vez de JSON (202, 403…), su firewall o su anti-bots está
bloqueando ESTA IP: pásasela a la hosting para que la permita, o pídeles que excluyan
la ruta /wp-json/wc/ de la protección anti-bots.
Cada intento fallido de crear una etiqueta, con el motivo que devolvió la API y la respuesta cruda para diagnóstico.
Una dirección bloqueada NO recibe ningún email de la app (avisos de envío, reseñas, avisos de la óptica, promociones): todos los envíos pasan por el mismo sitio y se comprueba antes de mandar. Además se bloquea en Brevo. Debajo, con qué remitente escribe cada web.
Desactívala para el modo pruebas: los pedidos solo se actualizarán cuando pulses "Sincronizar" (global o por tienda).
Si una tienda devuelve un error de servidor (502, 503, timeout, "Just a moment" de Cloudflare…) se pone en pausa y no se le pide nada: insistir contra una web caída solo la hunde más. La pausa es progresiva según fallos seguidos: 5 → 10 → 20 min… hasta ese máximo, así un bache puntual casi no se nota. En cuanto sincroniza bien se reinicia. Las demás tiendas siguen con normalidad, y "⟳ Solo esta" levanta la pausa al instante.
Definen qué es cada cosa, para poder decir en las reglas de
envío que los compatibles viajan distinto que los originales. Una por
línea: nombre = patrón, patrón…. Un patrón acierta si el SKU
empieza por él o si aparece dentro del nombre del producto.
El orden manda: gana la primera que encaje, por eso "compatibles" va
antes que "originales" (el SKU COMLENSES… contiene a los dos).
Lo de bajo valor que el cliente añade al carrito (plaquetas, tornillos, terminales, destornilladores, fundas…) no debe cambiar cómo viaja el pedido: unas lentes compatibles con un destornillador siguen viajando como compatibles. Categorías separadas por comas. Si el pedido lleva SOLO esto, sí cuenta con su propia categoría.
Con clave configurada, la dirección se confirma automáticamente con Google al generar la etiqueta (y con el botón "Verificar con Google" en el pedido). Sin clave, se usa la verificación manual. La clave se crea en Google Cloud Console activando la API "Address Validation".
Al generar la etiqueta el pedido pasa a completed
(completado) en su tienda — configurable por tienda en "Claves y estado…" si algún caso
necesita otro estado. Desactivado por defecto mientras estemos en pruebas — al activarlo
escribirá en las tiendas REALES (y WooCommerce enviará al cliente el email de pedido
completado).
Es el enlace que recibe el cliente en la nota del pedido:
el portal de seguimiento de Spring. Usa {tracking} donde vaya el
número. No usamos la URL que devuelve la API de Spring porque es la
del transportista de última milla (a un envío a Suiza le mandaba service.post.ch) y
a veces viene vacía. Déjalo en blanco para usar el portal de Spring por defecto.
El código y la descripción se eligen SOLOS según lo que lleva el
pedido: partes de gafas (patillas, frontales, plaquetas, lentes) van con
9003900000, y los tornillos sueltos y kits con destornillador con
8205400000. Los dos campos de arriba (HS Code exportación y Descripción)
solo hacen falta si quieres FORZAR uno fijo para todo: si los dejas vacíos, manda esta
tabla.
Lista de países ISO-2 separados por comas que se envían DDP: los aranceles e impuestos de importación los paga OPTIMEGO, no el cliente al recibir. Aplica a FedEx y DHL Express. El resto de destinos van DAP (los paga el destinatario).
Son las de la credencial "Shipment Tracking - Unified" de developer.dhl.com, no las de crear etiquetas. Las usa el módulo de reseñas para saber si el paquete llegó (incluidos los UQ). El límite de peticiones se respeta a rajatabla para no quedarse sin cuota a media tarde.
Productos: Priority→GMP · Plus→GPP · Tracked→GPT (se mapean solos desde la regla). DHL Express es otra API — de momento se crea en su portal y se registra con cambio manual.
Independiente del entorno global. En Producción las etiquetas DHL Express son reales. El Sandbox solo sirve para validaciones con DHL (las etiquetas salen con la marca "SAMPLE ONLY").
La cuenta de exportación (la de arriba) se usa para todo lo que sale de España. La de importación solo para devoluciones, cuando el envío nace en casa del cliente.
Valor declarado: en la UE el valor real del pedido; fuera de la UE (EE.UU. incluido) 20 € fijos.
Claves del portal developer.dhl.com (producto "MyDHL API") o del comercial de DHL Express. Producto U (intra-UE) / P (mundo) automático.
Todos los envíos FedEx van asegurados, y el mismo importe se usa como valor y como seguro. Dentro de la UE: siempre este importe fijo (100 USD). Fuera de la UE: el valor real del envío pero con este TOPE como máximo (un pedido de 120 USD se declara y asegura por 100 USD).
Proyecto en developer.fedex.com con la "Ship API" autorizada en producción y vinculada a vuestra cuenta.
Credenciales OAuth2 de la API ATLAS SEUR (client id/secret +
usuario/contraseña que os da SEUR). El servicio/producto por defecto valen para el
estándar nacional; se pueden cambiar por pedido en "Modificar envío" con el formato
servicio-producto.
Etiquetas (labeling API — APIv2): con esto se crean las etiquetas. Mondial Relay las da en un bloque aparte de las de puntos de recogida.
Puntos de recogida / lockers (APIv1): credenciales DISTINTAS de las de arriba (bloque "PUDO/Locker y Tracking"). Se guardan para buscar el punto de recogida más cercano.
Para los emails de reseña y el aviso de envío con el seguimiento. Las plantillas y el remitente de cada tienda se eligen en ⭐ Reseñas → ⚙ Ajustes y plantillas.
Con credenciales configuradas, generan la etiqueta PDF real: MRW, InPost/Mondial Relay, Spring (también Mail Americas) y DHL Global Mail (Priority/Plus/Tracked). FedEx y DHL Express quedan pendientes (se registran sin PDF). En "Pruebas" se usan los entornos sandbox de cada API. El valor declarado de la etiqueta sale de la regla de envío ("PONER X €"). Aviso: la creación MRW nunca llegó a probarse con credenciales reales — probadla primero en entorno de pruebas.
"Activa" = entra en el sync automático y en el botón global de Sincronizar. Con "⟳ Solo esta" puedes sincronizar una tienda concreta aunque esté desactivada (necesita claves).
La copia incluye TODO: pedidos, claves de tiendas y transportistas, reglas de envío, usuarios e historial.
⬇ Descargar copia de seguridadPara volver a una copia, usa «Restaurar este día» en las copias diarias: repone las tres bases (pedidos, facturación y óptica) a la vez.
Cargando el puente de mando…
Pedidos que el escáner NO pudo facturar solo (descuadres, >3.000 € sin NIF, sin datos…). Arregla la causa y pulsa Reintentar, o descarta los que no deban facturarse.
Un logo por marca/dominio (no por idioma): la factura de cada pedido lleva el logo de la web que vendió. PNG o JPG, máx. 2 MB, fondo blanco o transparente, apaisado (se muestra a 170×36 px). Si una marca no tiene logo, la cabecera sale con el nombre en texto.
Cada negocio factura con su razón social, su NIF y su serie propia. Rellena los datos reales antes del paso a producción (en sandbox se permite emitir sin NIF con un marcador).
Cada mes, descarga de CaixaBankNow el PDF "Extracto tarjeta crédito" (el de Liquidación, con el detalle de operaciones; el de "Estadística" no sirve) y súbelo aquí. Las operaciones entran como gastos de la cuenta TARJETA ****3878, se categorizan solas por comercio (Banco → Reglas) y el cargo mensual que luego aparece en la cuenta se casa con este período para no contarlo dos veces. Se importa sin duplicar.
Sube el fichero .Q43 (Cuaderno 43) o el Excel de movimientos (.XLS/.XLSX) que descargas del banco — vale el de empresa y el sencillo de CaixaBank («Movimientos_cuenta_…xls») y el de BBVA (con el IBAN visible en el fichero). Se importa sin duplicar y se concilia solo: primero las reglas, luego el casado automático con facturas (importe ±tolerancia y ±7 días). Lo que no reconoce queda pendiente para ti, con la sugerencia del agente 💡.
La lista de arriba responde a «¿de quién es este cargo?». Esto responde a lo contrario: qué facturas no tienen su pago o su cobro localizado.
Los cobros reales de cada cuenta se casan cobro a cobro con los pedidos (referencia+importe, o puntuación por importe/email/pasarela/hora). PayPal y Stripe se sincronizan solos con sus claves puestas — Redsys también, por su web service oficial de consulta (FUC + terminal + clave SHA-256 en el ⚙); el import del export de Canales queda como vía alternativa.
Cobros − reembolsos de las pasarelas frente a lo facturado (las rectificativas ya restan). Un pedido con cambio de producto o reembolso parcial cuadra si tiene su rectificativa; si no, sale en rojo.
Sube las facturas recibidas (PDF/JPG/PNG, varias a la vez). Si la lectura por IA está activa, se rellenan solas: tú revisas y confirmas. La clave de Anthropic se pone en la pestaña Ajustes.
Sube el PDF que manda el gestor (todos los trabajadores seguidos). La IA lee cada página, reparte una por trabajador y prepara el envío — tú revisas y confirmas antes de que salga nada.
Se dan de alta solos al leer la primera nómina. Rellena el email para poder enviarles la suya.
El último día de cada mes se manda solo un resumen al gestor con lo registrado.
Partida doble desde tus propios datos: ventas, gastos y banco. Todo exportable para el gestor (Software del Sol).
Asientos APU (formato oficial de importación) y libro registro de facturas EXPEDIDAS (layout AEAT). Con el plan de cuentas real: nacional 43000001, internacional 43000005, caja 57000000, ventas 70000000 y OSS por país (430000xx / 477000xx).
Los Excel son el resumen; el ZIP lleva además el justificante de cada factura, que es lo que el gestor necesita para archivarlas. No incluye las marcadas «no computa».
Editable por si el gestor cambia alguna subcuenta (JSON, 8 dígitos).
Una serie con un hueco es lo primero que se ve en una inspección. Aquí también se descargan los registros de facturación con sus huellas, para poder verificarlos byte a byte.
Arranques y paradas, cambios de datos fiscales, exportaciones, anulaciones y el paso a producción. Es inmutable: no se puede editar ni borrar, tampoco desde aquí.
El programa no decide el IVA: lo hereda de cada web. Esto lee los tipos configurados en las 13 tiendas y los compara con los oficiales — así se detecta un cambio normativo el día que la web se queda desactualizada. Se revisa solo el día 1 de cada mes.
El interruptor legal: jubila el sandbox y estrena facturacion.db limpia con series reales desde la factura 1. Solo se activa con TODA la checklist en verde, y la auto-facturación arranca APAGADA para que verifiques la primera factura a mano.
Claves de Stripe y PayPal para crear enlaces de pago. Se guardan pero
nunca se vuelven a mostrar. Recuerda dar de alta los webhooks en cada pasarela:
/api/webhooks/stripe y /api/webhooks/paypal.
Clave de API de Anthropic para que las facturas de gasto se lean solas. La clave se guarda pero nunca se vuelve a mostrar.
Comprueba que ninguna factura se ha alterado desde su emisión (VeriFactu).
Citas del día; pulsa un hueco libre para reservar.
Encargos al laboratorio: graduación, lente, montura, señal y resto. Pulsa una fila para abrirla.
Flujo: pendiente → falta forma → enviado → en fabricación → en tránsito → recibido → listo → entregado (o anulado) · «Entregar» enlaza con el cobro del resto en el TPV · retrasado = entrega estimada superada sin haberse recibido.
Emails a los pacientes de Entregafas que han aceptado recibir promociones (consentimiento de la ficha). Cada envío queda registrado.
Los recordatorios automáticos (cita, encargo listo, revisión de graduación y reposición de lentillas) se configuran en Ajustes → Avisos automáticos.
Horario de la agenda, avisos automáticos y reserva online.
«Última cita» es la hora de la última cita que se puede dar (incluida), no la de cierre. Con 9:05–13:30 y citas de 30 min salen 9:05, 9:35 … 13:05 y 13:30.
La agenda y la reserva online cierran solas los festivos nacionales, de Andalucía y de Granada capital (Día de la Toma y Corpus), con el traslado al lunes cuando caen en domingo. El 24 y el 31 de diciembre no se dan citas online. Como el calendario oficial cambia algún año, aquí se corrige:
Diagnóstico de la ingesta: ver cuántos encargos web tienen graduación, por tienda ↗
Los encargos que llegan de cada web nacen con este laboratorio (la web no lo sabe). Los que ya estén abiertos sin laboratorio se rellenan solos en la siguiente pasada.
Recordatorio de cita el día antes, "tu encargo está listo", "toca revisar tu graduación" y "se te acaban las lentillas". Solo a pacientes con email y consentimiento de recordatorios (máx. 30 por pasada y tipo, cada 30 min). Usa el remitente de reseñas de Entregafas salvo que pongas otro aquí.
Página pública /reservar para que los pacientes cojan cita solos
(solo ven horas libres). Apagada hasta que la enciendas.
SMS + email por Brevo, solo a clientes de la óptica con los recordatorios aceptados. La revisión se avisa en el aniversario de la última (una semana antes y el mismo día; si cae en fin de semana o festivo, el laborable anterior), las lentillas cada 6 meses desde la última compra y el cumpleaños el mismo día con su vale. Todos los mensajes llevan enlace de baja.
Las exportaciones .xls del programa de la óptica, en este orden:
1 Clientes → 2 Clientes con revisiones → 3 Ventas → 4 Almacén.
«Simular» no toca nada y enseña qué haría; «Aplicar» escribe. Todo lo importado queda marcado y se puede deshacer.
Subir dos veces el mismo fichero no duplica nada.