Kajabi sales and refunds next to your other revenue

Connect Kajabi's public API with a key that may only view transactions and customers, and Sumly counts every sale, subscription charge, refund and dispute, without tax and less the Kajabi Payments fee.

Drawn with example numbers.

Connected in three steps

A read-only key, pasted once. Sumly does the rest.

  1. 1

    Kajabi's public API comes with the Pro plan, or as an add-on. In Kajabi: Settings → Public API → Create User API Key, name it Sumly and give it permission to view transactions and view customers only.

  2. 2

    Paste its Client ID and Client Secret. Sumly asks Kajabi for a token with them and asks again when it runs out.

  3. 3

    Kajabi lists sales, subscription charges, refunds and disputes, but no billing interval: revenue shows, 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 Kajabi 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/kajabi; read it if anything below is unclear.

Steps:
1. Kajabi's public API comes with the Pro plan, or as an add-on. In Kajabi: Settings → Public API → Create User API Key, name it Sumly and give it permission to view transactions and view customers only.
2. Paste its Client ID and Client Secret. Sumly asks Kajabi for a token with them and asks again when it runs out.
3. Kajabi lists sales, subscription charges, refunds and disputes, but no billing interval: revenue shows, MRR does not.

Keep in mind: Built from Kajabi's public API documentation and tested against responses shaped like it; it has not yet been tried on a live account. Tell us if a number looks off. No MRR: Kajabi's offers carry no billing interval, so a subscription's monthly value cannot be told. Subscription charges count as revenue. The public API comes with Kajabi's Pro plan, or as a paid add-on. Kajabi's checkout keeps no custom data, so sales are not traced to visits. Fees show only for Kajabi Payments; with Stripe or PayPal connected directly, they are at that provider.

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 Kajabi's own) are mine: tell me exactly what to click, then wait for me.
- The Kajabi key goes into Sumly (Projects and payments), not into this project: Sumly reads Kajabi 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

Kajabi next to every other project and provider, on the same pages.

Refunds

Every sale and refund without tax, less the Kajabi Payments fee, with the buyer's name.

Metrics over time

Net and gross revenue, fees, refunds, customers and a CSV export.

No MRR and no traffic source, as Kajabi 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
  • Sales, subscription charges and payment plan instalments, without sales tax
  • Refunds and disputes, as transactions of their own
  • The Kajabi Payments fee, where Kajabi reports it
  • The buyer's name
When Sumly reads Kajabi
  • Every 15 minutes. The first read takes three years of transactions.
  • Refunds and disputes are transactions of their own, so they arrive on the day they happened.
  • With the optional webhook, Sumly reads at once after a sale.
How Kajabi money is counted
Sales
Charges, subscription charges and payment plan instalments, on the day they were made, without sales tax.
Fees
The Kajabi Payments fee where Kajabi reports it. Otherwise none.
Refunds and disputes
Each comes off revenue on its own day.
Not counted
Free purchases, tests, failed and pending payments, and the subscription changes that move no money.
Currency
Each transaction in its own currency, turned into euros at the European Central Bank's rate of the day.
Good to know
  • Built from Kajabi's public API documentation and tested against responses shaped like it; it has not yet been tried on a live account. Tell us if a number looks off.
  • No MRR: Kajabi's offers carry no billing interval, so a subscription's monthly value cannot be told. Subscription charges count as revenue.
  • The public API comes with Kajabi's Pro plan, or as a paid add-on.
  • Kajabi's checkout keeps no custom data, so sales are not traced to visits.
  • Fees show only for Kajabi Payments; with Stripe or PayPal connected directly, they are at that provider.

Kajabi questions

Which permissions does the key need?

Only to view transactions and customers. Kajabi lets you choose them when you create a User API key.

Why is there no MRR?

Kajabi's API shows a subscription's charges but not how often it renews, so its monthly value cannot be worked out reliably.

Can I trace Kajabi sales to visits?

Not yet: Kajabi's checkout keeps nothing Sumly could read back.

Is this tested on a real account?

Not yet. It follows Kajabi'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 free

Or look around first: open the live demo.