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:
Select Accounting.
Select General ledger.
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
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
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
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
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
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
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
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.