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.
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.
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.
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.
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.
Quotations → invoices → payments, purchase orders → bills → disbursements, with credit and debit notes that reverse documents and restock/destock inventory correctly. POS counter billing included.
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.
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.
Employees, departments, and salary components feed payroll runs that produce PDF payslips (with reimbursements) and post salary expense straight to the ledger.
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.
Accounting systems drift when balances, stock value, and cash live in separate tables.
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.
Many businesses on one database without any data bleed.
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.
Indian number formatting had to match everywhere — screen and PDF alike.
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.
Server-side PDF generation is easy to make slow.
A performance-conscious dompdf pipeline with font subsetting, image size caps, and row caps on large exports keeps document rendering fast.
Existing tenants must pick up new capabilities as the product grows.
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 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.
Drop us a message or call us directly. We reply to every enquiry — usually the same day.