Integrations

Connect Ecclesly with external services to accept online donations, sync data from other church management platforms, and link your bank accounts for seamless reconciliation.

Available Integrations

Stripe Integration

Accept credit card, debit card, and ACH donations online through Stripe. Donations are automatically synced into Ecclesly and posted to your general ledger.

What Stripe Enables

  • Accept online donations via credit/debit cards
  • Support for ACH bank transfers
  • Automatic sync of donations into Ecclesly
  • Fund allocation for designated giving
  • Donor receipts and confirmation emails
  • Refund handling and tracking

Connecting Stripe

  1. Navigate to Settings → Integrations
  2. Click Connect Stripe
  3. You'll be redirected to Stripe to authorize the connection
  4. Log in to your Stripe account (or create one)
  5. Authorize Ecclesly to access your Stripe account
  6. Configure fund mappings to map Stripe products to Ecclesly funds

Fund Mappings

Map your Stripe donation products or metadata to Ecclesly funds so donations are automatically categorized correctly:

  • Set a default fund for unmapped donations
  • Map specific Stripe products to specific funds (e.g., "Building Fund", "Missions")
  • Multi-fund donations are split automatically based on designations

How Donation Sync Works

Ecclesly uses three complementary methods to ensure every Stripe donation makes it into your records:

MethodTriggerPurpose
WebhookAutomatic (Stripe pushes instantly)Creates donation record and stores Stripe fee within seconds of payment
Transaction SyncManual or scheduledImports charges missed by the webhook; backfills fee data on existing records
Payout SyncManualRecovers ACH donations that settled after the last transaction sync

The webhook is your primary import path — it fires automatically when a donor completes a payment and creates the donation record immediately. The transaction sync is the safety net; if the webhook was missed (server downtime, delivery failure), the sync catches it on the next run without creating duplicates. The payout sync handles the edge case of ACH bank transfers, which take 3–4 business days to settle and are skipped by both the webhook and transaction sync until they clear.

For a full walkthrough of ACH Auto-import, see the How Donation Sync Works section of the Online Giving documentation.

Test Mode Available

Use Stripe's test mode to verify your integration before going live. Test donations won't affect your real accounting data.

Stripe Clearing & Fee Accounting

Ecclesly fully automates the accounting for Stripe payouts—including processing fees. You never need to manually calculate or record Stripe's fees. Here's how it works:

EventJournal Entry CreatedAccounts
Donation receivedDonation journal entry (auto or manual post)Dr Stripe Clearing 1050 (gross) / Cr Contribution Revenue (gross)
Stripe payout clearedClearing journal entry (automatic)Dr Cash 1010 (net) + Dr Giving Platform Fees 5485 (fee) / Cr Stripe Clearing 1050 (gross)

What the accounts mean

  • Stripe Clearing (1050) — A temporary holding account. It holds the gross donation amount from the moment it's recorded until the Stripe payout hits your bank. Once all payouts for a period are cleared, this account nets to zero.
  • Cash / Checking (1010) — Your actual bank account. Debited for the net amount Stripe deposits after fees.
  • Giving Platform Fees (5485) — An expense account that accumulates all Stripe processing fees. This gives you a clear, auditable record of what you paid in fees each period.

How payouts are cleared

Sync Payouts imports payout records only — it does not create the clearing journal entry. The clearing JE is created separately, in one of three ways:

ModeTriggerUser action required?
Smart (auto-clear)Plaid bank deposit matches the Stripe payout with high confidenceNone — fully automatic
AssistedSystem suggests the match in Bank FeedsUser clicks Confirm
ManualUser opens the payout in the Payouts listUser clicks Manual Clear

In all three cases, the result is the same: account 1050 returns to zero, account 5485 grows by the fee amount, and your cash account reflects the actual deposit. The difference is only in what triggers it.

Fully Automated

You never need to manually calculate Stripe fees or create fee journal entries. Ecclesly reads the exact fee amount from each payout and records it to account 5485 automatically. Your books stay accurate and your period close stays clean.

Planning Center Integration

If your church uses Planning Center Giving for online donations, you can sync those donations directly into Ecclesly for unified financial reporting and accounting.

What Planning Center Enables

  • Import donations from Planning Center Giving
  • Sync donor information and giving history
  • Map Planning Center funds to Ecclesly funds
  • Multi-fund (designated) donation support
  • Unified giving statements across all donation sources

