1. Your Teachable transactions
The transactions CSV from Teachable (Settings > Reports > Transactions). Columns are matched by name (DateTime, Item, Received, Given, Currency, TransactionType). Teachable pays out through PayPal or Stripe, so type the total you received there in the box below to prove the rows add up.
Choose a file or paste the text, then click Read, check and build journals.
Result
Deposit check
| Payout | Payout date | Teachable states | Journals clear | Agrees |
|---|
Journals
| Journal | Date | Account | Debit | Credit | Memo |
|---|
Download
The accounts must already exist in your software under these names or codes. Post the journals, then match each bank deposit to Teachable clearing.
The model, and what it leaves out
- Rows: each row is one Teachable transaction with a date, an item, a TransactionType, the amount the student Paid (sale amount) and the amount Received by you. The fee is Given minus Received, so it covers Teachable's cut and the PayPal or Stripe processing fee together. Amounts are read to cents; European
1.234,56and US1,234.56both work. - Deposit check: the Received amounts must add up exactly to the deposit you type in from PayPal, Stripe or your bank (or a row typed
Payoutin TransactionType). If they do not agree, the page says by how much, and you should not post the journal. - Categories: Course to course income, Subscription or Membership to membership income, Bundle to bundle income, Coaching or Download to coaching income, the fee to fees. A type no rule recognises goes to an uncategorised account and is listed.
- Month split: rows are grouped by transaction date. A journal is dated the month end, or the last transaction date for the final month. Each journal balances to Teachable clearing, so the clearing account holds exactly the part of the deposit that belongs to that month.
- Not checked: that the export agrees with your Teachable dashboard or your books, tax treatment anywhere, currency conversion between sale and payout, and that the accounts exist in your software.
Common questions
How do I turn Teachable earnings into a journal entry?
Download your transactions CSV from Teachable (Settings > Reports > Transactions > Download CSV), paste it here and press Read, check and build journals. The page books each transaction to courses, memberships, bundles or commission income by its TransactionType, books the fee (Given minus Received) separately, checks the total against the deposit you type in from PayPal, Stripe or your bank, and writes a journal that balances to a Teachable clearing account.
Why book gross income and fees instead of the deposit?
What lands in PayPal or Stripe is net of processing fees and of Teachable's transaction fee on the Free and Basic plans. Booking only the deposit as income understates revenue, hides what the platform costs you, and mixes course sales with other sales that may be taxed differently. This page books each income type gross, the fee on its own line, in the month it happened.
What is the Teachable clearing account?
A holding account. Each journal debits or credits it with that period's net, and the payout, when it arrives in PayPal, Stripe or your bank, is matched against it. When every export is journalled and deposited, the clearing account returns to zero, which is the cheap proof that nothing was missed.
Which accounting software can I import to?
Xero (manual journal CSV), QuickBooks Online (journal entry CSV), QuickBooks Desktop (IIF general journal) and a plain CSV for anything else. You can rename the accounts for each category before downloading so they match your chart of accounts.
What does the page do with rows it does not recognise?
It never drops them. A transaction whose type is not a course, bundle, membership or coaching sale is journalled to an uncategorised account so the journal still equals the net, and it is listed so you can review it. A row where Received is more than Given is flagged as probably swapped columns.
Is it safe to paste a Teachable export into a web page?
The page runs in your browser, the file is read locally and nothing is uploaded; a test in the code asserts there are no network calls. The export carries student names and emails; delete those columns if you would rather not have them on screen, because the page only needs the date, item, type, Given, Received and currency.
What does this not check?
Whether the export matches your Teachable dashboard or your books, tax treatment in any jurisdiction (sales tax or VAT collected on bundles orders is not separated from the fee and income), currencies converted between the sale and your payout, and account names or codes that must already exist in your accounting software.