Platform

Integrations

ScanLedger plugs into the tools you already use — Google Workspace for files and sheets, Paystack and Stripe for payments, SendGrid for email.

Google Workspace

Connect Google to unlock two-way integration with Sheets and Drive:

  • Import any Google Sheet as a dataset.
  • Export datasets to Sheets for sharing or further analysis.
  • Push folders to Drive, and import Drive folders back into ScanLedger.

Connect from Settings → Integrations → Google. Tokens are encrypted at rest with GOOGLE_TOKEN_ENCRYPTION_KEY and can be revoked at any time.

Payment gateways

Two gateways are supported, abstracted behind payment_gateway.py so switching currencies is transparent:

  • Paystack — NGN; card, bank transfer, mobile money.
  • Stripe — USD, CAD, GBP, EUR; card.

Self-hosted deployments configure PAYSTACK_SECRET_KEY, PAYSTACK_PUBLIC_KEY, STRIPE_SECRET_KEY, STRIPE_PUBLIC_KEY, and the respective webhook secrets.

SendGrid (email)

Transactional emails — welcome, password reset, team invitations, scan completion notifications — are sent via SendGrid. Configure:

  • SENDGRID_API_KEY
  • FROM_EMAIL (must be a verified sender)
  • FROM_NAME

Cloud storage

File uploads default to local storage. Set USE_SUPABASE_STORAGE=true plus SUPABASE_URL, SUPABASE_SERVICE_KEY, and SUPABASE_STORAGE_BUCKET to persist uploads to Supabase instead — recommended for production.

Redis and background jobs

Heavy work (OCR, bulk imports, reconciliation) is offloaded to an ARQ worker backed by Redis. Configure REDIS_URL and set BACKGROUND_JOBS_ENABLED=true. If Redis is not available, the application falls back to synchronous processing.

WebSocket notifications

Real-time notifications (scan complete, low stock, team invitation accepted, etc.) are pushed over WebSocket at /api/v1/ws/notifications using short-lived tokens. The frontend falls back to polling if the WebSocket disconnects.

Coming soon

  • QuickBooks export for reconciled transactions.
  • Zapier / Make triggers for sales, low stock, and new scans.
  • Webhook subscriptions so you can react to ScanLedger events in your own systems.