Proyecto local probado: n8n 2.44.5, 22 de octubre de 2026. Datos ficticios.

Tres pedidos pueden recorrer un workflow como tres elementos separados. Si necesitas un único resumen del lote, primero debes reunirlos. En esta guía utilizarás Aggregate para crear una lista y calcular después su cantidad y su importe total.

Qué incluye el proyecto

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úmeros, sin símbolo de moneda.

El proyecto funciona en local, sin tienda online ni cuentas externas. Es un ejercicio de transformación de datos. No calcula impuestos ni constituye un sistema de facturación. El ZIP contiene el workflow completo para que puedas repetir el mismo recorrido.

Aggregate reúne tres pedidos antes de calcular un resumen único.
Aggregate reúne tres pedidos antes de calcular un resumen único.

1. Distingue elementos y listas

Abre Pedidos ficticios después de ejecutar el workflow. Su salida contiene tres elementos. Cada uno tiene pedido e importe. No es lo mismo que un único elemento con una propiedad pedidos que contenga los tres objetos.

Esta diferencia determina cómo trabajan los nodos posteriores. Un Edit Fields que recibe tres elementos normalmente aplica sus expresiones a cada uno. Para calcular un resumen único necesitamos reunir primero la información del lote.

2. Configura Aggregate

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.

El nodo no suma automáticamente los importes por el hecho de agruparlos. Su función en este proyecto es cambiar la estructura: de varios elementos a una lista dentro de un elemento. El cálculo se realiza en el siguiente paso.

3. Calcula cantidad y total

Resumen del lote utiliza {{ $json.pedidos.length }} 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úmero.

La expresión del total es {{ Number($json.pedidos.reduce((s, p) => s + p.importe, 0).toFixed(2)) }}. El cero inicial indica desde qué valor comienza la suma. La expresión se ha diseñado para esta lista de importes numéricos, no para textos como «20 €» o «35,50».

4. Comprueba un resultado calculable a mano

Ejecuta el recorrido completo y abre el último nodo. Esperamos cantidad 3 y total 70, porque 20 + 35,5 + 14,5 suma 70. Comprueba también que Aggregate entrega un elemento, mientras que la entrada tenía tres.

No confundas el número 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.

5. Cambia un dato y repite

Modifica temporalmente P1 de 20 a 25. La cantidad debería seguir siendo tres y el total pasar a 75. Después restaura 20. Esta pequeña prueba comprueba que el resumen depende de los datos de entrada y no de una cifra escrita manualmente.

Si el total parece concatenar cifras o produce un valor inesperado, revisa el tipo de importe antes de agregar. Si faltan pedidos, comprueba qué filtro o rama anterior los eliminó. Aggregate solo puede reunir los elementos que realmente recibe.

Límites que conviene conocer

Agrupar no elimina duplicados. Si P1 aparece dos veces, las dos entradas se contarán salvo que añadas una regla anterior. Tampoco hemos probado aquí un lote vacío: según cómo llegue la entrada, el nodo podría no ejecutarse y necesitarías una estrategia explícita para devolver un resumen sin pedidos.

Para importes monetarios reales debes definir precisión, redondeo y validaciones apropiadas. Este ejercicio usa números de JavaScript y valores pequeños para entender la estructura del flujo. Puedes combinarlo con el tutorial de eliminar duplicados para decidir qué entra en el lote.

Fuente oficial: https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.aggregate/

Resultados comprobados

Tres pedidos con importes 20, 35,5 y 14,5 producen cantidad 3 y total 70.

El resumen del lote devuelve cantidad 3 y total 70.
El resumen del lote devuelve cantidad 3 y total 70.

Construye este workflow desde cero

Puedes crear los nodos manualmente en lugar de importar el ZIP. Los ajustes siguientes corresponden al archivo del proyecto y a la versión indicada al comienzo de la guía; los nombres de los controles pueden variar en otras versiones.

Ejecutar prueba · Manual Trigger

Añade Manual Trigger como inicio del flujo. Permite ejecutar la práctica pulsando Execute workflow, sin publicar un disparador automático.

Pedidos ficticios · Code

Añade Code, selecciona JavaScript y Run Once for All Items. Sustituye el código de ejemplo por:

return [{"pedido":"P1","importe":20},{"pedido":"P2","importe":35.5},{"pedido":"P3","importe":14.5}].map(json => ({json}));

Agrupar pedidos · Aggregate

Selecciona All Item Data. En Put Output in Field escribe pedidos; en Include selecciona All fields. Este nodo reúne los elementos: la suma se configura después.

Resumen del lote · Edit Fields (Set)

Añade Edit Fields (Set) y selecciona Manual Mapping. Crea los siguientes campos; utiliza Fixed para valores literales y Expression para fórmulas. Conserva solo los campos configurados para reproducir la salida del proyecto.

CampoTipoModoValor
cantidadnumberExpression{{ $json.pedidos.length }}
totalnumberExpression{{ Number($json.pedidos.reduce((s, p) => s + p.importe, 0).toFixed(2)) }}

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.

Conecta los nodos y revisa el recorrido

  • Ejecutar prueba → Pedidos ficticios.
  • Pedidos ficticios → Agrupar pedidos.
  • Agrupar pedidos → Resumen del lote.

Ejecuta desde el inicio y abre la salida de cada nodo. Comprueba los valores y el número de elementos antes de seguir. Un nodo verde indica ejecución completada, pero debes comparar su salida con los resultados esperados de esta guía.

Descarga para practicar

Descargar proyecto en ZIP. Descomprime los archivos y revisa sus instrucciones antes de importarlos. No contienen credenciales ni la base de datos de la instalación.

Tutoriales relacionados

Importar y exportar workflows · Limpiar datos con Edit Fields · Practicar IF

Eliminar duplicados en n8n: limpia una lista de contactos por email


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *