I could actually add to this a great deal and make it a fully functioning property management suit…
Renter
- holds details of renter
- renter status
Property
- holds details of the property.
- property status
Agreement
- this binds the renter/s to a property and has the details that are specific to a lease/ rental; such as term, rental amount, location of singed agreement, ect.
Invoice
- template used
- agreement id
- date paid
- amount paid
Notification
- invoice id
- date sent
- method used
Status
- all status’s whether it be for renter, property, notification, whatever
Next is cron jobs. How you want to set these up is up to you. You can define a rules engine and only use a single file that decides what and when to send, or break this into different jobs run at the 1st, 14th, and 21st.
For the first job: It gets all current renters with active properties and emails a standard invoice that is populated from the database. It adds a record to the notification table on successful send.
Second job: Gets all renters with active properties that have a status of not paid, worded however you want (‘SENT’, ‘NOT PAID’, ect). It also adds a record to the notification table on successful send.
Last email: Same as second but using a different template.
You now have a document collection system.