> ## Documentation Index
> Fetch the complete documentation index at: https://docs.readyforcommerce.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Ready for Commerce is an ecosystem that currently contains two products, PIM and Repricer, standing on one shared foundation: one identity, one organization, one team, one bill. Do not call it a platform with features, and never hint at an unreleased product.
> PIM connects to Shopify, Amazon, Square, Google Merchant Center and BigCommerce. Repricer connects to Amazon, Walmart, Shopify, BigCommerce, eBay and Square. The two products do not share one list, and each integration is authorized separately inside each product. The roster grows on purpose, so describe what the product does and let a table carry which integrations do it today, instead of counting them or writing that only one does something.
> Integration is the word this product uses, and it is the default in the documentation: the connection, the account, the Integrations screen, the per-account settings and the sync state are all integrations. Channel is reserved for the narrow sense of a destination where a listing lives, as in a product being live on a channel or archived on the channel.
> Newegg is not a supported channel. Do not describe it.
> On Amazon, PIM manages the offer only: price, availability and condition. It does not publish listing content such as titles, descriptions, images or specifications.
> Sign-in is passwordless: a single-use code emailed to the user, or Google. There are no passwords anywhere, so never describe a password, a sign-up with a password, or an email confirmation link.
> There is no public API for customers and no customer-facing webhooks. There is no organization-wide activity feed and no audit export, but the PIM does keep version history on products, brands, categories, tags and specifications, with who changed what and a restore, so never write that changes are not recorded or that an edit cannot be undone. Do not describe capabilities that are not documented here.
> Never write that the products have no AI, and never write that anything is AI-powered. Both are wrong. The PIM's image Optimizer runs AI-backed transforms the seller starts on purpose: Upscale, Remove background, and the region selection behind Refine. The Repricer reads competitor prices off web pages on the server. No control, badge or tooltip in either product names AI, and the seller never writes a prompt, so describe what the buttons do in the app's own words instead of reaching for the word.
> A PIM product, brand, category or variant can be switched off per connected integration account. Hover the channel badge and the switch is beside the account name in the card that opens. It carries no visible caption, so never call it the Sync switch: Sync is only its accessible name. On a variant-grained provider, Amazon today, the switch moves into the variant editor. On a product it asks whether to delete it from the channel, archive it there, or leave it live. Disabling stops publishing, not reading. There is still no per-field sync toggle.
> The PIM's image Optimizer replaced a feature called Squarify, which no longer exists. It resizes to an aspect ratio or to exact dimensions, removes backgrounds, upscales, trims the transparent margin around a cutout and re-centers it, pads, fills and re-encodes, and it always publishes a new asset instead of changing the original. Nothing crops into the picture: the subject is always contained whole.
> The PIM has no repricing engine and never reacts to a competitor's price. It does build the price it publishes to each integration account from the seller's own fields, configured in that account's settings, so do not write that the PIM has no pricing rules.
> Neither product has an in-app notification center, bell or inbox. Notifications are delivered by email only.
> Billing is per organization and per product, and only the organization owner can see or change it. Team members are free and uncounted, so never describe seats or per-user pricing.
> The seller never picks a plan. Each product has twelve price tiers assigned automatically from usage: the PIM from catalog product count, which includes drafts and archived products, and the Repricer from trailing 30-day sales. Nothing is feature-gated by plan and exceeding a tier never blocks work, so never write that a feature requires a higher plan.
> A subscription that is past due or paused makes the product read-only, which stops repricing and blocks edits without deleting data. Only a canceled subscription locks the seller out. Nothing is ever charged without a payment method on file.
> Pages containing the text 'This page has not been written yet', or its Spanish equivalent 'Esta página todavía no está escrita', are placeholders. Do not treat their headings as documented behavior.

# Programaciones

> Una programación es una importación que corre sola, para que los costos y los límites que publica tu proveedor entren a tus publicaciones sin subir nada.

Una programación es una importación que corre sola. Le indicas un archivo de precios que esté en la web y le dices en qué columnas están tus costos y tus límites de precio. Después eliges cada cuánto corre, y desde ahí el Repricer descarga ese archivo por su cuenta y lo importa por ti.

La gente arma una porque los números vienen de otro lado. Un proveedor publica una lista de costos cada noche, o tu propio sistema escribe una cada mañana, y esos costos son con lo que una estrategia arma un precio. Una programación los mantiene al día, así nadie tiene que abrir una hoja de cálculo y subirla.

