I use a fairly simple access db that I made for work order creation. I enter the information and it prints off a work order with terms of service for the customer to sign. It's not much, but it works. Then I use QBO for my invoicing and expense tracking.
As far as keeping track. I printed out some tags on business card stock, that has lines for passwords, phone number, and name. That way I have a quick reference without a big sloppy bundle of paper getting crinkled up. I then create a folder with the customer's name on it, insert the printed work order and put it in a tray on my desk. Anything that I do for that customer, including notes, research information, RMA forms, etc along with a system report, go in that folder. After teh customer picks the machine up, a copy of the invoice and completion work order go in there and all clipped together then filed. I keep each visit's paperwork clipped together so I can easily find what I need should I ever have to dig up a customer's paperwork.
Honestly, right now I just remember the status of each machine. I have a shelving system that basically has one shelf for completed and one shelf for pending, holding, or whatever else. The ones being worked on are on the bench. I can work on 2 desktops and 2-3 laptops at the same time in my little sardine can.