RU EN
← ALL PROJECTS

CASE 06 · SAAS

Legko i Prosto

Product screens

Sales dashboard: financial metrics, warehouse stock and order chart
Sales analytics dashboard
Week-over-week report: analytics, sales and contribution margin by week
Week-over-week report
Cash flow report: inflows, outflows and balances by month
Cash flow report
Wildberries sales: ABC analysis, costs and contribution margin per product
Per-product sales: ABC analysis and unit economics
Profit and loss report: revenue, direct and indirect costs, and profit by sales channel
Profit and loss (P&L) by sales channel
Liabilities: accounts payable by counterparty, category and sales channel
Liabilities: who owes what and how much
Company loans: source, amount and the date of the last payment
Company loans
Editing a loan: the repayment schedule with principal, interest and outstanding balance
Loan repayment schedule
Zenmoney integration: choosing accounts and cards to synchronise
Zenmoney synchronisation
Bank integrations: the list of connections and the transaction import history
Bank integrations and import history
1 / 10

A full-scale cloud B2B product of team-sized scope: 120,000+ lines of code, 10 microservices, 400+ API endpoints, integrations with three marketplaces and three banks, payment processing, realtime updates and multi-user access with roles.

legkomp.ru Web service · Built solo: from idea and architecture to production and operations
350+
active clients
500M+
financial transactions
120K+
lines of code
400+
API endpoints

THE CHALLENGE

An honest picture of what the business really earns

Marketplace sellers live in scattered data: WB and Ozon dashboards, bank statements, cost-price spreadsheets, expense lists in Excel. Pulling it together by hand is slow and error-prone, and money leaks go unnoticed.

The goal was to build a service that collects every data source automatically, consolidates it into management reporting and stays fast on large volumes — while being developed and operated by a single engineer.

ABOUT THE PRODUCT

Replaces an in-house financial analyst

Legko i Prosto (“Easy & Simple”) is a management accounting service for marketplace sellers and small businesses. It pulls data from every part of the business — Wildberries, Ozon, Yandex Market, bank accounts, offline sales — into unified reporting and gives the owner an accurate net profit calculation in 30 minutes.

01

Sales analytics

Dashboards for orders, sales, stock, buyout rate and geography; a week-over-week report that shows not just margin dynamics but the reasons behind the changes; per-product analytics with ABC analysis.

02

Financial accounting

Cash flow and P&L reports (liquidity, expense structure and margins), a payment calendar, loan and liability tracking, breakdowns by legal entity, business line and expense category.

03

Routine automation

Bank statements sync on their own, and a configurable rules engine classifies transactions and allocates expenses across products and stores. Hours of manual Excel work now happen without human involvement.

WHAT WAS BUILT

Integrations & product

External integrations

  • Marketplaces: Wildberries, Ozon, Yandex Market — automatic sync of sales, orders, stock and weekly financial reports.
  • Banks via OAuth: Modulbank, T-Bank, Tochka — plus statement imports from files, email and the Central Bank format, and a Zen-Money integration for personal cards.
  • Payments via Robokassa: plans, subscriptions, invoices, a free trial period.
  • A Telegram bot for notifications and support, amoCRM integration, a public API for external systems.

Product features

  • Multi-account support: one user manages several accounts and sees consolidated analytics across all of them.
  • Role-based access: the owner invites managers and an accountant with different permissions — enforced on every request to the server.
  • Realtime UI: sync statuses and data updates arrive in the browser instantly, with no page reloads.
  • Heavy analytical tables on AG Grid Enterprise: pivot reports, in-cell editing, Excel/CSV export.
  • An onboarding wizard that takes a new client from sign-up to first reports in 30 minutes.

THE PROJECT IN NUMBERS

Scale

Active clients 350+, average client turnover ₽15M/month
Transactions processed 500M+ financial transactions
Application code 120,000+ lines (frontend + backend)
REST API 400+ endpoints
Calculation core 570+ MySQL stored procedures, ~390 tables
Architecture 10 services managed by PM2
External integrations 3 marketplaces, 3 banks, a payment gateway, Telegram, amoCRM, Zen-Money
Environments dev / test / production with automated deployment

ENGINEERING DECISIONS

How it works under the hood

Calculation core in the database

All heavy financial and analytical math lives in MySQL stored procedures. Reports over hundreds of thousands of transactions build fast, and the logic is reused by every service — API, workers and dashboards.

Microservices: Manager/Worker

Scheduled managers hand out sync jobs to horizontally scalable workers over an internal API. Loading data for hundreds of stores never slows down the main application.

Resilient operations

Process clustering and auto-restart, memory limits, automatic SSL certificate renewal, versioned builds, separate dev/test/prod environments.

Security

JWT authentication with SMS sign-in, permission checks on every endpoint, OAuth bank connections with no client credentials stored.

STACK

Technologies

Frontend
React 18 MUI AG Grid Enterprise ApexCharts Jotai socket.io
Backend
Node.js 20 Express MySQL JWT node-cron
Infrastructure
VPS Ubuntu PM2 Let's Encrypt Automated deployment

My role

The product's only developer. Full cycle: architecture and database design, backend and frontend, bank and marketplace integrations, billing, infrastructure, deployment and production support.

SEE ALSO

CONTACT

Need a product like this?

I'll design and build the same kind of product around your processes — from architecture to operations. Get in touch and we'll scope the task, timeline and budget.

Message on Telegram dnovoselov@bk.ru

I reply within 3 hours on weekdays

A project's budget and commercial terms belong to the client, and I don't publish them. Your project will be treated the same way. My own price ranges are in the Pricing section.