Importar desde CSV o Excel
La vía de importación sin IA y sin créditos: subes una hoja de cálculo, mapeas las columnas y AreaCacao crea o actualiza tus recetas en lote.
Qué es
Importar desde CSV o Excel convierte una hoja de cálculo en recetas de AreaCacao. Tú preparas el archivo, tú decides qué significa cada columna, y el importador crea (o actualiza) las recetas. No interviene ninguna IA en la lectura del archivo y no se consumen créditos.
- Ruta:
https://app.areacacao.com/import-recipe, pestaña Subir nuevo. - Cómo se llega: barra lateral → FORMULACIÓN → Importar recetas → pestaña Subir nuevo. La tarjeta está debajo de la zona de subida de fotos/PDF.
- Disponibilidad: activa por defecto para cualquier usuario con cuenta. No hay restricción por plan.
En qué se diferencia de importar una foto o un PDF
| CSV / Excel | Foto o PDF | |
|---|---|---|
| Lectura del archivo | Determinista: tus columnas, tu mapeo | La IA interpreta la imagen |
| Créditos | 0 | ~15 por imagen, ~25 por PDF |
| Límite de uso | Sin límite de uso (sí hay un límite técnico de frecuencia, ver abajo) | Limitado por tu saldo de créditos |
| Varias recetas por archivo | Sí, todas las que quepan en la hoja | Una por archivo |
| Quién decide el significado de cada dato | Tú, en el paso de mapeo | La IA, y tú corriges después |
La única parte donde puede intervenir la IA es opcional y la eliges tú: autocompletar los ingredientes que no existan en tu catálogo (ver la sección Ingredientes que no casan con el catálogo, más abajo).
La tarjeta y sus dos botones
La tarjeta se titula «CSV o Excel (sin créditos)» y su texto es: «Importa tus recetas desde una hoja de cálculo. No consume créditos y sin límite de uso. Importa una o varias recetas a la vez.»
Tiene dos botones y un desplegable:
- Importar CSV/Excel — abre el asistente.
- Descargar plantilla — descarga el archivo directamente, sin pasar por el servidor.
- Guía rápida: cómo preparar tu archivo — un desplegable con las reglas de llenado y la lista de valores válidos de
filling_type.
Si la tarjeta no aparece en tu pantalla, la funcionalidad está apagada desde infraestructura (bandera RECIPE_IMPORT_CSV_ENABLED). Está encendida por defecto: sólo se apaga si vale explícitamente false.
La plantilla
El botón Descargar plantilla genera plantilla-recetas-areacacao.csv en tu equipo. Es un CSV con BOM UTF-8 (para que Excel respete los acentos) y trae la cabecera canónica más tres recetas de ejemplo, elegidas para enseñar los tres patrones que el importador entiende:
- Ganache de maracuyá — relleno simple: cuatro filas comparten
recipe_name, y la última lleva los pasos. - Trufa clásica de cacao — relleno con capas: la columna
partsepara «Interior» de «Rebozado». - Tableta 70% cacao — receta de chocolate: usa
chocolate_typeycocoa_percent, y dejafilling_typevacío.
No estás obligado a usar la plantilla: puedes importar tu propia hoja con tus propias cabeceras y decirle en el paso de mapeo qué es cada columna.
Columnas
La plantilla trae 16 columnas, en este orden:
recipe_name, recipe_type, chocolate_type, filling_type, cocoa_percent, part, ingredient_code, ingredient_name, quantity, unit, weight_g, cost_per_unit, cost_currency, is_supply, supply_code, steps
En el asistente puedes mapear 18 campos: los 16 de la plantilla más recipe_id (ID de la receta) y cost_unit (Unidad de coste), que existen como destino de mapeo aunque no vengan en la plantilla.
| Campo | Etiqueta en el asistente | Para qué sirve |
|---|---|---|
recipe_name | Nombre de la receta | Único campo obligatorio. Agrupa las filas: varias filas con el mismo nombre forman una sola receta. |
recipe_id | ID de la receta | Actualiza una receta existente en lugar de crear una nueva. |
recipe_type | Tipo de receta | Valores aceptados: chocolate, filling, relleno. Cualquier otro valor (o vacío) se trata como generic. |
chocolate_type | Tipo de chocolate | Sólo para recetas de chocolate. |
filling_type | Tipo de relleno | El tipo técnico del relleno; habilita la validación por rangos. |
cocoa_percent | % de cacao | Porcentaje de cacao de la receta. |
part | Parte / sección | Separa capas o secciones dentro de la misma receta. |
ingredient_code | Código de ingrediente | Vincula la fila a una ficha exacta de tu catálogo. |
ingredient_name | Nombre de ingrediente | Se usa para buscar por nombre cuando no hay código. |
quantity | Cantidad | Cantidad del ingrediente. |
unit | Unidad | Unidad de la cantidad. |
weight_g | Peso (g) | Peso en gramos. Si lo dejas vacío, se intenta convertir desde cantidad + unidad. |
cost_per_unit | Coste por unidad | Coste unitario de la línea. |
cost_unit | Unidad de coste | Unidad a la que se refiere el coste. |
cost_currency | Moneda | Moneda del coste. |
is_supply | Es insumo | Marca la fila como insumo (material no comestible). |
supply_code | Código de insumo | Vincula la fila a un insumo de tu catálogo por código. |
steps | Pasos / elaboración | Todos los pasos en una sola celda, separados por el carácter barra vertical. |
Cómo se agrupan las filas
Las filas se agrupan por recipe_name normalizado: minúsculas, sin tildes y con los espacios internos colapsados. Es decir, «Ganache de Maracuyá» y «ganache de maracuya» acaban en la misma receta.
Reglas de llenado que el importador aplica
- Un ingrediente por fila. No escribas la lista completa de ingredientes en una sola celda: el importador no puede separarla.
- Pasos con
|. Basta con rellenarstepsen una fila cualquiera de la receta. - Capas con
part. Mismorecipe_nameen todas las filas y el nombre de la capa enpart. Si la receta tiene una sola capa, dejapartvacía. filling_typecon el identificador exacto, en minúsculas y con guiones bajos.ganachea secas no es un valor válido; la ganache clásica de bombón esganache_bombon. La lista completa está en el desplegable Guía rápida de la propia pantalla.
El asistente, paso a paso
El asistente se titula «Importar recetas desde CSV» y tiene cinco pantallas.
Subir. Arrastra el archivo a la zona «Arrastra tu archivo aquí» o haz click para seleccionarlo. Acepta .csv y .xlsx, y un solo archivo por importación (el selector no permite marcar varios).
Mapear. Una tabla con tres columnas —Columna del archivo, Ejemplo y Campo de AreaCacao— donde eliges el destino de cada cabecera. El asistente ya viene pre-rellenado con su propia detección, que reconoce sinónimos en español e inglés sin distinguir mayúsculas ni tildes (Nombre de la receta, recipe name, receta… van todos a recipe_name).
Las columnas que no necesites se dejan en Omitir. Un mismo campo de AreaCacao no puede asignarse a dos columnas: al elegirlo en una, se limpia de la otra.
Si no has mapeado el nombre de la receta, el asistente no te deja avanzar y muestra: «Indícanos al menos qué columna contiene el nombre de la receta para continuar.»
Opciones. Eliges qué hacer con los ingredientes que no encontremos. Ver la sección siguiente.
Vista previa. El servidor calcula qué pasaría sin escribir nada: «Esto es lo que haremos. Nada se ha guardado todavía.» Verás los recuentos de Recetas en total, Recetas a crear, Recetas a actualizar, Ingredientes vinculados, Ingredientes a crear, Ingredientes pendientes e Insumos no encontrados, más una lista de Errores detectados por número de fila.
Importar. Pulsas Importar y el trabajo pasa a segundo plano. La pantalla consulta el estado cada 2,5 segundos hasta que termina y muestra «Importación completada» con el resumen «N creadas · N actualizadas · N con errores.»
Ingredientes que no casan con el catálogo
El importador resuelve cada fila así: si hay ingredient_code, busca esa ficha exacta; si no, busca por nombre contra tu catálogo. Cuando no encuentra nada, aplica la opción que elegiste en el paso Opciones:
- Crear ingredientes faltantes como pendientes (sin coste) — «Los ingredientes que no encontremos se añaden marcados como pendientes, sin datos nutricionales ni de coste. Podrás completarlos después. No consume créditos.» Es la opción por defecto.
- Autocompletar ingredientes faltantes con IA — 5 créditos por ingrediente — «Para cada ingrediente que no encontremos, la IA estima macros, alérgenos y datos de coste. Se cobran 5 créditos por ingrediente nuevo.»
El modo IA es la única forma de que esta vía consuma créditos, y se cobran por ingrediente nuevo, no por receta ni por archivo. El modo pendiente jamás toca tus créditos.
Insumos
Las filas marcadas con is_supply o con supply_code se tratan como insumos. Se vinculan sólo por código contra tu catálogo de insumos. Si el código no existe, la línea se importa igualmente pero queda marcada para revisión, y el recuento Insumos no encontrados de la vista previa te avisa antes. La importación nunca crea insumos nuevos — ni siquiera en modo IA, que sólo aplica a ingredientes.
Crear frente a actualizar
- Sin
recipe_id→ siempre se crea una receta nueva. - Con
recipe_id→ si ese id existe y es tuyo, la receta se actualiza. Si no existe o no es tuyo, se crea una receta nueva. - Cuando se crea una receta cuyo nombre ya tienes en tu catálogo, AreaCacao diferencia el nombre automáticamente en lugar de duplicarlo a ciegas. Esto sólo se aplica al crear, nunca al actualizar.
- Una receta que falla no aborta el lote: se marca con su error y el importador sigue con la siguiente.
Límites
| Límite | Valor |
|---|---|
| Formatos | .csv y .xlsx |
| Archivos por importación | 1 |
| Tamaño máximo del archivo | 20 MB |
| Filas de datos máximas | 20 000 (sin contar la cabecera) |
Hojas de un .xlsx que se leen | Sólo la primera |
| Importaciones simultáneas | 1 por usuario |
| Frecuencia | 20 operaciones de subida/análisis cada 10 minutos por usuario |
Si intentas lanzar una importación mientras otra sigue en cola o procesándose, el servidor la rechaza: hay que esperar a que la anterior termine.
Qué NO hace
- No lee tu archivo con IA. El mapeo de columnas es tuyo y el parseo es determinista.
- No aparece en la pestaña Historial. Esa pestaña lista las importaciones de foto y PDF. Las importaciones desde hoja de cálculo no se listan en ninguna pantalla: su estado sólo se ve en la ventana del asistente mientras la tienes abierta. Si la cierras, la importación sigue, pero para comprobar el resultado tendrás que mirar en Mis recetas.
- No se puede cancelar. Una vez pulsas Importar no hay botón de cancelar; el asistente sólo deja cerrar la ventana.
- No crea insumos nuevos.
- No lee más de una hoja de un libro de Excel.
- No importa desde un enlace a Google Sheets ni desde una URL: hay que subir el archivo. Para importar desde una página web existe otra vía distinta, ver Importar receta por URL.
- No valida por ti el
filling_type. Si escribes un identificador que no existe, la receta se importa sin validación técnica de relleno.
Siguientes pasos
Importar una foto o un PDF
Sube una o varias imágenes o PDFs de recetas y deja que la IA las convierta en fichas estructuradas, paso a paso.
Importar receta por URL
Todavía no disponible: cómo funcionará la importación por URL —pegar el enlace de una receta publicada y recibirla como borrador editable— cuando se active.