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.

App
LeadConnectorGoHighLevelFinanceOperationsAI ReportsContent Generation
PromptCreate

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?
Yes. That is the main reason this exists. You pick a start and end date and the collected, outstanding and overdue totals, the payment trend and the invoice list all recalculate for that window, instead of being stuck with fixed presets.
Does this cover all the sub-accounts in my agency?
No. It is built for one sub-account at a time, so the totals and the invoice list belong to a single client or business. If you manage several, you would open the dashboard against whichever sub-account you want to look at.
Will it message my customers automatically?
Never. The drafting assistant only writes suggested messages into a review queue inside the app. You read each one, edit it if you want, and decide whether to send. Nothing leaves the app without a person approving it.
If I record a payment here, does GoHighLevel know about it?
Yes. Recording a manual payment and voiding an invoice both write straight back to your account, so the invoice status updates in the same place your team already works. It is meant for the bank transfers and cheques that never flow through an online payment.
Do I need a separate invoicing or accounting tool for this?
No. It reads the invoices, payments, contacts and conversations already in your sub-account. It is a better window onto the data you have, not another place to create invoices.

Related templates

An appointment show-rate board for your GoHighLevel front desk

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.

GoHighLevel
App
A morning pipeline board for your GoHighLevel deals

See every open deal as a card, spot the ones going stale, and move, edit or reply to them without opening the CRM.

LeadConnector
GoHighLevel
App
Fill tomorrow's empty GoHighLevel slots before they go to waste

Every weekday afternoon, we spot tomorrow's open appointment times, pick the warm leads worth calling in, and offer each one a personal note.

GoHighLevel
Slack Bot
Agentic Task
Alert your team when GoHighLevel messages go unanswered

Every 30 minutes during business hours, find the customer messages nobody has replied to yet and post one quiet Slack nudge.

GoHighLevel
Slack Bot
Google Sheets
Deterministic Code
Turn new GoHighLevel bookings into rep-ready pre-call briefs

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.

GoHighLevel
Google Calendar
Slack Bot
+1
Agentic Task
Triage new GoHighLevel conversations and draft the reply

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.

GoHighLevel
Slack Bot
Agentic Task

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.