Thinkific and Kajabi Payments in QuickBooks

Course platforms run checkout on Stripe, but the balance and payout are theirs to report. Here is what actually lands in QuickBooks Online, which records...

Acodei Content Team · 9/8/2026 · 13 min read

If you sell courses on Thinkific or Kajabi, there is a good chance you have never opened a Stripe dashboard, and there is an equally good chance that Stripe is processing every payment you take.

That combination is the whole reason course-platform bookkeeping is confusing. The money moves through Stripe. The record of it lives in a platform dashboard that was designed for course creators rather than for accountants. And the deposit that lands in your bank is net of things that were subtracted somewhere you never looked.

Reconciling course sales by hand? Acodei syncs Thinkific and Kajabi payment data into QuickBooks Online with fees and payouts as their own records rather than a single lump deposit. Start a free trial.

This post is about what actually reaches QuickBooks Online when the course platform owns the checkout, which records get created, and the one setting that changes the shape of everything downstream.

First, work out which set of books you are keeping

Both platforms let you take money two different ways, and the difference decides everything else.

You connect your own Stripe account. The platform hands checkout off to Stripe under your Stripe account. You have a Stripe dashboard, a Stripe balance, and Stripe payouts. Stripe's own case study on Thinkific describes this path as Stripe Standard Connect, alongside Stripe Billing for subscription management.

You use the platform's payments product. Thinkific Payments and Kajabi Payments are the platform's own branded checkout. Stripe is still underneath. Stripe describes Thinkific Payments as "built entirely on Stripe's infrastructure." But the balance and the payout are the platform's to report to you, and you administer your banking details in the platform dashboard rather than in Stripe.

The practical test is simple: if you cannot log in to a Stripe dashboard and see your own balance, you are on the second path.

This matters for bookkeeping because it changes what the clearing account in QuickBooks is standing in for. On the first path it stands in for your Stripe balance. On the second it stands in for your Thinkific Payments or Kajabi Payments balance. Acodei's documentation for both platform integrations is explicit about which one it tracks: the holding account it creates "tracks your Thinkific Payments Balance in QuickBooks," and the Kajabi equivalent tracks the Kajabi Payments balance.

Same accounting shape, different source of truth. If you go looking for a Stripe balance report to reconcile against and you are on platform payments, you will not find one.

What each event becomes in QuickBooks

This is the part that is genuinely documented rather than inferred, and it is the same for both platforms:

What happens on the platformWhat Acodei creates in QuickBooks
SaleSales Receipt
RefundRefund Receipt
PayoutBank Deposit or Transfer, depending on your settings
Processing feeSales Receipt or Expense, depending on your settings

Two things in that table are worth slowing down on.

Sales become Sales Receipts, not Invoices. A Sales Receipt in QuickBooks is the form for a sale that was paid at the moment it happened, which is what a course checkout is. It records the revenue and the deposit in one document. There is no open receivable, because nobody owes you anything after the card clears. If you are used to the invoice-and-payment pattern, this is a simpler shape, and it is the right one. We cover the general distinction in Sales Receipt versus Payment in QuickBooks.

Two of the four rows say "depending on your settings." Those are not vague. They are pointing at one specific choice, which is the next section.

The holding account decides the shape of your payouts

By default Acodei creates a holding account for you, and that account tracks your platform payments balance in QuickBooks. In the default setup, a payout is recorded as a transfer from that holding account to your checking account.

Change the holding account to an Undeposited Funds asset type and you get a different shape: a bank deposit containing all your sales and refunds.

That is one setting with a large downstream effect, so it is worth understanding what each one gives you.

Transfers from a clearing account. The payout is one line moving money between two accounts you own. Individual sales and refunds have already posted to the holding account as their own records. The holding account balance should track what the platform says your balance is, which gives you a running figure to reconcile against.

A bank deposit through Undeposited Funds. The deposit is itemized: it contains the underlying sales and refunds, grouped the way a paper deposit slip groups cheques. Reconciliation works by matching the deposit against the bank line rather than by watching a balance.

Neither is wrong. The choice is mostly about how you prefer to reconcile, and about whether you want a standing balance to compare against the platform. If you want the concept in general terms first, we define it in the holding account glossary entry.

The one thing worth doing early is deciding deliberately. This setting shapes every payout record from the moment you start syncing, so it is worth a minute at setup rather than being inherited by default and discovered in month four.

Fees: the money that left before you saw it

