All Collections
Automated Revenue Recognition
How do I reconcile Stripe clearing accounts?
How do I reconcile Stripe clearing accounts?

Learn how to reconcile your Stripe balance, Stripe payments, Stripe clearing accounts, and deferred revenue in Puzzle.

Luke Frye avatar
Written by Luke Frye
Updated over a week ago

Puzzle has a series of Stripe clearing accounts to ensure all the payments and fees in Stripe, Stripe transfers, and Stripe receipts are reconciled accordingly.

This lesson will help you with questions like:

  • How do I reconcile my Stripe clearing accounts?

  • When does Stripe record the revenue?

  • Is revenue recorded when money is received in Stripe, when it’s released, or when it hits the bank account?

To view all the entries booked in a single GL account:

  1. Select Accounting.

  2. Select General ledger.

  3. Select the account you'd like to review.

Stripe journal entries: Cash basis

Revenue is recorded when funds are released from Stripe.

Dr 10200 Processor Available Cash Account

Dr 53000 Processor Fees

Cr 40000 Subscription Revenue

Stripe journal entries: Accrual basis

Revenue is recorded when the subscription is created in Stripe.

Dr 12100 Customer Receivable

Cr 40000 Subscription Revenue

12100: Customer Receivable represents invoices issued to customers for Stripe subscriptions, which have not yet been paid. Because Stripe subscriptions create a simultaneous payment and invoice, there is never a ‘traditional’ AR balance. This account essentially tracks the customer funds held by Stripe.

Revenue is then immediately deferred.

Dr 40000 Subscription Revenue

Cr 24000 Deferred Revenue

At month end, revenue is recognized according to Puzzle’s automated revenue recognition schedules.

Dr 24000 Deferred Revenue

Cr 40000 Subscription Revenue *

When Stripe receives payment and processes fees, another entry is booked.

Dr 12200 Processor Receivable

Cr 12100 Customer Receivable

12200: Stripe Receivable account represents cash received by Stripe from customers, but not yet paid to the company. This account is used in the accrual view only.

This will be reduced by the amount of fees payable to Stripe.

Dr 53000 Processor Fees

Cr 12200 Processor Receivable

When Stripe funds are available for withdrawal:

Dr 10200 Processor Available Cash Account

Cr 12200 Processor Receivable

If the funds are not yet released by Stripe, this is not yet considered in your possession.

Account 10200 Processor Available Cash Account represents cash received by Stripe but not yet paid into the company’s bank account. In Stripe, when money is available for withdrawal (identified in Balances > “On the way to your bank” balance), a payment_available event is recorded in Stripe. Until this happens, the money may be available in Stripe, but cannot be actually withdrawn.

When Stripe funds are sent to the company’s bank account

Dr 10920 Transfers in Transit: Payment Processor

Cr 10200 Processor Available Cash Account

Account 10920 Transfers in Transit: Payment Processor represents balances that Stripe reports paid to the company but not yet been received into the company’s bank account. Since bank transfers can take a day or two, there is often a timing difference between payments sent by Stripe and payments received at the bank.

And, when the cash is finally received!

Dr 10000 Cash

Cr 10920 Transfers in Transit: Payment Processor

In summary, these are the general ledger accounts that will help you reconcile your Stripe payments.

10200: Stripe Cash

If the funds are not yet released by Stripe, this is not yet considered in your possessions, and therefore cash revenue is not yet recorded.

This account represents cash received by Stripe but not yet paid into the company’s bank account. In Stripe, when money is available for withdrawal (identified in Balances > “On the way to your bank” balance), a payment_available event is recorded in Stripe. Until this happens, the money may be available in Stripe, but cannot be actually withdrawn. The following entry is posted:

Dr 10200-Stripe Cash 
Cr 4XXXXX-Revenue

When a payment_processor_settlement_initiated event is received from Stripe, this indicates that Stripe will transfer cash to the company’s bank account. This journal entry is posted:

Dr 10920-Stripe Transfers 
Cr 10200-Stripe Cash

When the cash is received in the company’s bank account, this journal entry is posted:

Dr 1XXXX-Bank Account 
Cr 10920-Stripe Transfers


