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_KEYFROM_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.