Nine sections. Read it like a datasheet. Skip what you don’t need, scroll to what you do.

architecture · one ledger

Nine modules. One posting spine.

Nothing on this page keeps its own books. Invoices, bills, bank matches, GRNs and payroll runs all land as double-entry postings on the same general ledger — so the spec reads top-down, and everything reconciles back to section 01.

0
modules
0
capabilities
0
bulk imports
0+
migration tests
general ledgerdouble-entry

The double-entry ledger.

Three-level COA. Multi-entity. Per-tenant Postgres schema. Every other module on this page posts back here.

cap.01 · the spine

General Ledger

Hierarchical Level 1 → Level 2 → Level 3 COA with India-default account templates. Manual journal entry, period-end provisions, fixed-asset depreciation accruals.

L1 · AssetsL2 · Cash & BankL3 · 1100 Cash · HDFC
three levels · one drill-down
CAP.02

Multi-entity hub

N legal entities in one workspace. Inter-company postings auto-eliminated at consolidation. Per-entity RBAC.

CAP.03

Soft close & lock

Period soft-closed but reversible. Hard-close on filing. Every reopen is written to the role audit log.

CAP.04

Audit trail

Immutable row-level log on every CRUD across ledger, RBAC, reconciliation. Includes Trex provenance (which session, which model).

what this retires
journals
today

Tally vouchers + Excel JE log

in triam

Manual JE, provisions and depreciation accruals on one ledger

entities
today

Tally Server licences × entities

in triam

N entities in one workspace, auto-eliminated at consolidation

period lock
today

Manual lock-in-Tally rituals

in triam

Soft close reversible, hard close on filing, audited reopens

audit
today

“Who changed this?” in WhatsApp

in triam

Immutable row-level log with Trex provenance

Customers, invoices, ageing.

Issue, track, collect. The AR sub-ledger reconciles to the GL on every post — there’s no off-ledger receivable.

cap.01 · issue → post

Invoice issuance

Multi-line, multi-tax (CGST/SGST/IGST/cess), HSN-coded, PDF-rendered. Recurring schedules supported.

replacesZoho Invoice + Tally
auto-posts · on issuedouble-entry
AccountDrCr
1200 AR · Customer₹1,18,000
4000 Revenue₹1,00,000
2200 GST Output₹18,000
CAP.02

Customer sub-ledger

Per-customer ageing, credit limits, payment history. Credit notes link back to original invoice for assessment trail.

replacesExcel ageing pivots
CAP.03

Payment receipt

Bank-side match auto-suggests invoice via amount + reference. AI matcher learns from your approvals.

replacesManual receipt entry
CAP.04

Bulk customer import

CSV upload, validation preview, async background job with retry. Includes opening balances.

replacesTally customer master data entry

Vendors, bills, payments.

Capture bills from anywhere a bill arrives. Post once. Reconcile against the bank. Match against the GSTR-2B.

cap.01 · ocr intake

Bill capture · OCR

Drop a folder, point at finance@ inbox, or forward from Slack. PDF → fields → vendor → ledger lines. 38 of a typical 42-bill batch auto-mapped.

replacesEmail forward → typist
0 of 0 bills
auto-posts · from pdfdouble-entry
AccountDrCr
5400 Travel₹47,500
2210 GST Input₹8,550
2100 AP · Vendor₹56,050
CAP.02

Vendor sub-ledger

DPO, concentration risk, payment history, debit notes. Per-vendor ageing on the same numbers as the GL.

replacesVendor outstanding spreadsheets
CAP.03

Payment runs

Select bills, generate payment batch, export NEFT/RTGS file or trigger via integrated bank. Auto-posts payment entry on confirmation.

replacesManual NEFT batches
CAP.04

GSTR-2B reconciliation

Match your bills against the GSTR-2B from the portal. Mismatch report shows which vendors haven’t filed. Chase emails draftable from the same view.

replacesGST portal manual download + Excel

Statements, recon, cards.

AI matcher learns from your approvals. Bank statements close in minutes, not weekends.

