Hello Ian and thank you for your input.
To perform what you are looking for in AyaNova:
You would subscribe to being notified in advance of a contracts expiry date. For example, if a clients contract is for a year, and you wish to be notified 6 months before the expiry date to review it, you would set up the subscription notification to be six months in advance of the expiry date so you could review it. You can set up multiple notifications as needed.
A contract would be created in a Contract entry screen with the rates and part discounts applicable. This contract could be for a specific client, as well as being used for multiple clients.
Within the Client entry screen, you would select the contract and set an expiry date.
You could also have a custom field in the Client entry screen identifing contract start date, previous amounts, additonal notes, etc.
In addition to being notified regarding the contracts expiry date, you could also display a view of all clients with contracts that are set to expire within a time frame and produce reports on this.
As contracts vary between service organizations, we have split the banked service (pre-paid amounts) from contracts.
For example, a service company may have contracts that identify special rates a client receives, and would just utilize selection on a Contract in the Client entry screen.
Another service company in addition to providing special rates with contracts may also include pre-paid amounts which would be tracked via Banked Service. So they would utilize selection of a contract as well as use of banked service.
And another service company may just employ pre-paid amounts, so would just utilize selection of banked service.