Connecting Planning Center

  1. Navigate to Settings → Integrations
  2. Click Connect Planning Center
  3. You'll be redirected to Planning Center to authorize access
  4. Log in with your Planning Center admin credentials
  5. Grant Ecclesly permission to access your Giving data
  6. Return to Ecclesly to configure fund mappings

Fund Mappings

After connecting, you'll need to map your Planning Center funds to Ecclesly funds:

  1. Click Configure Fund Mappings on the Planning Center integration card
  2. For each Planning Center fund, select the corresponding Ecclesly fund
  3. Set a default fund for any unmapped Planning Center funds
  4. Click Save Mappings

Syncing Donations

Once connected and mapped, click Sync Now to import donations. The sync imports new donations since your last sync. Donations are created in Ecclesly and matched to existing members when possible.

One-Way Sync

Planning Center sync is one-way (import only). Changes made in Ecclesly are not pushed back to Planning Center.

QuickBooks Online Integration

Export your financial data from Ecclesly to QuickBooks Online for seamless accounting integration. Keep your church's books synchronized without manual double-entry.

Bring Your Own Keys (BYOK)

For security and compliance, each organization creates their own QuickBooks Developer App. This gives you full control over your integration and credentials.

What QuickBooks Enables

  • Export donations as Sales Receipts in QuickBooks
  • Export expenses as Bills in QuickBooks
  • Export journal entries for custom accounting entries
  • Map Ecclesly funds to QuickBooks income accounts
  • Automatic customer/vendor creation in QuickBooks
  • Duplicate prevention—records are only exported once

Step 1: Create a QuickBooks Developer App

First, you need to create a QuickBooks Developer App to get your API credentials:

  1. Go to the Intuit Developer Portal and sign in or create an account
  2. Click Create an app and select QuickBooks Online and Payments
  3. Give your app a name (e.g., "My Church - Ecclesly Integration")
  4. Select the scopes: Accounting (required for exports)
  5. Under Redirect URIs, add your Ecclesly callback URL:
    https://app.ecclesly.com/api/integrations/quickbooks/callback
  6. Save your app and copy your Client ID and Client Secret

Sandbox vs Production

Intuit provides separate credentials for sandbox (testing) and production environments. Start with sandbox to test your integration, then switch to production credentials when ready to go live.

Step 2: Connect QuickBooks in Ecclesly

  1. Navigate to Settings → Integrations
  2. Click Connect QuickBooks
  3. Enter your Client ID and Client Secret from the Intuit Developer Portal
  4. If testing, check the Use Sandbox environment option
  5. Click Save Credentials
  6. Click Connect with QuickBooks
  7. You'll be redirected to Intuit to authorize the connection
  8. Log in with your QuickBooks Online credentials and select the company to connect
  9. Return to Ecclesly to configure account mappings

Account Mappings

Before exporting, configure how Ecclesly data maps to QuickBooks accounts:

Mapping TypeDescription
Fund MappingsMap each Ecclesly fund to a QuickBooks income account. When donations are exported, they're categorized to the correct QB account based on the fund.
Deposit AccountSelect which QuickBooks bank account donations should be deposited into.

To configure mappings, click Map Accounts on the QuickBooks integration card. For each Ecclesly fund, select the corresponding QuickBooks income account from the dropdown.

Sync Settings

Control what data types are included when you export to QuickBooks:

  • Donations → Exported as Sales Receipts with donor as customer
  • Expenses → Exported as Bills with vendor information
  • Journal Entries → Exported as QuickBooks Journal Entries

Running an Export

  1. Click Export to QuickBooks on the integration card
  2. Select which data types to export (Donations, Expenses, Journal Entries)
  3. Optionally set a date range to limit the export
  4. Click Start Export
  5. Review the results showing counts of exported, skipped, and errored records

How Records Are Exported

Ecclesly RecordQuickBooks DocumentDetails
DonationSales ReceiptDonor created as Customer; fund mapped to income account
ExpenseBillVendor created in QB; expense account mapped
Journal EntryJournal EntryDebit/credit lines with mapped accounts

Duplicate Prevention

Ecclesly tracks which records have been exported to prevent duplicates. If you run an export multiple times, records that were previously exported will be skipped. The export summary shows how many records were skipped for this reason.

One-Way Export

QuickBooks integration is one-way (export only). Changes made in QuickBooks are not synced back to Ecclesly. Edit records in Ecclesly first, then re-export if needed.

Sandbox Testing

QuickBooks provides a sandbox environment for testing. Connect to a sandbox company first to verify your account mappings before exporting to your production QuickBooks account.