CAP.01

Statement import

OFX, CSV, Excel. Multi-bank. Duplicate detection on UTR fragments.

replacesTally bank ledger keypunch
cap.02 · ai matcher

AI reconciliation

Suggests invoice / bill / GL entry for each line with a confidence score. You approve. The model gets better. Bulk approve safe matches in one click.

replacesWeek-long month-end recon
auto-posts · on matchdouble-entry
AccountDrCr
1100 Cash · HDFC₹1,18,000
1200 AR · Customer₹1,18,000
match confidence · learns from your approvals
CAP.03

Credit cards

Statement parser, merchant normalisation, FX-leg posting. Each card has its own sub-ledger that reconciles to the card payable.

replacesCC bills paid then forgotten
CAP.04

Exception queue

Anything below the confidence threshold lands in a queue. With Trex, you can ask “why is this here?” and get the reasoning trace.

replacesSticky-note triage

Budgets, forecasts, scenarios.

Wired directly to actuals. There’s no copy-paste between “the model” and “the books” because there is no other model.

CAP.01

Hierarchical budgets

Drafted against the same COA you post to. DRAFT → SUBMITTED → APPROVED → ACTIVE → ARCHIVED workflow. Copy-actuals, uplift %, spread-annual primitives.

CAP.02

Driver-based forecasts

Revenue = headcount × deal × close-rate, etc. Safe AST formula engine — no arbitrary code execution. Holt-Winters seasonal underneath.

CAP.03

Scenarios

BEST / WORST auto-apply ±10%. Custom adjustments via MULTIPLY / ADD / SET. Simulate sensitivities side-by-side.

BEST+10%
BASEactuals
WORST−10%
cap.04 · cash visibility

13-week cash projection

Pulls from AR (due dates), AP (due dates), recurring payroll. Stacked bar + ending-cash line. Refreshes when actuals refresh.

13-week ending cash · refreshes with actuals
what this retires
budgets
today

Budget.xlsx v17_FINAL_v2

in triam

Budgets drafted against the same COA you post to

forecasts
today

Hand-rolled spreadsheet models

in triam

Safe AST formula engine, Holt-Winters seasonality underneath

scenarios
today

Three copies of the same file

in triam

BEST / WORST sensitivities side-by-side in one model

cash
today

CFO “guesstimate” emails

in triam

13-week projection wired to AR, AP and payroll

Stock, GRN, COGS.

Every stock movement posts a GL entry. No back-of-book inventory ledger that drifts from the books.

CAP.01

Multi-warehouse

Hierarchical warehouse → zone → bin tree. Per-location stock, transfers tracked as in-transit on the GL.

replacesTally Inventory or separate WMS
cap.02 · stock → gl

GRN · 3-way match

Goods receipt against PO, attach to bill, AI flags qty / price variance against PO. Posts COGS on consumption.

replacesPaper GRNs + email
POGRNBill
auto-posts · on receiptdouble-entry
AccountDrCr
1310 Inventory · FG₹2,50,000
2150 GRN Liability₹2,50,000
CAP.03

Units & conversions

Box = 20 units. Quintal = 100 kg. Conversion ratios enforced on every transaction.

replacesMental math on the warehouse floor
CAP.04

Stock valuation reports

FIFO/weighted-avg. Stock aged by batch. Slow-mover flag at 90/180 days.

replacesQuarter-end valuation panic

Payroll, CTC, hiring.

Salaries, statutory dues and reimbursements as journal entries the moment they happen.

CAP.01

Employee master

CTC structure (basic, HRA, allowances, employer PF, gratuity provision). Bulk import from CSV. Self-service portal in beta.

replacesHR.xlsx
cap.02 · run → post

Payroll runs

Monthly run, statutory deductions (PF, ESI, TDS u/s 192), salary slip PDFs, posts net pay + statutory accruals to GL.