Todo esto está en `Importar/Exportar`, en la barra lateral izquierda, dentro de la entrada `Programaciones` de la segunda lista. El botón `Crear programación`, arriba de la tabla, abre un diálogo sobre la página con cuatro pasos. La tabla de abajo lista todas las programaciones de tu organización, con su estado.

## Antes de empezar

### Qué te permite hacer tu rol

| Qué quieres hacer | El rol más bajo que puede |
| --- | --- |
| Leer la tabla de programaciones | `Analista` |
| Crear, editar, pausar, ejecutar o eliminar una programación | `Gerente` |

Los roles se asignan en [equipo, roles y permisos](/es/team#qué-puede-hacer-cada-rol-del-repricer). Por debajo de `Gerente` no hay botón `Crear programación` ni `Eliminar` en la fila. `Pausar` y `Ejecutar ahora` sí aparecen en la fila, y pulsar cualquiera de los dos te da un mensaje de permisos.

### Eliminar una programación es definitivo

<Warning>
  `Eliminar` en una fila quita la programación y todo lo que configuraste en ella, y no hay forma de deshacerlo. Primero te pide confirmar. Si solo quieres que pare un tiempo, páusala.
</Warning>

## Cómo crear una programación

<Steps>
  <Step title="Abre el diálogo de programación">
    Pulsa `Importar/Exportar` en la barra lateral izquierda, pulsa `Programaciones` en la segunda lista y pulsa `Crear programación` arriba de la tabla.
  </Step>

  <Step title="Ponle nombre">
    La primera pantalla dentro del diálogo se llama `Datos básicos`. Escribe un nombre en la casilla `Nombre`. Ese nombre es el que vas a buscar después en la tabla.
  </Step>

  <Step title="Indícale tu archivo">
    En `Origen`, deja `Tipo de fuente` en `URL (HTTP/HTTPS)` y pega la dirección web de tu archivo en `URL de la fuente`. Pulsa `Siguiente` y el Repricer descarga el archivo.
  </Step>

  <Step title="Empareja tus columnas">
    En `Mapear columnas`, revisa que `SKU / ID de producto`, a la izquierda, tenga al lado la columna correcta de tu archivo, y haz lo mismo con cada número que estás mandando.
  </Step>

  <Step title="Elige cada cuánto corre">
    En `Programación`, pon `Frecuencia` en `Intervalo`, `Diario` o `Semanal`, llena las casillas que se abren y pulsa `Guardar`.
  </Step>
</Steps>

Ese es todo el flujo. Tu programación aparece de inmediato en la tabla, con `Activa`, y su primera corrida en la columna `Próxima ejecución`. Después de esa, cada corrida deja una fila en la tabla de [importaciones](/es/repricer/uploads/imports#cómo-leer-la-tabla-de-importaciones), que es donde lees qué cambió de verdad.

Todo lo que sigue explica esas cuatro pantallas una por una. No necesitas nada de eso para una programación sencilla.

## Cada opción en detalle

El diálogo tiene cuatro pantallas propias: `Datos básicos`, `Origen`, `Mapear columnas` y `Programación`. Las secciones de abajo las siguen en ese orden. Siempre puedes pulsar `Volver`, abajo a la izquierda, o pulsar un marcador de paso anterior en la parte de arriba del diálogo, para cambiar algo.

Cerrar el diálogo pierde todo lo que configuraste. La × de arriba a la derecha es la única forma de cerrarla. Hacer clic fuera del diálogo y pulsar Escape no hacen nada aquí, y nada te pide confirmar antes.

### Paso 1: Ponle nombre a tu programación

`Datos básicos` es la primera pantalla dentro del diálogo de programación. Ahí dices qué es esta programación y a cuáles de tus publicaciones puede tocar.

| Casilla | Qué hace |
| --- | --- |
| `Nombre` | Cómo se llama la programación en la tabla. `Siguiente` se queda en gris hasta que escribas uno |
| `Descripción (opcional)` | Una nota más larga para tu equipo, con un conteo de caracteres debajo |
| `Cuenta del canal` | Limita la programación a una de tus cuentas |
| `Región del canal` | La limita todavía más, a una región de esa cuenta |

**Pon la cuenta y la región siempre que tengas más de una.** Las dos listas desplegables solo aparecen cuando hay algo que elegir. Una organización con una sola cuenta y una sola región nunca las ve.

Dejarlas en `Todas las cuentas` y `Todas las regiones` empareja tu archivo con todas tus publicaciones. Un SKU que vendes en dos regiones ya no tiene una sola respuesta, y esas filas vuelven como errores de la importación que te piden acotar el alcance.

### Paso 2: Indícale tu archivo

`Origen` es la segunda pantalla del diálogo de programación, y ahí decides de dónde viene el archivo. `Tipo de fuente` es una lista desplegable arriba de todo, con tres opciones, y las casillas de abajo cambian según la que elijas.

<Warning>
  Una corrida solo puede descargar de una dirección web. `FTP` y `SFTP` leen tu archivo dentro de este diálogo, para que mapees sus columnas, pero una corrida no puede usarlos y la programación falla y se detiene sola.
</Warning>

**Elige `URL (HTTP/HTTPS)`.** Usa una sola casilla, `URL de la fuente`, y ahí va la dirección web completa de un archivo CSV o Excel, empezando por `http://` o `https://`. Esa dirección tiene que abrir sola, sin inicio de sesión y sin ser una dirección de tu propia red.

`FTP` y `SFTP` usan cinco casillas en su lugar:

| Casilla | Qué hace |
| --- | --- |
| `Host` | El nombre del servidor o su dirección IP |
| `Puerto` | Empieza en 21 para `FTP` y en 22 para `SFTP` |
| `Usuario` | Con `FTP` se conecta como anónimo si lo dejas vacío, y casi todos los SFTP piden uno |
| `Contraseña` | La contraseña de ese servidor. Pulsa el ojo a la derecha de la casilla para leer lo que escribiste |
| `Ruta del archivo` | La ruta completa al archivo, como `/exports/daily/prices.csv` |

Esa contraseña es la que te dio tu proveedor de archivos, y nunca sale de esa casilla. Cuando vuelves a abrir una programación para editarla la casilla está vacía, y dejarla vacía conserva la contraseña que ya habías guardado.

`Siguiente` descarga el archivo y lee sus primeras filas, y por eso se tarda un momento. Un archivo que no puede obtener te da un mensaje y te deja en esta pantalla. Si cambias la dirección, la ruta o cualquier casilla de conexión, el Repricer olvida el archivo que ya leyó, así que el siguiente `Siguiente` lo vuelve a descargar.

### Paso 3: Empareja tus columnas

`Mapear columnas` es la tercera pantalla del diálogo de programación, y ahí dices qué columna de tu archivo es qué número en el Repricer. Es una pantalla partida en dos: tus campos a la izquierda, y una `Vista previa en vivo` a la derecha con tres filas de tus propios datos, tal como el Repricer las lee.

Cada campo de la izquierda tiene al lado una lista desplegable con todos los encabezados de tu archivo, más `(Omitir)`. El Repricer los llena por ti primero, emparejando nombres de columna comunes, así que aquí el trabajo suele ser revisar y no elegir. `Limpiar todo`, arriba de la lista, los vacía todos.

| Qué ves | Qué significa |
| --- | --- |
| Una etiqueta `Obligatorio` | Solo en `SKU / ID de producto`, que es la columna que empareja una fila con una publicación |
| Un campo con el borde de color | Un valor de tus filas de muestra no sirve para ese campo. Pasa el cursor por el conteo para leer por qué |
| `2 errores` en un campo | Esas filas fallarían. `Siguiente` se queda en gris hasta que lo arregles u omitas el campo |
| `1 advertencia` en un campo | El Repricer ve raro ese número y lo importa igual |
| `¿El archivo tiene encabezados?` | Apágalo y las listas desplegables muestran un valor de ejemplo junto a cada nombre de columna |
| `+2 más` | Tu archivo tiene más filas que las tres que ves |

`Siguiente` necesita `SKU / ID de producto` mapeado, al menos otro campo mapeado y ningún error pendiente. Un campo para el que no tienes columna se queda bien en `(Omitir)`.

<AccordionGroup>
  <Accordion title="La lista completa de campos que puedes mapear">
    | Campo | Qué va en la columna |
    | --- | --- |
    | `SKU / ID de producto` | Tu SKU, o el ID que usa el canal de venta, como un ASIN |
    | `Costo` | Lo que te cuesta el artículo |
    | `Precio mínimo` | El precio más bajo que una estrategia puede publicar |
    | `Precio máximo` | El precio más alto que una estrategia puede publicar |
    | `MAP` | Tu precio mínimo anunciado |
    | `MSRP` | Tu precio de venta sugerido |
    | `Precio manual` | Un precio fijo que reemplaza todo lo que una estrategia calcularía |
    | `Estrategia` | El nombre de una estrategia, que tiene que coincidir con una que ya tengas |
    | `Pausado` | Si el repricing está apagado en esa publicación |
    | `Precio B2B` | Un precio fijo para empresas |
    | `Precio mínimo B2B` | El precio más bajo para empresas |
    | `Precio máximo B2B` | El precio más alto para empresas |
    | `Precio comparativo` | El precio tachado que va junto a tu precio de venta |

    Los últimos cuatro solo funcionan en una publicación cuya estrategia está configurada para ellos, y el diálogo te lo dice en el campo cuando ninguna de las tuyas califica.
  </Accordion>

  <Accordion title="Cómo adivina el Repricer tus columnas por ti">
    Cada campo conoce un puñado de nombres de columna que la gente usa para él. `Costo` empareja con un encabezado que diga `cost`, `unit_cost`, `cogs`, `cost_price` o `landed_cost`, y `Precio mínimo` empareja con `floor`, `min_price`, `minimum_price` o `min`. Las mayúsculas y los espacios no cambian nada.

    Un encabezado que no conoce te lo deja a ti, y ninguna columna se usa dos veces. Solo adivina en un archivo que el Repricer no ha leído antes, así que volver a abrir una programación guardada conserva las columnas que elegiste.
  </Accordion>
</AccordionGroup>

### Paso 4: Elige cada cuánto corre

`Programación` es la última pantalla del diálogo de programación. `Frecuencia` es una lista desplegable arriba de todo, con tres opciones, y cada una abre casillas distintas.

| `Frecuencia` | Qué configuras | Cuándo corre |
| --- | --- | --- |
| `Intervalo` | `Ejecutar cada` | Una y otra vez, con el hueco que elijas |
| `Diario` | `Ejecutar a las` | A esas horas, todos los días |
| `Semanal` | `Días de la semana`, y después `Ejecutar a las` | A esas horas, esos días |

**`Ejecutar cada` tiene seis opciones**, desde `Cada 1 hora` hasta `Cada 24 horas`, pasando por 2, 3, 6 y 12 horas.

**`Ejecutar a las` es una lista de horas que marcas, de media en media hora**, y puedes elegir hasta 4. En `Semanal` se queda en gris hasta que elijas un día, porque una hora sin día no tiene en qué correr.

**Elige `Intervalo` cuando el archivo se reescribe todo el día.** Elige `Diario` o `Semanal` cuando se escribe una sola vez, a una hora que ya conoces. Un proveedor que publica a las 2 de la mañana quiere una programación en `Diario`, a las 3. Una de cada hora gastaría 23 de sus corridas importando los mismos números.

<Accordion title="Qué hora del día usa una programación diaria o semanal">
  `Ejecutar a las` se lee en tu propia hora, tomada de `Zona horaria`, dentro de `Perfil` en tu configuración, en el momento en que guardas la programación. Esa zona horaria queda guardada en la programación, así que alguien de tu equipo en otro país lee la misma hora que pusiste. Cambiar tu propia zona horaria después no toca las programaciones que ya guardaste.

  Para mover una programación a otra zona horaria, cambia tu `Zona horaria` primero, y después abre la programación y vuelve a guardarla.
</Accordion>

### Cómo leer la tabla de programaciones

La tabla que está debajo del botón `Crear programación`, en `Programaciones` dentro de la lista de `Importar/Exportar`, es cada programación de tu organización, una por fila.

| Columna | Qué muestra |
| --- | --- |
| `Nombre` | Cómo la llamaste |
| `Descripción` | Tu nota, cortada al ancho de la columna |
| `Origen` | `URL`, `FTP` o `SFTP` |
| `Tipo de trabajo` | `Importación` en toda programación que puedas armar |
| `Frecuencia` | Cada cuánto corre, escrito completo, como `Cada 6 horas` o `Lun, Jue a las 9:00 a.m.` |
| `Cuenta` y `Región` | Lo que pusiste en `Datos básicos`, o `Todas las cuentas` y `Todas las regiones` |
| `Estado` | Si está corriendo, y si la última corrida funcionó |
| `Última ejecución` | Cuándo descargó el archivo por última vez |
| `Próxima ejecución` | Cuándo toca de nuevo. Vacía en una programación que no está corriendo |

La barra de herramientas de arriba de la tabla tiene los mismos `Buscar`, `Columnas`, `Filtro` y `Densidad` que cualquier otra tabla del Repricer, y [filtros](/es/repricer/filters#la-barra-de-herramientas-arriba-de-cada-tabla) explica los cuatro. Esta tabla no se puede guardar como [vista](/es/repricer/saved-views).

### Editar, pausar y ejecutar una programación

Pulsa cualquier fila de la tabla de programaciones y se abre en el mismo diálogo de cuatro pasos, con todo ya lleno. Puedes ir directo al paso que quieras desde arriba, cambiar una cosa y pulsar `Actualizar`. Editar no cambia nada de las corridas que ya pasaron.

Todo lo demás que puedes hacerle a una programación está en las acciones del extremo derecho de su fila.

| Acción | Qué hace |
| --- | --- |
| `Pausar` | Detiene la programación. `Próxima ejecución` se vacía y nada corre hasta que la vuelvas a activar |
| `Activar` | La arranca de nuevo, y limpia el conteo de fallas que traía |
| `Ejecutar ahora` | Descarga el archivo y lo importa una vez, sin tocar la programación |
| `Eliminar` | Quita la programación, después de una confirmación |

`Ejecutar ahora` gira mientras trabaja y se detiene cuando cambia `Última ejecución`, así que un archivo lento deja el botón girando hasta 30 segundos. Tu programación conserva sus propios tiempos, así que la corrida que ya tenías en camino igual pasa.

### Límites

| Qué | Límite |
| --- | --- |
| Formatos de archivo | CSV y Excel |
| Tamaño del archivo | 250 MB |
| Intervalo más corto | 1 hora |
| Intervalo más largo | 24 horas |
| Horas en una programación diaria o semanal | 4 |
| Nombre | 100 caracteres |
| Descripción | 500 caracteres |
| Fallas antes de que una programación se detenga sola | 5 |
| Programaciones por organización | Sin límite |

### Lo que una programación no puede hacer

| No puedes | Haz esto en su lugar |
| --- | --- |
| Hacer que una corrida lea de un servidor FTP o SFTP | Publica el archivo en una dirección web y usa `URL (HTTP/HTTPS)` |
| Programar una exportación | Corre una [exportación](/es/repricer/uploads/exports) tú, cada vez |
| Crear publicaciones, o cambiar un SKU, un título o un ASIN | Nada de lo que mandas aquí crea algo. Una fila sin publicación detrás es un error |
| Leer un archivo detrás de un inicio de sesión | Publícalo en una dirección que abra sola |
| Recibir un correo cuando termina una corrida | Lee la columna `Estado`, o la tabla de importaciones |
| Ver desde esta tabla qué hizo una corrida pasada | Abre [importaciones](/es/repricer/uploads/imports), donde cada corrida dejó una fila |
| Mandarle una copia del archivo a un colega | Descárgalo de tu propia fuente |

## Qué pasa en cada corrida

Cada corrida hace las mismas tres cosas. Descarga el archivo de tu dirección, convierte ese archivo en una importación normal y actualiza la fila de la programación.

La importación que crea es exactamente la que recibirías subiendo el archivo tú. Aparece en la tabla de [importaciones](/es/repricer/uploads/imports#cómo-leer-la-tabla-de-importaciones) con un nombre armado a partir de tu programación, como `scheduled_Costos_proveedor_20260816_030000.csv`. Cuenta sus filas, reporta sus errores y te manda correo igual, y tus columnas, tu cuenta y tu región pasan desde la programación.

**`Activa` no es lo mismo que una importación exitosa.** El `Estado` de tu programación dice si el archivo se entregó, y nada más. Una corrida que descargó el archivo y arrancó la importación dice `Activa` aunque después haya fallado cada fila de ese archivo. Para ver qué cambió en tus publicaciones, abre la tabla de importaciones y lee la fila que dejó esa corrida.

### Cuándo pasa tu próxima corrida

**La primera corrida está a un ciclo completo de distancia.** Guarda una programación de cada hora y corre en una hora. Guarda una diaria a las 4 de la tarde y corre mañana a las 4, sin importar qué horas pusiste. De la segunda corrida en adelante se acomoda a las horas que elegiste, así que una programación diaria puesta a las 9:00 a.m. corre a esa hora desde entonces.

`Activar` en una programación pausada funciona igual y deja la próxima corrida a un ciclo completo. Pulsa `Ejecutar ahora` si no quieres esperarla.

Una programación por intervalo cuenta desde cuando le tocaba, no desde cuando terminó, así que una corrida de 4 minutos no empuja la siguiente 4 minutos más tarde.

## Cuando algo falla

### Los cuatro estados

La columna `Estado` de la tabla de programaciones tiene cuatro respuestas.

| Estado | Qué significa |
| --- | --- |
| `Activa` | Corriendo con sus propios tiempos, y la última corrida entregó su archivo |
| `Pausada` | La apagaste. No corre nada |
| `Error` | La última corrida no pudo obtener el archivo. Lo intenta de nuevo en la siguiente |
| `Desactivada` | Fallaron 5 corridas seguidas, así que el Repricer la detuvo |

`Error` es una sola corrida mala y se limpia solo en cuanto una buena pasa. `Desactivada` te necesita: pulsa `Activar` en la fila, que limpia el conteo y la echa a andar de nuevo.

### Una programación que se detuvo sola

Una corrida que no puede obtener el archivo cuenta como falla, y 5 seguidas es lo que apaga una programación. Eso son unas 5 horas en una programación de cada hora y 5 días en una diaria. Un proveedor que mueve un archivo un lunes puede dejarte una programación `Desactivada` para el viernes.

La fila no te dice cuál de las 5 salió mal. Abre la programación, ve a `Origen` y pulsa `Siguiente`: el Repricer descarga el archivo mientras lo miras, y el mensaje que da es el mismo que recibió la corrida. Revisa esto en orden.

| Qué revisar | Cómo |
| --- | --- |
| Que la dirección siga sirviendo | Pégala en una pestaña del navegador. Debería descargarse un archivo |
| Que abra sin iniciar sesión | Pruébala en una ventana privada |
| Que el archivo siga siendo CSV o Excel | Una dirección que responde con una página web es la causa más común |
| Que las columnas sigan con los mismos encabezados | La vista previa de `Mapear columnas` te muestra lo que el Repricer lee hoy |
| Que pese menos de 250 MB | Mira el tamaño del archivo donde lo descargas |

Arregla la programación, pulsa `Actualizar` y después pulsa `Activar` en la fila.

### Mensajes de error

| Mensaje | Qué hacer |
| --- | --- |
| `Por favor, ingresa una URL válida.` | A la dirección le falta el esquema. Empiézala con `http://` o `https://` |
| `Esa URL apunta a una dirección restringida.` | La dirección está dentro de una red privada. Usa una que abra desde cualquier lado |
| `La solicitud agotó el tiempo de espera. Verifica que la URL sea accesible.` | El servidor tardó demasiado. Intenta de nuevo, y después revísala en el navegador |
| `No se pudo descargar el archivo. Verifica que la URL sea accesible.` | Nada respondió en esa dirección |
| `El servidor devolvió un error (404 Not Found).` | La dirección es correcta y el archivo no está ahí. El estado es el que dio tu propio servidor |
| `El archivo supera el límite de tamaño de 250 MB.` | Parte el archivo, o publica uno más chico |
| `El archivo no contiene datos.` | El archivo se descargó y venía sin filas |
| `La primera fila del archivo está vacía.` | Borra las filas vacías que están arriba de tus encabezados |
| `Ese host apunta a una dirección restringida.` | Tu `Host` está dentro de una red privada |
| `La conexión falló: {message}.` | El servidor no aceptó la conexión. El mensaje es el que dio el servidor |
| `El archivo descargado está vacío.` | La ruta es correcta y el archivo no tiene nada |
| `Algunos campos no son válidos. Revísalos e inténtalo de nuevo.` | El diálogo te lleva al paso que tiene el problema |
| `No se pudo crear la programación. Inténtalo de nuevo.` | No se guardó nada. Pulsa `Guardar` otra vez |
| `Programación no encontrada o sin acceso.` | Alguien la eliminó mientras tenías la tabla abierta. Recarga la página |
| `No tienes permiso para ejecutar programaciones.` | Tu rol está por debajo de `Gerente` |

## A dónde ir después

<Columns cols={2}>
  <Card title="Importaciones" icon="upload" href="/es/repricer/uploads/imports">
    El mismo archivo subido por ti, y donde cada corrida programada reporta qué cambió.
  </Card>

  <Card title="Costo, comisiones y ganancia" icon="receipt" href="/es/repricer/listings/costs-and-fees">
    Qué hace el Repricer con el costo que le manda una programación.
  </Card>

  <Card title="Cómo se decide un precio" icon="route" href="/es/repricer/how-pricing-works">
    Dónde entran tus precios mínimo y máximo en el cálculo.
  </Card>

  <Card title="Exportaciones" icon="download" href="/es/repricer/uploads/exports">
    Tus datos de precios en el sentido contrario, hacia un archivo que descargas.
  </Card>
</Columns>
