Importa desde una hoja de cálculo
Carga tu menú, tus artículos de inventario y tus recetas desde un archivo CSV: las columnas, la revisión antes de guardar y lo que se crea.
En esta página
Configuración › Importar carga tu menú, tus artículos de inventario y tus recetas desde una hoja de cálculo. Cada importación se revisa primero y te muestra, fila por fila, qué haría antes de guardar nada. Las importaciones solo agregan: un producto o artículo que ya existe con el mismo nombre, o un ingrediente que ya está en la receta, se omite y nunca se modifica. Para traer tu historial de ventas de TouchBistro, ve Importa tu historial de TouchBistro.
Quién puede hacerlo: los administradores. La pestaña Importar, y el botón Importar de Menú › Productos, solo los ven los administradores.
Importa una hoja de cálculo
- En la oficina (app.barformpos.com), ve a Configuración › Importar (o haz clic en Importar en Menú › Productos). La página dice "Carga el menú, los artículos de inventario y las recetas desde una hoja de cálculo. Cada importación se revisa primero y te muestra qué haría, fila por fila, antes de guardar nada."
- Elige la pestaña: Menú (abre primero), Artículos de inventario o Recetas. Si empiezas desde cero, impórtalas en ese orden: las recetas necesitan que ya existan los productos y los artículos.
- Opcional: haz clic en Descargar plantilla. Te baja la fila de encabezados y dos filas de ejemplo. El recuadro Columnas, abajo del importador, explica cada columna.
- Llena la hoja y guárdala como CSV. En Excel, elige "CSV UTF-8". Los archivos .xlsx de Excel no se aceptan.
- Haz clic en Elige un CSV y escoge el archivo (.csv o .txt), o pega las filas en el recuadro: "O pega aquí las filas, con el encabezado primero:".
- Haz clic en Revisar archivo. El resultado dice "Aún no se ha guardado nada." Muestra etiquetas como 12 por importar, 3 ya estaban y 1 con problemas, los avisos que haya y una tabla con la Línea, la Fila y Qué sucede con cada una.
- Si algunas filas tienen problemas: "Las filas con problemas se omiten; las demás sí se importan. Corrígelas en el archivo y vuelve a revisar si quieres incluirlas." Corrige el archivo y revísalo otra vez, o sigue adelante.
- Haz clic en Importar {count} fila(s). El botón solo aparece después de una revisión que encontró al menos una fila por importar, y desaparece en cuanto cambias el texto o eliges otro archivo.
- El resultado muestra cuántas filas se importaron, con "Se importaron {created}." o "Se importaron {created}, {failed} fallaron."
- Para empezar de nuevo, haz clic en Limpiar.
Importante
Estas importaciones no se pueden deshacer. Revisa con calma el resultado de la revisión antes de hacer clic en Importar.
Los artículos y las recetas que importes se administran en Inventario y en Menú › Recetas, que vienen con los planes que incluyen inventario (Planes y facturación).
Cómo se lee el archivo
- Separador: coma, punto y coma o tabulador, según lo que más aparezca en la fila de encabezados. Los archivos que guarda Excel en español, separados por punto y coma, funcionan.
- Comillas: un valor que contiene el separador, comillas o un salto de línea va entre comillas dobles. Una comilla dentro de un valor se escribe doble ("").
- Codificación: UTF-8. Un archivo guardado con otra codificación muestra mal los acentos.
- Las líneas vacías se saltan. Una fila que solo tiene separadores —lo que escribe una hoja de cálculo para una fila vacía— se revisa como cualquier otra, se rechaza y se omite.
- Una fila con menos celdas que el encabezado lee las que faltan como vacías. Una con más se rechaza: "Esta fila tiene {cells} columnas y el encabezado {header}. Seguramente un valor contiene un «{delimiter}» y hay que ponerlo entre comillas."
- Encabezados: las columnas pueden ir en cualquier orden. No importan mayúsculas, espacios, guiones ni acentos ("Unit Cost" se lee como unit_cost). Cada columna también reconoce los nombres en español de las tablas de abajo, y un aviso dice qué se leyó como qué, por ejemplo: Se leyó «producto» como name, «precio» como price. Si un archivo trae nuestro nombre y uno en español para la misma columna, gana el nuestro y el otro se ignora. Las columnas que Barform no conoce se ignoran sin aviso.
- Línea, en el resultado, es la línea del archivo, contando el encabezado como línea 1: el número de fila que muestra Excel, salvo que una celda tenga un salto de línea.
- Hasta 2,000 filas por archivo.
- Los nombres se comparan sin importar mayúsculas ni espacios al principio o al final, pero los acentos sí cuentan: "Limon" no es "Limón". Los productos, artículos y categorías archivados no cuentan.
- Importar vuelve a revisar el archivo en el momento en que haces clic, así que cualquier cambio desde la revisión —alguien que agregó el mismo producto a mano, por ejemplo— se detecta ahí.
- Una importación no es de todo o nada. Si una fila falla al importar, las demás sí se guardan y el resultado dice cuál falló.
Si el archivo no se puede leer
- "El archivo está vacío."
- "La primera fila debe ser la fila de encabezados."
- "El encabezado tiene dos columnas «{column}». Quita una."
- "Al archivo le faltan {what}: {missing}. Se esperaban: {expected}."
- "El archivo tiene encabezado pero ninguna fila."
- "Son {rows} filas; el límite es {limit} por importación. Divide el archivo."
- "No se pudo leer el archivo.": también sale cuando unas comillas nunca se cierran.
Importa el menú
Agrega productos nuevos, cada uno con su categoría y su precio, y si quieres un nombre en español, una descripción, un SKU y grupos de modificadores. Las categorías y los grupos de modificadores que todavía no existen se crean. Los productos que ya existen nunca se modifican. La pestaña dice: "Agrega productos al menú. Las categorías y los grupos de modificadores se buscan por nombre; lo que no exista se muestra en la vista previa antes de crearse."
| Columna | Obligatoria | También se lee como | Qué poner |
|---|---|---|---|
| name | Sí | producto, product, nombre, articulo, bebida, item | El nombre del producto como aparecerá en el iPad. Hasta 120 caracteres. |
| name_es | No | nombre_es, nombre_espanol | El nombre en español. |
| description | No | descripcion, detalle, notas | Una descripción, que se ve en el menú para clientes. |
| sku | No | clave, codigo, codigo_producto | La clave del producto. |
| category | Sí | categoria, familia, grupo, family, linea | El nombre de una categoría. Se crea si no existe. Hasta 120 caracteres. |
| price | Sí | precio, precio_venta, pvp, importe | En pesos: 180, 180.50, 1,500.00 o 180,50; el signo $ no estorba. De $0 a $1,000,000. |
| modifier_groups | No | modificadores, grupos_modificadores, grupos_de_modificadores | Nombres de grupos separados por punto y coma (también sirve una coma o una barra vertical), p. ej. Hielo; Guarnición. Los que no existan se crean. Hasta 120 caracteres cada uno. |
Qué hace la importación del menú
- "Un producto cuyo nombre ya existe se omite, nunca se sobrescribe." Su fila dice "Ya existe un producto con este nombre — se dejó sin tocar." Solo cuentan los productos vigentes: una fila con el nombre de un producto archivado crea un producto nuevo.
- La revisión muestra cada fila con su categoría y su precio, "(nueva)" después de una categoría que se va a crear, y cuántos grupos de modificadores lleva.
- Antes de importar, unos avisos dicen qué se va a crear, como "Se crearán 2 categoría(s): …" y "Se crearán 3 grupo(s) de modificadores: …". Solo se crean las categorías y los grupos que aparecen en filas que sí se importan, cada uno una vez y escrito como aparece la primera vez.
- Las categorías y los grupos se buscan por nombre, sin importar mayúsculas ni espacios en las orillas. Un grupo repetido en la misma fila cuenta una vez.
- Las categorías nuevas quedan al final de tu lista de categorías, sin color, con Sin ticket (no imprimen comanda) y visibles en el menú para clientes.
- Los grupos de modificadores nuevos se crean vacíos —sin opciones— como grupos opcionales donde el cliente elige como máximo una. Agrégales sus opciones en Menú › Modificadores (Modificadores). Quedan entre tus primeros grupos.
- Los productos importados quedan a la venta al instante y llegan a todos los iPads en cerca de un segundo. Quedan después de tus productos actuales, en el orden del archivo, sin imagen y con Mostrar en el menú para clientes encendido.
- Al terminar, cada fila dice "Creado." o "Creado con {count} grupo(s) de modificadores."
- Si las categorías o los grupos nuevos no se pueden crear, no se importa ningún producto: "No se pudieron crear las categorías nuevas: {error}" o "No se pudieron crear los grupos de modificadores nuevos: {error}". (Las categorías que se crearon antes de que fallara un grupo se quedan.)
- Si los productos se crean pero no se les pueden asociar sus grupos, los productos se quedan: "Se creó, pero no se pudieron asociar sus grupos de modificadores: {error}".
Filas del menú que se rechazan
- "El nombre es obligatorio." · "El nombre tiene más de 120 caracteres."
- "La categoría es obligatoria." · "El nombre de la categoría tiene más de 120 caracteres."
- "El precio «{price}» no es un número.": también para un precio negativo o uno escrito 1.234,50. · "El precio supera el límite de {limit}."
- "El nombre del grupo «{name}» tiene más de 120 caracteres."
- El mismo nombre dos veces en un archivo: la segunda fila se rechaza con "El mismo nombre aparece en la línea {line}. Quita uno."
La importación del menú no modifica productos que ya existen —para eso usa el propio producto, o la actualización de precios en bloque de Precios— y no puede poner imagen, el interruptor de trago personalizado, la disponibilidad, ni el color, la impresora o el menú para clientes de una categoría nueva.
Importa artículos de inventario
Agrega artículos de inventario nuevos, cada uno con su categoría, su unidad y su costo unitario, y si quieres un nombre en español, SKU, código de barras, presentación, nivel par, punto de reorden, proveedor y existencia inicial. Los proveedores que todavía no existen se crean. Los artículos que ya existen nunca se modifican. La pestaña dice: "Agrega artículos de inventario. Las cantidades iniciales se registran como movimiento, así que aparecen en el historial como cualquier otro cambio."
| Columna | Obligatoria | También se lee como | Qué poner |
|---|---|---|---|
| name | Sí | articulo, insumo, producto, nombre, item | El nombre del artículo. Hasta 120 caracteres. |
| name_es | No | nombre_es, nombre_espanol | El nombre en español. |
| sku | No | clave, codigo | La clave del artículo. |
| barcode | No | codigo_barras, codigo_de_barras | Uno o más códigos de barras, de 6 a 64 letras o números cada uno, separados por comas o punto y coma. |
| category | Sí | categoria, familia, tipo | Una de spirit, beer, wine, mixer, garnish, food o consumable (con mayúsculas o sin ellas). |
| unit | Sí | unidad, medida | Cómo se almacena: oz, ml, each o g. |
| unit_cost | Sí | costo, costo_unitario, precio, precio_unitario | El costo de UNA unidad en pesos: por ml, por oz, por g o por pieza. Por ejemplo, 0.3853 por ml para una botella de 750 ml que cuesta $289. 1,500.50, 0,385 y el signo $ funcionan. |
| container_size | No | presentacion, envase, tamano, contenido | Texto libre, p. ej. botella de 750 ml. |
| par_level | No | par, nivel_par, maximo | Cuánto quieres tener, en la unidad. Por defecto 0. |
| reorder_point | No | punto_reorden, reorden, minimo | A partir de cuánto se considera bajo, en la unidad. Por defecto 0. |
| supplier | No | proveedor | El nombre de un proveedor. Se crea si no existe. Hasta 120 caracteres. |
| opening_qty | No | existencia, existencias, inventario_inicial, cantidad_inicial, stock | Lo que tienes hoy, en la unidad. Por defecto 0. |
El nivel par, el punto de reorden y la existencia inicial leen los números como la oficina: 1,500 es mil quinientos, y 2,5 es dos y medio. Una cifra que podría ser cualquiera de las dos, como 1,50.0, se rechaza con el mensaje del rango de esa columna en lugar de adivinarla.
Qué hace la importación de artículos
- "Un artículo cuyo nombre ya existe se omite, nunca se sobrescribe." Su fila dice "Ya existe un artículo con este nombre — se dejó sin tocar." Solo cuentan los artículos vigentes.
- La categoría y la unidad tienen que ser uno de los códigos en inglés de arriba; nunca se crean. Palabras en español como destilado o pza se rechazan.
- El costo unitario se guarda como el costo del artículo, y como su último precio pagado hasta que una entrega diga otra cosa. Ve Artículos y existencias.
- El nivel par, el punto de reorden y la existencia inicial van de 0 a 1,000,000. La existencia inicial se redondea a tres decimales.
- La existencia inicial se registra como un movimiento con el motivo Corrección de conteo, a tu nombre, así que aparece en Inventario › Actividad. Si no se puede registrar, el artículo no se conserva: "No se pudo registrar la existencia inicial, así que el artículo no se conservó: {error}".
- Los códigos de barras se agregan cuando el artículo ya existe, con las mismas reglas que la página de Artículos. Un código inválido u ocupado solo pierde el código, nunca el artículo, y un aviso dice la línea: por ejemplo "Línea {line}: {code} ya está en {item}, así que no se agregó."
- Los pesos de botella se llenan con el catálogo compartido de Barform cuando un artículo coincide: "Se rellenaron {n} peso(s) de botella del catálogo compartido — revísalos en Artículos."
- Los proveedores nuevos se crean con su nombre y con Sus precios incluyen IVA igual que Los precios al recibir incluyen IVA de tu sucursal, en Configuración › Sucursal. Antes de importar: "Se crearán {count} proveedor(es): {names}."
- La revisión muestra cada fila con su categoría, unidad y costo, y su existencia inicial o "sin existencia inicial". Al terminar, cada fila dice "Creado." o "Creado con {qty} {unit} de existencia inicial."
- La presentación se guarda tal como la escribiste; la importación no crea tamaños del artículo.
Filas de artículos que se rechazan
- "La categoría debe ser una de: {allowed}." · "La unidad debe ser una de: {allowed}."
- "El costo unitario «{cost}» no es un número.": también para un costo negativo. · "El costo unitario supera el límite de {limit}."
- "El nivel par «{value}» debe ser un número entre 0 y 1,000,000.", y lo mismo para el punto de reorden y la cantidad inicial.
- "El nombre del proveedor tiene más de 120 caracteres."
- El mismo nombre dos veces en un archivo: "El mismo nombre aparece en la línea {line}. Quita uno."
- Si los proveedores nuevos no se pueden crear, no se importa ningún artículo: "No se pudieron crear los proveedores nuevos: {error}".
La importación de artículos no puede poner tamaños, pesos ni si el artículo está activo, y no modifica artículos que ya existen.
Importa recetas
Arma recetas con una fila por ingrediente: las filas que nombran el mismo producto forman la receta de ese producto. Agrega ingredientes a una receta que ya existe, pero nunca cambia ni quita uno que ya esté. La pestaña dice: "Una fila por ingrediente. Las filas con el mismo producto arman su receta, así que importa primero el menú y los artículos."
| Columna | Obligatoria | También se lee como | Qué poner |
|---|---|---|---|
| product | Sí | producto, bebida | El nombre de un producto que ya existe. |
| item | Sí | insumo, articulo, ingrediente | El nombre de un artículo de inventario que ya existe. |
| quantity | Sí | cantidad, qty | Cuánto usa la receta de ese artículo: para todo el lote cuando yields es mayor que 1. Mayor que 0, hasta 1,000,000. |
| unit | Sí | unidad, medida | oz, ml, each, dash o g. Tiene que medir lo mismo que la unidad del artículo. |
| yields | No | rendimiento, porciones | Porciones por lote: un número entero del 1 al 10,000. Por defecto 1. Debe ser igual en todas las filas del producto. |
| notes | No | notas, nota, observaciones | Notas de la receta (no de la línea). |
La cantidad y el rendimiento leen los números como la oficina: 1,000 es mil, y 1,5 es uno y medio. Una cifra que podría ser cualquiera de las dos se rechaza en lugar de adivinarla.
Qué hace la importación de recetas
- No se crean ni productos ni artículos: "No hay ningún producto llamado «{name}». Importa primero el menú, o corrige la escritura." y "No hay ningún artículo llamado «{name}». Importa primero los artículos, o corrige la escritura."
- Las unidades se comparan por lo que miden: oz, ml y dash miden volumen, g mide peso y each cuenta piezas. Una línea cuya unidad no puede medir el artículo se rechaza: "Una cantidad en «{unit}» ({dimension}) no puede medir «{item}», que se almacena en «{itemUnit}» ({itemDimension}). Usa una unidad de {suggest}."
- "Un insumo que ya está en la receta se omite. Una receta existente conserva su rendimiento y sus notas." Su fila dice "Ya es ingrediente de esta receta — se dejó sin tocar." El mismo artículo dos veces para un producto en el archivo se rechaza: "Este insumo ya está en la receta de este producto en la línea {line}. Quita uno."
- Una receta nueva toma su rendimiento del archivo (1 si está vacío) y sus notas de la primera fila de ese producto que tenga notas, hasta 2,000 caracteres.
- La revisión muestra cada fila con su cantidad y unidad, más "receta nueva" o "agregado a la receta existente". Al terminar: "Se agregó {qty} {unit}."
- En cuanto un producto tiene receta, cobrar una cuenta con él descuenta sus ingredientes del inventario. Ve Recetas y destilados de la casa.
Filas de recetas que se rechazan
- "El producto es obligatorio." · "El insumo es obligatorio."
- "La cantidad «{qty}» no es un número." · "La cantidad debe ser mayor que cero." · "La cantidad supera el límite de 1,000,000."
- "La unidad debe ser una de: {allowed}."
- "El rendimiento «{value}» debe ser un número entero entre 1 y 10,000." · "El rendimiento es {here} aquí pero {there} en la línea {line}. Deben coincidir."
- Si una receta no se puede crear, fallan todas sus filas: "No se pudo crear la receta: {error}".
La importación de recetas no puede poner las opciones de línea de Menú › Recetas, como las sustituciones y los destilados de la casa: ponlas en Menú › Recetas.