Teachable sales and refunds next to your other revenue
With a Teachable API key, Sumly counts every course and membership sale and its refunds, named by pricing plan, next to the revenue of your other products.
- Tax −$12
- Teachable and card fees −$9
Each Teachable sale, without tax and less fees, next to your other revenue.
Connected in three steps
A read-only key, pasted once. Sumly does the rest.
-
1
Teachable's API comes with the Growth plan and higher. In your school: Settings → API → Add API key, name it Sumly.
-
2
Teachable keys cannot be limited to reading. Sumly only reads transactions and pricing plans with it, and keeps it encrypted.
-
3
Teachable lists transactions, not subscriptions: revenue and refunds show, MRR does not.
Or let your coding assistant do it
Paste this into Claude Code, Cursor or Codex in your project. It fits the code to how your project is built, asks you for the dashboard steps and leaves the keys to you.
See what it says
Set up Teachable for Sumly in this project. Sumly (https://sumly.dev) shows revenue next to the visits and app users it came from. The full guide is https://sumly.dev/integrations/teachable; read it if anything below is unclear. Steps: 1. Teachable's API comes with the Growth plan and higher. In your school: Settings → API → Add API key, name it Sumly. 2. Teachable keys cannot be limited to reading. Sumly only reads transactions and pricing plans with it, and keeps it encrypted. 3. Teachable lists transactions, not subscriptions: revenue and refunds show, MRR does not. Keep in mind: Built from Teachable's API documentation and tested against responses shaped like it; it has not yet been tried on a live school. Tell us if a number looks off. No MRR: Teachable's API lists transactions, not subscriptions. Subscription charges count as revenue. The API comes with Teachable's Growth plan and higher, and its keys cannot be limited to reading. Teachable reports what you keep after its fees only in dollars, so fees show only in a school that sells in dollars. No buyer names or countries: the transactions name only a user id. How to work: - Look at how this project is built first, and fit the code to its framework and its way of doing things; the examples above are a starting point, not something to paste as is. - Steps that happen in a dashboard (Sumly, or Teachable's own) are mine: tell me exactly what to click, then wait for me. - The Teachable key goes into Sumly (Projects and payments), not into this project: Sumly reads Teachable itself. Your part in the code is only carrying the visitor into checkout, as above. - Keys the code needs belong in environment variables, never in the code or the repository. Never ask me to paste a secret key into this chat; tell me which variable to set. - Change only what this needs, show me the changes before you commit, and tell me how to check that it works.
What you see after connecting
Teachable next to every other project and provider, on the same pages.
Refunds
Every sale without tax, named by its pricing plan, and its refunds.
Metrics over time
Net and gross revenue, refunds, plans and a CSV export.
No MRR and no traffic source, as Teachable gives neither.
Counts toward your plan
Nothing: payments, customers and refunds never count toward your plan. Only the page views and app screens Sumly keeps do. Plans →
The details
What Sumly reads
- Every transaction at its listed price without tax
- Refunds, full and partial, on the day they were made
- The pricing plan of each sale, so subscription charges are marked
When Sumly reads Teachable
- Every 15 minutes. The first read takes three years of transactions.
- Refunds are kept on the transaction they refund, so each read looks 120 days back for them.
- With the optional webhook, Sumly reads at once after a sale or refund.
How Teachable money is counted
- Sales
- A paid transaction at its listed price, without taxes and fees, in the school's currency, on the day it was purchased.
- Fees
- In a school selling in dollars: the difference between the price and the revenue Teachable reports. Otherwise none.
- Refunds
- The refunded share of the charge, taken off the price without tax, on the day of the refund.
- Currency
- Each transaction in the school's currency, turned into euros at the European Central Bank's rate of the day.
Good to know
- Built from Teachable's API documentation and tested against responses shaped like it; it has not yet been tried on a live school. Tell us if a number looks off.
- No MRR: Teachable's API lists transactions, not subscriptions. Subscription charges count as revenue.
- The API comes with Teachable's Growth plan and higher, and its keys cannot be limited to reading.
- Teachable reports what you keep after its fees only in dollars, so fees show only in a school that sells in dollars.
- No buyer names or countries: the transactions name only a user id.
Teachable questions
Is my key safe if it cannot be limited to reading?
Sumly only reads transactions and pricing plans with it and keeps it encrypted. Delete the key in Teachable at any time and the reads stop.
Why is there no MRR?
Teachable's API lists the charges of a subscription, not the subscription itself, so Sumly cannot tell which are still running.
Is this tested on a real school?
Not yet. It follows Teachable's documentation and is tested against responses shaped like it. If a number does not match, tell us.
Other integrations
Try it with your own projects
Sign in with Google or a code by e-mail and connect your first project. Free for one project, and 14 days of a paid plan with no card.
Start freeOr look around first: open the live demo.