Some shoppers run an accounting type page for shops by company, I prefer keep a shop log by month. How ever you choose to do it, the information I find critical (reading across my spreadsheet) is
mileage
start date, finish date (for the dates within which I can perform the shop)
client name
client address
company name
Notes (shop hours acceptable, phone number if it is a call ahead, etc)
Job # (most jobs have some sort of reference job number)
Date completed
Date reported
fee
bonus (if any)
reimbursement expected
unreimbursed expenses (that I can claim as such on my tax return)
date paid
amount paid
balance due (or overpayment)
I then have a few more columns for if an invoice was needed and what day it was sent.
Because I use an Excel sheet, much of this information is copied and pasted into the line item of the job from the original job offer. If there is a confirmation number that comes up once I report the job, I simply copy and paste that into the "invoice" column.
Because I use an Excel sheet, I can also add additional columns for whatever it is that I need, so I have columns to keep track of things like postage, phone or fax costs, scheduler name/phone number if I have them and any other notes may be relevant. I also use formulas as frequently as feasible to have Excel do the math for me, subtracting ending mileage from beginning mileage to calculate total miles for me as well as feeding through data from a 'workbook' of monthly sheets to reflect where I am year to date on revenue and expenses.
When I request a job I put it on my sheet in an incomplete form and highlight it. If a better job needs the same time slot, it reminds me to delete my request for the first job to take the second job.
When I get a check, Paypal or direct deposit, I immediately mark the job as paid, figuring out what jobs got paid and making sure I marked all of them on that transaction, with payment date, and highlight those lines on my spreadsheet so that when the sheet has become all that color, I know the month is totally paid and I can move on--or I can go back to those not highlighted and start dunning them for payment.
Because Excel allows you to sort on any column, cut and paste rows, etc. I assign every job a consecutive number as I report them so I can always return the sheet to its original sequence by sorting on the job number column. Meanwhile, if I receive a payment for multiple jobs, I can sort the sheet by company column to get all the jobs to 'fall together' for easier figuring out what they are paying me for.
Last month I set up my 'workbook' of sheets for 2010. That was easy as well, I took my blank 'workbook' from 2009, added a new column for 'date requested' to each month for jobs that I think may be useful to help me determine more accurately when some companies are posting. If it doesn't help me, it will be eliminated from the workbooks for future years. The file is saved as '2010 shop sheet blank' and when I accept my first job for 2010, it will be saved as '2010 Shop Sheet' so I don't destroy my blank.