Marko Manual de uso · Configuración

Paso a paso

Administrar empresas y convenios marco de la plataforma

Dos de las cinco pestañas con candado rojo de ConfiguraciónEmpresas y Convenios Marco— son la consola con la que el equipo de Marko da de alta clientes, les asigna plan, cobra créditos y mantiene el catálogo global de convenios marco que después cada empresa elige como «adjudicados» en Mi Empresa. No es una pantalla para un proveedor del Estado: es infraestructura interna de Marko sobre la plataforma entera. Este manual recorre las dos pestañas sin dejar nada creado ni modificado en QA, y cierra con dónde vive —fuera de esta pantalla— el otro acceso transversal, el rol Staff.

Qué vas a conseguir

Saber moverte por el listado de empresas de la plataforma, sus siete acciones por fila, y el catálogo global de convenios marco — sin tocar nada real.

Para quién

Sólo cuentas con el flag admin de plataforma de Marko. Ni el rol Administrador de una empresa (que por dentro es MANAGER) ni el rol staff por sí solo llegan a esta pestaña completa.

Qué necesitas antes

Nada que preparar en la pantalla. Fuera de ella, criterio: desde aquí se crean y modifican empresas y convenios de toda la plataforma de verdad.

Cuánto toma

~10 minutos para recorrer las dos pestañas completas sin guardar nada.

Este manual se capturó con una cuenta de administrador de plataforma Con el flag admin de Marko, Configuración muestra 20 pestañas en vez de 15: las cinco marcadas en rojo con un candado —Perfiles de Usuario, Empresas, General, Convenios Marco y Catálogo BQ— son exclusivas de esa marca. Un Administrador de empresa normal ve las otras 15 y ninguna de esas cinco; documentado con detalle en el manual de Perfiles de Usuario, que cubre otra de las cinco.
Esta es la pantalla más expuesta de todo el sistema Un administrador de plataforma ve todas las empresas de Marko en una sola tabla, con razón social, RUT y datos de contacto reales. Para este manual el listado se filtró a una única fila antes de cada captura y el RUT, la razón social, la dirección, el nombre de contacto y el correo que muestra esa fila se sustituyeron en el navegador por valores ficticios antes de disparar el obturador — nunca se vieron ni se guardaron datos reales de otra empresa. El pie de este manual detalla exactamente qué se sustituyó.

Los pasos

Parte 1 · Entrar a la consola

  1. Abre Configuración en el menú lateral y pulsa la pestaña Empresas, marcada en rojo con un candado, a continuación de Perfiles de Usuario.

    Configuración con sus 20 pestañas; las cinco últimas marcadas en rojo con candado, entre ellas Empresas.
    Qué deberías verLa cabecera Configuración De Empresa con las 20 pestañas en una sola fila. Al entrar a Empresas, un cuadro de búsqueda, un filtro Todos los estados de pago, el botón azul + Crear empresa y una tabla con las columnas Nombre, RUT, Plan, Precio y Estado Pago.

Parte 2 · El catálogo de empresas

  1. Escribe en Buscar empresa para filtrar por nombre, RUT o código, o elige un estado de pago del desplegable.

    Tabla de empresas filtrada a una sola fila, con el RUT sustituido por un valor de ejemplo.
    Qué deberías verLa tabla se acota a las filas que calzan. Cada fila trae el nombre comercial y, debajo en gris, el código interno de la empresa (el mismo id del documento en la base de datos); el filtro de estado ofrece Gratis, Trial, Activo, Suspendido, Vencido y Sin estado — esta última para empresas antiguas que nunca llegaron a tener el campo.
    El RUT de esta captura es de ejemploEl RUT real de la fila se sustituyó antes de fotografiarla. Ver el pie del manual.