Course platforms take their cut before the payout reaches you. So does the card network. So your bank deposit is net of things that need to exist separately in QuickBooks if your revenue is going to be gross.

Acodei records platform processing fees as either a Sales Receipt or an Expense, depending on your configuration. The reason there are two options rather than one is that fees can be treated as a reduction on the sales side or as their own expense line, and different bookkeepers want different things.

What matters for your P&L either way is that the fee exists as its own record. A course that sold for $200 with fees subtracted before payout should show $200 of revenue and a separate fee expense, not $194 of revenue. That distinction is the single most common thing that gets lost when someone books a course-platform payout as one lump revenue line.

One honest boundary here. Acodei's documentation describes how the platform's processing fees are recorded in QuickBooks. It does not publish a fee schedule for either platform, and the platforms' own fee pages could not be retrieved for this post, so no percentages appear here on purpose. Your fee rates are in your platform's billing settings and they vary by country, currency, payment method, and plan. Read them there rather than from a blog post.

There is a related pattern worth knowing if you also run a Stripe account directly: charges that are not tied to a single customer payment, like monthly platform subscription fees, get handled differently from per-sale fees. We cover that in non-transactional Stripe fees in QuickBooks.

Tax is where the two platforms genuinely differ

Everything up to this point has been the same for Thinkific and Kajabi. Tax is not, and the difference is bigger than most people expect.

Both platforms remit tax on your behalf. That phrase does a lot of work: it means the tax collected on your course sales is not a liability you are going to file and pay yourself, because the platform is doing it. Your bookkeeping job is to represent that correctly rather than to accrue a liability you do not owe.

On Thinkific, Acodei's documentation is short and specific: Thinkific remits tax on your behalf, and the tax can be included with other Thinkific fees or recorded as a standalone expense. So tax rides with the fee treatment. It is not going into a sales tax liability account, because it is not your liability to file.

On Kajabi, Kajabi also remits on your behalf, but the syncing follows Acodei's core tax mapping rather than the simpler fee treatment. That opens up a regional split that will be familiar to anyone who has set up Stripe Tax with QuickBooks:

  • Non-US merchants can map tax to the appropriate QuickBooks tax codes and accounts.
  • US merchants route all Kajabi tax to a single QuickBooks product and account.

And there is a gating detail that is easy to trip over: tax mapping on Kajabi is available on paid plans only, and it must be activated through the Acodei admin portal. It is not a switch you find in your own settings and turn on yourself. If you need it, that is a support conversation, and it is better to have it during setup than during a filing deadline.

The reason US and non-US diverge is not an Acodei design decision. QuickBooks Online's US Sales Tax Center does not allow outside applications to create official QuickBooks tax rates, which is true of every integration on the market. That constraint is why US setups aggregate tax onto a single mapped product instead of mapping rate by rate. We go through the full version of that in Stripe Tax in QuickBooks Online, and define the object it turns on in the QuickBooks tax code entry.

Kajabi has no invoices, and that is a feature

If you have read about syncing Stripe with QuickBooks, you have read about invoice syncing: matching Stripe invoices to QuickBooks invoices, applying payments against them, chasing what is open.

None of that applies on Kajabi. Acodei's documentation states it plainly: because Kajabi does not use or need invoices, there is nothing to monitor, and all sales are recorded using sales receipts instead.

That is a real simplification rather than a missing feature. There is no receivables ledger to keep clean, no partially-applied payments, no invoices sitting open because a payment landed on the wrong record. Every sale is closed the moment it happens.

It also means that if someone tells you your course platform books should show accounts receivable, they are describing a different business model than the one you are running.

Mapping courses to income accounts is keyed on IDs, not names

Out of the box, you pick one general income account during onboarding, something like Sales, and Acodei creates a matching product in QuickBooks that all revenue flows into. That is fine until you want your P&L to separate your flagship course from your membership from your one-off workshops.

Multiple Product Mapping is the feature that does that, and both platforms have one operational detail that will save you an afternoon.

The mapping is keyed on the platform's ID, not the product name. On Thinkific, that is the Thinkific Product ID, and Acodei's documentation is explicit that mapping is completed on the Product ID rather than the Product Name, so typos in the name field do not matter. You find the ID by opening the course, going to the Pricing tab, and using Copy Link: in a URL like .../enroll/2479638?price_id=3276208, the Product ID is the first of the two numbers.

