Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.dualentry.com/llms.txt

Use this file to discover all available pages before exploring further.

Stripe Integration: Setup and Sync

Connect Stripe to DualEntry so customers, invoices, payments, payouts, and fees flow into your ledger on an ongoing basis. The sync is one-way - data flows from Stripe into DualEntry, and nothing in DualEntry is pushed back to Stripe.

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.
You also need to know which GL accounts to use for Stripe income, fees, and deferred revenue - you map these during setup.

Step 1: Connect your Stripe account

Authorize DualEntry to read your Stripe data via OAuth.
  1. Navigate to Settings → Integrations → Stripe.
  2. Choose Connect with Stripe.
  3. Authorize the connection in the Stripe consent screen and approve access.
  4. 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.
Once those accounts exist, review and confirm the following mappings under Settings → Integrations → Stripe → Settings:
  • 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.
If your payout destination account is not mapped, bank transfers fail to sync. Make sure your external bank account is linked before running your first full sync.

Step 3: Map your products

Stripe products sync to item records in DualEntry. For each item, you can specify:
  • Income Account - the GL account revenue from this product posts to.
  • Deferred Revenue Account - required for subscription products using revenue recognition.
To review and update item mappings, go to Settings → Integrations → Stripe → Products.

Step 4: Run your first sync

Once your accounts and products are mapped, kick off the initial backfill.
  1. Navigate to Settings → Integrations → Stripe.
  2. Set your sync start date - the cutoff date from which DualEntry pulls Stripe data.
  3. Choose Sync Now.
DualEntry pulls all Stripe activity from your start date forward and creates the corresponding records. Depending on your transaction volume, this can take several minutes. After the initial sync, DualEntry continues to sync new activity automatically; you can also trigger a manual sync from the Integrations page at any time.

What syncs

The integration creates these DualEntry records from Stripe activity automatically:
Stripe activityDualEntry record
Customercustomer
Productitem
Invoice (one-time)invoice
Invoice (subscription)contract + contract_invoice
Invoice paymentcustomer_payment
Payout to bankbank_transfer
Stripe processing feedirect_expense
Refund (full)customer_credit + customer_refund
Pre-payment credit notecustomer_credit
Stripe Capital disbursementjournal_entry
Stripe Capital repaymentdirect_expense
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.

Current limitations

Some Stripe activity types are not supported by the sync:
  • Partial refunds. Only full refunds sync. Partial refunds need to be entered manually in DualEntry.
  • Post-payment credit notes. Only pre-payment credit notes sync.
  • 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 contract with the subscription terms and start/end dates.
  • Each time a subscription invoice is generated in Stripe, DualEntry creates a contract_invoice linked to that contract.
  • When the invoice is paid in Stripe, DualEntry creates a customer_payment applied to the contract invoice.
  • Revenue is recognized according to the straight-line schedule defined on the contract.
Stripe continues managing billing and payments while DualEntry handles all revenue recognition and reporting. See Revenue Recognition for the full workflow.

Troubleshoot sync errors

When a record fails to sync, it appears in the Integration Errors log under Settings → Integrations → Stripe. The most common causes:
ErrorCauseResolution
Unmapped accountA required GL account mapping is missing in Stripe settings.Add the missing mapping under Settings → Integrations → Stripe → Settings, then resync the failed record.
Locked accounting periodThe transaction date falls in a closed period.Reopen the period or post the transaction to the next open period.
Unsupported record typeThe Stripe activity is a partial refund or post-payment credit note.Enter the transaction manually in DualEntry; these types are not supported by the sync.

Result

After completing these steps, your Stripe activity flows into DualEntry automatically and your ledger stays in sync without manual entry. To connect additional systems, return to Integrations. To model subscription revenue end-to-end, see Revenue Recognition.
Last modified on May 28, 2026