Skip to main content
LIVE · DEVSOLEIL
FinTech · Accounting

Devsoleil Books  Accounting, Inventory & Payroll ERP

Multi-tenant accounting ERP for Indian small businesses — every financial event (an invoice, a payment, a payroll run, a stock movement) posts one balanced journal entry through a single posting service, so trial balance, cash flow, and reports can never drift.

Overview

The brief.

Devsoleil Books is a SaaS accounting, inventory, and payroll platform for Indian SMBs, architected around a classic double-entry ledger: a single PostingService writes every financial event as one balanced journal entry, and inventory valuation, cash flow, and financial statements all derive from those journal lines rather than parallel tables — so figures can never silently diverge. Above the tenants sits a super-admin platform layer that provisions organizations, sells yearly subscription plans and metered add-ons, enforces quotas, and curates a global multi-currency catalogue.

Project snapshot

The essentials.

Industry
FinTech · Accounting
Services
web-apps
Client
Devsoleil logoDevsoleil (own product)
India
Headline outcome
Zero driftSingle balanced ledger
Tech stack

What we built with.

The project

What we built, in detail.

Indian small businesses need GST-aware invoicing, inventory, payroll, and real financial statements without enterprise cost or complexity — and without the books ever going out of balance. Devsoleil Books covers the full order-to-cash and procure-to-pay cycle: quotations with approval flow into invoices and receipts, purchase orders that stock-in automatically on approval into vendor bills and disbursements, and credit/debit notes that reverse and restock correctly. On top sit a GST engine (CGST/SGST/IGST on documents), multi-currency with per-transaction exchange rates always posting in base currency, weighted-average inventory with automatic COGS, configurable payroll with PDF payslips, POS counter billing, code-built PDF document templates with letterhead and numbering sequences, a custom-fields engine, and full reports — trial balance, P&L, balance sheet, aging, GST summary. Row-level multi-tenancy keeps every organization's data isolated in one shared database.

Key features

The pieces that
make it click.

01

Drift-proof double-entry core

One posting service, one balanced journal entry per event. Trial balance, P&L, balance sheet, cash flow, and inventory valuation are all derived from journal lines — they cannot go out of balance.

02

Full order-to-cash & procure-to-pay

Quotations → invoices → payments, purchase orders → bills → disbursements, with credit and debit notes that reverse documents and restock/destock inventory correctly. POS counter billing included.

03

GST engine & multi-currency

CGST/SGST/IGST calculation on documents for registered and unregistered modes, plus a super-admin-managed currency catalogue with per-currency symbol, decimals, and Indian vs Western digit grouping rendered identically on screen and in PDFs.

04

Inventory with weighted-average valuation

Item catalogue with GST rates and units; automatic stock-in on purchase-order approval, stock-out with COGS posting on invoice issue, and a complete stock-movements ledger.

05

Configurable payroll

Employees, departments, and salary components feed payroll runs that produce PDF payslips (with reimbursements) and post salary expense straight to the ledger.

06

SaaS platform layer

A super-admin console manages tenants with audited impersonation, subscription plans and metered add-ons with quota enforcement, global catalogues, and a platform audit trail — while tenant-side RBAC covers users, roles, OTP challenges, and trusted devices.

Challenges & solutions

What was hard.
How we solved it.

Challenge

Accounting systems drift when balances, stock value, and cash live in separate tables.

Solution

Every money-moving action funnels through a single PostingService that writes one balanced journal entry; all balances and statements are derived from journal lines, using precise decimal math for money.

Challenge

Many businesses on one database without any data bleed.

Solution

Row-level multi-tenancy with a tenant-context header and automatic query scoping, team-scoped role permissions per tenant, and a super-admin layer that provisions and impersonates tenants safely with an audit log.

Challenge

Indian number formatting had to match everywhere — screen and PDF alike.

Solution

A global currency catalogue defines symbol position, decimals, and Indian vs Western digit grouping once, and both the React SPA and the server-side PDF pipeline render from the same rules.

Challenge

Server-side PDF generation is easy to make slow.

Solution

A performance-conscious dompdf pipeline with font subsetting, image size caps, and row caps on large exports keeps document rendering fast.

Challenge

Existing tenants must pick up new capabilities as the product grows.

Solution

Permissions and menus resync from config via an rbac:resync command, so evolving the RBAC model rolls out to every tenant without manual migration.

The result

What changed
after launch.

Zero driftSingle balanced ledger

The build is spec-driven — roughly 37 module specifications covering data model, API, business rules, and acceptance criteria drive a phase-by-phase tracker. The implemented platform spans ~66 migrations, ~50 models, and ~57 API controllers across 18 backend service domains, with ~150 React source files over 25+ feature areas. The full sales/purchase cycle, accounting core, inventory, banking, payroll, reports, and super-admin panels are implemented, with warehouses, batch/serial tracking, bank reconciliation, and Tally/Excel migration on the roadmap.

Tags
#Laravel#PHP#React#Vite#MySQL#REST API#SaaS#Multi-tenant#Sanctum#RBAC#Double-entry accounting#PDF generation#FinTech
Visit the live app (login)
Previous project

Study Bank & Visasset — Lead-Gen & CRM Platform

Study Bank

Next project

RSE Automation ERP

RSE

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.