Stripe Integration

Stripe bookkeeping in 2 minutes with Magic Heidi

Magic Heidi overview for booking Stripe revenue

You take payments through Stripe in Switzerland and you need bookkeeping that handles your reality: Stripe payouts, simplified bookkeeping, the VAT threshold from CHF 100'000, receipts organised, tax export at year-end. You're in the right place.

Here's what it looks like in practice. Stripe processes your charges, deducts transaction fees, refunds and chargebacks, and pays you a net amount into your Swiss bank account on a defined schedule. That net payout is the amount that actually lands with you.

For simplified bookkeeping you don't have to rebuild every single Stripe transaction by hand. You can record the Stripe payout as income (a payment received) and attach the payout reconciliation report as the receipt. The important part: the report has to show clearly what's inside the payout — gross charges, refunds, Stripe fees, chargebacks and the net amount. That way your books stay simple but still auditable.

Fastest Way

Import your bank statement, Stripe entry created automatically

Magic Heidi spots your Stripe credit straight from the bank import and creates the income entry in seconds.

Recording a Stripe payout in Magic Heidi is really simple. You drag-and-drop the payout reconciliation PDF into Magic Heidi, and we read the amount and date straight from the PDF.

Picture Julien, a fictional SaaS founder in Geneva with around CHF 120'000 in annual turnover, billing his monthly subscriptions through Stripe Billing. He's set up as a sole proprietorship and recently became VAT-liable on the Net Tax Rate Method. His bookkeeping in Magic Heidi: for each Stripe payout he drags the reconciliation PDF in, Magic Heidi creates the entry, the receipt stays attached, done. Across the year that's about 45 minutes of pure Stripe bookkeeping work. At year-end he exports income, expenses and receipts for his Treuhänder (fiduciary), and he's saved himself CHF 400 to 900 in sync-tool fees at the same time.

The key points at a glance

  • Simplified bookkeeping under Swiss Code of Obligations (CO) Art. 957 applies to Swiss sole proprietorships and partnerships with less than CHF 500'000 in turnover in the previous financial year.
  • You don't need double-entry bookkeeping and you don't have to record every single Stripe transaction individually.
  • In practice, you can record the net payout per Stripe payout as a payment received, as long as the Stripe reconciliation report is kept as receipt and reconciliation backup.
  • Stripe fees, refunds and chargebacks can't just disappear: they have to stay traceable through the reconciliation report, especially if you're VAT-liable or approaching the CHF 100'000 threshold.
  • Stripe doesn't charge a monthly platform fee on the standard plan. Add-on products like Stripe Tax, Billing or Connect can be billed separately, though — and when they are, they belong in your books as their own business expense.
  • Once you become VAT-liable, switch to a GmbH/AG structure, use the effective VAT method, or your turnover heads toward CHF 500'000, more detailed bookkeeping with a fiduciary check is worth the effort.
Workflow Demo

Book your income in under 90 seconds

Here's exactly what the monthly Stripe workflow looks like in Magic Heidi.

What simplified bookkeeping means for Stripe users

Swiss law lets sole proprietorships and partnerships with less than CHF 500'000 in turnover in the previous financial year use what's called simplified bookkeeping. You don't keep classic double-entry books like a GmbH or AG. Instead, you track income, expenses, and your asset position.

Simple doesn't mean optional, though. You still need traceable records, receipts, and an end-of-year overview of your assets and liabilities, income and expenses, plus private withdrawals and contributions. In plain English: you don't have to work with general ledger accounts, but your numbers have to be explainable and backed up by receipts.

In practice for Stripe: if Stripe pays CHF 9'420 into your bank account in April, you can record that amount as a payment received. You don't have to rebuild 87 individual charges in Magic Heidi. The Stripe payout reconciliation report does need to live with the entry though, because it shows how the amount came together: gross charges, refunds, Stripe fees, chargebacks and net payout.

For non-VAT-liable sole proprietorships below the relevant thresholds, this is usually the most pragmatic route: one entry per payout, a clean receipt with it, bank reconciliation done. You don't then record the Stripe transaction fees inside the payout again as a separate expense, because they're already factored into the net payout. Separately-billed Stripe products like Stripe Tax, Stripe Billing or Connect add-on fees, on the other hand, belong in your books as their own business expense — assuming Stripe doesn't deduct them directly from the payout.

