Tus datos en la plataforma de pagos
Para los negocios que usan la plataforma de pagos con móvil para lavanderías de Golmajo. Explica cómo cambiar de proveedor, qué datos te llevas y dónde están. Lo exige el Reglamento (UE) 2023/2854 (Reglamento de Datos), artículos 26, 28, 29 y 30, y lo prometen las cláusulas 17.5 bis y 22.3 del contrato. Actualizada el 28 de octubre de 2026.
Cómo cambiar de proveedor
- Avísanos por escrito a info@golmajo.es con 30 días de antelación. Dinos si pasas a otro proveedor (con sus datos de contacto), a tus propios sistemas o si solo quieres que borremos tus datos.
- Transición. Si la pides, al acabar el preaviso tienes hasta 30 días naturales más con todo funcionando, y puedes prorrogarla una vez. Te ayudamos a ti y a quien autorices a hacer el cambio, y todo lo que se transfiere va cifrado. Si por motivos técnicos no se puede en 30 días, te lo decimos por escrito en 14 días hábiles y te proponemos otro plazo de 7 meses como máximo.
- Fin del contrato. Termina cuando nos confirmes que el cambio ha acabado o, como tarde, al acabar la transición. Te lo confirmamos por escrito.
- Tus clientes pueden seguir gastando su saldo durante 90 días, sin coste para ti (puedes renunciar). Desde ese día ya no se admiten recargas nuevas.
- Tus datos siguen a tu alcance. Puedes entrar al Panel, en solo lectura, para consultarlos y descargarlos durante al menos 30 días o, si es más largo, durante esos 90 días. Además, en los 10 días siguientes a la terminación te mandamos la exportación completa.
- Borrado. Al acabar ese plazo borramos tus datos de nuestros sistemas y de los de nuestros proveedores en 30 días, y te lo certificamos por escrito si lo pides. Si nos avisas de que el cambio no ha terminado bien, no borramos hasta que termine. Si nos pides por escrito que borremos antes, lo hacemos.
Cambiar no cuesta nada. El aviso, la transición, la exportación, la entrega al nuevo proveedor, nuestra ayuda y el borrado son gratis. Si te das de baja dentro de los 12 meses de permanencia, pagas el 50 % de las cuotas que falten (cláusula 14.3). Solo cobramos, con presupuesto previo que aceptes, trabajos que vayan más allá: adaptar los datos al formato de otro proveedor, cargarlos en su sistema o desconectar las cajas en tu local.
Limitaciones que conocemos
- Las cajas que van conectadas a tus máquinas funcionan solo con la plataforma de Golmajo: su programa es nuestro y no se exporta.
- Los códigos QR de tus máquinas llevan a la dirección de tu Página de pago. Si está en tu propio dominio, puedes redirigirla al nuevo proveedor. Si está en una dirección de Golmajo, mientras tengas acceso al Panel podemos mostrar un aviso con el enlace que nos digas.
- Los pagos con tarjeta y sus datos están en tu propia cuenta de Stripe, no en la plataforma: allí siguen.
Dónde está la infraestructura
| Qué | Quién | Dónde |
|---|---|---|
| Base de datos, accesos, funciones del servidor y copias de seguridad | Supabase Pte. Ltd. (Singapur), con soporte de Supabase, Inc. (EE. UU.) | Irlanda (UE). El soporte puede entrar desde Singapur o EE. UU. cuando se lo pedimos. |
| Página de pago | Fly.io, Inc. (EE. UU.) | Servidores en París (UE). |
| Correos (códigos de acceso, avisos) | Plus Five Five, Inc., «Resend» (EE. UU.) | Se envían desde Irlanda (UE); los registros de los envíos se guardan en EE. UU. |
| Correo de soporte (info@golmajo.es) | Cloudflare, Inc. (EE. UU.), que lo reenvía, y Google Cloud EMEA Limited (Irlanda), donde lo recibimos | Red mundial de Cloudflare; centros de datos de Google en la UE y fuera de ella. |
| Cobros con tarjeta | Stripe, en tu propia cuenta (no es proveedor nuestro) | Según tu contrato con Stripe. |
| Cajas | En tu local | España. |
La infraestructura que está en la Unión Europea se rige por el Derecho europeo, pero las empresas que la prestan también están sujetas a la ley de su país. Por ejemplo, las de Estados Unidos pueden recibir peticiones de sus autoridades con leyes como la CLOUD Act.
Cómo lo protegemos frente a autoridades de fuera de la UE
- Tus datos se guardan en la Unión Europea, cifrados en las conexiones y en los discos (AES-256).
- Solo entra quien lo necesita para mantener el servicio. Al soporte de nuestros proveedores no le damos acceso salvo que haga falta para resolver una incidencia.
- Con cada proveedor tenemos su contrato de encargo con las cláusulas contractuales tipo de la Comisión Europea. Las revisamos cada seis meses, y hemos evaluado por escrito la transferencia a Supabase (te la enseñamos si nos la pides).
- Si nos llega una petición de una autoridad de fuera de la UE, comprobamos que cumple el artículo 32 del Reglamento de Datos, entregamos lo mínimo y te avisamos antes, salvo que avisarte comprometa una investigación y solo mientras dure esa necesidad.
Qué te llevas y en qué formato
Lo que sigue es la descripción completa de la exportación: cada fichero, su estructura y su formato.
Qué es y quién la descarga
Todo lo exportable de un negocio que usa la Plataforma de Golmajo (pago con el móvil en lavanderías): sus Clientes finales y su personal, el saldo, los movimientos, las recargas, el uso de las máquinas, las facturas y sus registros, la configuración y sus textos y logo.
- El dueño, desde el Panel → Exportar → «Todos tus datos». Durante todo el contrato y también cuando el negocio se ha dado de baja (el Panel queda en solo lectura hasta el borrado). Descarga un ZIP.
- El nuevo proveedor, con el enlace que el dueño crea en el Panel → Exportar → «Enlace para otro proveedor» (artículo 30.2 del Reglamento (UE) 2023/2854). Sin cuenta. Descarga el JSON.
- Gratis en los dos casos.
Lo que NO se exporta (cláusula 17.5 bis.e)
- Las claves de las Cajas (de la de cada caja la Plataforma solo guarda un resumen), las claves de firma de las órdenes y del firmware.
- La conexión con Stripe: el identificador de la cuenta y sus claves. Los pagos y los datos de tarjeta están en la cuenta de Stripe del negocio (sí sale la referencia de cada pago y la huella antifraude de la tarjeta, que no es el número).
- Los registros técnicos internos de acceso, funcionamiento y seguridad: colas y envíos de avisos y correos, reconciliación de pagos, eventos de Stripe, intentos e incidencias de cupones, red, firmware y estado técnico de las cajas, registros de acceso (IP, navegador). Si el negocio necesita los accesos de un Cliente final concreto para atender sus derechos, los pide a Golmajo (Anexo IV, punto 8).
El ZIP del Panel
golmajo-exportacion-<slug>-<AAAA-MM-DD>.zip
├── golmajo-exportacion-<slug>-<AAAA-MM-DD>.json el paquete entero (abajo)
├── csv/<bloque>.csv un CSV por bloque: las mismas filas y columnas
├── facturas/<código>.pdf cada factura simplificada en PDF
├── logo.png | logo.jpg | logo.webp el logo del negocio, si lo había
└── LEEME.txt
La fecha del nombre es la de España del momento de la exportación.
El JSON (golmajo-exportacion, versión 1)
UTF-8, un solo objeto, con las claves en este orden:
| Clave | Tipo | Qué es |
|---|---|---|
formato | texto | Siempre "golmajo-exportacion". |
version | entero | 1. |
generado_en | fecha y hora | Cuándo se empezó a generar. |
negocio | objeto | Datos del negocio (abajo). |
baja | objeto o null | Si el negocio se da o se ha dado de baja (abajo). |
tema | objeto | Textos y aspecto de la Página de pago, y el logo (abajo). |
excluido | lista de textos | Lo que no se exporta, en castellano. |
enlace | objeto | Solo en la descarga con el enlace: id, destinatario, caduca_en, descarga (número de esta descarga) y max_descargas. |
bloques | objeto | Un array de filas por bloque, en el orden de la tabla de bloques. |
recuento | objeto | Filas de cada bloque que van en el fichero. |
completo | true | Va al final. Si falta, la descarga se cortó: el fichero no vale. |
Convenciones:
- Importes en céntimos de euro, enteros (
2000= 20,00 €). Los campos acaban en_cent. - Fechas y horas en ISO 8601 con desfase (
2026-10-28T09:30:00.123456+00:00, en UTC). Las fechas sin hora (AAAA-MM-DD) son días de España. - Los identificadores son UUID (texto) o enteros, como estén en la Plataforma; sirven para cruzar
bloques (p. ej.
movimientos.cliente_id→clientes.id). - Un campo sin valor va como
null. Cada fila trae todas las columnas de su bloque, en orden.
negocio
id, slug (el de la dirección de la Página de pago), razon_social, nif, direccion_fiscal,
email_contacto, registro_mercantil, territorio (comun, alava, bizkaia, gipuzkoa,
navarra, canarias, ceuta, melilla), nombre_panel, creado_en, recargas_activas (sí/no), recarga_minima_cent,
recarga_maxima_cent, orden_consumo (pagado_primero o regalo_primero: qué saldo se gasta
antes), serie_factura, comision_golmajo_cent (lo que cobra Golmajo por recarga) y
cupo_empleado_semana_cent (tope semanal de crédito manual de cada empleado).
baja
null si no hay baja. Si la hay: terminacion (fecha), terminado (sí/no), ultimo_dia_recargas,
ultimo_dia_consumo (último día en que se paga con el saldo; null si se renunció al periodo de
solo consumo), consumo_abierto (sí/no), ultimo_dia_datos (último día del plazo garantizado para
descargar) y enlace (el del aviso de cierre, o null). Todas las fechas, días de España incluidos.
tema
Lo que el negocio aportó para su Página de pago: nombre_visible, color_principal (hex) y lo demás
que tenga el tema; logo_ruta (ruta del fichero en el almacenamiento de la Plataforma) y logo:
null o { "tipo": "image/png", "base64": "…" } (el fichero entero, como mucho 2 MB).
Los bloques
Cada bloque es una tabla: en el JSON, bloques.<nombre> (array de objetos); en el ZIP, además,
csv/<nombre>.csv. Orden de las filas: el de su clave (estable; es el de la paginación).
Configuración
locales — los locales. id (uuid), slug, nombre, direccion, territorio,
zona_horaria, telefono, whatsapp, lat, lng (decimales), creado_en.
maquinas — id (uuid), local_id, codigo (p. ej. LAV1), numero (el pintado en la
máquina), tipo (lavadora/secadora), nombre_visible, kilos, activa, codigo_qr (el de la
pegatina), permite_anadir_tiempo, pulso_valor_cent (lo que vale un pulso), pulso_on_ms,
pulso_off_ms, entrada_activa_baja, canal_entrada, canal_salida (conexión con la caja),
caja (nombre de la caja), creado_en.
programas — precios. id, maquina_id, nombre, tipo (fijo o por_importe),
precio_cent (fijo), min_cent, max_cent, paso_cent, minutos_por_paso (por importe:
secadoras), orden, activo, creado_en.
bonos — regalo por recarga. id, desde_cent, regalo_cent, activa, creado_en.
cupones — id (entero), codigo, regalo_cent, recarga_minima_cent, caduca_en
(caducidad), max_canjes, activo, creado_en, creado_por (uuid de quien lo creó),
creado_por_email.
cupones_canjes — id, cupon_id, codigo, cliente_id, estado (pendiente,
abonado, caducado, agotado, retirado), regalo_cent, recarga_minima_cent, creado_en, abonado_en,
recarga_id, movimiento_id, caducado_en, retirado_en.
personal — quién entra al Panel y con qué permisos. user_id (uuid), email, rol
(dueno o empleado), creado_en, creado_por.
invitaciones — invitaciones al Panel. id, email, rol, invitada_por_email, creada_en,
enviada_en, caduca_en, aceptada_en, anulada_en, anulada_motivo, correo_enviado_en.
avisos_correo — aviso por correo de las órdenes a revisar (0 o 1 fila). activado, correos
(lista; vacía = a todo el Panel), actualizado_en.
Clientes finales y su dinero
clientes — id (uuid), email, nombre (solo si lo dio Apple o Google), creado_en,
saldo_pagado_cent, saldo_regalo_cent, saldo_total_cent (el saldo al exportar, suma de sus
movimientos), deuda_cent (de un pago devuelto o reclamado que el saldo no cubrió), bloqueado,
bloqueado_en, bloqueado_motivo, condiciones_version (última versión aceptada de las
Condiciones del saldo).
aceptaciones_condiciones — prueba de la aceptación de las Condiciones. id, cliente_id,
version, aceptada_en, canal (web).
correos_condiciones — copias de las Condiciones enviadas por correo (justificante de envío).
id, cliente_id, version, origen (aceptacion o reenvio), para, estado (pendiente,
enviado, fallido, sin_correo), intentos,
creado_en, enviado_en.
favoritos — locales guardados como favoritos. cliente_id, local_id, creado_en.
movimientos — el libro del saldo: cada suma y resta. id (entero), cliente_id, tipo
(recarga, regalo, consumo, devolucion_consumo, ajuste, caducidad, reembolso),
pagado_cent y regalo_cent (con signo: negativo = resta), recarga_id, orden_id, nota,
creado_por, creado_en. El saldo de un cliente es la suma de sus movimientos.
recargas — id (uuid), cliente_id, estado (pendiente, pagada, fallida,
caducada, rechazada_tarjeta), importe_cent, regalo_cent, base_cent, iva_cent, tipo_iva,
comision_golmajo_cent, comision_stripe_cent, reembolsado_cent, disputado_cent,
revertido_cent, creada_en, pagada_en, factura_id, stripe_checkout_id,
stripe_payment_intent (referencias del pago en la cuenta de Stripe del negocio), tarjeta_huella
(huella antifraude que da Stripe, no el número), tarjeta_cartera (apple_pay, google_pay…),
incidencia.
tarjetas_bloqueadas — bloqueos antifraude por contracargo. id, cliente_id, recarga_id,
huella, cartera, motivo, bloqueada_en, desbloqueada_en, desbloqueo_nota.
Uso de las máquinas
ordenes — cada activación (pagada con el saldo o crédito manual del Panel). id (entero),
maquina_id, cliente_id (null en el crédito manual), programa_id, origen (monedero o
manual), modo (normal o anadir), estado (pendiente, entregada, ejecutada,
confirmada, sin_arranque, fallida, anulada, revisar), pulsos, importe_cent, detalle,
nota, creada_en, entregada_en, ejecutada_en, resuelta_en, caduca_en, caja_sin_pulsos,
caja_contradice, credito_liberado_en, credito_liberado_por.
usos_maquinas — cada ciclo que la caja vio (paguen con el móvil o no). id, maquina_id,
inicio, fin, duracion_s.
Facturas
facturas — facturas simplificadas de las recargas, expedidas en nombre del negocio. id,
codigo (R-2026-000001), serie, anio, numero, fecha (de expedición), recarga_id,
cliente_id, emisor_razon_social, emisor_nif, emisor_direccion, concepto, base_cent,
iva_cent, tipo_iva, total_cent, descuento_cent (saldo de regalo de esa recarga: informativo,
no forma parte de la factura), creada_en, y los registros de facturación: huella,
huella_anterior (encadenamiento) y estado_envio (envío a la Agencia Tributaria). Mientras el
envío no esté activo, esos tres van vacíos.
contadores_factura — el último número usado de cada serie y año. serie, anio, ultimo.
En el ZIP, facturas/<código>.pdf: una página A4 con lo mismo que la factura de la web (serie,
número, fecha, emisor, concepto, base, IVA y total).
Historial
historial_panel — todo lo que se ha hecho desde el Panel. id, creado_en, user_id,
email, rol (dueno, empleado, o enlace = descarga con un enlace de exportación, apuntada a
quien lo creó), accion, nota, orden_id, cliente_id, movimiento_id, regla_id, local_id,
datos (objeto con el detalle de cada acción; en el CSV, en JSON).
enlaces_exportacion — los enlaces de descarga creados. id, destinatario,
creado_por_email, creado_en, caduca_en, revocado_en, descargas, ultima_descarga_en
(nunca el token ni su huella).
Los CSV
- UTF-8 con BOM, separador
;, líneas CRLF, primera línea con los nombres de columna (los del JSON, en el mismo orden). Se abren con Excel en español. - Los valores, sin convertir: importes en céntimos enteros, fechas ISO 8601, sí/no como
true/false, listas y objetos en JSON. - Un texto con
;, comillas o saltos de línea va entre comillas dobles (las comillas, dobladas). - Un texto que empieza por
=,+,-o@lleva un apóstrofo delante (para que una hoja de cálculo no lo ejecute como fórmula). En el JSON va tal cual.
Descarga con el enlace (para el nuevo proveedor)
El dueño crea el enlace en el Panel escribiendo a quién va. El enlace se enseña una vez (la Plataforma solo guarda una huella SHA-256 del token), caduca a los 30 días, sirve para 20 descargas y el dueño lo puede revocar cuando quiera. Cada descarga queda en el historial del Panel. Como mucho 5 enlaces activos a la vez.
El enlace es una página de la web de pago del negocio:
https://<web de pago>/exportacion#<token de 43 caracteres>
El token va después de # (el fragmento): el navegador no lo manda a ningún servidor ni queda en
ningún registro, y abrir la página (o que la abra un antivirus del correo o una previsualización)
no descarga nada. La página explica qué es y tiene un botón «Descargar».
Para descargar sin navegador (programas, curl), la misma descarga es un POST a la función, con
el token (lo que va después de #) en la cabecera x-golmajo-token o en el cuerpo:
curl -X POST -H "x-golmajo-token: <token>" -o golmajo-exportacion.json \
"https://<proyecto>.supabase.co/functions/v1/exportacion?forceFunctionRegion=eu-west-1"
# o: curl -X POST -H "content-type: application/json" -d '{"token": "<token>"}' -o … "<misma URL>"
Un GET no descarga nada (responde 405, con una explicación).
Responde 200 con el JSON como fichero adjunto (golmajo-exportacion-<slug>-<día>.json), que se va
escribiendo según se lee (en un negocio grande puede tardar unos segundos). Errores (JSON con
codigo y error):
| HTTP | codigo | Qué pasa |
|---|---|---|
| 400 | enlace_no_valido | Falta el token o no tiene la forma buena. |
| 405 | metodo | No es un POST. |
| 404 | enlace_no_valido | Ese token no existe. |
| 410 | enlace_revocado / enlace_caducado | Revocado por el dueño / pasados los 30 días. |
| 429 | demasiadas_descargas | Ya se descargó 20 veces. |
| 429 | espera | Una descarga por minuto (cabecera Retry-After con los segundos). |
| 500 | bd | Fallo de la Plataforma: probar en un rato. |
Si el dueño revoca el enlace a mitad de una descarga, se corta.
Limitaciones conocidas
- No es una foto instantánea. Se lee bloque a bloque y de 1000 en 1000 filas. Si el negocio sigue
funcionando mientras se descarga, lo que pase en esos segundos puede salir o no (y los saldos de
clientespueden no cuadrar al céntimo conmovimientos). Con el negocio dado de baja, en solo lectura, no cambia nada salvo los pagos con el saldo del periodo de solo consumo. - El
recuentodel final es lo que va en el fichero; la cabecera del Panel también dice cuántas filas había al empezar. - El logo va dentro si pesa 2 MB o menos y es PNG, JPG o WebP.
- Las facturas en PDF las genera la Plataforma con una plantilla sencilla (texto, sin el logo). La factura válida es la expedida; el PDF es una copia legible.
- Los datos de pago con tarjeta no los tiene Golmajo: están en la cuenta de Stripe del negocio.
- Una máquina que se pasa de un negocio a otro se lleva su historia: sus órdenes y sus usos salen en la exportación del negocio que la tiene AHORA (y se borran con él), no en la del anterior.
Dudas
Escríbenos a info@golmajo.es. Contestamos en horario comercial, de lunes a viernes laborables.