Parte 3 · Dar de alta una empresa

  1. Pulsa + Crear empresa. Se abre la ventana Nueva empresa, con el Paso 1: Validar empresa — el método por defecto es OC Ganada.

    Ventana Nueva empresa, método OC Ganada, vacía.
    Qué deberías verUn desplegable Método de validación con dos opciones (OC Ganada / RUT de la empresa), el campo ID de OC Ganada, el botón Validar empresa y, al pie, Cancelar / Crear. El resto del formulario —logo, razón social, RUT, giro, dirección, comuna y datos de contacto— está oculto hasta que la validación completa el id de la empresa.
  2. Cambia el Método de validación a RUT de la empresa.

    Ventana Nueva empresa con el método cambiado a RUT de la empresa.
    Qué deberías verEl campo cambia a RUT de la empresa, con el placeholder de ejemplo Ej: 76123456-7.
  3. Escribe un RUT y pulsa Validar empresa.

    Aviso de error tras validar por RUT: el texto crudo internal.
    Qué deberías ver hoy en QACon RUT de la empresa, el aviso rojo dice literalmente «internal»: la función validateCompanyFromRUT responde 403 en el ambiente de QA y la pantalla pinta el código crudo del error de Firebase en vez de un mensaje legible. Con OC Ganada y un código inventado, el aviso es más claro: «No se encontraron datos válidos para la OC … en la API OCDS.» — ambos verificados en vivo, sin completar nunca la validación con datos reales.
    Por qué este manual no llegó a crear una empresaAl validar por una OC Ganada real, esta pantalla reclama esa OC para una empresa nueva — el mismo mecanismo que permite que un código de OC ajeno «robe» el alta de un cliente. Y el callable que cierra la creación, finalizeCompanyCreation, no exige sesión autenticada del lado del servidor. Por ambas razones el formulario se abrió, se probó con datos inventados y se cerró sin pulsar Crear: no quedó ninguna empresa nueva en QA.

