n8n Starter Kit : le guide complet
19 / 38

Module 3 · Expressions et transformation des donnéesEnviron 1 min

Trois exemples de code à copier

Trois cas tirés du travail de Salma. Collez-les dans un nœud Code, choisissez le mode indiqué en commentaire, puis vérifiez la colonne OUTPUT.

1. Ajouter le montant TTC

javascript
// Mode : Run Once for All Items
// Ajoute le montant TTC (TVA au taux normal de 20 %) à chaque demande.
for (const item of $input.all()) {
  const ht = Number(item.json.montant_ht);
  item.json.montant_ttc = Math.round(ht * 1.2 * 100) / 100;
}

return $input.all();

2. Compter les demandes et totaliser les budgets par ville

javascript
// Mode : Run Once for All Items
// Un item par ville, avec le nombre de demandes et le budget total.
const villes = {};

for (const item of $input.all()) {
  const ville = item.json.ville || "Non précisée";
  villes[ville] ??= { ville, demandes: 0, budget_total_dh: 0 };
  villes[ville].demandes += 1;
  villes[ville].budget_total_dh += Number(item.json.budget_dh) || 0;
}

return Object.values(villes);

3. Mettre les numéros au format international

javascript
// Mode : Run Once for Each Item
// « 06 12 34 56 78 » devient « +212612345678 » ; un numéro illisible devient null.
let chiffres = String($input.item.json.telephone ?? "").replace(/\D/g, "");

if (chiffres.startsWith("00212")) chiffres = chiffres.slice(2);
if (chiffres.startsWith("0")) chiffres = "212" + chiffres.slice(1);

$input.item.json.telephone_international =
  /^212[5-7]\d{8}$/.test(chiffres) ? "+" + chiffres : null;

return $input.item;

Dans le troisième, un numéro illisible donne null plutôt qu’un faux numéro : un nœud If placé après peut envoyer ces demandes à Salma pour vérification. Pour le deuxième, Summarize ferait aussi l’affaire ; le code devient utile quand la règle se complique.

Testez chaque code sur des données épinglées qui contiennent un cas difficile : un budget vide, une ville absente, un numéro saisi avec des espaces. Un code qui ne marche que sur la demande parfaite cassera au premier vrai formulaire.