A revenue and receivables dashboard for GoHighLevel
Pick any date range and see what you collected, what is still owed and how late it is, then chase it without leaving the page.
Build me a revenue and receivables dashboard for a single GoHighLevel sub-account. The built-in invoice reporting will not let me look at money over an arbitrary date range, and that is the whole point of this app. The main screen answers one question: where is my money. Scope everything to one sub-account (one location), not an agency-wide rollup across clients.
The top of the main screen is a date range picker plus the money summary for that range. Show three headline totals: collected, outstanding and overdue. Under them show a simple trend of payments received across the selected period, bucketed by day or week depending on how long the range is. Next to the trend show aging buckets for what is currently owed, split into 0-30 days, 31-60 days and 60 plus days past due. Calculate days overdue and the aging buckets in the app from each invoice's due date against today, since the API does not hand you aging.
Below the summary is a sortable invoice table with columns for customer name, amount, issue date, due date, days overdue and status. Every column sorts. Add a filter to show all invoices, unpaid only, or overdue only. Beside the invoice table put a second tab listing recent payment transactions, with amount, date, customer and payment method, so I can reconcile what actually landed against what the invoices claim.
Clicking an invoice opens a detail view showing its line items and full breakdown on one side, and that customer's recent message history on the other, so I can immediately see whether anyone has already chased them. From this detail view I can record a manual payment against the invoice, for when someone pays by bank transfer or cheque, void an invoice that should never have gone out, or send the customer a message in their existing conversation thread. Confirm before voiding, since that is destructive.
Add a Draft collections outreach button. I select one or more overdue invoices in the table, hit the button, and it kicks off a background agent. For each selected invoice the agent reads that customer's conversation history and payment record, then writes a nudge whose tone escalates with how late the invoice is: gentle and assumed-oversight at around two weeks, noticeably firmer by sixty days. Each draft must reference the actual invoice amount and what it was for, and must take into account whether the customer has already been chased or has already replied. Drafts land in a review queue inside the app where I read, edit and then send them. Nothing sends automatically. Every message is reviewed by a human first, and the review queue should make it obvious which drafts are still pending, which were sent and which I dismissed.
Data sources. Totals, the aging buckets and the invoice table read through LeadConnector using List Invoices with its status and date filters, with Get Invoice for the detail view line items, and List Transactions for the payments tab. Actions use LeadConnector Record Invoice Payment and Void Invoice. Customer context and outreach use GoHighLevel Contacts: Get Contact for customer details, Conversations: Search Conversations to find the customer's thread, Conversations: Get messages by conversation id for the message history shown on the invoice detail, and Conversations: Send a new message to send an approved message. There is no text-to-pay operation available in the catalog, so do not promise one: sending the customer a payment nudge means sending them a message on their existing conversation thread.
API notes. Invoice and payment endpoints use the Version header 2021-07-28, while conversations endpoints use 2021-04-15. Invoice endpoints take altId set to the location id and altType set to location. List endpoints page with limit plus offset, so page through them rather than assuming the first page is everything, and be careful that the totals reflect all pages in the selected range. Persist the outreach drafts and their status in the app so the review queue survives a refresh.
What does this prompt do?
- Pick any start and end date and see collected, outstanding and overdue totals side by side, with a simple trend of the payments that actually landed in that window
- Breaks down what you are owed into 0-30, 31-60 and 60-plus day aging buckets, so you can tell a slow payer from a real problem
- Gives you a sortable invoice table with customer, amount, issue date, due date, days overdue and status, filterable to unpaid or overdue only, plus a separate tab of recent payment transactions for reconciling against your bank
- Opens each invoice with its line items next to that customer's recent message history, so you can see whether anyone has already chased them before you do
- Includes a Draft collections outreach button that hands your selected overdue invoices to a background assistant, which writes a nudge for each one that gets firmer the later the invoice is. Every draft waits in a review queue for you to edit and send
What do I need to use this?
- A GoHighLevel or LeadConnector login with access to the sub-account whose money you want to track
- Invoicing already in use in that sub-account, so there are invoices and payments to read
- Access to contacts and conversations in the same sub-account if you want customer message history and outreach drafting
How can I customize it?
- Change the aging buckets if your business thinks in different windows, for example 0-15, 16-45 and 45-plus days
- Set the date range the dashboard opens on, such as this month, this quarter or the last 90 days
- Adjust when the outreach tone escalates and how firm the final stage gets, so the wording matches how you actually talk to customers
- Decide which invoice statuses count as outstanding for your totals
FAQs
Can I look at any date range I want?
Does this cover all the sub-accounts in my agency?
Will it message my customers automatically?
If I record a payment here, does GoHighLevel know about it?
Do I need a separate invoicing or accounting tool for this?
Related templates
See booked, showed and no showed counts by calendar and rep, work today's schedule, and win back the people who did not turn up.
See every open deal as a card, spot the ones going stale, and move, edit or reply to them without opening the CRM.
Every weekday afternoon, we spot tomorrow's open appointment times, pick the warm leads worth calling in, and offer each one a personal note.
Every 30 minutes during business hours, find the customer messages nobody has replied to yet and post one quiet Slack nudge.
When someone books a call, we research them, pull up what your team already told them, and hand the rep a brief in Slack and on their calendar.
Every new inbound message gets sorted by intent, urgency and mood, with a ready-to-send reply waiting in Slack before anyone opens the inbox.
Stop guessing where your money is.
Get the date-range view of collected, outstanding and overdue that the built-in invoice reporting will not give you.