The distinction matters with VAT. For VAT, it's not just whatever ends up net in your bank account that counts. What's relevant is the qualifying turnover from your services. Stripe, by the way, is not a Merchant of Record: you stay the seller and therefore remain responsible to the Federal Tax Administration (ESTV) for VAT. If you're approaching the CHF 100'000 threshold or already VAT-liable, you should be able to clearly trace gross turnover, refunds, fees and VAT amounts out of Stripe. The net payout still stays your bank inflow, but it's not the sole VAT basis.

For the Swiss tax authorities, what counts in the end is that your cash flows, receipts and asset position are fully traceable. If you received 24 Stripe payouts in a year, those can become 24 income entries. The deciding factor is that these entries match your bank account and that the Stripe reconciliation reports are kept alongside them.

If you're brand new to all of this, our guide to accounting software Switzerland will help you get the basics for self-employed people in place before you get lost in platform details. The official legal basis for simplified bookkeeping is in the Swiss Code of Obligations Art. 957.

Stripe fees, refunds and add-on products: what else you need to book

This is where it gets most confusing, so let's go through it point by point. You'll find the five categories as an overview right below this section.

Picture Sandra, a fictional freelance consultant in Zurich with around CHF 180'000 in annual turnover, billing her clients monthly retainers and one-off projects through Stripe. Her bookkeeping year looks like this: roughly 26 Stripe payout income entries with weekly payouts, 12 Stripe Tax add-on charges, about 60 expense receipts, and around 30 other business expenses like hosting, ads and co-working rent. Roughly 130 to 150 entries a year in total. That's doable in 30 minutes a month, including uploading receipts.

VAT: what Stripe users in Switzerland need to know

Under CHF 100'000 annual turnover, you don't have to register for VAT in Switzerland. If you're in that range, you can skip this section. You just book the net payout — done.

Above CHF 100'000 it gets a bit more complex, but it's still manageable. You've got two methods to choose from. With the Net Tax Rate Method (Saldosteuersatz-Methode) you keep your simplified logic — net payout as income. On that gross amount you apply the net tax rate set for your industry, which for SaaS, consulting and service work typically sits between 3.5% and 6.5%. This method is ideal for simplified bookkeeping. More on that in our guide to VAT for freelancers.

With the effective method you record gross turnover per charge, VAT separately, and you deduct input VAT on your expenses. It's noticeably more work, and in the Stripe context it's more the territory of vendors over CHF 500'000 or those with a high share of business clients who claim input VAT.

A practical tip: if you've just crossed the CHF 100'000 threshold, register for VAT and pick the net tax rate. That way your bookkeeping stays simple, you meet your Swiss obligation, and your admin workload doesn't double. If you're unsure, call your cantonal tax office or the ESTV (Federal Tax Administration). Compared to other countries I've lived in, Swiss authorities are surprisingly cooperative and helpful.

A small note on Stripe fees and reverse-charge VAT (Bezugssteuer): Stripe bills out of Ireland (Stripe Payments Europe Ltd, Dublin), so from inside the EU. If you're VAT-liable on the effective method, the reverse-charge VAT question comes into play, because you're buying services from abroad. Under the net tax rate, this usually isn't an issue. When in doubt, clear it with your Treuhänder — the answer depends on your specific setup.

When the simple method hits its limits

We're here to save you time and money, but also to be honest with you: the 2-minute method doesn't fit every Stripe setup. You'll find the four situations where more detailed bookkeeping makes sense in the overview below. In each of those cases we'd suggest talking to a Swiss Treuhänder and looking at a more specialised solution. Magic Heidi is deliberately built for solo self-employed people under CHF 500'000, not for scaling SaaS or marketplace operations. The number of charges per month, by the way, isn't a limit: whether you process 20 or 2'000 transactions, in Magic Heidi it stays one income entry per payout, because Stripe handles all the charge, refund and dispute details in its own dashboard.

If you're just starting out and wondering whether a sole proprietorship in Switzerland makes sense for you, start there. Your legal structure directly drives which bookkeeping you need.

Picture Andrea to round things out, a fictional online coach in Lugano. She started in 2023 with CHF 55'000 in Stripe turnover and the 2-minute method, grew to CHF 310'000 in two years, is now VAT-liable on the net tax rate, and still does her bookkeeping in Magic Heidi in about 30 minutes a month. If she ever hits CHF 500'000, she'll switch. Until then, she's saved about CHF 800 a year in auto-sync costs, plus hours of Treuhänder time, because her books are clean and simple.

