Report individual changes to data
We've used Change Tracking to handle this.  We've found it lightweight and easy to set up and administer.  The largest system's moving tens of thousands of rows (from a table containing millions) per day without signs of stress. Of course your configuration will dictate your throughput.

It's big cousin - Change Data Capture (CDC) - will handle the case where you need to know the "before" and "after" values for each and every change that happens.