$ Price Bulk Editor
Funcionalidades

Todo lo que hace Price Bulk Editor, en detalle.

Construido en torno a cuatro garantías: previsualizas antes de confirmar, siempre puedes hacer rollback, ves el progreso en vivo y tus reglas de filtrado son lo bastante precisas para excluir exactamente lo que necesitas.

01 · Vista previa

Simula cada tarea antes de confirmarla.

El desastre más habitual con un editor masivo es lanzar un trabajo que afecta a más SKU de los esperados. La simulación muestra el resultado completo sin tocar Shopify: qué productos coinciden con tu filtro, qué variantes cambiarían, cuál sería el nuevo precio y qué elementos fallarían la validación.

  • Diff lado a lado anterior → nuevo por variante
  • Avisos de validación (precio negativo, compare-at ausente, etc.)
  • Recuento de SKU + estimación del delta total de ingresos
  • Exportable en CSV para validación de stakeholders
Resultado de simulación · summer-sale-25 Sin confirmar
filter: tag=summer-sale AND vendor=Outdoor
matched: 2,481 SKUs across 412 products
action: −25% off compare-at, floor $9.99

variant         was       now       Δ
SUM-TEE-S       $39.00    $29.25    −$9.75
SUM-TEE-M       $39.00    $29.25    −$9.75
SUM-CAP-OS      $24.00    $18.00    −$6.00
… 2,478 more rows

WARNINGS (3):
  SUM-LEGGINGS-XL — would price below floor; skipped
  SUM-PACK-A      — missing compare-at; skipped
  SUM-SOCKS-L     — currently archived; skipped

estimated revenue delta over 7 days: −$48,210
Risk warnings 8 typed rules · pure math · zero AI

Every dry-run runs the same eight rule checks the executor runs at commit time — except no products get touched. Each warning carries a severity so you know what's catastrophic vs. just worth noticing.

High
  • Price below cost. The new price is under the Shopify cost-per-item. Margin would turn negative.
  • Price goes negative. The action produces a negative price. Hard reject.
  • Sign error suspected. The median delta contradicts the action sign (e.g. you said "decrease" but the math goes up). Often a missing minus sign.
Medium
  • Missing compare-at. You asked for percent off compare-at, but the variant has none. Skipped.
  • Archived product. The product is archived on Shopify. Skipped — you probably didn't mean to discount it.
  • Variant without cost. Margin pricing rule, but the variant has no cost on Shopify. Skipped.
  • Price outlier. The new price is more than two standard deviations from the median. Worth a second look.
Low
  • Low inventory. The variant has fewer than five units in stock. Informational — you may not want to feature it.
Registro de auditoría · tarea #4218 Snapshot v1
  • 2026-06-14 09:00 creada snapshot de 2,481 variantes
  • 2026-06-14 09:01 aplicar −25 % compare-at, 2,478 con éxito, 3 omitidas
  • 2026-06-21 23:59 rollback snapshot reproducido, 2,478/2,478 restauradas
02 · Rollback

Rollback basado en snapshot que sí se completa.

Antes de cada tarea, registramos el precio anterior y el compare-at de cada variante objetivo. El rollback reproduce ese snapshot, no es matemática de "aplicar el porcentaje inverso", que arrastra errores de redondeo y no puede recuperarse de ediciones externas durante la rebaja.

  • Restauración exacta por variante, incluido el compare-at
  • Idempotente: seguro ante reintentos si Shopify aplica rate limit
  • Reanudable si se interrumpe a mitad del rollback
  • Snapshots por mercado restaurados de forma independiente
03 · CSV

Importación CSV para precios arbitrarios por SKU.

Cuando la lógica de precios no encaja en una regla (precios de contrato de un mayorista, lista puntual de liquidación de finanzas), importa un CSV con tus SKUs y el nuevo precio absoluto. Se aplica el mismo flujo de simulación + rollback.

  • Columnas: sku (recomendado) o variant_id, más new_price. Opcional: new_compare_at_price.
  • Hasta 5.000 filas por archivo
  • Validación de simulación fila a fila antes de confirmar
  • El registro de auditoría conserva el CSV original
sku,new_price,new_compare_at_price
SUM-TEE-S,29.25,39.00
SUM-TEE-M,29.25,39.00
SUM-CAP-OS,18.00,24.00
SUM-PACK-A,49.00,69.00
SUM-HOODIE-L,54.00,
… up to 5,000 rows per file
04 · Segmentación

Filtros por etiqueta, colección y atributos.

Filtra el catálogo con cualquier combinación de etiqueta, colección, proveedor, tipo de producto, franja de precio o nivel de inventario. Los filtros de variantes añaden patrones de SKU y valores de opciones.

A nivel de producto

  • tag = "summer-sale"
  • collection ∈ "Outdoor", "Hiking"
  • vendor != "Discontinued"
  • price BETWEEN $20 AND $80

A nivel de variante

  • sku STARTS_WITH "SUM-"
  • option.size IN "S", "M"
  • inventory_quantity > 0
  • compare_at IS NOT NULL

Exclusión

  • NOT tag = "new-arrival"
  • NOT sku IN [subir lista]
  • NOT vendor = "Brand X"
  • NOT product_type = "Gift Card"
05 · Mercados

Precios por mercado para Shopify Markets.

Aplica un precio distinto, un porcentaje de descuento o una regla de redondeo por mercado. Define precios absolutos para EE. UU., un porcentaje sobre la base de la UE y un redondeo a .95 para Suiza, todo en una sola tarea. El estado anterior de cada mercado se guarda en un snapshot independiente.

Mercado Regla Redondeo Mínimo
US −25 % del compare-at .99 $9.99
EU −20 % de la base .00 €10.00
CH CHF fijo .95 CHF 14.95
UK −25 % del compare-at .99 £8.99
06 · Automatización