Parte 4 · Las acciones sobre una empresa ya creada

  1. En cualquier fila, pulsa el botón del extremo derecho.

    Menú de tres puntos de una fila, con las siete acciones disponibles.
    Qué deberías verUn menú de siete acciones: Editar, Configurar compras ágiles, Configurar Plan, Acuerdo de Servicio, Cargar créditos, Migrar datos a BigQuery y Habilitar indicadores operativos (dice Configurar indicadores operativos si ya estaban habilitados). Los pasos siguientes abren cada una — menos Migrar datos a BigQuery, que dispara de verdad una migración a BigQuery y no se ejecutó para este manual.
  2. Pulsa Editar para revisar los datos de la empresa: razón social, nombre comercial, RUT, giro, dirección, comuna y, más abajo, los datos de contacto.

    Ventana Editar empresa con la sección Información general, datos sustituidos.
    La misma ventana desplazada hasta Datos de contacto, datos sustituidos.
    Qué deberías verEl título dice «Editar empresa «código»» — el identificador interno, no el nombre. El Paso 1: Validar empresa queda bloqueado (no se puede cambiar el método de validación al editar) y bajo él el formulario completo, precargado. Al confirmar con Actualizar sale «Empresa actualizada exitosamente» y escribe directo en el documento de la empresa.
    Todos los campos de estas dos capturas están sustituidosRazón social, RUT, dirección, nombre de contacto, correo y teléfono son valores de ejemplo escritos en el navegador antes de fotografiar; ninguno es el dato real de la empresa que se usó para capturar. Se cerró con Cancelar: no se guardó nada.
  3. Vuelve al menú y pulsa Configurar Plan.

    Ventana Configurar Plan, con plan, estado de pago, precio de licencia y fechas de trial.
    Qué deberías verUna ventana con cuatro campos: Plan (el catálogo de planes: Compra Ágil, Convenio Marco, Multiempresa, Prueba Gratis, Especial, Prueba Compra Ágil), Estado del Pago (Gratis / Trial / Activo / Suspendido / Vencido), Precio Licencia (UF) y dos fechas de trial. Al guardar sale Guardar Cambios, que escribe directo en el documento de la empresa.
  4. Pulsa Configurar compras ágiles y baja hasta Días mínimos antes del cierre para notificar.

    Modal Configurar Compras Ágiles con el campo Días mínimos, exclusivo de administración, y las palabras clave de la empresa.
    Qué deberías verEs el mismo modal que usa cualquier Manager desde su propia empresa (regiones, monto mínimo, palabras clave con los operadores & y $, contexto del negocio), más un campo que sólo aparece aquí: «Días mínimos antes del cierre para notificar», con la nota «Solo para admin: define con cuantos dias de anticipacion minima se envia una notificacion.»
  5. Pulsa Cargar créditos.

    Ventana Cargar créditos, con el saldo actual y un campo para agregar.
    Qué deberías verEl nombre de la empresa, el saldo actual de créditos y un campo numérico «Créditos a agregar» que sólo acepta enteros positivos. Al confirmar suma al saldo — nunca lo reemplaza— y avisa cuánto quedó.
  6. Pulsa Habilitar indicadores operativos.

    Modal Indicadores operativos explicando qué crea Activar indicadores.
    Qué deberías verUna explicación de lo que hace un clic en Activar indicadores: crea un dataset aislado en BigQuery para la empresa, con vistas filtradas por company_id, y avisa que el prerrequisito es haber corrido antes «Migrar datos a BigQuery» para esa empresa. Ninguno de los dos se ejecutó para este manual.
  7. Pulsa Acuerdo de Servicio.

    Modal Acuerdo de Servicio con un enlace vencido, nombre de empresa sustituido.
    Qué deberías verEl estado del acuerdo de esa empresa —en el ejemplo, un Enlace vencido— con acciones para generarlo, renovarlo o anularlo. Esta misma ventana es también el punto de entrada del equipo comercial: el rol Staff la abre desde el CRM con las mismas acciones. El detalle a fondo de generar, firmar y cerrar un Acuerdo de Servicio queda para el manual de esa pantalla.
    El nombre de la empresa en esta captura está sustituidoEl título original mostraba la razón social real de la empresa demo; se reemplazó en el navegador antes de fotografiar.

