The Extended Reports extension allows you to create a variety of reports that include line item detail of contributions made through CiviCRM.
Installing & Enabling the extension
Enable the Extended Reports extension in Administer/Customize Data and Screens/Manage Extensions.
Then you access the extension at your/civicrm/baseurl/admin/menu?reset=1
For easier access, you can add a link to that URL in your CiviCRM menu by adding a link to your/civicrm/baseurl/admin/menu?reset=1 at Administer/Customize Data and Screens/Manage Extensions.
You can also download the extension here: http://civicrm.org/extensions/extended-reports (if the extension does not appear in your extensions directory when you follow the instructions above, direct download may be your only option).
Adding the template and making a report from the template
1. Go to administer/civireport/manage templates and add the templates you need.
You will want to create four templates to correspond with the four template files provided in the Extended Reports extension. When you add or edit a template, URL and CLASS fields for the four template files included in Extended Report will look like:
On that page, choose one of the templates you installed in step 1. When you click on the template name, you will be able to create, edit, and save a report based on that template. Detailed instructions for creating/editing reports here.
The difference between the four different templates
The lineitem template starts with the civicrm_lineitem table and pulls in the other table info from there. The contributionbased template starts with the civicrm_contribution table. In theory, both of these templates should be able to create similar or identical reports–because every contribution has line items and every line item is linked with a contribution. Creating identical reports withe lineitem and contributionbased and then comparing the two would be a good way to check the integrity of your contribution and lineitem tables.
The lineitemparticipant template starts with the civicrm_participant table and pulls in contributions, line items, and contact info from there. So it will show only contributions made as part of an event payment.
More info about the extension here: