MIS Studio

MIS Studio

Upload a trial balance and MIS Studio turns it into management statements — the AI designs a master schema for your entity, maps every ledger into it, and a deterministic engine produces a P&L, cash flow statement and balance sheet that always tie out.

Updated October 7, 2026

What MIS Studio does

MIS Studio automates the monthly MIS pack for an entity in three steps:

  1. Trial Balance — upload the entity's trial balance (Excel or CSV, any common layout).
  2. Mapping Studio — the AI designs a master schema for the entity and classifies every ledger into it; you review only what needs judgement.
  3. Statements — a deterministic calculation engine generates the P&L (four formats), cash flow statement (direct and indirect) and a basic balance sheet, with drill-down to source ledgers and hard tie-out checks.

The AI never computes a number. It only interprets layouts, designs the schema and classifies ledgers — all arithmetic is exact and reproducible.

Uploading a trial balance

  1. Open the entity and go to MIS Studio → Trial Balance.
  2. Upload the trial balance file. Multi-period files (e.g. monthly columns) are supported, as opening/closing balances or period movements. Layout recognition uses Auto mode: common Tally / Zoho / Busy layouts are detected by rules first; unusual sheets fall back to FireAI Intelligence.
  3. After the file lands, a short Match columns step asks you to confirm the ledger name column, the optional group / tagging column, and the import style:
    • Version 1 — Classic — Opening + Debit/Credit movements (default). Intermediate Opening/Closing columns on multi-month Zoho bands are acknowledged so import does not fail, but they are not used as amounts.
    • Version 2 — Multi-month ODCC — for exports like Amber where each month has its own Opening / Debit / Credit / Closing. Every band value is used: period movement = Closing − Opening, and balance-sheet Opening bridges (Opening_N ≠ Closing_{N−1}) are folded into that month’s movement so mid-year tweaks are not dropped. P&L tags keep monthly resets (no bridge fold) so annual totals stay the sum of monthly nets. Files with repeated Opening Balance headers are suggested as Version 2 automatically.
      Suggested columns usually need one click on Import trial balance. Ledgers are then filed under those groups. Orphan Total for … rows with balances but no child ledgers are imported automatically; other summary totals are listed under a collapsible “already covered” note. Use the full screen control on Does the trial balance add up? or Standardised Trial Balance to review periods and ledgers with more space (Esc to exit).
  4. The file is parsed and standardised into one canonical row per ledger. Ledger mapping starts automatically in the background as soon as parsing finishes — you can stay on Trial Balance and review the standardised table. When you open Mapping Studio (or click Next), you see live progress if mapping is still running, or the finished queue if it has already completed. While mapping runs, a FireAI briefing turns live market headlines into short, entity-aware explanations (plus MIS know-how) so the wait stays useful.
  5. Optional: expand Already have a mapping file? (this is a mapping sheet, not your trial balance) and upload an Excel/CSV. A guided Connect columns step walks through two parts: (1) Find accounts by name and/or group/tag, then (2) Where they land — the MIS schema column is optional; skip it to treat group/tagging values as the destination. Matching ledgers are confirmed in one go.
  6. On the Standardised Trial Balance table:
    • Version 1 — Opening Dr/Cr, per-period net movement Dr/Cr, and Closing Dr/Cr (FireAI canonical). Click Opening or period Dr/Cr to edit; Closing always recalculates.
    • Version 2 — matches the source face: Account, Account Tagging, then per month Opening Balance | Debit | Credit | Closing Balance (as in Zoho / Amber). Click Opening, Debit or Credit to edit; Closing recalculates as Opening + Debit − Credit.
      Control totals refresh after each save — re-run statements to pick up the new numbers.
  7. Upload history lists every file for this entity — use the download icon to fetch the original workbook, or delete an upload (the mapping scheme is kept).

Control totals

Every period column is checked Dr = Cr. If a column doesn't balance, the difference is parked in an auto-created Suspense ledger so statements still tie, and the item stays visible until resolved. Statements remain DRAFT while suspense is open. Zoho-style NA section headers / Total for … subtotals are skipped on import (collapsed groups with no leaf rows are promoted so money is not lost), so a balanced source file should not create Suspense.

When Suspense is created, Where did the difference come from? appears under the balance check. For each unbalanced column it states which side is short and by how much, then points at what in the file explains it: a missing Current Year Earnings / Profit & Loss A/c row (Zoho period exports only tie with it), a skipped Total for … row whose child ledgers were not imported, or a ledger whose stated closing disagrees with Opening + movements by exactly the gap — each with a suggested fix. Correct the amount on this tab or re-export and upload again; the Suspense row is removed automatically as soon as the ledgers balance.

Numbers stay exact

