Weekly Whop business brief with net revenue after fees
Every Monday at 8am, get a written recap of last week's Whop sales, what you actually kept after fees, and where members came and went.
Every Monday at 8am, publish a weekly business brief for my Whop company. Use a cron trigger.
Start by defining two windows: the last 7 days (the reporting week) and the 7 days immediately before it (the comparison week). Use Whop List Payments to pull every payment in both windows. Whop list endpoints are cursor based, so page through using first and after=<end_cursor>, following page_info.has_next_page until it comes back false. Reading only the first page will undercount a full week of payments.
Normalise amounts before totalling or comparing anything. Payment amounts come back as integers in the smallest currency unit (cents), while plan amounts are decimal numbers in the plan currency. Convert payments to major units before you add them up or compare them against plan pricing. Group totals by currency rather than summing different currencies into one figure, and only count successful payments toward gross revenue so that refunded and failed charges do not inflate it.
For net revenue, use Whop List Fees, which lists the fees charged on a payment. Walk the payments in each window, sum their fees, and subtract that from gross to get true take home for the week. If a payment returns no fee records, treat its processing cost as zero. Net revenue after fees is the headline number of this brief, so show both gross and net for both weeks.
Use Whop List Memberships to count new, active and cancelled memberships in each window, filtering by status, and track which product and plan the movement came from. Use Whop Retrieve Company for the headline member count; it accepts the literal string me in place of a company id to fetch the authenticated company.
Then write a short narrative brief rather than a table dump. Cover gross and net revenue for the week with the change against the prior week, new members versus churned members, which product and plan moved the most in either direction, and two or three specific recommended actions for the coming week that follow from what the numbers actually show. Keep it to something a founder can read in under two minutes. If the comparison week had no payments, say so plainly instead of reporting a percentage change against zero.
Save the brief as a page in my Notion reports database using Notion Create a Page with that database as the parent. Title the page with the week ending date, fill in whichever properties the database already defines (date, gross revenue, net revenue, new members, cancelled members), and put the narrative in the page body.
Finally, post to my team channel with Slack Send a Message so nobody has to open Notion to get the gist. Lead with the headline numbers (gross, net after fees, new members, cancelled members, each with its week over week change), then link to the Notion page. Use Slack mrkdwn formatting, so *bold* for the numbers and <url|text> for the link.
Ask me which Notion reports database and which Slack channel to use when the workflow is set up.
What does this prompt do?
- Compares the last seven days against the seven days before it, so every number arrives with a week over week change instead of a bare total.
- Works out what you actually took home after processing fees, not just the gross sales figure the dashboard shows you.
- Counts new, active and cancelled memberships, and calls out which product and plan moved the most.
- Writes it all up as a short narrative brief with two or three recommended actions, saves it to Notion, and posts the headline numbers to Slack.
What do I need to use this?
- A Whop account with permission to view payments, memberships and company details
- A Notion workspace with a reports database where the brief should be saved, shared with your Notion connection
- A Slack workspace and the channel where your team should see the weekly headline numbers
How can I customize it?
- Change the day and time, or switch to a fortnightly or monthly cadence
- Point it at a different Slack channel, or have it land in a direct message instead
- Narrow the brief to a single product or plan, or change which properties get filled in on the Notion page
FAQs
Does this report revenue before or after fees?
Will it work if I sell in more than one currency?
Do I need to set up the Notion database first?
What happens in a week with no sales?
Can the team see the numbers without opening Notion?
Related templates
When someone leaves, we check which shared passwords they used in their final months and post a ranked rotation list to your security channel.
Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.
Twice every weekday, the conversations from your social inbox land on the right HubSpot contact timelines, with a Slack recap for sales.
Every morning, find the addresses that hard bounced or filed a spam complaint, update the matching HubSpot contacts, and post a short Slack recap.
Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.
When you merge a fix in GitHub, this agent checks the matching dead-letter queue, replays the failed messages, and reports back on the pull request and in Slack.
Stop working out your real Whop take home by hand.
Get the numbers, the week over week story and the actions worth taking, waiting in Slack every Monday morning.