Skip to main content
LIVE · DEVSOLEIL
Professional Services · Finance

Smart CA  Practice Management SaaS

Multi-tenant SaaS that automates compliance workflows, billing, and client collaboration for Indian Chartered Accountant firms — with GST invoicing, role-based portals, and an installable PWA.

Overview

The brief.

Smart CA is a production multi-tenant SaaS platform that runs a CA firm's entire practice: it auto-generates recurring GST/TDS/ITR compliance tasks, assigns them to staff, and gives partners a real-time view while each client gets a self-service portal for documents, tickets, and billing. Built on Laravel and React 19 with row-level tenancy, Sanctum auth, add-on-based feature gating, FCM push, and server-side GST invoice generation. The live app is login-gated.

Project snapshot

The essentials.

Industry
Professional Services · Finance
Services
web-apps
Client
Devsoleil logoDevsoleil (own product)
India
Headline outcome
Auto-generatedCompliance tasks
Tech stack

What we built with.

The project

What we built, in detail.

A typical CA firm runs on a messy stack: Excel trackers for who owes which client's filing, WhatsApp for status updates, a separate tool for invoices, email for documents — and nothing that ties it together. Work slips through the cracks, partners are blind to real-time status, and clients are left in the dark. Smart CA consolidates all of that into one system where compliance tasks are generated and assigned automatically, everything is auditable, and clients get self-service access. Many firms share a single deployment, isolated by row-level tenancy — and the same product also ships as a single-tenant on-premise deployment for firms that want their own instance.

Key features

The pieces that
make it click.

01

Automated compliance engine

Task masters, groups, and recurrence patterns generate and schedule GST, TDS, and ITR work automatically, assigned straight to staff queues.

02

Role-based portals

A partner dashboard with a real-time firm-wide view, a staff work queue with calendar and todos, and a self-service client portal for documents, tickets, and billing.

03

GST invoicing & billing

Recurring bills, server-side GST tax-invoice PDF generation, payment reminders, expense tracking, CSV export, and a payments-oversight dashboard.

04

Client credentials vault

Businesses with GST/PAN/TAN and entity details plus a credentials vault for portal logins and filing IDs, with reveal/copy controls.

05

Team Chat add-on

A paid add-on with a firm-wide channel and direct messages — emoji, reactions, read receipts, deep links, and tiered message retention.

06

Installable PWA with push

Installs like a native app on any phone; Firebase Cloud Messaging with a service worker delivers both foreground and background notifications.

Challenges & solutions

What was hard.
How we solved it.

Challenge

Many independent firms must share one deployment without any data bleed.

Solution

Row-level multi-tenancy: every tenant's data shares one database, isolated by a firm key enforced through a request-scoped tenant context and a global Eloquent scope — application code stays tenancy-unaware while isolation is guaranteed at the query layer.

Challenge

Stop brute-force logins without leaking which accounts exist.

Solution

The first few failures per username+IP are free, then each further failure arms a doubling lockout window up to a 15-minute ceiling. Unknown usernames and wrong passwords return an identical response, so the backoff leaks no account-existence oracle.

Challenge

Paid capabilities need reliable gating across API and client.

Solution

Add-on driven feature gating: paid features like team chat and extra storage are toggled per firm and enforced both in API middleware and in SPA route/nav guards, with the add-on catalog versioned through migrations.

Challenge

Push notifications at scale across many devices and roles.

Solution

A queued fan-out pipeline to per-device FCM tokens with per-role device caps, and a service worker that handles both foreground and background delivery.

Challenge

Session hygiene for a system holding sensitive filing credentials.

Solution

Per-role session caps, forced first-login password change, password changes invalidate other sessions, and client self-service password reset routed through an in-app admin notification — no SMS/email gateway dependency.

Tags
#React 19#Laravel#PHP#MySQL#Sanctum#Multi-tenant SaaS#PWA#Firebase Cloud Messaging#REST API#GitHub Actions
Visit the live app (login)
Previous project

Metal Flow — Bilingual ERP for Metal Trading

Metal Flow

Next project

CANMA — Chartered Accountants Website

Nikhil Maddi & Associates

Reach us directly — no forms, no wait

Let'stalk.

Drop us a message or call us directly. We reply to every enquiry — usually the same day.