Você precisa do seu billToPartyID (ou customerID, suponho que sejam a mesma coisa, ou que haja uma relação 1->1 entre eles) em seu projeto, fatura e tabelas de pagamento como parte do PK. Seus relacionamentos são então:
"um cliente/billToParty pode ter muitos projetos, que podem ter muitas faturas. Um pagamento feito por um cliente/billToParty pode ser aplicado a muitas das faturas do cliente, que devem ser especificadas."
Em seguida, deve ser mais fácil rastrear os totais por customerID, pagamentos feitos e valores de faturas pendentes.