Summing Columns Based off Different Criteria in a group by in a Query Function in Google Sheets?

I would like to know how to sum a column based on different criteria in a group by in google sheets query function.
Here’s the data
And
Here’s what I want

Currently, I have a separate query for each summed column, and I need to copy down the row whenever the customer changes and the service providers change.
Is there some way to put this into one formula so I don’t need to always be copying and pasting? If one could put a query function into an array formula, that would be useful, but sadly, that is not possible. Group by allows summing of 1 column, so if I could just have multiple sums, that would be very useful.
Does anyone know the best way to do this?
Thanks,