Reglas recurrentes: defínelas una vez, se ejecutan siempre.

Flash Friday cada semana, liquidación mensual el día 1, rollback automático al final de temporada el 22 de septiembre. Cada ejecución genera un snapshot nuevo, de modo que cada recurrencia es reversible de forma independiente.

Semanal

Flash Friday a las 09:00 CET

Cada viernes a las 09:00, aplica −20 % a tag="flash-friday". Rollback automático el domingo a las 23:59. Se rota con los SKU etiquetados en cada momento.

Mensual

Liquidación de fin de mes

El último día de cada mes, fija el precio en coste × 1,1 para el inventario con más de 90 días. Rollback el lunes siguiente.

07 · Registro de auditoría

Historial completo de cada cambio, exportable a CSV.

Cada acción —tarea creada, simulación revisada, confirmación, rollback, recurrencia disparada— se registra con el usuario, la marca temporal, la IP y el payload completo. Filtra por fecha, usuario o SKU afectado; exporta a CSV para finanzas, solicitudes RGPD de datos o auditorías internas.

Retención: desde 30 días en Free hasta 5 años en Scale, según el plan.

2026-06-14T09:00Z  marie@store.com  task.create     "Summer Sale 25%"
2026-06-14T09:00Z  marie@store.com  task.dry_run    matched=2481
2026-06-14T09:01Z  marie@store.com  task.commit     succeeded=2478 skipped=3
2026-06-14T09:18Z  system           task.complete   duration=1041s
2026-06-21T23:59Z  system           task.rollback   restored=2478 of 2478
2026-06-22T08:14Z  cfo@store.com    audit.export    period=2026-06 format=csv
08 · Reglas de margen

Precios basados en margen y coste.

Fija el precio como coste × multiplicador, apunta a un porcentaje fijo de margen o aplica un markup por franjas de precio. Combínalo con reglas de redondeo (siempre .99, siempre .95, etc.) y mínimos de margen.

  • Lectura del coste desde el coste por artículo del inventario de Shopify
  • Mínimo por margen (p. ej. siempre ≥ 40 %)
  • Franjas por precio (markup 1,4× por debajo de $20, 1,6× por encima)
SKU Coste Regla Nuevo precio Margen
SUM-TEE-S$11.20×1.6 → .99$17.9937.7%
SUM-CAP-OS$5.40×1.8 → .99$9.9946.0%
SUM-PACK-A$22.50×1.4 → .99$31.9929.7%
SUM-JKT-L$48.00×1.4, min 35%$73.9935.1%
09 · Drift detection Unique

Catch the manual edit that broke your sale.

Once a campaign is live, anything else that touches a product price — a teammate fixing a typo, an inventory-sync app, a Shopify Flow rule — silently drifts the catalog away from the snapshot the rollback expects. We listen on the Shopify products/update webhook and surface every drift as an alert with the variant, the campaign, the price we wrote, and the price that's there now. Acknowledge it or roll it back; either way, no surprises when the sale ends.

  • Webhook-driven — fires within seconds of the manual edit
  • Idempotent per (variant, campaign, observed-price); Shopify retries can't dupe
  • Inline list + nav banner counter, polled every 30 seconds
  • Drift caught here keeps the rollback contract honest

We checked the App Store listings of seven direct competitors in May 2026. None advertise drift detection.

Drift alerts · summer-sale-25 3 NEW
2026-06-15 14:22  variant SUM-TEE-S
                  campaign price $29.25  →  observed $29.99
                  source: products/update webhook
                  status: NEW                         [acknowledge]

2026-06-15 16:08  variant SUM-CAP-OS
                  campaign price $18.00  →  observed $24.00
                  source: products/update webhook
                  status: NEW                         [acknowledge]

2026-06-16 09:41  variant SUM-PACK-A
                  campaign price $49.00  →  observed $52.00
                  source: products/update webhook
                  status: ACKNOWLEDGED
                  by: marie@store.com on 2026-06-16 10:02
10 · Self-healing Unique

Your campaigns don't get stuck. Guaranteed.

Most "my BFCM is frozen" support tickets in this category have the same root cause: the worker chain that drives a bulk operation lost a message, a deploy interrupted mid-run, or Shopify's bulk API briefly hiccupped. We run three independent recovery layers so the operator never sees a campaign stuck in RUNNING for hours without a path forward.

In-process

Status-progress recovery

The progress-polling handler self-heals during normal operation — if Shopify shows a bulk operation we don't know about (or vice versa) it reconciles before the merchant ever notices.

Every 15 minutes

Stuck-message scanner

A cron sweep finds tasks that are READY past run_at, RUNNING with no progress, or fully applied but still mid-flight; either resets a stuck Messenger row for redelivery or re-dispatches the right TaskMessage. No Shopify API calls — fast and cheap.

Hourly

Shopify reconciliation

When the cheap fixes fail, an hourly cron asks Shopify directly: "what's the real status of bulk operation X?" Shopify's answer wins; our local state conforms to it. Orphans get marked, completions get acknowledged, failures get surfaced with the Shopify error code.

The three layers were ported from a sister BigCommerce app where they've run in production for two years. Every recovery decision lands in the audit log so support can reconstruct what happened later.

Stuck campaigns are the #1 complaint cited in reviews of competing apps. We made it the failure mode we engineer against, not the one we apologize for.

Empieza ya

Prueba el flujo con tu propio catálogo.

Instala gratis en Shopify, lanza una simulación contra tu tienda y decide después. El plan gratuito gestiona 100 ediciones de SKU al mes, suficiente para validarlo antes de pagar nada.

Plan gratuito · Sin tarjeta de crédito · 5 días de prueba en Growth y Scale · Ahorra un 30 % con facturación anual