Stripe

The Stripe app imports your successful Stripe charges into your company file. Each charge becomes a balanced journal entry with the processing fee split out and refunds reversed. You set it up once on the Apps screen; after that the app checks Stripe on a schedule while Solid Accounting is open.

The Stripe app needs Professional or Accountant.

This page is about importing sales you already take through Stripe. Letting customers pay your invoices by card from the emailed link is coming soon, as part of Cloud Invoicing (included with Updates & Cloud Services). See Accounts Receivable.

Before you start

  • A Stripe account and its secret key (Stripe Dashboard → Developers → API keys; it starts sk_live_ or sk_test_). Use a test key first if you want to try it safely.
  • These accounts in your chart of accounts, or ones you'd rather use:
AmountSuggested account
Sales4000 Sales Revenue (income)
Processing fees6210 Payment Processing Fees (expense)
Money received1200 Undeposited Funds (asset)
Refunds4020 Sales Returns & Allowances (income, contra)

Connect Stripe

  1. Open Apps (sidebar) and click Add app.
  2. Choose Stripe and paste your Secret Key.
  3. Map each amount to an account. The suggestions above are filled in; pick your own if they differ.
  4. Choose an Import mode. Post automatically puts entries straight into your books. Review first sends each one to the Review Queue for approval.
  5. Set the Poll interval in minutes (5 to 1,440) and save.

Click Poll now on the Stripe card to import straight away. The card shows the last poll time; View activity log shows what came in.

What gets posted

For each succeeded charge, the app posts one entry dated the day of the charge:

LineDebitCredit
Money received, net of Stripe's feeUndeposited Funds
Stripe's feePayment Processing Fees
The full chargeSales Revenue

If the charge was refunded, fully or in part, the same entry also debits Sales Returns & Allowances and credits Undeposited Funds for the refunded amount. The customer's name and email come across with the charge.

Each entry carries the Stripe charge ID, so polling again never imports the same charge twice.

Recording Stripe payouts

Stripe pays out in batches, so one bank deposit covers many charges. The charges sit in Undeposited Funds until the payout lands. When it does, record a deposit from Undeposited Funds into your bank account (Banking → Record Deposit), or match it to the deposit on your bank feed. The deposit should equal the net amounts of the charges in that payout.

Banking → Processor Payouts is a different route: it imports Stripe's payout report file and posts each payout's gross amount, fees and deposit itself. Use one route or the other for the same charges, not both, or the fees will be counted twice.

Troubleshooting

  • "Invalid Stripe API key" — the key was mistyped, revoked, or is a publishable key (pk_…). Paste the secret key again with Edit configuration.
  • Nothing imports — check the card isn't paused and that the key is for the right Stripe account (live vs test).
  • Entry rejected — the charge date falls in a closed period. Reopen the period in Company → Fiscal Years..., or post the amount by hand in an open period. See Fiscal Years & Close Year.
Updated October 31, 2026
Report a problem with this page
Was this helpful?

We use this to prioritize which docs to improve. No tracking, no email follow-up.