How Lekhya Works

Module-wise flowcharts for Lekhya ERP and Lekhya Pramaan (CA edition)

See it in action

Real screens, real numbers

These are screenshots of the actual app running on demo data — not designs.

lekhya.prabhassaas.in/dashboard
Lekhya dashboard with live sales, AR/AP, and recent invoices

Seedha Bill Invoice → Lekhya Ledger

Mode A — Same Prabhas Account

1

Freelancer creates invoice in Seedha Bill

2

Toggle "Auto-sync to Lekhya" is ON in settings

3

Seedha Bill writes to shared Supabase table

4

Lekhya RPC polls the shared table (real-time)

5

Import Pipeline: normalize → dedupe → validate

6

If valid → Post invoice + journal entry

7

Source invoice LOCKED (Posted status). No re-submission.

8

Accounts updated: DR Receivable, CR Sales, CR GST Output

Mode B — Different Accounts (Token)

1

Accountant generates a Client Connection Token in Lekhya

2

Token has: scope, expiry, label, seat allocation

3

Freelancer pastes token in Seedha Bill → connection established

4

Each connection = 1 client-seat on accountant's plan

5

Seedha Bill webhook / REST API pushes invoices to Lekhya

6

Same pipeline: normalize → dedupe → validate → post

7

Token revoked? Sync stops immediately.

8

Connector health dashboard shows per-connection status

When validation fails → Quarantine Queue

Invalid GSTIN format Missing invoice number HSN code not found Tax math mismatch

→ Goes to Import Queue for manual review. Accountant fixes and approves. Invalid invoices NEVER enter the ledger.

Invoice → Double-Entry Journal → P&L / Balance Sheet

Sales Invoice ₹10,000 + 18% GST (CGST+SGST)

AccountDebitCreditWhy?
Accounts Receivable (1100)₹11,800Customer owes us this
Sales Revenue (4000)₹10,000Revenue earned
CGST Output Payable (2210)₹900GST we collect for Govt
SGST Output Payable (2220)₹900GST we collect for Govt
TOTAL₹11,800₹11,800✓ Balanced

P&L Impact

Revenue ↑ ₹10,000 (taxable amount, excluding GST)

GST collected is NOT revenue — it's a liability payable to govt.

Balance Sheet Impact

Assets ↑ ₹11,800 (AR)

Liabilities ↑ ₹1,800 (GST Payable)

Equity ↑ ₹10,000 (via retained earnings)

When Payment Received

DR Bank ₹11,800
CR Accounts Receivable ₹11,800

AR zeroed. Bank balance increases.

Purchase Invoice ₹5,000 + 18% GST (Interstate → IGST)

AccountDebitCredit
Purchases (5000)₹5,000
IGST Input Credit (1230)₹900
Accounts Payable (2100)₹5,900
TOTAL₹5,900₹5,900

IGST Input (₹900) can be offset against IGST/CGST/SGST Output liability in GSTR-3B.

GST Compliance Flow

Monthly Filing Cycle

Create & post GST invoices (CGST/SGST or IGST auto-selected based on state)

E-invoice: if turnover > threshold, generate IRN via GSP gateway

E-way bill for goods movement > ₹50,000

At month end: Generate GSTR-1 (outward supplies)

Import GSTR-2B (inward supply ITC statement from GST portal)

Run GSTR-2B Reconciliation: match purchase invoices vs 2B

Resolve mismatches, then file GSTR-3B (net tax payable)

Pay GST liability after adjusting ITC

GST Rate Engine Logic

Supplier state = Buyer state? CGST + SGST
Supplier state ≠ Buyer state? IGST only
Export / SEZ supply? Zero-rated (0%)
Reverse Charge (RCM)? Buyer pays GST

HSN/SAC code in each line item → rate engine auto-picks the applicable rate from the rate master.

GST compliance dashboard showing GSTR-1, GSTR-3B, and GSTR-2B reconciliation entry points

GST Dashboard — one place for every return

GSTR-1 filing screen with real B2B and B2C invoice breakdown and computed CGST/SGST totals

GSTR-1 — auto-computed from posted invoices

Bank Passbook Reconciliation Flow

1

Setup bank account

Add your bank in Banking → Bank Accounts. Link to a Ledger account (e.g. Current Account 1410).

2

Download passbook

From your bank: download statement as CSV. Most banks (SBI, HDFC, ICICI, Kotak) offer CSV/XLS export.

3

Upload CSV

Go to Banking → Import Passbook. Map columns: Date, Description, Debit, Credit, Balance. Set header rows to skip.

