Bạn cần billToPartyID (hoặc customerID, tôi cho rằng chúng giống nhau hoặc có mối quan hệ 1-> 1 giữa chúng) trong dự án, hóa đơn và bảng thanh toán của bạn như một phần của PK. Các mối quan hệ của bạn sau đó là:
"một khách hàng / billToParty có thể có nhiều dự án, có thể có nhiều hóa đơn. Khoản thanh toán do một khách hàng / billToParty thực hiện có thể áp dụng cho nhiều hóa đơn của khách hàng, điều này phải được chỉ định."
Sau đó, sẽ dễ dàng hơn để theo dõi tổng số theo ID khách hàng, cả các khoản thanh toán đã thực hiện và số tiền chưa thanh toán trên hóa đơn.