Layout recognition only decides which columns are opening / period / closing. Every number is read programmatically from the workbook. Statement arithmetic is always deterministic.

Missing columns fail loudly

If a column the header declares (Opening Balance, Debit, Credit, Closing Balance) cannot be located, the upload fails with an explicit error — values are never silently assumed to be zero. When a stated closing disagrees with Opening + Movements, the warning reports the full count of affected ledgers, listing the first twenty by name.

The master schema — generated by AI for your entity

There is no fixed, one-size-fits-all chart of accounts. On the first upload, the ledgers of your trial balance go to the AI, which designs a master schema specific to the entity's business — for example a textile manufacturer might get separate "Fabric Purchases" and "Dyeing & Job Work" groups rather than a single generic "Cost of Materials".

  • Every generated group is pinned to one of a fixed set of engine roles (revenue, direct cost, trade receivables, cash & bank, …). Roles decide where a group lands in the P&L, balance sheet and cash flow — so statement maths stays exact no matter what schema the AI proposes.
  • Any essential role the AI skips is backfilled from the standard default schema, so the pipeline never breaks.
  • The banner at the top of Mapping Studio shows the schema source, its version and the AI's one-line reading of the business. Use Regenerate schema to re-run generation from the latest upload (your manual mapping decisions are kept).
  • If AI generation fails, the standard default schema is used automatically.

Mapping Studio

Every ledger is classified into a schema group with a confidence score and a one-line rationale. The studio is a two-pane workspace: the queue on the left lists every ledger with its closing balance, current placement and confidence chip; selecting a ledger opens its mapping panel on the right, with the ledger's opening/closing balance from the latest trial balance so you can judge the mapping in context.

Confidence Status What happens
High Auto-approved (Verified) Applied automatically
Medium Needs review Applied, queued for your review
Low Flagged Not applied — AI suggestion pills stay available for one-click map
— Ignored Header / subtotal row you excluded — never enters statements
  • The mapping panel's Where this ledger lands cards show the ledger's placement across all three statements at once — its P&L line and group, its balance-sheet position (P&L items close into Reserves & surplus via retained earnings; BS items show their note), and its auto-derived cash-flow treatment with a plain-language reason. The cards preview your draft live as you change the mapping, before you apply it.
  • Map this ledger works top-down: pick the primary statement (P&L or Balance Sheet — cash flow placement is always derived from this choice), tap a group (statement line item, in reporting order) to reveal its sub-groups, tap a sub-group, then Apply mapping. Flagged ledgers show the AI's suggestion and its alternatives as one-tap chips that pre-fill the draft.
  • P&L expense mappings can optionally carry a cost classification — nature (Direct / Indirect) and behaviour (Fixed / Variable) — used by the contribution-margin and gross-margin P&L formats. Tap a tag again to clear it.
  • Both levels can be extended in place. + New group names a new group and places it after an existing group in the statement — the neighbour decides its accounting treatment, so it reports alongside that group with the same totals, cash-flow and notes behaviour. + New sub-group adds a sub-group inside the open group, positioned first, last, or after a specific sub-group. Creating either selects it in the draft so you can apply immediately. When two or more sub-groups in the same P&L line have mapped ledgers, the statement shows each beneath the calculated parent total (for example, Revenue + Other Revenue beneath Revenue from Operations); sub-groups use exact schema codes, so the parent total includes each once without double-counting.
  • Batch-mapping selected ledgers uses the same Statement › Group › Sub-group drill-down in a compact picker: searching filters every sub-group flat across all statements, and Create "your search" jumps into the new-group form with the name pre-filled when nothing matches.
  • Large mapping queues (tens of thousands of ledgers) load in pages of 50 — use status filters, search, the Approved/Updated time filter, and Load more instead of pulling the whole scheme into the browser at once. Select all matching still selects every ledger that matches the current filters (not just the 50 on screen), so you can batch-map or confirm the full filtered queue.
  • Any group can optionally carry a custom notes-to-accounts heading. A Balance Sheet group breaks out into its own numbered BS note (after the ten standard notes) and the standard note cross-references it; a P&L group appears under Notes to the Profit & Loss below the P&L with its ledger-level breakdown. Notes appear once at least one ledger with a balance is mapped to the group.
  • A custom group can also override its cash-flow section (Operating / Investing / Financing) when the placement's treatment allows it — e.g. a loan to a related party mapped under other current assets can report under Investing. The Cash Flow Statement keeps its standard lines and shows explicit "reclassified to/from" lines in both sections, so the cash tie and the direct-vs-indirect tie still hold to the paisa (in the Excel export these lines are live formulas too).
  • Search the review queue by particular (ledger name) or by the mapped group.
  • Approve or reset to the AI suggestion.
  • Ignore rows that aren't real ledgers — group headers or subtotal lines that slipped through trial-balance parsing (often flagged with low confidence). Ignored rows are excluded from every statement (not parked in Suspense) and don't keep the pack in DRAFT. Ignore one row from its mapping panel, or multi-select and Ignore in batch; find them again under the Ignored filter and Restore (or simply map them) to bring them back. Like any decision, ignores are remembered per ledger name on future uploads.
  • Your decisions are saved to the Entity Brain and re-applied at 100% confidence on every future upload — a ledger name you've mapped once never re-enters the queue.
  • Unmapped ledgers are parked in Suspense so statements still tie, and keep the pack in DRAFT.

