One app — accounting, inventory, personnel, reporting, FP&A and Trex — in ten sections. Read it like a datasheet. Skip what you don’t need, scroll to what you do.
Six modules. One posting spine.
Nothing on this page keeps its own books. Invoices, bills, bank matches, goods receipts, manufacturing orders and payroll runs post double-entry journals to one general ledger; reporting, FP&A and Trex read straight from it. So the spec reads top-down, and everything reconciles back to section 01.
every spoke posts a journal · trex posts only what you approve
Double-entry ledger, receivables, payables and banking — GST-native and multi-currency.
Goods receipts, warehouses, lot and expiry tracking, bills of materials and manufacturing orders — all posting to the ledger.
Payroll with PF/EPF and TDS, an employee self-service portal, hiring and performance.
P&L, Balance Sheet, a Trial Balance with drill-down and xlsx export, and GST reports computed from your books.
Forecasting and a 13-week cash projection, built on the same numbers as your books.
The AI copilot inside. It proposes; you approve every action.
The double-entry ledger.
Three-level COA. Multi-currency. Per-tenant Postgres schema. Every other module on this page posts back here — or reads from it.
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.
Multi-currency
Invoices, bills, bank lines and journals in foreign currency. Realised and unrealised FX gains and losses post to the GL.
Soft close & lock
Close a period softly and reverse it if you need to. Reversals are recorded in the audit trail.
Audit trail
Audit trail of who changed what, and when — across the ledger, access control and reconciliation. Includes Trex provenance (which session, which model).
Tally vouchers + Excel JE log
Manual JE, provisions and depreciation accruals on one ledger
FX revaluation in a side spreadsheet
FX on invoices, bills, bank and journals, with realised / unrealised gains
Manual lock-in-Tally rituals
Reversible soft close, with reversals on the audit trail
“Who changed this?” in WhatsApp
Who changed what, and when — 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.
Invoice issuance
Multi-line, multi-tax (CGST/SGST/IGST/cess), HSN-coded, PDF-rendered.
Customer sub-ledger
Per-customer ageing, credit limits, payment history. Credit notes link back to original invoice for assessment trail.
Payment receipt
Bank-side match suggests the invoice via amount + reference. You confirm.
Bulk customer import
CSV upload, validation preview, async background job with retry. Includes opening balances.
Vendors, bills, payments.
Upload bills. Post once. Reconcile against the bank. The same entries feed your GST reports.
Bill capture · OCR
Upload bill PDFs or images. PDF → fields → vendor → ledger lines, drafted for you to review and approve.
Vendor sub-ledger
DPO, concentration risk, payment history, debit notes. Per-vendor ageing on the same numbers as the GL.
Bill payments
Record a payment against one or many bills. The payment entry posts to the GL and the vendor sub-ledger together.
Bulk vendor & bill import
Vendors and bills by spreadsheet upload, validated before anything imports, then run in the background with retry and per-row error logs.
Statements, recon, cards.
Import statements, review suggested matches, approve. Reconciliation without the lost weekend.
Statement import
CSV, Excel. Multi-bank. Duplicate detection on import.
AI reconciliation
Suggests an invoice / bill / GL entry for each line. You approve, edit or reject. Bulk approve matches in one click.
Credit cards
Statement parser, merchant normalisation, FX-leg posting. Each card has its own sub-ledger that reconciles to the card payable.
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.
Receive, store, make — on the ledger.
Inventory is a module inside Triam, not a separate product. Goods receipts and manufacturing orders post their own journals to the same GL as everything above — receiving and production land in the books as they happen.
Goods receipts (GRN)
Receive from a purchase order, from a bill, or on its own. Each line carries a batch, expiry, GST and warehouse location. Every receipt posts automatically, and the matched inventory bill clears GRNI.
Warehouses & locations
Multiple warehouses with nested storage locations, capacity tracking and automatic placement.
Lots, batches & expiry
Stock is tracked lot by lot, with batch numbers, serial numbers and expiry dates — and product stock by warehouse and batch.
BOM & manufacturing
Bills of materials with version history, labour and overhead costing, and a cost preview. Manufacturing orders consume raw materials (FIFO, lowest-cost or manual pick) and post WIP → finished-goods journals.
Inventory reports
Stock levels, valuation, movements and ABC analysis, plus product stock by warehouse and batch.
Orders, units & catalogue
Purchase orders and sales orders. Units of measure with conversions — box = 20 units. Bulk import of the product catalogue, including reorder levels.
GRNI rises on receipt and clears when the bill is matched. WIP holds material cost until the order completes.
Example amounts; GST left out for clarity. This is what Inventory (Beta) posts today: receiving and manufacturing.
Payroll, people, hiring.
Salaries, statutory dues and reimbursements as journal entries the moment they happen.
Employee master
CTC structure (basic, HRA, allowances, employer PF, gratuity provision). Bulk import from CSV. Employee self-service portal (beta).
Payroll runs
Monthly run, statutory deductions (PF and TDS u/s 192), posts net pay + statutory accruals to GL.
Hiring pipeline (beta)
Job openings, candidate Kanban, interview tracking. Hires push into employee master.
Performance (beta)
Goal cycles, feedback rounds, review workflow.
Reports, straight off the ledger.
Reports are computed from the same postings every module writes. There is no export-and-rebuild step between the books and the numbers you send out.
Trial Balance
Every account, Dr and Cr, with drill-down to the transactions behind each balance. Export to xlsx.
P&L and Balance Sheet
Profit & loss and balance sheet from the same ledger, in multi-currency books.
GST reports
GSTR-1, GSTR-3B and GSTR-2 reports computed from your books, with due-date reminders. You file on the GST portal; direct filing is on our roadmap.
Plans, forecasts, scenarios.
Built on the chart of accounts you post to. There’s no copy-paste between “the model” and “the books” because there is no other model.
Plan versions
Budgets drafted against the same COA you post to, moving from draft through collection and consolidation to locked and approved. Copy last year’s actuals, apply an uplift, or spread an annual amount across periods.
Drivers & forecasts
A driver library with formulas, driver-to-account mappings and a headcount planner compile into the plan. Forecast the open months by run-rate, seasonal or linear trend.
Scenarios
Base, best-case, worst-case and custom scenarios, adjusted by grow %, scale, add or set. Compare them side by side, with a sensitivity view of the biggest levers.
13-week cash projection
A weekly cash ladder built from open receivables and payables by due date, alongside a rolling view for the year.
Budget.xlsx v17_FINAL_v2
Plan versions drafted against the same COA you post to
Hand-rolled spreadsheet models
Drivers and headcount compile into the plan; forecasts on open months
Three copies of the same file
Best, base and worst side by side in one model
CFO “guesstimate” emails
13-week projection from open AR and AP by due date
Trex · the finance copilot.
Sits inside the ledger, not on top of an API. Works the way a careful accountant would — proposing, never posting without your approval, with every step on the audit trail.
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.
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.
Approval rails
Every Trex action is a proposal you approve, gated by the same RBAC a human has. Period closed? Blocked. The audit trail records the agent session ID.
User credits
Usage metered in credits, per user and per session. Visible in admin.
One vendor, one model, fingers crossed
Claude + Mistral, cost-aware per task, fallback chain
Chatbots that talk and do nothing
Structured approval cards — click to approve
Blind agent autonomy
You approve every action; same RBAC as a human
Surprise AI bills
Metered credits, visible in admin
Tally import & bulk loads.
Day-one onboarding is the hard part of any accounting tool. We treat it as a product, not a service.
Tally XML migration
Guided wizard: COA mapping → master parse → transaction preview → run. Your history arrives balanced, or it doesn’t commit.
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.
Opening balances
Pulled from Tally on migration or uploaded separately. Balanced check enforced before commit.
Incremental migration
Run again later. Only deltas import. Reconcile history preserved.