SaaS Accounting

Deferred revenue for SaaS subscriptions with Stripe: simply explained with examples

Many SaaS companies are happy about annual contracts because the cash comes in early. In accounting, that is often where the actual work begins: the payment is there immediately, but the service is delivered over several months. This is exactly where deferred revenue (passive accrual) comes into play. This article explains pRAP clearly, practically and with examples from everyday Stripe use.

✓ Booking entries SKR03 & SKR04✓ Upgrade & refund example✓ Year-end closing view
Annual subscription with pRAP (SKR03, simplified)
Amount €AccountContra accountBooking text
1.200,0013600990Annual subscription customer A – payment, pRAP
100,0009908400pRAP release January
100,0009908400pRAP release February
100,0009908400pRAP release March

What is pRAP? Deferred revenue simply explained

pRAP stands for passive revenue accrual (deferred revenue). Behind it lies a simple principle: cash inflow and service delivery can occur at different times.

When a customer pays today for twelve months in advance, the money has already come in. But the service is only delivered in the coming months. That is exactly why the amount is often not fully recognized as revenue right away.

The legal basis is § 250 Abs. 2 HGB (German Commercial Code) and, for tax purposes, § 5 Abs. 5 EStG (German Income Tax Act): income received before the balance sheet date that represents revenue for a specific period afterwards is deferred as a liability. This applies to companies that prepare balance sheets. If you use cash-basis accounting (Einnahmenüberschussrechnung), you generally work on the cash principle – whether and how you need to defer should be clarified with your tax firm.

Why pRAP is particularly relevant for SaaS subscriptions with Stripe

SaaS business models typically work with ongoing contract periods, monthly or annual plans, plan changes and renewals. This structure makes accrual questions especially relevant.

Stripe handles payment processing excellently, but not automatically the accounting valuation of the service period.

pRAP for an annual subscription: booking entries in SKR03 and SKR04

On 1 January, a customer pays 1.200 € via Stripe for an annual subscription, service period 01.01. to 31.12. The example is deliberately simplified and shown without VAT; how VAT on prepayments should be recorded is something to agree with your tax firm. Book fees and the payout as usual via the cash-in-transit account (Geldtransitkonto).

TimingSKR03 (debit to credit)SKR04 (debit to credit)Amount
Month of payment (01.01.)1360 to 09901460 to 39001.200,00 €
Monthly release (Jan.–Dec.)0990 to 84003900 to 4400100,00 €
Payout to bank1200 to 13601800 to 1460per Stripe payout

So in the month of payment, no revenue arises for the full amount; instead, a liability to the customer arises in the form of the pRAP. Each month, one twelfth is released: after three months, 300 € of revenue appears in the income statement and 900 € remains on the pRAP account. 0990 and 3900 are common standard accounts for deferred revenue – you decide on the specific account assignment with your tax firm. How Stripe fees on this payment are booked is shown in the guide Booking Stripe fees.

The goal of accrual is to allocate the revenue to the period in which the service is actually delivered.

Upgrade during an annual subscription: pRAP correction with figures

On 1 July, the same customer switches to a larger plan for 2.400 € per year. Stripe prorates: a credit for the unused six months of the old plan (600 €) and a charge for six months of the new plan (1.200 €). The customer pays the difference of 600 €.

StepBooking SKR03AmountpRAP balance afterwards
Releases Jan.–Jun. (6 × 100 €)0990 to 8400600,00 €600,00 €
Upgrade additional payment on 01.07.1360 to 0990600,00 €1.200,00 €
Releases Jul.–Dec. (6 × 200 €)0990 to 84001.200,00 €0,00 €

Revenue for the year totals 1.800 €, which corresponds exactly to the 1.200 € plus 600 € paid. The key point is that from July onwards, the new monthly amount of 200 € is released. A downgrade works the other way round: the credit reduces the pRAP and the monthly release amount decreases.

Cancellation and refund: correcting pRAP properly

Variant: the customer cancels as of 31 March and receives a pro-rata refund for the remaining nine months. After three releases, 900 € remains on the pRAP account – and exactly this amount is refunded.

StepBooking SKR03AmountpRAP balance afterwards
Releases Jan.–Mar. (3 × 100 €)0990 to 8400300,00 €900,00 €
Refund via Stripe on 31.03.0990 to 1360900,00 €0,00 €

Revenue remains at 300 € for the three months actually delivered, and no further releases are made. If the subscription is cancelled at the end of the term without a refund, the release continues unchanged. If the refund differs from the remaining pRAP amount, for example as a goodwill gesture, the difference must be treated separately – agree the approach with your tax firm.

pRAP in the annual financial statements: what counts on the balance sheet date

On the balance sheet date, the liabilities side shows the portion of all prepayments whose service period falls in the new year. An accrual schedule per invoice serves as evidence. Its total must match the balance of the pRAP account:

InvoiceService periodAmountReleased 2026pRAP 31.12.2026
INV-00101.10.2026–30.09.20271.200,00 €300,00 €900,00 €
INV-00201.07.2026–30.06.20272.400,00 €1.200,00 €1.200,00 €
INV-00301.12.2026–30.11.2027600,00 €50,00 €550,00 €
Total–4.200,00 €1.550,00 €2.650,00 €

The 2.650 € will be released in the following year. If the monthly releases run cleanly, no special booking is needed at year-end – you just reconcile the schedule with the account balance.

Monthly subscriptions: when pRAP plays a role here too

Monthly subscriptions are usually simpler because payment and service period are closer together. Even so, special cases are possible here too, for example when an upgrade, downgrade or a pro-rata credit occurs mid-month. So the complexity decreases, but it does not disappear completely.

A typical case is the turn of the year: a monthly subscription from 15.12. to 14.01. spans two financial years. Whether such amounts are deferred also depends on materiality – again, a question for your tax firm.

Which Stripe data you need for pRAP

For a robust pRAP logic, payment data alone is not enough. The following are typically relevant:

Data pointWhy it matters
Payment dateStarting point of the cash inflow
Contract or service periodBasis for the period-accurate distribution
Invoice referenceTraceability of the service
Refunds / CreditsCorrection of the original logic
Plan changesAffect the term and the amount

Stripe provides the most important information at invoice level: every line item of a subscription carries a service period with a start and end (in the API as period start/end). Prorated line items from upgrades and downgrades also have their own period. How subscription invoices get into DATEV overall is described in the guide Stripe Billing to DATEV.

Other special cases with Stripe subscriptions

In practice, pRAP is not made complicated by the standard case but by special cases:

  • Annual subscription with a later upgrade
  • Downgrade in the middle of the contract period
  • Partial refund
  • Contract renewal before the end of the term
  • Cancellation shortly after payment

It is precisely at these points that a clean data logic is needed so that finance teams do not have to improvise outside the standard process.

Typical mistakes with pRAP and Stripe

  • The entire annual amount is recognized as revenue immediately.
  • Refunds are not included in the accrual logic.
  • Contract periods are not cleanly linked to payments.
  • Plan changes are solved manually outside the standard process.
  • Tax advisors only receive raw data instead of a prepared structure.

How finHero automates pRAP for Stripe subscriptions

finHero reads the service periods from your Stripe invoices and creates the deferral from them – without an Excel list alongside your accounting. The connection runs via the finHero app in the Stripe App Marketplace: a few clicks, no code, read-only access only.

  • pRAP for annual subscriptions is created automatically and released monthly.
  • Upgrades and downgrades are automatically corrected in the deferral.
  • Bookings using SKR03, SKR04 or your own accounts in the DATEV booking batch.
  • Invoices and credit notes as PDF receipts, linked via the transaction ID.
  • Exports also possible retroactively, for example for a financial year already in progress.

The complete process from export to import is described in the guide Importing Stripe into DATEV.

Frequently asked questions about pRAP for SaaS subscriptions

What does pRAP mean for SaaS subscriptions?

pRAP stands for passive revenue accrual (deferred revenue). It means the period-accurate distribution of amounts already collected across the months in which the service is delivered.

Why is pRAP relevant for Stripe annual subscriptions?

Because the entire amount is often paid immediately, while the service is delivered over many months. In accounting terms, this frequently has to be accrued.

Are monthly subscriptions always uncritical?

They are often simpler, but here too special cases such as plan changes, partial periods or refunds can become relevant.

Is a normal Stripe export enough for pRAP?

Not necessarily. pRAP requires a logic that brings together the contract period, the service period and the payment in a structured way.

Which account is pRAP booked to?

Common standard accounts are 0990 in SKR03 and 3900 in SKR04. The monthly release is booked against the revenue account, for example 8400 or 4400. Agree the specific account assignment with your tax firm.

Do I have to create pRAP if I use cash-basis accounting (EÜR)?

Deferred revenue applies to companies that prepare balance sheets. Under cash-basis accounting (Einnahmenüberschussrechnung), the cash principle generally applies. Whether any special rules apply in your case should be clarified with your tax firm.

How is an upgrade during an annual subscription deferred?

The additional payment from Stripe's prorated billing increases the pRAP. From the upgrade onwards, the new, higher monthly amount is released until the pRAP reaches zero at the end of the term.

Is pRAP released monthly or to the exact day?

In practice, monthly release is common. If a subscription starts mid-month, a pro-rata split can make sense. Decide with your tax firm what level of precision is appropriate.

More questions about Stripe and DATEV? Go to the knowledge base

pRAP for Stripe subscriptions without an Excel list

finHero creates the deferral from your Stripe invoices, releases it monthly and delivers everything as a DATEV booking batch with receipts.

Try free for 7 days

7-day free trial, cancel monthly.