Wrap-up: what your Stripe bookkeeping in Switzerland should look like

Three things worth remembering. Under CHF 500'000 in annual turnover, it's enough to record the net payout from Stripe as income once per payout, plus any separately-billed Stripe products (Tax, Billing, Connect) as their own expenses. You save yourself CHF 400 to 900 a year on auto-sync software because you don't need it as a solo self-employed person, plus hours of setup and correction work. Once you eventually reach CHF 500'000, set up a GmbH, or have to use the effective VAT method, you switch to more detailed bookkeeping. Until then: keep it simple.

Magic Heidi was built by two Swiss freelancers who had these exact problems themselves. We use our own software for our bookkeeping, and it was designed precisely for cases like this: for sole proprietorships earning revenue through Shopify, Stripe, the App Store or Play Store who want to keep their books clean, fast and compliant. If you write invoices outside Stripe — for example to Swiss business clients directly with a QR-invoice — our invoicing tool helps you do it in under a minute.

FAQ

Common questions about Stripe bookkeeping in Switzerland

Does the Stripe payout cadence (daily, weekly, monthly) matter for my bookkeeping?

No, the cadence doesn't change the method. You book each payout once, whether you pay out daily, weekly or monthly. In practice, weekly or monthly payouts make your bookkeeping easier to read: 12 to 52 entries a year instead of 250+ on a daily rhythm. You can adjust the cadence anytime in the Stripe dashboard under 'Payouts'.

How do I handle refunds and chargebacks in my Stripe bookkeeping?

Refunds and chargebacks are already deducted in your net payout — you don't have to book them separately. If you refunded CHF 380 and had a CHF 90 chargeback in April, those amounts are already factored into the payout total. You only record what actually landed in your account. The reconciliation report shows the breakdown as the receipt.

What's the fastest way to upload the Stripe payout receipt?

Magic Heidi accepts PDF receipts (not CSV). The fastest way: download the 'Payout reconciliation' PDF from your Stripe dashboard and drag-and-drop it into Magic Heidi. We read the amount and date automatically and create the income entry, with the PDF attached as the receipt. Instead of the Stripe PDF, the e-banking transaction receipt from your Swiss bank also works — the one documenting the Stripe credit. Both are equally valid as proof.

What if Stripe pays me out in a foreign currency like EUR or USD?

Stripe can be configured to settle in CHF by default for Swiss accounts, even if your customers paid in EUR or USD. The exchange-rate conversion happens on Stripe's side, and you simply book the CHF amount that lands in your bank account. If you've explicitly set up multi-currency settlement and Stripe pays out in EUR or USD, convert the inflow to CHF at your bank's daily rate and book the CHF value.

How do I book Stripe Tax, Stripe Billing or Stripe Connect add-on fees?

If Stripe deducts these fees directly from the payout, they're already in the net amount — nothing extra to do. If Stripe bills you for the add-on fees separately and debits your account, you book each Stripe invoice as a separate business expense with the Stripe receipt as proof. Which mode applies, you'll see in the Stripe dashboard under 'Billing'.

What about Stripe fees and reverse-charge VAT (Bezugssteuer)?

Stripe bills out of Ireland (Stripe Payments Europe Ltd). Under the net tax rate, reverse-charge VAT usually isn't an issue. If you're VAT-liable on the effective method, reverse-charge VAT does come into play, because you're buying a service from inside the EU. When in doubt, clear it with your Treuhänder. Also note: Stripe is not a Merchant of Record — you stay the seller and remain VAT-liable toward the ESTV.

How do I reconcile recurring subscriptions from Stripe Billing?

Exactly the same way as one-off charges. Stripe drops all successful subscription charges into the same payout pool and pays you the net amount. You don't need a separate entry per subscription. If you want to track detailed customer revenue inside Magic Heidi, you write separate QR-invoices outside Stripe; otherwise the reconciliation report per payout period is enough.

Should I ask my Treuhänder before switching to Magic Heidi?

If you already have one, sure — a short call never hurts. Especially if you're using a Stripe Connect setup, high chargeback rates or multi-currency settlement, it's worth comparing notes. Most Treuhänder welcome it when their clients deliver cleanly organised digital receipts and income entries instead of shoeboxes of receipts. You'll most likely get a green light and save fiduciary hours at the same time.

Get started

Keep your Stripe bookkeeping clean, in 2 minutes a month

Three invoices on the free plan, no credit card. Try it risk-free for 30 days.