What's inside

Sixteen engines. 32 modules. One database.

Modules are not separate apps stitched together. They share one schema, one search index, one permission model and one ledger — so switching one on adds capability rather than another system to reconcile.

16shared engines every module uses
32modules you can switch on
6accent themes, light and dark
1PostgreSQL database behind all of it
The spine

The sixteen engines

Built once, underneath everything. This is why a custom field, an approval rule or an audit entry works the same in payroll as it does in procurement.

Custom fields

E1

Text, number, currency, date, select and multi-select fields defined per tenant on any entity, stored as JSONB and reportable like a built-in column.

Document numbering

E2

Financial-year-aware sequential series per document type, with prefixes, auto-reset and gap-free allocation under concurrency.

Tenant configuration

E3

Pipelines, units of measure, tax rates, custom roles, terminology and branding — all self-service, none of it a deploy.

Multi-company & multi-GSTIN

E4

Several legal entities and branch registrations under one login, with place of supply deriving CGST/SGST vs IGST from the pair of state codes.

Soft delete & audit chain

E5

Nothing is hard-deleted. Every mutation links into a SHA-256 hash chain (seq + prevHash + hash) that can be re-verified on demand, so a row changed outside the app is detectable.

Headless PDF renderer

E6

Invoices, quotations and reports rendered through headless Chrome over CDP, with a pure-JS fallback renderer when no browser is available.

Background worker

E7

A BullMQ queue running the cron sweeps: AMC visit generation, dunning, expiry alerts, scheduled reports and outbound dispatches.

Notifications

E8

One outbound path with providers for email (SES), SMS (MSG91), WhatsApp Cloud API and in-app. Where a provider is not configured the message is still recorded on the thread and the screen says it was not delivered — never a silent success.

Automations

E9

Trigger → condition → action rules on entity events across every module. Actions are notify and webhook, which is what lets an external system do the rest.

Approvals

E10

Multi-step routing with thresholds for purchase orders, expense claims, credit notes and discounts, including who may approve their own request (nobody).

Custom objects

E11

Whole entities you define yourself — fields, relations, list views, reporting and automation hooks — without a code change.

Reports & BI

E12

A self-serve builder over every module's dataset: tables, charts, saved dashboards and scheduled email delivery.

Import & export

E13

An RFC-4180 CSV parser with column mapping, a dry run that reports what would happen, and a per-row outcome on the real run.

Multi-currency

E14

Nine currencies including INR. A document carries its own exchange rate and its base-currency total, so the ledger stays in one currency while the customer sees theirs. Platform billing itself is dual INR/USD.

Public API & SDK

E15

Hashed opk_ API keys with per-scope permissions, signed outbound webhooks, and a typed TypeScript client generated from the same Zod contracts the server validates with.

Search & retrieval

E16

Global cross-module search over PostgreSQL full-text, plus stored embeddings for semantic retrieval that the AI assistant grounds its answers in.

Capabilities

What you can actually run on it

Grouped by the department that uses it. Every line is a shipped screen with an end-to-end test behind it.

Money, GST & books

Double-entry
  • GST invoicing with CGST/SGST/IGST derived from place of supply
  • e-Invoice IRN and e-Way Bill modelled end to end — see the note below on the portal
  • A double-entry general ledger that posts itself from invoices, bills and purchase orders
  • GSTR-1, GSTR-3B and GSTR-2B reconciliation with input-credit matching
  • TDS 24Q/26Q/27Q/27EQ, challans, and Form 16 / 16A
  • Bank statement import with automatic transaction matching, period locking and GSTR-9

CRM & sales

Lead to paid
  • Kanban pipeline with custom stages, sources and de-duplication
  • Contacts 360 with full activity history, notes and follow-ups
  • Quotations with PDF generation, e-signature and conversion to invoice
  • Helpdesk tickets with business-hours SLA clocks, queues and CSAT
  • Omnichannel inbox: WhatsApp, email, Instagram, Facebook, SMS and web chat in one thread
  • Marketing campaigns and drip journeys to segments, with lead scoring

Operations & logistics

Field & factory
  • Multi-warehouse stock with batch/lot, FEFO expiry and serial tracking
  • Multi-level bills of material, work orders, material issue and finished-goods costing
  • Warehouse management with bins, located stock, wave picking and pick-pack-ship
  • Procurement to goods receipt, with stock-in and the bill posting to the ledger
  • Field service dispatch, job cards, AMC contracts and an offline-capable technician app
  • Asset management with preventive maintenance on a schedule or a meter reading

People & payroll

Attendance to payslip
  • Attendance and leave feeding loss-of-pay straight into the payroll run
  • Salary runs with PF ECR, ESI and Professional Tax
  • Income tax under both the old and new regimes, and §192 salary TDS
  • Recruiting with job openings, a public careers page, candidates and interviews
  • Performance cycles with weighted goals, self and manager review, and rating bands
  • Learning: courses, lessons, quizzes and completion tracking

Where the boundary is, stated plainly

e-Invoice and e-Way Bill: Opsylo builds the payload, computes the real IRN hash and models the full lifecycle including cancellation windows and validity. The acknowledgement, signed QR and e-Way Bill number are generated locally until a GSP credential is connected — so the workflow is testable today and becomes live filing the day those credentials are added, with no change to how you work. TDS returns: Opsylo produces everything up to the file the government utility consumes; the .fvu and Form 27A come from Protean's own jar, and the CSI from TIN/OLTAS. We do not reimplement a validator we cannot be authoritative about.

See it with your own data.

A private workspace, pre-seeded for your industry, in about a minute.