Statements

  • P&L — four built-in formats (Contribution Margin, Gross Margin/COGS, EBITDA Summary, Comparative) at monthly, quarterly or yearly grain, with growth % and % of revenue columns. Contribution Margin and Gross Margin also offer a Version 2 toggle next to the format picker: Gross Margin V2 follows the classic CFI-style P&L (Other Income closes into Total Net Revenue, a single Cost of Goods Sold line, Gross Profit, one flat Expenses block including depreciation, then EBIT → Earnings Before Taxes → Net Earnings), while Contribution V2 shows Other Income under Revenue inside a Total Income subtotal and strikes CONTRIBUTION against Total Income. Both versions always land on the same Profit After Tax.
  • Cash flow — direct and indirect method; both must agree to the paisa (auto-check row). Asset disposals are handled by account type: sale proceeds come out at gross block less accumulated depreciation written back, a profit on sale reports as an investing inflow via other income, and a loss on sale (its own mapping group) is added back in operating — like depreciation, it's a book entry, not cash — with the investing line showing the actual money received (written-down value minus the loss). ESOP / share-based compensation is the same idea: the expense shows as a positive P&L charge and is added back as a positive non-cash line in indirect CFS (the credit sits on Reserves — Employee Stock Option Account — not as a negative expense). Bank charges mapped to Finance Costs report under financing by convention; a group-level cash-flow override can move them to operating if a client prefers.
  • Balance sheet — basic format with numbered notes; current-period profit rolls into reserves.
  • Click any figure to drill down to the source ledgers behind it. On a failed CFS cash tie, Fix mappings jumps straight to the Opening / Closing cash lines (and the auto-check row) on the Cash Flow tab — expand them to see which ledgers sit in Cash & cash equivalents, then click a ledger name to open it in Mapping Studio. Fix mappings on the balance-sheet or method-tie gaps similarly lands on those check rows, not the generic Mapping Studio queue.
  • A pack is FINAL only when the review queue is clear, suspense is clear, and all three tie-outs (cash tie, direct-vs-indirect tie, balance-sheet tie) are zero — otherwise it is watermarked DRAFT.
  • Export opens a sheet picker: All sheets, or any mix of Trial Balance, Profit & Loss, Cash Flow (Indirect / Direct), Balance Sheet, Notes to Accounts, Status Logic, and Custom templates. This statement only downloads the tab you are viewing. Download as one workbook (selected sheets together) or separate Excel files (a zip, one file per sheet). Formula sheets still embed a hidden TB Standardised so SUMIF stays live. The full pack is standardised TB, P&L, both cash flows, balance sheet, a Notes to Accounts sheet (the same numbered ledger notes as under the BS face), and Status Logic. The TB Standardised sheet holds the source Opening / Movement / Closing Dr & Cr numbers plus Code and Role columns. Statement leaf amounts are live Excel formulas over those columns — usually compact SUMIF / SUMPRODUCT by schema code so large tags (hundreds of ledgers × many months) stay within Excel’s formula-length limit. When a sample particular exact-matches a TB ledger name, its Excel formula pins that ledger only (not the whole category), so sibling Fixed Deposits / debtors each show their own balance. Unmatched siblings stay at zero in Excel as well as on screen. Subtotals, line formulas, totals, margins, note totals, CFS/BS roll-ups and the Balance Sheet Check: Assets − Equity & Liabilities row then chain from those leaves (=B10+B12, =SUM(...), =C20-C14). The Status Logic sheet’s BS-tie “Current value” reads that same live check cell.

Templates

Sample templates (Template Studio)

Upload a sample Excel of the format your statements should follow — slots for Custom MIS, Profit & Loss, Balance Sheet, Cash Flow (Indirect), Cash Flow (Direct), Notes to Accounts, and Trial Balance mapping.

