. . . I am wanting a simple CSV database to be created at the end of every day with two columns, "Source Bitcoin Address" and . . .
Well, there's your first mistake.
The bitcoin protocol has no such concept as a "source bitcoin address". You are looking for something that doesn't exist.
Some people take a single type of payment and based on the signature in that type of payment they calculate a value that they like to call a "source address", but that is a very bad idea. There are plenty of situations where such an assumption turns out to be wrong, and building a business model around such an invalid assumption is going to just create more problems for you.
If you want to uniquely identify who a payment is from, or what a payment is for, then you should be generating a unique receiving address for each transaciton. Then you can keep track of why you generated the address.