replacesPayroll bureaus that don’t talk to your books
auto-posts · payroll rundouble-entry
AccountDrCr
5100 Salaries₹12,50,000
2400 PF Payable₹75,000
2300 TDS Payable₹1,40,000
2110 Salary Payable₹10,35,000
CAP.03

Hiring pipeline (beta)

Job openings, candidate Kanban, interview tracking. Hires push into employee master.

replacesTrello + email threads
CAP.04

Performance (beta)

Goal cycles, feedback rounds, review workflow. Wires into comp planning in FP&A.

replacesAnnual review forms in Word

Trex · the finance copilot.

Sits inside the ledger, not on top of an API. Acts the way a senior accountant would — except faster and with a perfect audit trail.

CAP.01

Multi-provider LLM router

Anthropic Claude + Mistral. Cost-aware per task: INTENT_PARSE / GUIDANCE / REPLY_SYNTHESIS / GENERAL_CHAT / BRIEFING. Per-session override. Fallback chain on JSON-validation failure.

CAP.02

Card router

Trex output rendered as structured cards — approval cards, record popovers, inline tables — not just markdown. You click to approve, you don’t copy and paste.

cap.03 · guardrails

Approval rails

Every Trex action gates through the same RBAC and threshold rules a human would. Above ₹1L? Queued. Period locked? Blocked. Audit log records the agent session ID.

trex.approvalrails · live
$ post bill BILL-2041 · ₹56,050
rbac✓ allowed
threshold✓ ₹56,050 < ₹1L
period✓ open
auditagent session ID recorded
→ posted · above ₹1L it queues instead
CAP.04

User credits

Token consumption metered per user / per session. Hard limits per role. Visible in admin.

what this retires
models
today

One vendor, one model, fingers crossed

in triam

Claude + Mistral, cost-aware per task, fallback chain

interface
today

Chatbots that talk and do nothing

in triam

Structured approval cards — click to approve

controls
today

Blind agent autonomy

in triam

Same RBAC and thresholds a human gates through

spend
today

Surprise AI bills

in triam

Metered tokens, hard limits per role

Tally import & bulk loads.

Day-one onboarding is the hard part of any accounting tool. We treat it as a product, not a service.

cap.01 · day one

Tally XML migration

Guided wizard: COA mapping → master parse → transaction preview → run. Your history arrives balanced, or it doesn’t commit.

replacesThree weeks with a consultant
coa mapmasterspreviewrun
0+unit tests on parse → validate → import
CAP.02

13 bulk imports

Customers, vendors, products, services, COA, employees, CTC, invoices, bills, bank transactions, journals, fixed assets, payroll. Async with retry and per-row error logs.

0import pipelines · async with retry
replacesManual data entry per row
CAP.03

Opening balances

Pulled from Tally on migration or uploaded separately. Balanced check enforced before commit.

replacesOpening balance “floating” debate
CAP.04

Incremental migration

Run again later. Only deltas import. Reconcile history preserved.

replacesOne-shot migrations that fail
uninstall list · 36 items
Tally vouchers + Excel JE logTally Server licences × entitiesManual lock-in-Tally rituals“Who changed this?” in WhatsAppZoho Invoice + TallyExcel ageing pivotsManual receipt entryTally customer master data entryEmail forward → typistVendor outstanding spreadsheetsManual NEFT batchesGST portal manual download + ExcelTally bank ledger keypunchWeek-long month-end reconCC bills paid then forgottenSticky-note triageBudget.xlsx v17_FINAL_v2Hand-rolled spreadsheet models
Three copies of the same fileCFO “guesstimate” emailsTally Inventory or separate WMSPaper GRNs + emailMental math on the warehouse floorQuarter-end valuation panicHR.xlsxPayroll bureaus that don’t talk to your booksTrello + email threadsAnnual review forms in WordOne vendor, one model, fingers crossedChatbots that talk and do nothingBlind agent autonomySurprise AI billsThree weeks with a consultantManual data entry per rowOpening balance “floating” debateOne-shot migrations that fail
features.sessionexit 0
migration.ready · 9 modules · one ledger

That’s the spec.
See it on your own books.