On Kajabi, the equivalent is the Offer ID, pulled from the offer's URL in your admin area. A course with two differently-priced offers has two IDs, which is exactly the situation multiple mapping exists for. The offer name is reference only.

Two setup notes worth knowing before you start:

  • Acodei pre-populates the mapping screen from your recent transactions, so your active products are usually already listed. On Kajabi it pulls offer IDs and names from your most recent 10 transactions.
  • On Kajabi, Multiple Product Mapping requires a paid account.

And the mapping only works if the QuickBooks side exists: the products you are mapping to have to be created in QuickBooks and pointed at the income account you want, before the mapping will land anywhere useful.

What this does not cover

A few boundaries, stated rather than papered over.

Acodei's platform integrations are a partnership between Acodei, Stripe, and the platform, rather than something you assemble yourself. In practice that means you configure them from the Thinkific-QuickBooks or Kajabi-QuickBooks app settings, which is also where the customer-data options live: you can import customer name, email, and billing details, choose a subset of that, or sync everything under a default name like Thinkific Customer. Names land in the QuickBooks Display Name field and are matched against existing customers.

If you are on the other side of this, running a platform and wondering what it takes to offer your own creators a QuickBooks integration, that is a different post: embedding QuickBooks sync in a Stripe Connect platform covers the build-versus-embed question, and Stripe Connect in QuickBooks covers how the platform's own books work.

One correction worth making explicitly, because it appears in older material around the web: Amilia is no longer a supported Acodei integration. If you find a page listing it alongside Thinkific and Kajabi, that page is out of date.

Frequently asked questions

Do I need a Stripe account to sync Thinkific or Kajabi to QuickBooks?

Not if you are using the platform's own payments product. Thinkific Payments and Kajabi Payments run on Stripe's infrastructure, but you administer them from the platform dashboard, and the Acodei integration for each platform syncs the platform's payment data. If you connected your own Stripe account to the platform instead, you have a Stripe account and a Stripe balance of your own.

Why are my course sales showing up as Sales Receipts instead of Invoices?

Because they were paid at the moment of sale. A Sales Receipt is the QuickBooks form for exactly that, recording the revenue and the money received in one document with no open receivable. On Kajabi this is the only shape, since Kajabi does not use invoices at all.

Will the tax on my course sales create a liability I have to file?

On both platforms, tax is remitted on your behalf, so it is not a liability you file. How it is represented differs: on Thinkific it can sit with the other platform fees or as a standalone expense, while on Kajabi it follows the standard tax mapping, going to QuickBooks tax codes outside the US and to a single mapped product and account inside it. Confirm your own filing obligations with your accountant rather than assuming the platform covers everything.

Why can I not turn on Kajabi tax mapping myself?

It is available on paid plans only and has to be activated through the Acodei admin portal. It is a support request rather than a self-serve setting.

Can I split different courses into different income accounts?

Yes, through Multiple Product Mapping, keyed on the Thinkific Product ID or the Kajabi Offer ID. The QuickBooks products you are mapping to need to exist first and be pointed at the income accounts you want. On Kajabi the feature requires a paid account.

Should my holding account be a clearing account or Undeposited Funds?

That decides whether payouts arrive as transfers from a clearing account or as itemized bank deposits. Pick based on how you prefer to reconcile, and decide it deliberately at setup, because it shapes every payout record that follows.

The short version

When the course platform owns the checkout, the accounting shape is simpler than a full Stripe setup, not harder. Sales become Sales Receipts, refunds become Refund Receipts, and the payout is either a transfer from a holding account or an itemized deposit, depending on one setting you choose at the start.

The two places to pay attention are tax, where Thinkific and Kajabi genuinely differ and where Kajabi's mapping needs a paid plan and an admin switch, and product mapping, which is keyed on platform IDs rather than the names you see on screen.

If your course revenue is currently reaching QuickBooks as one net deposit a week with the fees buried inside it, that is the thing worth fixing first. Acodei posts sales, refunds, fees, and payouts as separate records so your revenue is gross and your fees are their own expense. Start a free trial.

Share

Automate your Stripe to QuickBooks sync

Save hours every month. Acodei automatically syncs your Stripe transactions, invoices, and payouts to QuickBooks Online.

How Acodei handles this in your stack

Stripe QuickBooks Integration

See how Acodei syncs Stripe payments, fees, refunds, invoices, and payouts into QuickBooks Online automatically.

Or go straight to a capability

Get more operational finance guides like this one

We will only send high-value product and finance content.