Pro Tips:

  • If cash is received by Stripe, but not included in Stripe’s available balance yet, revenue will not be posted to the general ledger yet. This happens even if you are set up for automatic payments. In this case, it is important to manually record an accrual in your accrual books if there are timing differences between months. Use Puzzle’s reconciliation template for assistance.

  • In the accrual view, account 12200-Stripe Receivable is used in lieu of 10200-Stripe Cash. On the accrual view, there should be no entries in the 10200 account.

10920: Stripe Transfers

This account represents balances that Stripe has reported as paid to the company, but have not yet been received into the company’s bank account.

Since bank transfers can take a day or two, there is often a timing difference between payments sent by Stripe and payments received at the bank.

As noted above, when a payment_processor_settlement_initiated event is received from Stripe, this indicates that Stripe is going to transfer cash to the company’s bank account. This journal entry is posted:

Dr 10920-Stripe Transfers 
Cr 10200-Stripe Cash

When payment is actually received into the bank account, this journal entry is posted:

Dr 1XXXX-Bank Account 
Cr 10920-Stripe Transfers

Pro Tip: Transactions will typically appear in this account one business day before the money is received by the bank and before the offsetting transactions are recorded. If there are transactions that lack an offsetting transaction for more than two business days, investigation is warranted.

12000: Accounts Receivable

This account represents manual invoices issued to customers (not Stripe subscriptions) that have not yet been paid.

When an invoice_issued event is received from Stripe, this journal entry is posted:

Dr 12000-Accounts Receivable
Cr 4XXXX-Revenue

When a bank_transaction or a payment_initiated event indicates that an invoice is being paid, this journal entry is posted:

Dr 1XXXX-Cash or, one of the Stripe payable/receivable accounts
Cr 12000-Accounts Receivable

Pro Tip: Watch out for any bank transactions in this account. If this happens, it usually means a transaction was incorrectly manually categorized to accounts receivable by a user. No bank transactions should be recorded in this account if you are using Stripe for invoicing.

12100: Customer Receivable

This account represents invoices issued to customers for Stripe subscriptions, which have not yet been paid.

Because Stripe subscriptions create a simultaneous payment and invoice, there is never a ‘traditional’ AR balance. This account tracks the customer funds held by Stripe.

Pro Tips:

  • There should always be a handful of very recent transactions that have not yet been paid by Stripe. If there’s anything else, investigate.

  • Why does Puzzle handle receivables like this, you may ask? By the time the invoice is generated, the customer has already paid Stripe, so it isn’t technically a “receivable”. But, until Stripe transfers the money into a company’s bank account, there is still a receivable of some kind. This is a receivable related to customers, so a Customer receivable account is set up by Puzzle.

12200: Stripe Receivable

This account represents cash received by Stripe from customers, but not yet paid to the company. This account is used in the accrual view only/

When a payment_initiated event is received from Stripe, this journal entry is posted:

Dr 12200-Stripe receivable
Cr - is recorded to one of the following accounts:

4XXXX-A revenue account, if the payment is not linked to an invoice, and therefore revenue has not elsewhere been booked; or

12000-Accounts Receivable, if the payment is linked to a non-subscription invoice; or

12100-Customer Receivable, if the payment is linked to a subscription invoice.

When a payment_processor_settlement_initiated event is received from Stripe, this journal entry is posted:

Dr 10920-Stripe Transfers
Cr 12200-Stripe Receivable

Pro Tip: There should always be a handful of very recent transactions that have not yet been settled by Stripe. If there’s anything else, investigate.

20200: Stripe Payable

This account represents fees deducted from customer payments by Stripe, but not yet paid by the company. This account is used in the accrual view only.

When a payment_processor_fee_claimed or payment_processor_fee_incurred event is received from Stripe, this journal entry is posted:

Dr 53000 Fees
Cr 20200 Stripe Payable

24000: Deferred Revenue

This account represents revenue from invoiced Stripe subscriptions but has yet to be recognized.

When an invoice_issued event for a Subscription is received from Stripe, the following journal entry is posted:

Dr 12000 Accounts Receivable 
Cr 4XXXX-Revenue

The following deferred revenue entry is also recorded:

Dr 4XXXX-Revenue
Cr 24000-Deferred Revenue

This continues until all the revenue for that subscription has been recognized.

Pro Tip: For account 24000, the ending balance of deferred revenue should agree to the total summary row in the closing column, respectively, on the “Accrual revenue" in the Revenue tab.

Did this answer your question?