4

Auto-import

Lekhya reads each row and creates BankTransaction records. Duplicate rows (same date+amount+description) are skipped.

5

Match transactions

Compare bank transactions against journal entries. AI suggests matches based on amount, date, and description similarity.

6

Mark cleared

Click "Match" to link a bank row to a journal entry. Status changes to Reconciled.

7

Resolve differences

Unmatched bank credits → create receipt voucher. Unmatched debits → create payment voucher. Bank charges → post to Bank Charges account.

8

Complete reconciliation

Enter closing balance from bank statement. Lekhya confirms book balance = statement balance. Lock the reconciliation.

Supported CSV Formats

SBI (State Bank of India)
HDFC Bank
ICICI Bank
Axis Bank
Kotak Mahindra
Punjab National Bank
Bank of Baroda
Any custom CSV with column mapping

AI-Assisted Accounting Flow

AI Rule: AI NEVER writes to the ledger. It only PROPOSES — a human must approve every AI suggestion.

Invoice Extraction

PDF/Image → AI reads → Draft invoice created → Accountant reviews & corrects → Posts to ledger

Account Auto-Coding

AI looks at line item description → suggests ledger account → accountant approves or corrects → System learns from corrections

GSTR-2B Matching

AI fuzzy-matches purchase invoices against 2B data → highlights mismatches → accountant reconciles

Bank Line Matching

AI matches bank transaction to journal entry by amount + date + description similarity → suggests match → human confirms

NL Queries

Type: "What are total sales in April?" → AI generates safe SQL → returns table/number → user can export

Anomaly Detection

AI flags duplicate invoices, out-of-pattern amounts, unusual vendor patterns → flagged for human review only

Lekhya Pramaan — CA Edition Flow

Tax Audit (3CD) Workflow

Staff prepares draft 3CD from books

CA reviews — flags issues, requests corrections

Corrections made (revision cycle)

CA generates UDIN from ICAI portal

CA signs report with DSC

Firm-branded PDF generated with letterhead

Working papers attached to audit vault

Report delivered to client

Multi-Client Practice Dashboard

Compliance Calendar

All clients' GST/TDS/ROC/Audit due dates in one view. Color-coded: Green=done, Orange=due soon, Red=overdue.

Bulk GSTR-2B Recon

Run reconciliation for all connected clients in one click. Exceptions flagged per client.

Notice Tracker

Track GST/IT notices per client. Response due dates, status, document vault.

White-label Reports

Firm logo, letterhead, and digital signature on all reports. Client-facing PDF looks like your own firm output.

Tally ERP → Lekhya Migration Flow

Step-by-Step Guide

1

Export from Tally

In Tally Prime: Gateway → Data → Export → XML format. Select "All Masters + All Vouchers". Choose the period you want to migrate.

2

Upload to Lekhya

Go to Accounting → Tally Migration. Upload the XML file. Lekhya parses and shows a preview: X ledgers, Y vouchers found.

3

Preview & review

Review the mapping table. Lekhya shows how Tally Groups map to Lekhya account types. Check for any flagged errors.

4

Run import

Click "Start Import". Lekhya imports all ledgers as accounts, parties as vendors/customers, and vouchers as journal entries.

5

Verify trial balance

After import, run Trial Balance. Compare with Tally's trial balance. They should match to the last rupee.

6

Post opening balances

Lekhya auto-creates opening balance journal from Tally's opening balances. Verify asset/liability totals.

What gets migrated

Chart of accounts (all groups & ledgers)
Customers & vendors (Sundry Debtors/Creditors)
All vouchers (Sales, Purchase, Receipt, Payment, Journal, Contra)
Opening balances for all ledgers
GSTIN for parties (if present in Tally)
⚠️ Tally payroll data (not supported — export separately)
⚠️ Fixed asset depreciation schedules (manual review required)
Tally ERP customizations / TDL scripts (not applicable)

Tally XML Export Quick Guide

  1. Open Tally Prime → Gateway of Tally
  2. Press F1 → Help → TallyPrime Data Exchange
  3. Or: Data → Export → Choose XML format
  4. Select company, period, and "All" for data
  5. Save as .xml file → Upload to Lekhya

The import, screen by screen

Tally import upload screen with drag-and-drop XML file picker

1. Upload your Tally XML export

Tally import preview showing parsed groups, ledgers, and vouchers before posting

2. Review the parsed counts before anything posts

Completed Tally import showing imported record count and import history

3. Done — imported records logged in history