Total the extracted amounts.Edited in response to change in question added in a comment:
data = Dataset@Table[Association[
"Sector" -> RandomChoice[{"Energy", "Env"}],
"Supplier" -> StringTemplate["N``"]@RandomInteger[5],
"Stage" -> 10*RandomInteger[5]StringTemplate["Stage``"]@RandomInteger[5],
"Amount" -> 1000*RandomInteger[200]
], 100];
Totalgrp /@= GroupBy[dataGroupBy["Supplier"]
data[grp, #Supplier &Total, Map[#["Amount"] &]]"Amount"]
Edited in response to change in question:
Your comment says you only want to total over a Stage1 and Stage 2, so select for these.
sel = Select["Stage1" == #Stage || "Stage2" == #Stage &]
grp = GroupBy["Supplier"]
data[sel][grp, Total, "Amount"]