Simple database structure advice
The theory is you should isolate elements of diferent purpose, function or character, in this case fields like invoiceNum, make, model, location and type are normal candidates to live in their own tables, and have only a reference to their id numbers in this table, but it depends a lot on the application itself.

What you are asking for it's called 'Normalization', and you can get a lot of examples from the web:

https://blog.udemy.com/normalization-in-database-with-example/
https://en.wikipedia.org/wiki/Database_normalization

The simple advice is: yes, at least get 1st and 2nd normalization forms when possible, it will make your life easier in the future.

EDIT: I forgot to answer 'why' you should separate different purpose data in different tables: There are a lot of reasons, but even when better explained in the links provided, we can resume it with these points:


Your data will have less redundancy, you can point to a number instead of repeat the same string through thousands or millions of records.
Your data will be easier to modify: if you have to change 'Motorbike' by 'Water Motorbike' you will change it in one row only ( easier, and a lot faster in comparison ).
Your data will be more consistent, as you can have the same concept in different tables, and update all the 'Motorbikes' of one table, but those of other table. If you have normalized your tables, you can change it in one table and would affect all involved tables, not only that you can remember the data was in.
As it's more organized, insertions, updates and searches gets incredibly improved.


This is normally called ACID ( Atomicity, Consistency, Isolation, Durability ), the properties of a well designed database. I'm sure I forget some basic concepts, but there are a lot of reasons to use normalization.