Revenue Per Customer Documentation¶
Menu Location: Reports > Payments > Revenue Per Customer Report
Access Level: Manager / Administrator
Last Updated: 2026-03-01
Overview¶
The Revenue Per Customer report ranks customers by total payment amount within a specified date range. It provides a leaderboard-style view of your highest-value customers based on actual completed payments.
Primary Functions:
- Rank customers by total revenue generated
- Filter by minimum payment threshold
- Select between date created or date completed for calculations
- View customer payment history at a glance
- Identify top-performing customers for rewards or outreach
Page Layout¶
Header Section¶
- Page Title: Payments \ Revenue Per Customer Report
- Breadcrumb Navigation: Links back to Payments section
Filter Controls¶
- Minimum Amount Field: Dollar threshold to show only high-value customers
- From/To Date Pickers: Define the analysis period
- Date Type Selector: Choose "Date Created" vs "Date Completed"
- Search Button: Generates report with current settings
Main Content Area¶
- Ranked Table: Customer list ordered by total payment amount
- Three Columns: Rank, Customer (with link), Amount
- Total Row: Sum of all displayed customer payments
Report Data & Columns¶
| Column | Description | Calculation/Source |
|---|---|---|
| Rank | Customer's position in revenue ranking | Sequential number 1, 2, 3... based on total amount descending |
| Customer | Customer ID and full name | Links to customer_info.php for detailed profile |
| Amount | Total payments from this customer | Sum of completed payments (excludes credits and debits) |
Total Row:
- Displays aggregate sum of all customer amounts shown in table
- Updates based on minimum amount filter
- Formatted as currency with 2 decimal places
Filters & Search Options¶
Minimum Amount Filter¶
Purpose: Exclude low-value customers from report
Configuration:
- Input field accepts dollar amounts
- Default: $0 (shows all customers)
- Only customers meeting or exceeding this threshold appear
- Useful for focusing on high-value customer segments
Example: Set to $1,000 to see only customers who spent at least $1,000 in the period.
Date Range Selection¶
From Date:
- Calendar picker with manual entry
- Defaults to 3 weeks ago if not specified
- Sets the start of analysis period
To Date:
- Calendar picker with manual entry
- Defaults to current time if not specified
- Sets the end of analysis period
Date Type: Created vs Completed¶
Date Created:
- Uses the
date_createdtimestamp from payment records - Represents when payment was initiated
- Default selection
Date Completed:
- Uses the
date_updatedtimestamp from payment records - Represents when payment was successfully processed
- Better for cash accounting
When to Use Each:
- Created: For tracking when customers placed orders
- Completed: For accurate revenue recognition timing
- Difference: May vary by hours or days for payment processing
Sorting & Display Options¶
Sort Order: Automatically sorted by Amount descending (highest first)
Ranking Logic:
- Query all completed payments in date range
- Group by customer ID
- Sum payment amounts per customer
- Exclude credit and debit type transactions
- Sort descending by total amount
- Apply minimum amount filter
- Assign sequential rank numbers
Archive Integration:
- Checks both current and archived databases (if enabled)
- Combines totals across both sources
- Ensures complete historical accuracy
Common Use Cases¶
Use Case 1: Identify Top 10 Customers This Month¶
Goal: Find your best customers for thank-you outreach
Steps:
- Set From date to first day of current month
- Set To date to today
- Leave Minimum Amount at $0
- Select "Date Completed" for accurate revenue timing
- Click "Search"
- View top 10 ranked customers
- Click customer names to open profiles
Example: If rank 10 shows $500, consider setting Minimum Amount to $500 to focus on just the top performers.
Use Case 2: Qualify for VIP Program¶
Goal: Find customers who spent over $1,000 this quarter for VIP upgrade
Steps:
- Set From date to quarter start (e.g., January 1)
- Set To date to quarter end (e.g., March 31)
- Enter "1000" in Minimum Amount field
- Click "Search"
- Export or note customer IDs for VIP tagging
- Click customer links to add VIP tags
Tips:
- Use "Date Completed" for accurate quarterly revenue
- Total amount at bottom shows revenue from qualified segment
- Save customer list before navigating away
Use Case 3: Compare Customer Value Year-Over-Year¶
Goal: Identify growth or decline in customer spending patterns
Steps:
- Run report for full previous year (Jan 1 - Dec 31)
- Note top 20 customer IDs and amounts
- Run report for current year-to-date
- Compare same customer IDs between periods
- Identify customers with declining spend for outreach
Example: Customer who spent $5,000 last year but only $1,200 this year might need attention or special offers.
Use Case 4: Revenue Concentration Analysis¶
Goal: Determine what percentage of revenue comes from top customers
Steps:
- Set date range to analysis period
- Leave Minimum Amount at $0
- Click "Search"
- Note Total Amount at bottom (e.g., $50,000)
- Set Minimum Amount to $1,000
- Click "Search" again
- Note new Total Amount (e.g., $42,000)
- Calculate: $42,000 / $50,000 = 84% from high-value customers
Tips:
- Helps identify revenue risk if concentrated in few customers
- Useful for business planning and customer retention strategies
Use Case 5: Reward Program Budget Planning¶
Goal: Calculate reward budget based on top customer spending
Steps:
- Set date range to last complete fiscal year
- Set Minimum Amount to reward threshold (e.g., $500)
- Click "Search"
- Count number of qualifying customers (via Rank column)
- Multiply count by reward value (e.g., 50 customers × $25 = $1,250 budget)
Example: If 50 customers spent over $500, and you want to give each a $25 thank-you gift, budget $1,250 for rewards.
Troubleshooting¶
Customer Appears Multiple Times in List¶
Symptoms: Same customer name shows up with different rank positions
Check:
- Verify these aren't different customers with similar names
- Check customer IDs - they should be unique
- Look for duplicate customer accounts in system
Solutions:
- This should not occur with proper database structure
- Contact system administrator if duplicates appear
- Consider merging duplicate customer accounts
If Problem Persists: Report to Kiva Logic support with specific customer IDs showing duplication.
Total Amount Doesn't Match Expectations¶
Symptoms: Total at bottom doesn't align with accounting records
Check:
- Verify date range matches accounting period exactly
- Confirm "Date Completed" vs "Date Created" selection
- Check if Minimum Amount filter is excluding low-value transactions
- Verify payment status - only completed payments counted
- Remember credits and debits are excluded
Solutions:
- Use "Date Completed" for accrual-based accounting
- Set Minimum Amount to $0 to include all transactions
- Compare to Payment Transactions report for validation
- Check that date range boundaries are inclusive
Missing High-Value Customers¶
Symptoms: Expected customers don't appear in list
Check:
- Verify customer had completed payments in date range
- Check if Minimum Amount threshold is too high
- Confirm payments are status "Complete" not "Pending"
- Verify date range includes customer's transaction dates
Solutions:
- Expand date range to include earlier transactions
- Lower or remove Minimum Amount filter
- Check individual customer record for payment history
- Verify payment type (credits/debits are excluded)
Related Pages¶
- Payment Transactions (
billing-payments.php) - Detailed transaction-level reporting - Transaction Reports (
transaction-report.php) - Transaction history analysis - Customer Info (
customer_info.php) - Individual customer payment history and profile - Customer List (
customer_search.php) - Browse and search all customers
Typical Workflow:
- Revenue Per Customer → Identify top customer → Customer Info for detailed history
- Revenue Per Customer → Find high-value segment → Add VIP tags → Send targeted offers
- Payment Transactions → See aggregate revenue → Revenue Per Customer → Identify individuals
Permissions & Access¶
Required Access Level: View access (implied from code - no specific permission check)
Access Level Capabilities:
- Customer Service: View customer rankings
- Manager: View and analyze customer revenue data
- Administrator: Full access to all features and date ranges
- Kiva Admin: All features plus database query access
Best Practices¶
Regular Analysis¶
- Run monthly reports to track customer value trends
- Compare quarter-over-quarter for seasonal patterns
- Monitor for declining spend from previously high-value customers
- Use for proactive customer retention efforts
Data Accuracy¶
- Always use "Date Completed" for financial reporting
- Use "Date Created" for order-timing analysis
- Verify date ranges match your reporting periods exactly
- Cross-reference with Payment Transactions report for validation
Customer Segmentation¶
- Use Minimum Amount to create tier segments
- Document threshold amounts for consistent reporting
- Track segment sizes over time
- Use rankings to prioritize customer service efforts
Things to Avoid¶
- ❌ Don't confuse Date Created vs Date Completed - they serve different purposes
- ❌ Don't forget to remove Minimum Amount filter when you need complete data
- ❌ Don't assume rankings are static - they change with every new payment
- ❌ Don't use this report for tax calculations - credits and debits are excluded
Quick Reference Card¶
| Task | Action/Location |
|---|---|
| View top 10 customers this month | Set current month dates, sort by rank |
| Find VIP candidates | Set Minimum Amount to VIP threshold |
| Check customer details | Click customer name in table |
| See all customer spending | Set Minimum Amount to $0 |
| Compare to last year | Run report twice with different date ranges |
| Calculate reward budget | Count ranks meeting threshold, multiply by gift value |
| Focus on high-value only | Increase Minimum Amount field |
| Use for accounting | Select "Date Completed" |
| Track order timing | Select "Date Created" |
| View complete revenue | Note Total Amount at table bottom |
FAQs¶
Why are credits and debits excluded from this report?¶
This report focuses on actual revenue from sales, not account adjustments. Credits and debits are accounting entries that don't represent new revenue, so they're filtered out to show true customer purchase value.
What's the difference between this and Payment Transactions?¶
Payment Transactions shows transaction-level details aggregated by time period. Revenue Per Customer aggregates all payments per individual customer, providing a customer-centric view instead of a time-centric view.
Can I export this data to CSV or Excel?¶
The current version doesn't have a built-in export button. To export, use your browser's print-to-PDF feature, or copy the table data and paste into a spreadsheet application.
Why might Date Created and Date Completed give different results?¶
There can be a delay between when a payment is created (initiated) and when it's completed (processed). For credit card processing, this might be seconds. For checks or manual processing, it could be days. Financial reports should use Date Completed for accuracy.
How far back does the archive search go?¶
If USEARCHIVE is enabled, the system searches both the current database and the archive database, providing complete historical data from when your system was first implemented. The exact start date varies by installation.
Change Log¶
2026-03-01¶
- Initial documentation created
- All sections completed based on billing-revenue-reports.php code review
- Documented Date Created vs Date Completed functionality
- Added minimum amount filtering details
- Included archive integration information
End of Documentation
For additional help, contact your system administrator or Kiva Logic support.