Trial Balance mapping is a special slot: upload an Excel/CSV, then use the guided Connect columns step (sample values shown; headers can be named anything). Schema destination is optional when a group/tagging column is set — tagging values are used as the schema group. It is saved for the entity and auto-applied on every future TB upload so ledgers land in the right groups before AI mapping fills the rest.

  1. Open MIS Studio → Templates → Sample templates.
  2. Drop a sample workbook for any slot. Use Custom MIS for a client management-pack / monthly MIS face (drives the P&L layout). FireAI copies presentation from Excel (row labels, order, indent, bold, blank separators) and binds each line to the calculation engine's data roles. Numbers are never taken from the sample. Large Custom MIS files are stored immediately and the layout is read in the background — stay on Templates until the slot shows as active (this can take a few minutes).
  3. After upload, ledger mapping restarts automatically for the new template face (confirmed mappings are kept). Tap Review mappings, then Regenerate & view statements.
  4. When any sample is active, downloading the Excel pack also adds a Custom MIS sheet with your uploaded layout (tick Custom templates in the export picker, or All sheets). Amount cells are filled with live trial-balance formulas (the same figures as the generated P&L / BS / CFS / Notes sheets). Totals that already exist in the sample keep their own SUM formulas. With no sample uploaded, the pack keeps only the built-in sheets (TB, P&L, CFS, BS, Notes to Accounts, Status Logic).
  5. Samples are stored per entity and survive every future trial-balance upload until you replace or remove them.
  6. Tap Customise on an active sample to edit it like a P&L layout (Notes samples list every Particulars row from the Excel, not just note titles) — tree view, drag to reorder, indent/outdent, rename, hide, or delete lines. Use Save & view statements to apply immediately, or Save layout then regenerate from the banner.
  7. On the Statements tab, a Custom template badge appears when the active statement is using an uploaded sample — click it to jump back to Templates.

Any subset works: e.g. only a Custom MIS or P&L sample reshapes the P&L; BS / CFS / Notes stay default until you upload those slots. If both Custom MIS and P&L samples are active, Custom MIS wins for the P&L face. Cash Flow (Indirect) and Cash Flow (Direct) are separate uploads — the Statements method toggle uses the matching sample (or the built-in face when that method has no sample). A Notes to Accounts sample replaces the built-in ten notes: FireAI keeps the sample’s note headings and every line item from the Particulars column, even when the trial balance has no matching ledger — those rows stay empty until a ledger name matches. Current Year Earnings is the running sum of monthly P&L profit (same pattern as the audited MIS “Net profit as per Zoho” row), not the TB’s computed Current Year Earnings ledger. Close leftovers (for example Series A1-CCPS onto Series A Cumulative CCPS, PF payables onto PF, meal/fuel allowance payables onto Other Liabilities, computers and accumulated depreciation onto Tangible Assets, GST/TDS input balances onto Statutory Balance) are rolled into the best particular by name and mapping; only unclear leftovers stay under Other (reconciling). Regenerating statements or the Excel pack does not fall back to the default notes schema. The pack’s Notes to Accounts sheet follows that same Notes face, month-wise. Engine balances still unmatched after the score pass appear under a trailing Other (reconciling) section on the Statements notes view so totals still tie. Sample P&L / MIS / Notes faces stay as uploaded — ledger particulars are not auto-expanded under each line.

For a line-by-line MIS, P&L, Balance Sheet, or Notes to Accounts with many particulars (salaries, debtors, cash accounts, share-capital lines, etc.), name each row exactly as it appears in the trial balance (same spelling and punctuation). Matching labels get that ledger’s own amount. Rows that do not match a TB ledger name stay empty (blank, not zero and not a category total); any leftover mapped amount for that category is shown once under Other (reconciling) instead of repeating on every unmatched line. On a Cash Flow sample, each engine line can bind only once — a duplicate binding shows as a label-only row (zero) so the same cash-flow amount is not printed twice.

P&L layouts (built-in & custom)

Always available in the Statements dropdown when no P&L sample template is active. Start a custom template from any of them under Templates → P&L layouts. The editor shows lines as a parent–child tree (by indent): expand/collapse sections, drag a parent to move its children, indent/outdent, rename, hide, or delete. Deleting a section removes nested children too. Hidden amounts still count (a reconciling row appears if non-zero). Subtotals and formulas update automatically; mappings are never changed. Custom layouts are versioned and appear in the Statements dropdown; delete a layout anytime from the list or while editing.

Uploaded Excel layouts

When any sample Excel is active (Custom MIS, P&L, Balance Sheet, Cash Flow Indirect/Direct, or Notes), Templates → Uploaded Excel layouts lists those custom layouts with Customise, download, replace, and remove. Customise opens the same tree editor as P&L layouts. A Custom MIS or P&L sample also replaces the Statements dropdown layouts above. On Statements, a Custom template badge appears for whichever statement (and CFS method) is using a sample.