Prerequisites
Confirm the following in DualEntry before connecting:- Your organization and legal entity are configured.
- Your chart of accounts is set up, including income, expense, and deferred revenue accounts.
- Your bank connections include the destination account Stripe pays out to.
- Your Stripe account is disconnected from any prior accounting system.
Step 1: Connect your Stripe account
Authorize DualEntry to read your Stripe data via OAuth.- Navigate to Configuration → Company → Integrations → Stripe.
- Choose Connect with Stripe.
- Authorize the connection in the Stripe consent screen and approve access.
- DualEntry returns to the Integrations page and confirms the connection.
Each organization supports one active Stripe connection. To switch accounts, disconnect the existing integration first.
Step 2: Configure account mappings
Map your Stripe activity to the DualEntry GL accounts that should receive each transaction type. During pre-setup, DualEntry creates a default set of accounts to support the sync:- Stripe Clearing Account - holds funds received from customers before they are paid out to your bank.
- Income Account - where Stripe revenue is recorded.
- Expense/Fee Account - where Stripe processing fees are recorded.
- Deferred Revenue Account - used for subscription-based revenue recognition.
- Financing Account - used if you use Stripe Capital.
- Stripe Vendor - the vendor record used for fee entries.
- Income Account - where invoice revenue posts.
- Expense Account - where Stripe fees post.
- Deferred Revenue Account - required if you use Stripe subscriptions with revenue recognition.
- Bank Account mapping - map your Stripe payout destination to the correct DualEntry bank account.
Step 3: Map your products
Stripe products sync toitem records in DualEntry. The integration’s Products mapping tab shows which DualEntry item each Stripe product created, but the accounting for each product is configured on the item itself, not on that tab.
Open Configuration → Accounting Setup → Items, find the item the Stripe product created, and set its accounts:
- Income Account - the GL account revenue from this product posts to.
- Deferral Account - required for subscription products using revenue recognition.
Step 4: Run your first sync
Once your accounts and products are mapped, kick off the initial backfill.- Navigate to Configuration → Company → Integrations → Stripe.
- Set your sync start date, the cutoff date from which DualEntry pulls Stripe data.
- Choose Sync Now.
What syncs
The integration creates these DualEntry records from Stripe activity automatically:
After the initial setup, the integration keeps records current. Customers and products are kept up to date as they change in Stripe. Invoices and payments sync as they are created and paid. Payouts sync when Stripe sends funds to your bank, and fees sync as Stripe charges them.
What DualEntry sends to Stripe
Record sync only moves data from Stripe into DualEntry, but collecting a payment is the one place where DualEntry writes to Stripe. Every write below is an action you trigger deliberately, and none of them change an existing Stripe invoice, subscription, or payout.Actions that create records in Stripe
The following table lists every action that creates a record in your Stripe account:
A payment that DualEntry initiates is a standalone Stripe payment tagged with the DualEntry invoice ID. It is not applied to a Stripe invoice. If the DualEntry invoice originally came from Stripe, that Stripe invoice stays open in Stripe even after the payment settles, so close it in Stripe yourself.
Marking an invoice as paid in DualEntry
Marking an invoice as paid in DualEntry does not mark it as paid in Stripe. Recording a customer payment, applying a credit, or writing off a balance in DualEntry is a ledger action only. To settle the invoice in Stripe, collect or record the payment in Stripe, and the resulting payment syncs into DualEntry as a customer payment applied to that invoice.Add a Stripe payment link to an invoice
You can put a Stripe-hosted payment link on a DualEntry invoice PDF so the customer pays the invoice directly. This works on any connected Stripe account and needs no extra setup beyond the integration itself.- Open the invoice under Money In → Invoices.
- In the Payment Information section, set the payment type to Integration.
- Choose your Stripe integration.
- Generate the invoice PDF. DualEntry creates a Stripe Checkout Session for the invoice and embeds its URL in the PDF.
Current limitations
Some Stripe activity is not supported by the sync, and some is recorded for review rather than posted to the ledger:- Partial refunds. A refund posts to the ledger only when the Stripe charge is refunded in full and the original payment covers a single invoice. Enter anything else manually in DualEntry. How you find out about a non-qualifying refund depends on where it came from. A refund that the sync discovers in Stripe raises a sync error you can see on the integration. A refund you initiate from DualEntry goes through in Stripe and DualEntry records it as a refund record. If it does not qualify, DualEntry skips it without a sync error, so check partial and multi-invoice refunds yourself.
- Post-payment and mixed credit notes. Only pre-payment credit notes sync. Other credit note types are skipped silently rather than raising a sync error, so check Stripe for credit notes that never appeared in DualEntry.
- Disputes. A new dispute is logged against the integration for review. DualEntry does not post the disputed amount or the dispute fee, so reconcile both manually.
- Customer prepayments. A Stripe payment has to belong to a Stripe invoice that DualEntry has already mapped. Payments against an unmapped invoice, a skipped invoice, or an invoice dated before your sync start date raise a sync error instead of becoming a customer prepayment. Money a customer sends before any invoice exists needs a customer prepayment entered in DualEntry.
- Subscription revenue recognition requires the Advanced Revenue Recognition module to be enabled on your account.
Use Stripe with subscriptions and revenue recognition
If your business uses Stripe subscriptions and the Advanced Revenue Recognition module is enabled, DualEntry automates the revenue recognition workflow.- When a Stripe subscription is created, DualEntry creates a
contractwith the subscription terms and start/end dates. - Each time a subscription invoice is generated in Stripe, DualEntry creates a
contract_invoicelinked to that contract. - When the invoice is paid in Stripe, DualEntry creates a
customer_paymentapplied to the contract invoice. - Revenue is recognized according to the straight-line schedule defined on the contract.

