How should adjustments, credits and refunds be handled in revenue reporting?
Keep them as signed rows in the same dataset and let them net out, rather than filtering them away or storing them separately. Filtering negatives out inflates revenue. Storing them apart means every report needs a second query somebody will forget. The one thing you must decide explicitly is which period a credit belongs to: the period of the original invoice or the period the credit was issued.
The two period conventions
A credit issued in June against an invoice from March can be reported two ways. Netted against March restates the original period and gives you the truest picture of what that month's work was actually worth. Recorded in June leaves history stable and matches how accounting usually handles it.
Neither is wrong. Mixing them is. Marketing reporting generally wants the restated version, because a job that was refunded should not keep counting as return on ad spend. Financial reporting generally wants the issued-period version because that is what ties to the ledger.
Why filtering negatives is so common and so damaging
Report builders often filter to positive amounts to clean up a chart. It works, the chart looks better, and revenue is now overstated by the entire credit volume. Nobody catches it because the error is invisible in the output and only appears when someone reconciles against accounting.
If you see a revenue figure that is consistently higher than the ledger by a stable amount, look for a filter on amount before you look anywhere else.
Distinguish the types, because they mean different things
One combined negative-revenue number blends four unrelated stories. Splitting them takes one classification field and turns a nuisance into a diagnostic.
- Correction. The invoice was wrong. Not a customer event at all, and it should not appear in any satisfaction or quality analysis.
- Goodwill credit. A service failure was made right. This is a quality signal and belongs in the same analysis as callbacks.
- Refund. Money went back. Worth tracking by job type and technician because clusters are meaningful.
- Write-off. Uncollectible. An operational and credit issue, not a service quality one.
Use the pattern, not just the total
Credit and callback rates by job category and by crew are among the cheapest quality signals a company has, and they are already sitting in the billing data. A rising goodwill credit rate in one business unit is a leading indicator that shows up long before it reaches reviews.
Pairing that with what customers actually said on the follow-up call gives a manager the specific failure rather than the aggregate. That combination of operational records and call analysis is a large part of what we mean by operational AI: intelligence attached to the systems the business already runs on.
Topics: credits · refunds · revenue · reporting
Have a version of this question about your own business?
The useful answer usually depends on which systems you run and how they're connected. That's a conversation, not a blog post.