Parte 5 · Pestaña Convenios Marco

  1. Vuelve a Configuración y pulsa la pestaña Convenios Marco, también marcada en rojo con candado.

    Pestaña Convenios Marco recién abierta, con el buscador y el botón Agregar convenio.
    Qué deberías verLa cabecera Administración De Convenios Marco con la leyenda «Gestiona el catálogo global usado en la configuración de empresas», un buscador Buscar por nombre, id o URL y el botón + Agregar convenio.
    Es un catálogo global, no de tu empresaVive en un único documento de configuración compartido (configuration/convenios_marco), no dentro de ninguna empresa. Lo que edites aquí queda disponible para que cualquier empresa de la plataforma lo marque como «adjudicado» en Mi Empresa.
  2. Baja para ver la tabla del catálogo.

    Tabla del catálogo de convenios marco, con columnas ID, Nombre, URL Productos y Acciones.
    Qué deberías verUna tabla con cuatro columnas: ID (el identificador del convenio, en un badge negro), Nombre, URL Productos (enlace directo al catálogo del convenio en Mercado Público) y Acciones, con Editar y Eliminar en cada fila. La lista sale ordenada alfabéticamente por nombre y nada de lo que muestra es información privada — son catálogos públicos de Mercado Público.
  3. Pulsa + Agregar convenio.

    Ventana Nuevo convenio marco, con los campos ID, Nombre y URL de productos vacíos.
    Qué deberías verUna ventana Nuevo convenio marco con tres campos: ID (placeholder ej: aseo-2025), Nombre (ej: Aseo (2025)) y URL de productos (https://…). Al confirmar con Crear convenio el ID sólo acepta minúsculas, números y guiones; el Nombre pide 3 caracteres como mínimo; la URL tiene que empezar por http:// o https://. Si el ID ya existe en el catálogo, el aviso dice «Ya existe un convenio con ese ID.» y no crea nada.
  4. Cierra esa ventana y pulsa Editar sobre un convenio ya existente.

    Ventana Editar convenio marco, precargada con ID, nombre y URL.
    Qué deberías verLa misma ventana, titulada Editar convenio marco y precargada con el ID, Nombre y URL de productos del convenio. Guardar con Guardar cambios reemplaza esa entrada del catálogo entero — no crea una fila nueva.
  5. Pulsa Eliminar sobre una fila.

    Ventana de confirmación ¿Eliminar convenio?, con el nombre y el ID del convenio.
    Qué deberías verUna confirmación: «¿Eliminar convenio?», con el texto «Se eliminará "nombre" (id)."» usando el nombre y el ID reales del convenio, y los botones Sí, eliminar y Cancelar. A diferencia de Empresas, aquí es un borrado real y definitivo del catálogo — no hay soft delete: si una empresa ya tenía ese convenio marcado como adjudicado, el nombre deja de resolverse en su ficha.
    Se canceló a propósitoPara esta captura se pulsó Cancelar: el catálogo de convenios marco de QA quedó exactamente como estaba, sin ninguna fila creada, editada ni eliminada.

Rol Staff — cómo se asigna

El otro acceso transversal de Marko —además del flag admin que abre esta pestaña— es staff: el equipo comercial interno, que ve todas las empresas pero sólo sus datos comerciales, nunca los operativos. Vale la pena aclararlo aquí porque comparte pestaña con este manual: un usuario staff puro (sin admin y sin rol en ninguna empresa) entra a Configuración y ve únicamente la pestaña Empresascompany-settings.component.ts se la recorta a esa sola pestaña, con sólo dos de las siete acciones habilitadas: Configurar Plan y Acuerdo de Servicio. Nada de Crear, Editar, Configurar compras ágiles, Cargar créditos, Migrar a BigQuery ni Indicadores operativos, y ninguna otra pestaña del hub.

No hay ninguna casilla en la interfaz para asignarlo. A diferencia de los roles de empresa —que se marcan desde Cuentas → Administrar roles— el flag staff se escribe a mano, directo en el documento de la cuenta:

accounts/{uid}
  staff:  true          // habilita el acceso transversal comercial
  admin:  false          // NO es administrador de plataforma
  active: true           // una cuenta desactivada no opera, aunque sea staff
  roles:  {}              // sin roles: no pertenece a ninguna empresa cliente

Es a propósito: son cuentas del equipo interno de Marko, no de clientes, y por eso no viven en un flujo de alta pensado para invitar personas a una empresa. Si a una cuenta staff se le asigna además un rol en alguna empresa, deja de comportarse como «staff puro» y pasa a navegar como un usuario normal de esa empresa — pierde el acceso transversal.

AccesoAlcanceVe companies con el SDKCredenciales de integración
roles[companyId]Una empresaSólo la propia
staff: trueTodas, sólo campos comerciales, vía Cloud Function❌ (las reglas se lo niegan)
admin: trueTodas, documento completo
Por qué no se reutiliza admin para estoLas reglas de Firestore le dan a admin lectura y escritura sobre companies/{id}/{document=**} completo — facturas, banco, inventario, todo. Fusionar ambos roles, o darle a staff el mismo alcance, expondría al equipo comercial datos operativos de cada cliente que no necesita para vender. El detalle completo —auditoría en staffAccessLog, guards de navegación, qué ve y qué no— es del manual dedicado al CRM, no de éste.

Quién entra de verdad

Las dos pestañas de este manual dicen «Empresas» y «Convenios Marco», sin nada en el nombre que avise que son distintas del resto de Configuración. Por dentro sí lo son.

PuntoDetalle
Rutacompany-settings → pestañas Empresas y Convenios Marco, marcadas en rojo con candado.
Quién las ve completasSólo cuentas con admin: true — el flag de plataforma. company-settings.component.ts lo resuelve con un atajo explícito: if (this.user.admin) return true; antes de mirar ningún rol de empresa.
Un Administrador de empresaNo las ve completas. Lo que la app llama «Administrador» de una empresa guarda por dentro el rol MANAGER; ninguna cuenta de empresa llega a tener el string "ADMIN" en roles[companyId], así que la única puerta real es el flag de plataforma.
Un usuario staff puroVe sólo Empresas, recortada a dos acciones (Plan y Acuerdo de Servicio). Ver «Rol Staff» arriba.
AlcanceToda la plataforma de Marko, no una empresa. Empresas lista y modifica cualquier cliente; Convenios Marco es un catálogo global compartido por todos.

Lo que todavía no hace

Para consultar después

PuntoRegla
Dónde estáConfiguración → Empresas / Convenios Marco, pestañas marcadas en rojo con candado.
Quién entra completoSólo cuentas con admin: true (flag de plataforma).
Acceso recortadostaff: true puro → sólo Empresas, sólo Configurar Plan y Acuerdo de Servicio.
Acciones por empresaEditar, Configurar compras ágiles, Configurar Plan, Acuerdo de Servicio, Cargar créditos, Migrar datos a BigQuery, Habilitar/Configurar indicadores operativos.
Acción que faltaEliminar empresa — código muerto, sin botón.
Estados de pagoGratis, Trial, Activo, Suspendido, Vencido, Sin estado (empresas sin el campo).
Convenios Marco — alcanceCatálogo global en configuration/convenios_marco, compartido por toda la plataforma.
Convenios Marco — validacionesID único en minúsculas/números/guiones (^[a-z0-9-]+$); Nombre mínimo 3 caracteres; URL debe empezar por http:// o https://.
Convenios Marco — borradoDefinitivo, sin soft delete.
Rol Staff — dónde se asignaA mano, en accounts/{uid}.staff = true. No hay casilla en la interfaz.
Qué NO hace por sí solaNo borra empresas (no existe el botón); no valida en línea; no confirma antes de migrar a BigQuery ni de activar indicadores. Ver «Lo que todavía no hace».

Cuando algo no sale

Lo que vesQué pasa y qué hacer
No tengo las pestañas Empresas ni Convenios MarcoTu cuenta no lleva el flag admin de plataforma. Si eres del equipo comercial y sólo necesitas plan y Acuerdo de Servicio, pide el flag staff en vez de admin.
Sólo veo la pestaña Empresas, y con dos accionesEs lo esperado para una cuenta staff pura: da y quita a propósito. Ver «Rol Staff» arriba.
Al validar por RUT sale «internal»No es tu error: validateCompanyFromRUT devuelve 403 en QA. Repórtalo en vez de reintentar.
Al validar por OC sale «No se encontraron datos válidos para la OC … en la API OCDS.»El código de OC no existe o la API de Mercado Público no lo tiene indexado todavía (pasa con OC muy recientes). Confírmalo en el portal antes de insistir.
Esta empresa ya está creada en MarkoLa OC o el RUT ya corresponden a una empresa existente en la plataforma. Búscala en el listado en vez de crearla de nuevo.
Por favor, complete todos los campos requeridos.Falta algún campo obligatorio del formulario; el aviso no dice cuál, salvo que sea el logo (ahí sí hace scroll hasta el campo).
Ya existe un convenio con ese ID.El ID del convenio no es único dentro del catálogo global; cambia el ID (no el nombre) y vuelve a intentar.
No se pudo guardar el convenio. / No se pudo eliminar el convenio.Falló la escritura del catálogo. Vuelve a intentarlo; si insiste, revisa tu conexión.
El botón de tres puntos de una fila no abre nadaNo visto en este manual — si ocurre, recarga la pestaña antes de reportarlo como bug.