Plaid Integration

Bring Your Own Keys (BYOK)

Ecclesly uses a BYOK model for Plaid integration. Each campus provides their own Plaid API credentials, giving you full control over your bank data and access. This approach reduces liability and allows different campuses to use different Plaid accounts.

Connect your church's bank accounts via Plaid for automatic transaction import and streamlined bank reconciliation.

What Plaid Enables

  • Securely link checking, savings, and credit card accounts
  • Automatic daily transaction import
  • Real-time balance information
  • Simplified bank reconciliation workflow
  • Transaction matching and categorization rules

Step 1: Create a Plaid Developer App

Before connecting bank accounts in Ecclesly, you need to create your own Plaid developer application:

  1. Go to dashboard.plaid.com/signup and create a developer account
  2. Once logged in, go to Team Settings → Keys
  3. Copy your Client ID (a long alphanumeric string)
  4. Copy your Secret for your desired environment:
    • Sandbox – For testing with sample bank data
    • Development – For testing with real banks (limited requests)
    • Production – For live use (requires Plaid approval)
  5. Keep these credentials secure – you'll enter them in Ecclesly

Production Access Requires Approval

To use Plaid in production with real bank accounts, you'll need to apply for production access through the Plaid Dashboard. Start with Sandbox for testing.

Step 2: Configure Plaid in Ecclesly

Add your Plaid credentials for each campus:

  1. Navigate to Settings → Campuses
  2. Click the Connect Plaid button for your campus
  3. Enter your Client ID from the Plaid Dashboard
  4. Enter your Secret from the Plaid Dashboard
  5. Select your environment (Sandbox, Development, or Production)
  6. Click Save Configuration

Step 3: Connect Bank Accounts

Once your campus has Plaid credentials configured:

  1. Navigate to Accounting → Banking
  2. Click Link Bank Account
  3. Search for your bank in the Plaid directory
  4. Log in with your bank credentials (handled securely by Plaid)
  5. Select which accounts to connect
  6. Each account appears as a card on your Banking dashboard

Security

Plaid is a trusted financial data platform used by thousands of companies. Your bank login credentials are never stored by Ecclesly—they're handled securely by Plaid. Ecclesly only receives read-only access to transaction data. With BYOK, your Plaid API credentials are stored encrypted in your tenant's campus settings and are never exposed to other tenants.

For Detailed Banking Documentation

See the Banking Integration section in the Financial Management docs for detailed information on transaction matching, reconciliation, and matching rules.

Data Security

Ecclesly takes the security of your integration credentials seriously. All sensitive data is protected using industry-standard encryption.

Credential Encryption

All integration credentials are encrypted at rest using AES-256-GCM authenticated encryption:

  • Stripe – Secret keys are encrypted before storage
  • Plaid – Client IDs and secrets are encrypted per-campus
  • QuickBooks – Client credentials, access tokens, and refresh tokens are all encrypted
  • Planning Center – OAuth tokens are encrypted

Encryption at Rest

Your API keys and tokens are never stored in plaintext. Each value is encrypted with a unique initialization vector (IV) and includes authentication tags to detect tampering. The encryption key is stored separately from the database.

BYOK (Bring Your Own Keys)

For Plaid and QuickBooks integrations, Ecclesly uses a BYOK model where each organization provides their own API credentials. This approach offers several benefits:

  • Isolation – Your credentials are separate from other organizations
  • Control – You can revoke access at any time from the provider's dashboard
  • Audit Trail – All API calls are logged under your own developer account
  • Per-Campus Configuration – Different campuses can use different credentials

Environment Variables

For self-hosted deployments, ensure the ENCRYPTION_KEY environment variable is set to a strong 256-bit (32-byte) key encoded in base64. This key is used for all credential encryption operations.

Key Management

Never commit your encryption key to source control. Store it securely in your deployment environment's secrets manager. If you rotate the key, existing encrypted credentials will need to be re-entered.

Managing Integrations

All integrations can be managed from Settings → Integrations.

Integration Status

StatusMeaning
ConnectedIntegration is active and working
Needs AttentionRe-authorization required or configuration needed
Not ConnectedIntegration available but not set up

Disconnecting an Integration

To disconnect an integration:

  1. Go to Settings → Integrations
  2. Click the integration you want to disconnect
  3. Click Disconnect
  4. Confirm the disconnection

Disconnecting an integration stops future syncs but does not delete any data that was already imported into Ecclesly.