It seems to me that you could use a default value for "BalanceCollectBySupplier", since ReceivedByOffice gets set to 0 in the first ruleset. I'd think that having BalanceCollectBySupplier default to TotalCost - ReceivedByOffice would be the same for either ruleset, right?
So, the ReceivedByOffice rule seems to only need to be on this field - no other field change would affect it, right? That one would stay here....
That leaves you with just the InvoiceThisOffice action.
Here's a link to a blog post that talks about a way to create "conditional" default values. I'll warn you that I had a performance issue with this method once - but it was being used in a field in a repeating section that had quite a few instances, and both conditions included some kind of complex math.