if you struggle, ther're not "accordingly " related I also see a code 0001 description constant useless as such, in your problem description. All you need is a relationship from Payments to ContactDetails, with Year(billdate), descriptionID and provinceID which will give you the amont to be applied.Accordingly.
Where is the date of service information located? Sounds like Contact Details.
If this is just a pricing catalog, why is it not all in one table? Discerning the correct table to go look into with your arrangement might not be the easiest to do. Even Siplus seems to be assuming a single table is the case. I would advise it.
As I understand it, you need to be on the Invoices table layout and then use data from ContactDetails to look up a value in the correct PriceCatalog table to then put that value into a field in the Invoices layout. Is this correct?