{"id":296,"date":"2026-10-22T14:30:25","date_gmt":"2026-10-22T12:30:25","guid":{"rendered":"https:\/\/n8nfacil.com\/?p=296"},"modified":"2026-11-02T18:47:44","modified_gmt":"2026-11-02T17:47:44","slug":"aggregate-n8n-agrupar-pedidos","status":"publish","type":"post","link":"https:\/\/n8nfacil.com\/en\/aggregate-n8n-agrupar-pedidos\/","title":{"rendered":"Aggregate en n8n: re\u00fane varios pedidos y calcula un resumen del lote"},"content":{"rendered":"<p class=\"wp-block-paragraph\"><strong>Proyecto local probado:<\/strong> n8n 2.44.5, 22 de octubre de 2026. Datos ficticios.<\/p><p class=\"wp-block-paragraph\">Tres pedidos pueden recorrer un workflow como tres elementos separados. Si necesitas un \u00fanico resumen del lote, primero debes reunirlos. En esta gu\u00eda utilizar\u00e1s Aggregate para crear una lista y calcular despu\u00e9s su cantidad y su importe total.<\/p><h2 class=\"wp-block-heading\">Qu\u00e9 incluye el proyecto<\/h2><p class=\"wp-block-paragraph\">El workflow contiene Ejecutar prueba, Pedidos ficticios, Agrupar pedidos y Resumen del lote. Los datos son P1 con importe 20, P2 con 35,5 y P3 con 14,5. En el JSON los decimales se escriben con punto y los importes son n\u00fameros, sin s\u00edmbolo de moneda.<\/p><p class=\"wp-block-paragraph\">El proyecto funciona en local, sin tienda online ni cuentas externas. Es un ejercicio de transformaci\u00f3n de datos. No calcula impuestos ni constituye un sistema de facturaci\u00f3n. El ZIP contiene el workflow completo para que puedas repetir el mismo recorrido.<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1101\" height=\"874\" src=\"https:\/\/n8nfacil.com\/wp-content\/uploads\/2026\/10\/11-aggregate-flujo.jpg\" alt=\"Aggregate re\u00fane tres pedidos antes de calcular un resumen \u00fanico.\" class=\"wp-image-276\" srcset=\"https:\/\/n8nfacil.com\/wp-content\/uploads\/2026\/10\/11-aggregate-flujo.jpg 1101w, https:\/\/n8nfacil.com\/wp-content\/uploads\/2026\/10\/11-aggregate-flujo-300x238.jpg 300w, https:\/\/n8nfacil.com\/wp-content\/uploads\/2026\/10\/11-aggregate-flujo-1024x813.jpg 1024w, https:\/\/n8nfacil.com\/wp-content\/uploads\/2026\/10\/11-aggregate-flujo-768x610.jpg 768w, https:\/\/n8nfacil.com\/wp-content\/uploads\/2026\/10\/11-aggregate-flujo-15x12.jpg 15w\" sizes=\"auto, (max-width: 1101px) 100vw, 1101px\" \/><figcaption class=\"wp-element-caption\">Aggregate re\u00fane tres pedidos antes de calcular un resumen \u00fanico.<\/figcaption><\/figure><h2 class=\"wp-block-heading\">1. Distingue elementos y listas<\/h2><p class=\"wp-block-paragraph\">Abre Pedidos ficticios despu\u00e9s de ejecutar el workflow. Su salida contiene tres elementos. Cada uno tiene pedido e importe. No es lo mismo que un \u00fanico elemento con una propiedad pedidos que contenga los tres objetos.<\/p><p class=\"wp-block-paragraph\">Esta diferencia determina c\u00f3mo trabajan los nodos posteriores. Un Edit Fields que recibe tres elementos normalmente aplica sus expresiones a cada uno. Para calcular un resumen \u00fanico necesitamos reunir primero la informaci\u00f3n del lote.<\/p><h2 class=\"wp-block-heading\">2. Configura Aggregate<\/h2><p class=\"wp-block-paragraph\">En Agrupar pedidos selecciona All Item Data. El campo de salida se llama pedidos e incluimos todos los campos del ejemplo. La salida esperada es un solo elemento con una lista que conserva P1, P2 y P3.<\/p><p class=\"wp-block-paragraph\">El nodo no suma autom\u00e1ticamente los importes por el hecho de agruparlos. Su funci\u00f3n en este proyecto es cambiar la estructura: de varios elementos a una lista dentro de un elemento. El c\u00e1lculo se realiza en el siguiente paso.<\/p><h2 class=\"wp-block-heading\">3. Calcula cantidad y total<\/h2><p class=\"wp-block-paragraph\">Resumen del lote utiliza <code>{{ $json.pedidos.length }}<\/code> para contar las entradas. Para el total recorre la lista con reduce, suma importe y redondea el resultado a dos decimales antes de convertirlo de nuevo en n\u00famero.<\/p><p class=\"wp-block-paragraph\">La expresi\u00f3n del total es <code>{{ Number($json.pedidos.reduce((s, p) =&gt; s + p.importe, 0).toFixed(2)) }}<\/code>. El cero inicial indica desde qu\u00e9 valor comienza la suma. La expresi\u00f3n se ha dise\u00f1ado para esta lista de importes num\u00e9ricos, no para textos como \u00ab20 \u20ac\u00bb o \u00ab35,50\u00bb.<\/p><h2 class=\"wp-block-heading\">4. Comprueba un resultado calculable a mano<\/h2><p class=\"wp-block-paragraph\">Ejecuta el recorrido completo y abre el \u00faltimo nodo. Esperamos cantidad 3 y total 70, porque 20 + 35,5 + 14,5 suma 70. Comprueba tambi\u00e9n que Aggregate entrega un elemento, mientras que la entrada ten\u00eda tres.<\/p><p class=\"wp-block-paragraph\">No confundas el n\u00famero de elementos de salida con la cantidad de pedidos del resumen. El nodo final devuelve un elemento que contiene cantidad: 3. Son dos medidas distintas y ambas pueden ser correctas al mismo tiempo.<\/p><h2 class=\"wp-block-heading\">5. Cambia un dato y repite<\/h2><p class=\"wp-block-paragraph\">Modifica temporalmente P1 de 20 a 25. La cantidad deber\u00eda seguir siendo tres y el total pasar a 75. Despu\u00e9s restaura 20. Esta peque\u00f1a prueba comprueba que el resumen depende de los datos de entrada y no de una cifra escrita manualmente.<\/p><p class=\"wp-block-paragraph\">Si el total parece concatenar cifras o produce un valor inesperado, revisa el tipo de importe antes de agregar. Si faltan pedidos, comprueba qu\u00e9 filtro o rama anterior los elimin\u00f3. Aggregate solo puede reunir los elementos que realmente recibe.<\/p><h2 class=\"wp-block-heading\">L\u00edmites que conviene conocer<\/h2><p class=\"wp-block-paragraph\">Agrupar no elimina duplicados. Si P1 aparece dos veces, las dos entradas se contar\u00e1n salvo que a\u00f1adas una regla anterior. Tampoco hemos probado aqu\u00ed un lote vac\u00edo: seg\u00fan c\u00f3mo llegue la entrada, el nodo podr\u00eda no ejecutarse y necesitar\u00edas una estrategia expl\u00edcita para devolver un resumen sin pedidos.<\/p><p class=\"wp-block-paragraph\">Para importes monetarios reales debes definir precisi\u00f3n, redondeo y validaciones apropiadas. Este ejercicio usa n\u00fameros de JavaScript y valores peque\u00f1os para entender la estructura del flujo. Puedes combinarlo con el tutorial de eliminar duplicados para decidir qu\u00e9 entra en el lote.<\/p><p class=\"wp-block-paragraph\">Fuente oficial: <a href=\"https:\/\/docs.n8n.io\/integrations\/builtin\/core-nodes\/n8n-nodes-base.aggregate\/\">https:\/\/docs.n8n.io\/integrations\/builtin\/core-nodes\/n8n-nodes-base.aggregate\/<\/a><\/p><h2 class=\"wp-block-heading\">Resultados comprobados<\/h2><p class=\"wp-block-paragraph\">Tres pedidos con importes 20, 35,5 y 14,5 producen cantidad 3 y total 70.<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1101\" height=\"874\" src=\"https:\/\/n8nfacil.com\/wp-content\/uploads\/2026\/10\/11-aggregate-resultado.jpg\" alt=\"El resumen del lote devuelve cantidad 3 y total 70.\" class=\"wp-image-277\" srcset=\"https:\/\/n8nfacil.com\/wp-content\/uploads\/2026\/10\/11-aggregate-resultado.jpg 1101w, https:\/\/n8nfacil.com\/wp-content\/uploads\/2026\/10\/11-aggregate-resultado-300x238.jpg 300w, https:\/\/n8nfacil.com\/wp-content\/uploads\/2026\/10\/11-aggregate-resultado-1024x813.jpg 1024w, https:\/\/n8nfacil.com\/wp-content\/uploads\/2026\/10\/11-aggregate-resultado-768x610.jpg 768w, https:\/\/n8nfacil.com\/wp-content\/uploads\/2026\/10\/11-aggregate-resultado-15x12.jpg 15w\" sizes=\"auto, (max-width: 1101px) 100vw, 1101px\" \/><figcaption class=\"wp-element-caption\">El resumen del lote devuelve cantidad 3 y total 70.<\/figcaption><\/figure><section><h2>Construye este workflow desde cero<\/h2><p>Puedes crear los nodos manualmente en lugar de importar el ZIP. Los ajustes siguientes corresponden al archivo del proyecto y a la versi\u00f3n indicada al comienzo de la gu\u00eda; los nombres de los controles pueden variar en otras versiones.<\/p><h3>Ejecutar prueba \u00b7 Manual Trigger<\/h3><p>A\u00f1ade Manual Trigger como inicio del flujo. Permite ejecutar la pr\u00e1ctica pulsando Execute workflow, sin publicar un disparador autom\u00e1tico.<\/p><h3>Pedidos ficticios \u00b7 Code<\/h3><p>A\u00f1ade Code, selecciona JavaScript y Run Once for All Items. Sustituye el c\u00f3digo de ejemplo por:<\/p><pre><code>return [{&quot;pedido&quot;:&quot;P1&quot;,&quot;importe&quot;:20},{&quot;pedido&quot;:&quot;P2&quot;,&quot;importe&quot;:35.5},{&quot;pedido&quot;:&quot;P3&quot;,&quot;importe&quot;:14.5}].map(json =&gt; ({json}));<\/code><\/pre><h3>Agrupar pedidos \u00b7 Aggregate<\/h3><p>Selecciona All Item Data. En Put Output in Field escribe pedidos; en Include selecciona All fields. Este nodo re\u00fane los elementos: la suma se configura despu\u00e9s.<\/p><h3>Resumen del lote \u00b7 Edit Fields (Set)<\/h3><p>A\u00f1ade Edit Fields (Set) y selecciona Manual Mapping. Crea los siguientes campos; utiliza Fixed para valores literales y Expression para f\u00f3rmulas. Conserva solo los campos configurados para reproducir la salida del proyecto.<\/p><figure class=\"wp-block-table\"><table><thead><tr><th>Campo<\/th><th>Tipo<\/th><th>Modo<\/th><th>Valor<\/th><\/tr><\/thead><tbody><tr><td>cantidad<\/td><td>number<\/td><td>Expression<\/td><td><code>{{ $json.pedidos.length }}<\/code><\/td><\/tr><tr><td>total<\/td><td>number<\/td><td>Expression<\/td><td><code>{{ Number($json.pedidos.reduce((s, p) =&gt; s + p.importe, 0).toFixed(2)) }}<\/code><\/td><\/tr><\/tbody><\/table><\/figure><p>Las comillas de los valores de texto de la tabla indican que son cadenas: no las escribas en el campo Fixed. Conserva los espacios cuando formen parte de los datos de prueba.<\/p><h3>Conecta los nodos y revisa el recorrido<\/h3><ul><li>Ejecutar prueba \u2192 Pedidos ficticios.<\/li><li>Pedidos ficticios \u2192 Agrupar pedidos.<\/li><li>Agrupar pedidos \u2192 Resumen del lote.<\/li><\/ul><p>Ejecuta desde el inicio y abre la salida de cada nodo. Comprueba los valores y el n\u00famero de elementos antes de seguir. Un nodo verde indica ejecuci\u00f3n completada, pero debes comparar su salida con los resultados esperados de esta gu\u00eda.<\/p><\/section><h2 class=\"wp-block-heading\">Descarga para practicar<\/h2><p class=\"wp-block-paragraph\"><a href=\"https:\/\/n8nfacil.com\/wp-content\/uploads\/2026\/10\/11-agrupar-pedidos.zip\">Descargar proyecto en ZIP<\/a>. Descomprime los archivos y revisa sus instrucciones antes de importarlos. No contienen credenciales ni la base de datos de la instalaci\u00f3n.<\/p><h2 class=\"wp-block-heading\">Tutoriales relacionados<\/h2><p class=\"wp-block-paragraph\"><a href=\"https:\/\/n8nfacil.com\/importar-exportar-workflows-n8n\/\">Importar y exportar workflows<\/a> \u00b7 <a href=\"https:\/\/n8nfacil.com\/limpiar-datos-n8n-edit-fields\/\">Limpiar datos con Edit Fields<\/a> \u00b7 <a href=\"https:\/\/n8nfacil.com\/nodo-if-n8n-clasificar-pedidos\/\">Practicar IF<\/a><\/p><p class=\"wp-block-paragraph\"><a href=\"https:\/\/n8nfacil.com\/eliminar-duplicados-n8n-email\/\">Eliminar duplicados en n8n: limpia una lista de contactos por email<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Aprende a reunir elementos con Aggregate en n8n y calcula cantidad y total de un lote. Proyecto descargable con datos y capturas reales.<\/p>","protected":false},"author":1,"featured_media":276,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-296","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-datos-expresiones"],"_links":{"self":[{"href":"https:\/\/n8nfacil.com\/en\/wp-json\/wp\/v2\/posts\/296","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/n8nfacil.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/n8nfacil.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/n8nfacil.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/n8nfacil.com\/en\/wp-json\/wp\/v2\/comments?post=296"}],"version-history":[{"count":4,"href":"https:\/\/n8nfacil.com\/en\/wp-json\/wp\/v2\/posts\/296\/revisions"}],"predecessor-version":[{"id":308,"href":"https:\/\/n8nfacil.com\/en\/wp-json\/wp\/v2\/posts\/296\/revisions\/308"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/n8nfacil.com\/en\/wp-json\/wp\/v2\/media\/276"}],"wp:attachment":[{"href":"https:\/\/n8nfacil.com\/en\/wp-json\/wp\/v2\/media?parent=296"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/n8nfacil.com\/en\/wp-json\/wp\/v2\/categories?post=296"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/n8nfacil.com\/en\/wp-json\/wp\/v2\/tags?post=296"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}