The situation
At Maritime Door & Window, the Controller needed deeper reporting than what we had. Bringing in outside help to build those reports ran about $300 an hour, so I made the case to build it in-house instead.
What I did
I set up a web server and a separate SQL table so she had a safe, non-production copy of the data to work from. A query pulled a dataset wide enough to cover the many angles she wanted to report on into a temporary database, and from there I designed the reports in Crystal Reports.
I didn't strictly need the temp database for the reporting alone, nothing in that path changed any data. But other functions, the ones inventory managers used, did write data, and rather than keep two different habits, I ran everything through the temp database. Keeping one careful pattern everywhere meant data integrity was never something I had to think twice about.
The result
The win was in the business's own terms: the reporting got built, and the consulting bill didn't. And it got built the careful way, on a copy of the data, with integrity protected by default rather than only where it was strictly required.