The CRM Invoice Details report goes one level below the invoice — one row per line, showing the product, the quantity, the price, the discount, and the income account it posts to. It is how you answer "what exactly was on that invoice?" and "what have we billed for this product?"
This article assumes you already know the basics of the Sharper reporting module — the Name, Token, Subtotal, column picker, and filter fields. For a full walkthrough of the reporting form itself, see the Sharper Reporting Reference Guide. This article only covers what's specific to Invoice Details.
Why This Report Matters
The invoice total tells you what a customer was charged; only the lines tell you what for. That distinction matters whenever the question is about products, discounts, or accounts rather than about the customer's balance. Use it to:
Total billings by product or product category across a period
Reconcile invoiced revenue back to income accounts in the general ledger
Review discounts given, and by whom
Investigate a customer's query about a specific charge on their invoice
One Row Per Line, Not Per Invoice
Every invoice appears once for each of its lines, with the invoice-level details repeated across all of them.
Because the invoice repeats, counting rows counts lines rather than invoices, and any invoice-level figure you sum will be multiplied by the number of lines on each invoice. Total the line-level columns — Subtotal, Tax, Total, Discount — which are per line and add up correctly. If you want invoice-level totals, use the CRM Invoices report instead.
Building an Invoice Details Report
Go to Reports → CRM → Invoice Details in the left sidebar.
If a shipped report is close to what you need, use the ⋯ menu → Copy first — shipped reports can only be edited by the Sharper team.
Otherwise click + New and give it a Name, such as "Billings by Product."
Add the columns below from the Available panel.
Set Subtotal to Total, and consider turning on Summarize Report for a product summary rather than every line.
Turn on All Outlets to report company-wide.
Click Save, then Get Report to set a date range and run it.
Recommended Columns
Field | What It Shows |
Invoice ID | The invoice the line belongs to — group or sort on this to keep an invoice's lines together |
Invoice Date, Invoice Status | When the invoice was raised and where it stands. Include the status on anything you total. |
Product Name, Product SKU, Product Description | What the line is for — the reason to use this report rather than CRM Invoices |
Income Account | Where the line's revenue posts. Group on this to reconcile billings against the general ledger. |
Price, Quantity | The unit price and how many — useful for spotting a quantity entered wrongly |
Discount | Any discount applied to the line |
Subtotal, Tax, Total | The line's values — these are the columns that total correctly |
Customer Name, Cust Email | Who was billed |
Booking Type, Booking Type Name | The kind of booking behind the charge |
Unit Name, Group Name | The slip or space the charge relates to, and its dock or loop |
Vessel Name, Vessel Registration | The boat, on marina invoices |
Invoice Auto Pay | Whether the invoice collects automatically |
User Display Name | Who raised the invoice — the column to use when reviewing who is applying discounts |
Note: This report also carries an Import Expiration Date field among the vessel columns. It is a leftover from data migrated in from a previous system and does not update as policies renew — use Insurance Expiration Date if you need insurance data here at all.
Useful Filters
Billings by product for a period: Field Invoice Date operator Between, grouped by Product Name, subtotalled on Total.
Revenue by income account: group by Income Account with Total subtotalled, to tie back to the ledger.
Discounts given: Field Discount, operator >, value 0, with User Display Name selected.
Exclude voided and draft invoices: Field Invoice Status, set to your posted status.
Everything on one invoice: Field Invoice ID, set to the invoice — the fastest way to answer a customer's query about a charge.
One product's history: Field Product Name, set to the product.
Grouping by Income Account and subtotalling Total gives you an invoiced-revenue figure you can compare directly against the General Ledger report — a quick and useful monthly cross-check.
