Overview of invoices

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.

1 Like

Thank you so much this is so useful. I have another question, in my table I have a row called '‘pand’. In that row I put the addresses of the houses I am renting. Is it possible to rent multiple houses to one user. And if it is possible. How can I make invoices for the different houses instead of only 1 house?

Seems an odd question to ask if you are the landlord.

Yes I am the landlord. But these are small houses. Some people have bought 2 of them. That is why I asked this question.

My table structure allows for that. You adding the property info to the renter in the way you are doing, what happens if they move from one property to another? How do you keep track?

533578, When you create a table, you normally assign an “ID” field. This is used to mark a row uniquely. This field is normally an “auto-increment” field. Therefore, if you use an ID field in a the renter’s table, you would use that id in property table as the current owner or current renter. This means that several different properties could be assigned to one renter id. Quite easy to do.

It is fun to create your own software, but, you might want to use a template. There are thousands of them around at all prices. A short run at google and here are a couple that might save you a lot of time:
https://code-projects.org/house-rental-management-system-in-php-with-source-code/
https://www.kashipara.com/project/php/2834/house-rent-management-system-php
https://sourceforge.net/projects/hoteldruid/
All of these are PHP versions and all have lots of options you can use or remove as needed.
Might help save you some time!

1 Like

Thanks for the link! I will send my table structure so you guys can see what I have made:

id type: int(11)
Naam type: varchar(255)
Achternaam type: varchar(255)
Bedrijfsnaam type: varchar(255)
Adres type: varchar(255)
Postcode type: varchar(255)
Woonplaats type: varchar(255)
Telefoon type: varchar(255)
Email type: varchar(255)
Betalingsperiode type: varchar(255)
Bedragperperiode type: varchar(255)
Pand type: varchar(255)
Huisnummer type: varchar(255)
Deel type: varchar(255)

The field ‘Pand’ Is the address of the house I am renting. I would like to add multiple addresses to the same field. The field ‘Bedragperperiode’ is for the amount of money he needs to pay every month. The field ‘Huisnummer’ and ‘Deel’ are made for the housenumbers and for the specifik place he is renting. How can I add multiple houses to the ‘Pand’. And is there any possibility that I can have a page where I store all the houses And if a house is rented I can see the user it is rented to. And if it is not rented it need to see ‘Not rented’?

Well, normally, as Astonecipher mentioned, you need several tables, not just this one.
You would need to have one table just for renters alone. This would have their names and personal information. In forms on the webpages, you would use this to select a renter and place into a property or house. You would then have a table of properties/houses/apartments that would have all of the locations that you rent out. And, then an active list of all current renters for each location.

The reason you do this is to make it easier to access each. If you purchase a new house or a new renter wants to rent, you go to the correct page to handle that data. Astonecipher explained this in a list above. To create a full property management system can be quite a big job. That is why I suggested using a template. If you want to do this yourself from scratch, several tables as he mentioned above. One table for each main area needed. Then, you use the “id” values to place into the other tables as needed.

The names of the fields are in Dutch, I think, so they are easy for us to understand. But, I think you should make a decision if you want to build this totally from scratch or use a template which already has all the possible tables in place. I feel you may not understand how to link tables together.

Correct I have never linked tables together. I think the free template works better for me. I have installed this template : https://code-projects.org/house-rental-management-system-in-php-with-source-code/
But I am having trouble now connecting all of this to my database. I am using 000webhost to host my website. What can I do to make this work? Because the person who made this gave a tutorial on how to connect it to your own computer with xampp.

Well, glad you decided. I think it will be better for you in the long run and templates already have more than you need built into it.

In a template, you set up new database tables that are created by the template when you install it.
Therefore, you do not use your own versions. It does mean that you will have to manually enter all of your data such as renters and houses, but, that should go quickly. I can install a copy on my local server for testing in case you have questions on it.

In the template it is saying that I need a database called ‘rentalmanagementtrial’ but the webhost I am using is making the database by it self. I can’t get it to work. I have looked at the files. And I don’t know what the problem is. I have also tried it on my localhost. But that did not work eather…

You need to bring up the PHPmyAdmin for the MySQL system. Both on the remote live webhost or the localhost.
If you use localhost Wamp or Xamp, you click on the Wampserver down by the clock and select phpMyAdmin to bring up the MySQL database system. Once in there, you select SQL and then Click on browse file and select “rentalmanagement.sql” file which is inside “DATABASE” folder in the template data. That will run and create the full database with all the tables in it. This will execute the SQL commands to create the database for you. In the webhost version, you log into your control panel, then select your “Databases” button and then the phpMyAdmin option for your database. Then run the SQL file.
Hope that helps…

One more thing. This is a website template. So, you can run it locally on a laptop or desktop. OR, you can use a hosting server to be able to get to it everywhere in the world. You should decide if you want it to only have it local or on the web. Either is good. Some programmers have both, one local for testing changes and one live for access anywhere.

I am using 000webhost but I can’t get it to work. I have copied everything from my desktop to public_html and extracted everything. Do you maybe have any idea why it is not working? I have also added all tables from the DATABASE folder. I have contacted the people who made it. But they don’t answer back. I am getting this page only:

Since the template is a free version, you do not get support. If you wish to send me a private message with your log in info, I can look at your site to see what is wrong. But, I bet it is something you missed.

First, were you able to log into your phpMyAdmin page on 000webhost? Did you use the SQL to enter the one .SQL file in the DATABASE folder? Here, again is how you set all of that up:
Log into your control panel.
Select your phpMyAdmin.
Create a database named "rentalmanagement”.
( Either clicking on the pulse on the left side or in the middle under create database.)
Once the database is created, click on it on the left.
Then, click on the SQL in the middle section and browse to the rentalmanagement.sql file in the DATABASE folder on your system. (It does not need to be on the server, you just need to access it.)

After that process, in phpMyAdmin, on the left will show all the tables that were created and you should be able to log in with the default login info. Then, in the page you showed above, it should mention you are signed in as… Not blank like it does now.

Hope that helps!

Allright thanks for the information!

I installed at least 10 apps from code-projects dot org . Every one of them was very poorly coded amateur junk.

Yes, I agree! It turns out it is some sort of project site for students. But, this one did give him a starting place. He was happy.

We no longer have a way to mark a thread as completed. I miss that option.

You can mark a solution

Thanks, didn’t see that…

Sponsor our Newsletter | Privacy Policy | Terms of Service