Reconciliation Guide
This guide is written for accountants and bookkeepers who need to understand exactly how SyncFast records Stripe activity in QuickBooks, and how to verify that the books are accurate.
How a Stripe Payout Appears in QuickBooks
When Stripe initiates a payout to your bank account, SyncFast creates a set of balanced journal entries in QuickBooks. Here's what happens step by step.
The Journal Entry Breakdown
For a typical payout of $1,000 in gross sales with $29.30 in Stripe fees and a $970.70 net deposit:
| Account | Type | Debit | Credit |
|---|---|---|---|
| Stripe Deposit (Asset) | Asset | $1,000.00 | |
| Sales Revenue (Income) | Income | $1,000.00 | |
| Payment Processing Fees | Expense | $29.30 | |
| Stripe Deposit (Asset) | Asset | $29.30 |
After this journal entry posts, the Stripe Deposit account has a net balance of $970.70, matching the payout Stripe will deposit into your bank account. When the deposit appears in your bank feed, you match it to the Stripe Deposit account, which transfers the balance to Business Checking and zeros out Stripe Deposit for that payout.
What Each Account Represents
- Stripe Deposit: A short-term asset account that acts as an intermediary. Gross charges are debited here and fees are credited out, leaving a net balance equal to the expected payout. This balance is cleared when you match the bank deposit to the Stripe Deposit account.
- Sales Revenue: Gross revenue from customer charges.
- Refunds: A contra-revenue account that offsets Sales Revenue. Keeping refunds separate makes refund activity visible on the income statement rather than burying it inside gross revenue.
- Payment Processing Fees: Stripe's processing fees, recorded as an operating expense.
- Business Checking: Your actual bank account where Stripe deposits funds. This account is updated when you match the bank deposit against Stripe Deposit, not by the journal entry itself.
Refunds Within a Payout
If a payout includes a $50.00 refund, the entries adjust accordingly:
| Account | Type | Debit | Credit |
|---|---|---|---|
| Refunds (Contra Revenue) | Contra Revenue | $50.00 | |
| Stripe Deposit (Asset) | Asset | $50.00 |
The refund is recorded to a Refunds contra-revenue account (not as a direct debit to Sales Revenue), which offsets gross revenue on the income statement while keeping refund activity visible as its own line item. The credit to Stripe Deposit reduces the net payout balance.
Reconciling Your Accounts
Step 1: Match Payouts to Bank Deposits
Each SyncFast journal entry corresponds to a single Stripe payout. The net balance left in Stripe Deposit (gross charges minus fees) should match the deposit that appears on your bank statement. When you see the deposit in your bank feed, match it to the Stripe Deposit account to clear the balance.
Step 2: Verify the Stripe Deposit Account
At the end of any reconciliation period, the Stripe Deposit account balance should reflect only payouts that are in transit (initiated by Stripe but not yet deposited). If Stripe has no pending payouts, this balance should be $0.00.
A non-zero balance may indicate:
- A payout is still in transit (normal, check Stripe's payout schedule)
- A sync was missed or failed (see Troubleshooting)
Step 3: Cross-Reference with Stripe Dashboard
For any payout, you can verify the breakdown in your Stripe Dashboard under Balance → Payouts. The gross amount, fees, and net deposit shown by Stripe should match the corresponding journal entry in QuickBooks exactly.
Step 4: Review the Sync Log
SyncFast's dashboard provides a Sync History log showing every payout that was synced, including timestamps and amounts. Use this to confirm that every Stripe payout has a corresponding QuickBooks entry.
Internal Controls
Completeness: No Missed Payouts
SyncFast uses Stripe webhooks to trigger syncs in real time. Additionally, a daily reconciliation check compares all Stripe payouts against synced records. If a payout is detected without a corresponding QuickBooks entry, SyncFast flags it and sends an alert.
How to verify: Compare the total number of payouts in your Stripe Dashboard for a given period against the number of journal entries created by SyncFast in the Sync History.
Accuracy: No Double-Counting
Each Stripe payout has a unique identifier (e.g., po_1ABC2DEF3GHI). SyncFast stores this ID with every journal entry and enforces a uniqueness constraint. If a payout has already been synced, it will not be recorded again.
How to verify: Search QuickBooks for journal entries created by SyncFast. Each entry's memo field contains the Stripe payout ID. Check for duplicates.
Timeliness: Entries Are Current
Payouts are synced within moments of being initiated by Stripe. The Sync History log records both the Stripe payout timestamp and the SyncFast sync timestamp, so you can verify there are no unexpected delays.
Authorization: Only Legitimate Transactions
SyncFast only syncs payouts that originate from Stripe. It cannot create arbitrary journal entries. All entries are tagged with the Stripe payout ID for traceability back to the source transaction.
Audit Trail
Every synced transaction includes:
- Stripe Payout ID in the journal entry memo
- Sync timestamp in SyncFast's dashboard
- Account mappings that were active at the time of sync
This provides a clear trail from the Stripe transaction through to the QuickBooks entry for audit purposes.
Period-End Checklist
Use this checklist at month-end or quarter-end:
- Stripe Deposit balance: Should equal only in-transit payouts
- Payout count: Number of Stripe payouts matches number of SyncFast journal entries
- Revenue total: Sum of revenue entries matches gross Stripe volume
- Fee total: Sum of fee entries matches total Stripe fees
- Bank deposits: Net payout amounts match bank statement deposits
- Sync alerts: No unresolved error notifications in SyncFast