13
📒

Vitta Fin — Accounting — Forms

Fund-segregated books · 80G · FCRA · TDS · audit-ready

Vitta Fin — Forms & Input Specification

Reference technical blueprint: vitta.md 13 sub-modules · ~28 forms · accounting + statutory filings Audience: treasurers, accountants, branch admins, archakas submitting bills, auditors. This document describes — in non-technical language — every screen on which a user enters data into Vitta Fin.

Reading conventions: - Required = field must be filled before submit. - Default = pre-filled value the operator may overwrite. - All money fields are in INR with paisa precision (e.g. ₹ 1,234.50) unless explicitly tagged "foreign currency". - All dates use DD-MM-YYYY (Indian convention) but store as ISO. Year boundaries follow the Indian Financial Year (1 April – 31 March) labelled YYYY-YY (e.g. 2025-26). - Two-key fields require two distinct users with the named role. The system blocks self-signing.


Sub-module 1: Chart of Accounts

Workflow. Setup is a one-time exercise at tenant onboarding. The system seeds five statutory funds (General, Annadana, Building, FCRA, Endowment) on provisioning — the treasurer adds custom funds (Goshala, Vidyalaya, Rakshana, etc.) via Form 1.1, then builds the account heads tree under each fund via Form 1.2. The Account Tree (Form 1.3) is the day-to-day view operators consult before composing journals or posting bills. Accounts can never be deleted — only deactivated — to preserve the audit chain.

Form 1.1 — Define Fund

Purpose: Set up the segregated funds your trust operates. The five statutory funds are pre-seeded and cannot be deleted; this form is for additional tenant-specific funds. Who fills: Treasurer (rare — typically once a year when board approves a new earmarked fund).

Field Type Required Options / Validation Default Help
Fund Code Text (max 20) Yes Uppercase, alphanumeric, unique per tenant; 3-10 chars recommended Short tag like GOSHALA, VIDYA, RAKSHA
Fund Name Text Yes Free text Display name like "Goshala Fund (Cow Welfare)"
Fund Kind Dropdown Yes Unrestricted · Restricted · Endowment · FCRA Unrestricted Restricted = donor-purpose-bound; Endowment = corpus only, expend interest; FCRA = foreign-source isolation
Is FCRA? Checkbox Yes Auto-true if Kind=FCRA False When true, all linked accounts and journal entries are isolated from non-FCRA postings
Description Textarea (max 500) No What this fund is meant for; cited on trustee meetings
Active? Checkbox Yes True Uncheck to retire (history preserved; new postings blocked)

Submit action: Saves to Chart of Accounts root. System funds (GEN/ANNA/BLDG/FCRA/ENDO) are read-only on this form (rename only). Related: After defining a custom fund, set up its accounts via Form 1.2.

Form 1.2 — Define Account (Head / Sub-head)

Purpose: Create a leaf or grouping in the accounting tree under a chosen fund. Schedule III–style root types: asset, liability, income, expense, equity. Sub-heads can nest to any depth (most trusts use 2-3 levels). Who fills: Accountant or Treasurer (during setup; occasional additions thereafter).

Field Type Required Options / Validation Default Help
Account Code Text (max 32) Yes Numeric or alphanumeric; unique per tenant; conventional 1100, 1100.01, 4100.02 Auto-suggested from parent Stable code; do not reuse retired codes
Account Name Text Yes Free text E.g. "Cash in Hand — Hundi", "Donation Income — General", "Salary Payable"
Account Type Dropdown Yes Asset · Liability · Income · Expense · Equity Asset Drives the financial statement bucket
Fund Dropdown Yes All active funds for tenant An account belongs to exactly one fund. To track the same activity across funds, create separate accounts
Parent Account Dropdown (searchable) No Accounts of same type and fund None (top-level head) Leave blank for a root head; pick one to make this a sub-head
Branch (optional) Dropdown No Branches of tenant; or "All branches" All branches Set to make the account branch-scoped (e.g. "Cash — Mysuru")
Is Bank Account? Checkbox Yes False Tick if this account represents a real bank account
Bank Account Number Text (max 32) If Bank Digits Visible only when Is Bank is ticked
Bank IFSC Text (max 16) If Bank 11-char IFSC Auto-validates against IFSC format
Active? Checkbox Yes True Uncheck to retire
Notes Textarea No Internal note for accountants

Submit action: Inserts an account row, available immediately to journal lines. If marked Is Bank, the account also surfaces in Bank Reconciliation (Sub-module 9). Validation: Code uniqueness checked tenant-wide. An account whose parent_id is itself or causes a cycle is rejected. Related: Once accounts are set, journal entries (Form 2.1) can reference them.

Form 1.3 — Account Tree View (Read-only Browser)

Purpose: Day-to-day reference view — browse the chart, see balances, drill into a ledger. Who consults: All Vitta-permitted roles. This is not a form — it is a screen with filters. The columns shown:

Column Meaning
Code Account code, indented to show parent → child nesting
Name Account name
Type Asset / Liability / Income / Expense / Equity (colour-coded)
Fund Fund tag (chip)
Branch Branch scope or "All"
Current Balance As-of-today balance in INR (sign per type)
Active? Tick / cross
Actions Edit · Deactivate · View Ledger

Filters at top: - Fund (multi-select; default all) - Type (multi-select) - Branch (single) - Search by code or name (live filter) - Show inactive (toggle, default off)

Export buttons: PDF tree, CSV flat, Excel (with balances).


Sub-module 2: Journal & Ledger

Workflow. The treasurer or accountant composes a journal entry (Form 2.1), reviews the balanced debit-credit lines, and clicks Post. Once posted, the entry is immutable — corrections happen via reversal (Form 2.2), which produces a mirror entry linked to the original. Operators consult the ledger view (Form 2.3) to inspect any account's history. Period-end closes lock entries; reopening requires two-key override (Sub-module 13 of the Period Lock workflow).

Form 2.1 — Compose Journal Entry

Purpose: Make a manual accounting posting. Most postings are auto-generated by other modules (donations, hundi deposits, vendor bills, payroll); this form is for genuine adjustments — depreciation, accrued interest, year-end provisioning, donated-asset capitalisation. Who fills: Accountant (for draft) → Treasurer (for posting if amount > tenant threshold).

Header fields:

Field Type Required Options / Validation Default Help
Posting Date Date Yes Cannot be in a locked period (unless override token supplied) Today The date the entry hits the books
Branch Dropdown No Tenant branches User's home branch Leave blank for tenant-level
Fund Dropdown Yes All funds All lines must reference accounts of this fund
Voucher Type Dropdown Yes Receipt · Payment · Journal · Contra · Sales · Purchase Journal Drives voucher numbering series
Source Document URI File upload No PDF / image, max 10 MB Scan of underlying paper document
Narration Textarea (max 500) Yes Free text Descriptive — appears on every line, every report; e.g. "Depreciation provision for Q3 FY 25-26 — Schedule III rates"

Lines table (minimum 2 rows; sum debit must equal sum credit):

Field Type Required Options / Validation Default Help
Line # Auto Yes 1, 2, 3 … Reorderable
Account Dropdown (searchable) Yes Active accounts of header's fund Type code or name to filter
Debit Money Either Dr or Cr ≥ 0; mutually exclusive with Credit 0 Use Dr or Cr, not both
Credit Money Either Dr or Cr ≥ 0; mutually exclusive with Debit 0
Member (optional) Dropdown (searchable) No Tenant members Pin the line to a donor / staff for sub-ledger reporting
Cost Centre Text No Free text or pick from suggested list Event ID, samagri kit, project code
Line Narration Text No Free text (header narration) Override per-line if needed

Live indicators below the table: - Total Debits: ₹ ___ - Total Credits: ₹ ___ - Difference: ₹ ___ (must read 0 to enable Post) - Fund consistency check: green tick if all lines belong to header fund.

Buttons: - Save Draft — saves without posting (posted_at null; can edit later) - Post — validates balanced, fund-consistent, period not locked → posts and assigns entry number (e.g. MYS-JE-2526-001234)

Validation errors flagged inline: - "Debits ≠ Credits — adjust by ₹ x.xx" - "Account 4100.01 is in Annadana fund but header is General" - "March 2026 is closed — supply override token or change date"

Form 2.2 — Reverse Journal Entry

Purpose: Cancel a posted entry by creating its mirror. The original remains immutable; the reversal is linked. Who fills: Treasurer only.

Field Type Required Options / Validation Default Help
Original Entry Read-only display Yes (selected from list) Shows entry number, date, amount, lines
Reversal Date Date Yes Cannot be earlier than original date; cannot be in a locked period Today When the reversal hits the books
Reason Textarea (max 500) Yes Min 20 chars Audit log requires this; e.g. "Vendor bill 2526-091 cancelled — duplicate raised"
I confirm I understand this is permanent Checkbox Yes False Final guard

Submit action: Generates a new JE with debit/credit swapped on every line, links it via reverses_id, and posts both into the audit trail.

Form 2.3 — View Ledger (Filters Screen)

Purpose: Inspect any account's history with a running balance. Who consults: Any Vitta role.

Filter inputs:

Field Type Required Options / Validation Default Help
Account Dropdown (searchable) Yes All accounts The account to view
From Date Date Yes First day of current FY Inclusive
To Date Date Yes ≥ From Date Today Inclusive
Fund (display only) Auto (account's fund) Read-only confirmation
Branch Dropdown No All branches or specific All Filter to one branch's entries
Show Reversals? Toggle No Show / Hide Show Hide to see net picture
Voucher Type Multi-select No Receipt / Payment / Journal / etc. All Narrow by source

Result columns: Date · Entry # · Voucher # · Narration · Debit · Credit · Running Balance · Drill-link to JE.

Export buttons: PDF, CSV, Excel.


Sub-module 3: Hundi & Cash Collection

Workflow. Daily after the temple's hundi (donation box) is opened, two designated witnesses count the cash by denomination, log cheques and other tender separately, and submit the count (Form 3.1). The system prints a deposit slip (Form 3.2) which both witnesses sign. The treasurer takes the slip and cash to the bank, records the deposit confirmation (Form 3.3), and the system posts the journal entry crediting Cash-on-Hand and debiting the bank account. Hundi cash is anonymous — it never gets an 80G receipt, only a fund-credit.

Form 3.1 — Daily Hundi Count Entry

Purpose: Record the day's hundi tally with denomination breakdown and two witness signatures. Who fills: Two witnesses (typically two trustees, or one trustee + one branch admin) jointly. Both must be logged in.

Header fields:

Field Type Required Options / Validation Default Help
Branch Dropdown Yes Tenant branches User's home branch One hundi per branch per date is allowed
Collection Date Date Yes ≤ Today; only one entry per (branch, date) Today The day the hundi was opened
Fund Dropdown Yes Non-FCRA funds only General Most temples credit hundi to General; some segregate Annadana hundi
Counted At Date+time Yes Now Wall-clock time of counting
Witness 1 Dropdown (users) Yes Role ≥ branch-admin; ≠ Witness 2 (current user if eligible) First counter
Witness 2 Dropdown (users) Yes Role ≥ branch-admin; ≠ Witness 1 Second counter; must log in to confirm
Notes Textarea No Free text Anything irregular — torn note count, foreign currency present, etc.

Denomination grid (cash):

Denomination Count Amount (auto)
₹ 2000 (number) (denom × count)
₹ 500 (number)
₹ 200 (number)
₹ 100 (number)
₹ 50 (number)
₹ 20 (number)
₹ 10 (number)
₹ 5 (number)
₹ 2 (number)
₹ 1 (number)
Total Cash (sum, auto)

Other tender:

Field Type Required Validation Default Help
Total Cheques Money No ≥ 0 0 Sum of all cheques dropped in hundi
Cheque Count Integer If cheques > 0 ≥ 1 0 Auto-prompts user to attach a list (free text or uploaded)
Total Other (jewelry / forex / coupons) Money No ≥ 0 0 Estimated INR value
Other description Text If Other > 0 E.g. "12 g gold offering, valued by goldsmith"
Grand Total Auto = Cash + Cheques + Other

Buttons: - Save Draft — partial save while counting - Submit (both witnesses sign) — locks the count; both witness users must click Confirm Signature on their respective devices/sessions

Validation: Sum (denomination × count) must equal Total Cash; the form blocks submit if mismatch.

Form 3.2 — Two-Witness Deposit Slip

Purpose: Print/PDF the deposit slip the treasurer carries to the bank. Who triggers: Branch admin or treasurer (after Form 3.1 is submitted).

This is not a data-entry form — it is a generated PDF with the following pre-filled fields. The user reviews on-screen before printing:

Pre-filled item Source
Tenant + Branch name and address Tenancy record
Collection Date Form 3.1
Fund Name Form 3.1
Denomination breakdown table Form 3.1
Cheque list (if any) Form 3.1
Total Cash, Total Cheques, Grand Total Form 3.1
Witness 1 name + signature line Form 3.1
Witness 2 name + signature line Form 3.1
Treasurer signature line (blank for hand-sign)
Bank teller stamp area (blank)

Buttons: Download PDF, Print, Email to Treasurer.

Form 3.3 — Hundi-to-Bank Reconciliation (Mark Deposited)

Purpose: Confirm the bank received the cash and post the journal entry. Who fills: Treasurer.

Field Type Required Options / Validation Default Help
Hundi Collection (selected) Read-only display Yes (from list) Shows date, branch, fund, grand total
Deposited At Date+time Yes ≥ Collection counted-at Now When the cash was deposited at counter
Deposited To Account Dropdown Yes Bank accounts in same fund Filtered to fund-matching bank accounts
Deposit Slip Number Text Yes Bank's own slip ref From the stamped slip
Stamped Slip Scan File upload Yes PDF / image Uploaded as audit attachment
Variance from counted total Money Auto = Deposited - Counted 0 If non-zero, system requires Variance Reason
Variance Reason Textarea If variance ≠ 0 Free text E.g. "₹ 50 short — torn note rejected by bank"

Submit action: Posts the journal entry — Dr. Bank Account; Cr. Cash on Hand — Hundi (branch+fund). If variance ≠ 0, an additional line is posted to a Cash Variance — Hundi account. Sets the hundi collection's deposited_at and links the voucher.


Sub-module 4: Donations & 80G Receipts

Workflow. Donations are captured upstream in the Members/CRM module (the transactions table). Vitta reads that table and produces accounting consequences: a journal entry per donation (auto-posted on payment confirmation), an 80G receipt PDF (Form 4.1) per qualifying donation, and an annual roll-up summary (Form 4.2) at FY close. Receipts are dispatched via email (default) or postal letter (Form 4.3); the postal track integrates with the Communications module's dispatch_records. FCRA donations are excluded from 80G — they are tracked separately in Sub-module 5.

Form 4.1 — Generate 80G Receipt (Single)

Purpose: Produce the regulator-format 80G certificate for one donation. Who fills: Accountant.

Field Type Required Options / Validation Default Help
Donation Transaction Dropdown (searchable) Yes Realised donations of current tenant where no 80G receipt exists yet; FCRA-fund donations excluded Search by donor name, amount, date, or transaction ID
Donor Member Auto-filled (from transaction) Read-only confirmation
Donor PAN Text (10 chars) If amount ≥ ₹ 2,000 Valid PAN format [A-Z]{5}[0-9]{4}[A-Z] (from member profile) Mandatory above ₹ 2,000 per IT rule; overridable from member profile
Receipt Date Date Yes ≤ Today; ≥ donation date Today Date the receipt is issued
FY Label Auto Derived from donation date (e.g. 2025-26) Read-only
Amount Money Yes = donation amount (from transaction) Read-only — change only via reversal
Deduction % Dropdown Yes 50 % · 100 % 50 % 100 % only for qualifying funds (PM Relief, etc.) — rare
Template Version Read-only v1.2526 The PDF template to use; pinned per FY
Donor address override Textarea No (from member profile) Use to print a different address than on file
Donor email Email If channel = email Valid email (from member) For dispatch
Dispatch channel Dropdown Yes Email · Postal · Both · Hold Email Hold generates PDF without sending

Submit action: Renders PDF (server-side, WeasyPrint), assigns sequence (e.g. SGSDM-2526-000123), stores PDF in cloud storage, returns receipt to caller. If channel ≠ Hold, hands off to dispatch (email immediately; postal queues a dispatch_records row). Validation: Blocks if donation's fund is_fcra=True. Blocks if a non-voided receipt already exists for the transaction.

Form 4.2 — Annual 80G Bulk Generator

Purpose: At FY close (typically April), generate 80G certificates for all donations made in the year that don't yet have one. Who fills: Treasurer.

Field Type Required Options / Validation Default Help
Financial Year Dropdown Yes Closed FYs available Last closed FY E.g. 2025-26
Member Filter Dropdown No All donors · Substantial only (>₹ 50k) · Recurring only · Custom list All donors Restrict to a subset
Custom Member List File upload If filter = Custom CSV with member IDs (one per line)
Minimum Amount Money No 0 Skip donations below this
Skip donations already with receipts? Checkbox Yes True Off only for re-issue scenarios
Issue Date Date Yes Today Single date stamped on every receipt
Dispatch channel Dropdown Yes Email · Postal · Both · Hold Email Bulk-applies to all receipts generated
Generate Annual Summary? Checkbox No True Also produces a per-donor roll-up PDF (Form 4.3)
Preview before commit Checkbox Yes True Shows count + sample first; commits on confirm

Submit action: Runs as a background job; shows a progress page. Each generated receipt gets its own row, sequence, PDF. Failures (missing PAN above threshold, FCRA donations) appear in an exceptions list for manual handling.

Form 4.3 — Annual Summary per Donor

Purpose: Per-donor PDF summarising every receipt issued to them in one FY — convenient for the donor's IT filing. Who triggers: Treasurer or auto-generated by Form 4.2.

Field Type Required Options / Validation Default Help
Donor Member Dropdown (searchable) Yes Members with ≥ 1 receipt in chosen FY
Financial Year Dropdown Yes Current closed FY
Include voided receipts? Checkbox No False Voided receipts are excluded from the summary total

Submit action: Generates a single-page PDF listing every receipt number, date, amount, fund, and deduction percentage; total at bottom. Emailed or downloaded.

Form 4.4 — 80G Mailout Status Dashboard

Purpose: Track dispatch state for receipts. Who consults: Accountant or treasurer. This is a list view, not a form. Columns:

Column Meaning
Receipt # E.g. SGSDM-2526-000123
Donor Name (link to member)
Amount INR
Issued Date
Email Status Sent (date) · Bounced · Pending · N/A
Postal Status Dispatched (date) · In Transit · Delivered · Returned · N/A
Last Action Most recent dispatch event
Actions Resend email · Re-queue postal · Void · View PDF

Filters: FY · Channel · Status · Donor name search.


Sub-module 5: FCRA Ledger

Workflow. Foreign donations are first registered against a Foreign Donor Source (Form 5.1) — the registry FC-4 cites at year end. Each inbound foreign remittance is recorded via Form 5.2, requiring two-key entry, capturing the foreign currency amount, FX rate at receipt, and the bank charges. The system posts the journal entry against the FCRA-tagged bank account and is strictly isolated from non-FCRA funds. At year end, Form 5.3 composes the FC-4 file for upload to the MHA portal (file is generated; submission is human-driven).

Form 5.1 — Register Foreign Donor Source

Purpose: Record an institutional or individual foreign donor identity for FC-4 reference. Who fills: Treasurer.

Field Type Required Options / Validation Default Help
Donor Name Text Yes Full legal name (institutional name for orgs)
Donor Type Dropdown Yes Individual · Institution · Foundation · Corporate Individual Drives FC-4 schedule mapping
Country Dropdown Yes ISO list (≤ 63 chars) Donor's country of residence/registration
Address Textarea No Mandatory for institutional donors; recommended for individuals
Identifier Text (max 127) No Passport / institution-id / website URL
Linked Member Dropdown No Existing tenant members If the donor is also a CRM member (rare)
Notes Textarea No Internal observation — verification, prior history, etc.

Form 5.2 — Record FCRA Donation (Two-Key)

Purpose: Log an inbound foreign remittance. Who fills: Treasurer + a second-signer (treasurer or trustee). Both must confirm.

Field Type Required Options / Validation Default Help
Receipt Number Auto Pulled from sequence (e.g. FCRA-2526-0042) Read-only
Received Date Date Yes ≤ Today Today When the bank credited the FCRA account
Donor Source Dropdown (searchable) Yes Foreign donor sources from Form 5.1 Add new inline if missing
Foreign Amount Money (foreign) Yes > 0 Amount in donor's currency
Foreign Currency Dropdown Yes ISO 4217 codes (USD, GBP, EUR, AUD, …)
FX Rate (to INR) Decimal (12,6) Yes > 0 (RBI reference rate of received_date if available) Multiplier: foreign × rate = INR
INR Amount Money Auto = Foreign × FX Read-only confirmation
Bank Charges Money No ≥ 0 0 Wire / SWIFT charges deducted by bank
Purpose Dropdown + free text Yes Religious activities · Education · Social · Cultural · Economic Development · Other (specify) FCRA mandates purpose at receipt
FCRA Bank Account Dropdown Yes Accounts where Fund.is_fcra=True Strict — system rejects non-FCRA accounts
SWIFT Reference Text No Bank's wire reference number
Source Document File upload Yes PDF / image of bank advice or wire confirmation Required for FC-4 substantiation
Recorded By Auto (current user) Read-only
Second Signer Dropdown (users) Yes Treasurer or trustee role; ≠ Recorded By Must log in and confirm

Submit action: Posts JE — Dr. Bank — FCRA; Dr. Bank Charges (if any); Cr. FCRA Donation Income — purpose. Adds row to FCRA donation register. Triggers audit event.

Form 5.3 — FC-4 Annual Return Composer

Purpose: Generate the MHA-format FC-4 file. Who fills: Treasurer.

Field Type Required Options / Validation Default Help
Financial Year Dropdown Yes Closed FYs Last closed FY
Tenant FCRA Number Auto (from Org legal record) Read-only sanity check
Include Brought-Forward Opening Balance? Checkbox Yes True Standard FC-4 schedule requires it
Include Donor List Schedule? Checkbox Yes True Per-donor breakdown
Include Utilisation Schedule? Checkbox Yes True Per-purpose expenditure
Auditor Name Text Yes (from prior FC-4) Printed in declaration page
Auditor Membership Number Text Yes ICAI format
Date of Signing Date Yes Today Declaration date

Submit action: Generates a multi-sheet Excel/PDF bundle ready for portal upload. Stored in cloud, downloadable. Submission to portal is manual.


Sub-module 6: Vendor Payables

Workflow. Vendors (samagri suppliers, contractors, AMC providers, external archakas) are registered once via Form 6.1. When an event or inventory module raises a Purchase Order (Form 6.2), it carries forward into bill receipt (Form 6.3) when the supplier sends the invoice. The accountant verifies; the treasurer approves (Form 6.4) — at approval, TDS is computed and the journal entry posted. Payment (Form 6.5) is recorded when the bank transfer is initiated, completing the cycle.

Form 6.1 — Vendor Master (Add / Edit)

Purpose: Register a vendor's identity, tax credentials, and payment instructions. Who fills: Accountant.

Field Type Required Options / Validation Default Help
Vendor Code Text (max 20) Yes Uppercase alphanumeric; unique per tenant Auto-suggested E.g. VEN-PSR-001
Vendor Name Text Yes Legal/registered name
PAN Text (10) If TDS ≠ none Valid PAN format Required for TDS — without it 20% rate applies
GSTIN Text (15) No Valid GSTIN format If supplier is GST-registered
Default TDS Section Dropdown No None · 194C (contracts) · 194J (professional) · 194I (rent) · 194H (commission) None Overridable per bill
Bank Account Number Text (max 32) No For NEFT/RTGS payments
Bank IFSC Text (16) If bank a/c set Valid IFSC
Contact Email Email No For PO and payment intimation
Contact Phone Phone No E.164
Address Textarea No Place of supply for GST
Active? Checkbox Yes True Uncheck to retire
Notes Textarea No Reliability rating, prior issues, preferred items

Form 6.2 — Create Purchase Order

Purpose: Pre-authorise a vendor purchase before the bill arrives. Who fills: Accountant or branch admin (with PO permission).

Field Type Required Options / Validation Default Help
PO Number Auto Pulled from sequence (e.g. MYS-PO-2526-0156) Read-only
PO Date Date Yes ≤ Today Today
Vendor Dropdown (searchable) Yes Active vendors Inline-add if missing
Branch Dropdown Yes Tenant branches User's branch
Fund Dropdown Yes Active funds (vendor's default if any) Non-FCRA usually
Expected Delivery Date Date No ≥ PO Date
Cost Centre Text / dropdown No Free text + suggestions (event, samagri kit)
Source Module Read-only Inventory · Events · Maintenance · Manual Manual Auto-set when PO is raised from another module
Approver Required? Checkbox Yes True if amount > tenant threshold Toggles whether treasurer approval is needed before sending PO

Line items (≥ 1 row):

Field Type Required Validation Help
Item Description Text Yes E.g. "Sandalwood paste 1 kg"
HSN/SAC code Text If GSTIN set For GST classification
Quantity Decimal Yes > 0
Unit Dropdown Yes kg · g · litre · piece · hour · day · packet · custom
Rate Money Yes ≥ 0 Per unit
Amount Auto = Qty × Rate
GST % Dropdown If GSTIN set 0 · 5 · 12 · 18 · 28
Notes Text No

Footer: Subtotal · GST total · Other charges · Grand Total. Submit action: Saves PO; if approver required, queues to treasurer; on approval, emails PO PDF to vendor.

Form 6.3 — Receive Bill (Vendor Invoice)

Purpose: Log the supplier's invoice when it arrives, with optional PO matching. Who fills: Accountant.

Field Type Required Options / Validation Default Help
Bill Number (internal) Auto Sequence (e.g. MYS-BILL-2526-0089) Read-only
Vendor Dropdown Yes Active vendors
Vendor Invoice Number Text (max 48) Yes Unique per vendor The number printed on supplier's invoice
Vendor Invoice Date Date Yes As on the bill
Received Date Date Yes ≥ Invoice Date Today When the bill physically arrived
Linked PO Dropdown No Open POs of this vendor If linked, line-items pre-fill from PO
Branch Dropdown Yes Tenant branches User's branch
Fund Dropdown Yes Active funds (PO's fund if linked)
Expense Account Dropdown Yes Expense-type accounts of selected fund Where the cost lands in the books
Subtotal Money Yes > 0 (sum of lines if PO-linked) Pre-tax
GST Amount Money No ≥ 0 (computed if PO-linked)
Other Charges Money No ≥ 0 0 Freight, packing, etc.
Total Amount Auto = Subtotal + GST + Other Read-only
TDS Section (override) Dropdown No None · 194C · 194J · 194I · 194H (vendor's default)
TDS Rate Decimal (5,2) If section set Per-section default — overridable (per section: e.g. 2% for 194C, 10% for 194J)
TDS Amount Auto = Subtotal × Rate (or specific base per section) Calculated; override allowed
Net Payable Auto = Total - TDS Read-only
Bill Scan File upload Yes PDF / image, max 10 MB Mandatory for audit
Notes Textarea No

Submit action: Saves bill in received state. Goes to verification queue.

Form 6.4 — Approve Payment (Treasurer Queue)

Purpose: Treasurer reviews the verified bill, confirms the TDS computation, and authorises payment. Who fills: Treasurer.

This is a list-detail screen rather than a fresh form. Each queued bill shows:

Display field Source
Bill # / Vendor / Date Form 6.3
Linked PO If any
Total / TDS / Net Payable Form 6.3
Bill scan preview (inline)
TDS section + rate (editable) Override here if needed

Action buttons per bill: - Approve → posts JE: Dr. Expense (subtotal) + Dr. Input GST (if claimable); Cr. Vendor Payable (net) + Cr. TDS Payable (per section). Status moves to approved. - Reject (with reason) — textarea required; bill returns to accountant. - Hold — moves out of queue; treasurer note required.

Form 6.5 — Record Vendor Payment

Purpose: Log the actual payment to the vendor. Who fills: Treasurer.

Field Type Required Options / Validation Default Help
Payment Number Auto Sequence (e.g. MYS-PAY-2526-0204) Read-only
Bill (linked) Dropdown Yes Approved bills with outstanding balance One payment can target one bill (split-payments via separate row)
Payment Date Date Yes ≥ Bill received date Today
Amount Money Yes > 0; ≤ outstanding (= Net Payable) Partial payment allowed
Mode Dropdown Yes NEFT · RTGS · IMPS · UPI · Cheque · Cash NEFT
Bank Account Dropdown Yes Bank-type accounts in bill's fund
UTR Number Text If mode = NEFT/RTGS/IMPS/UPI From bank confirmation
Cheque Number Text If mode = Cheque
Notes Textarea No

Submit action: Posts JE: Dr. Vendor Payable + Dr. TDS Payable (cleared portion); Cr. Bank Account. Updates bill status to paid or partly_paid.


Sub-module 7: Payroll & Sambhavana

Workflow. Each month the accountant creates a payroll run (Form 7.1) per category — salary, sambhavana-archaka, sambhavana-examiner, volunteer stipend, consultant. The system pulls the staff/archaka roster from Sub-module 5 of Staff Details, computes EPF/ESI/PT (only for salary category), TDS per category default (192 for salary, 194J for sambhavana), and auto-recovers any open staff advance balance. The treasurer reviews per-line details (Form 7.2 is the editable matrix), approves, and the system posts the consolidated journal entry plus emits one TDS entry per line where deduction > 0.

Form 7.1 — Run Monthly Payroll (Header)

Purpose: Create a payroll batch for a (branch, month, category). Who fills: Accountant.

Field Type Required Options / Validation Default Help
Period Year Integer Yes Current or prior calendar year Current year
Period Month Dropdown Yes Jan – Dec Current month
Branch Dropdown No Tenant branches; or "All" User's branch Leave blank for tenant-level
Category Dropdown Yes Salary · Sambhavana (Archaka) · Sambhavana (Examiner) · Volunteer Stipend · Consultant Salary One run per (branch, period, category); kept distinct for TDS treatment
Fund Dropdown Yes Active funds General The fund the salary expense is booked to
Auto-pull staff list? Checkbox Yes True Pulls from Staff Details based on category eligibility
Pay Date (target) Date Yes ≥ first day of period_month + 1 7th of next month When wages will be released — drives TDS quarter

Submit action: Creates a draft PayrollRun; redirects to Form 7.2 (line composer).

Form 7.2 — Payroll Line Composer

Purpose: Per-staff line editor for the run. Shown as a table with one row per member. Who fills: Accountant.

Per-line fields (editable cells):

Field Type Required Validation Default Help
Member Auto (from roster) Read-only
Basic Money Yes ≥ 0 (from pay grade)
HRA Money No ≥ 0 (from pay grade) Salary category only
Food Allowance Money No ≥ 0 (from pay grade) Sambhavana lines often have only this + sambhavana
Accommodation (in-kind) Money No ≥ 0 (from staff record) Notional value of provided housing
Sambhavana Money If sambhavana category ≥ 0 (from category schedule) Honorarium amount
Other Earnings Money No ≥ 0 0 Bonus, arrears
Gross Auto = sum of earnings
EPF Money If salary 12% of (Basic + HRA up to ₹ 15k) by default (computed) Override allowed
ESI Money If salary + Gross < ₹ 21k 0.75% of Gross (computed)
Professional Tax Money No State-rate slab (computed for Karnataka)
TDS Section Dropdown No 192 (salary) · 194J · 194C · None (per category default) Per Open Question 3 in blueprint
TDS Money No ≥ 0 (computed) Override allowed
Advance Recovery Money No ≥ 0 (open StaffAdvance balance) Auto-pulled, editable
Other Deductions Money No ≥ 0 0 Loan EMI, society dues
Net Auto = Gross - all deductions
Payment Mode Dropdown No NEFT · UPI · Cash · Cheque NEFT Set at pay-time

Footer totals: Gross Total · Deduction Total · Net Total.

Buttons: - Save Draft — keep editing later - Approve — treasurer-only; posts the consolidated JE described in workflow - Mark Paid (per-line or bulk) — sets paid_at and payment_ref

Form 7.3 — Per-Staff TDS Calculation View

Purpose: Drill-down view showing how TDS was computed for one staff member. Who consults: Accountant or treasurer (read-only with override option).

Display field Source
Member name + PAN Staff record
YTD Gross (FY-to-date) Aggregate of payroll lines
YTD Deductions claimed (80C, 80D, etc.) Staff record (declared investments)
Estimated annual taxable Computed
Tax slabs applied Old/new regime — picked from staff preference
TDS due (annual) Computed
TDS already deducted (FY-to-date) Aggregate
TDS this month Annual ÷ remaining months
Override reason (if any) Free text textarea

Action: Override TDS (treasurer only) requires reason and is logged.


Sub-module 8: Staff Advance (Imprest)

Workflow. A staff member or sevadar gets an advance for samagri purchase, travel, or sundry expense (Form 8.1). They submit each receipt/bill against the advance (Form 8.2) as it accrues. The treasurer reviews submitted bills (Form 8.3) and approves or rejects. When the advance is fully accounted for, the closure is recorded — either bills clear it entirely, or the staff member returns the balance, or the residual is recovered from salary in the next payroll run.

Form 8.1 — Issue Advance

Purpose: Disburse imprest cash/transfer to staff and record the corresponding receivable. Who fills: Treasurer.

Field Type Required Options / Validation Default Help
Advance Number Auto Sequence (e.g. MYS-ADV-2526-0042) Read-only
Member (staff) Dropdown (searchable) Yes Active staff members
Issue Date Date Yes ≤ Today Today
Amount Money Yes > 0; ≤ tenant's per-advance ceiling (else two-key)
Fund Dropdown Yes Active funds General Most advances are General
Purpose Textarea Yes Min 10 chars E.g. "Samagri for Sankranti utsava — Hosa Aluvana market run"
Expected Settlement By Date No ≥ Issue Date Issue Date + 30 days Driver of aging report
Disbursement Mode Dropdown Yes Cash · NEFT · UPI · Cheque NEFT
Bank Account (source) Dropdown If non-cash mode Bank accounts in fund
UTR / Cheque Number Text If non-cash

Submit action: Posts JE: Dr. Staff Advance — <member>; Cr. Bank/Cash. Sets advance status open.

Form 8.2 — Submit Bills (Settlement Entry, Member-facing)

Purpose: The staff member uploads receipts as the advance is spent. Who fills: Member (the advance recipient).

Field Type Required Options / Validation Default Help
Linked Advance Dropdown Yes User's open advances (auto if only one)
Bill Date Date Yes ≥ Advance issue date; ≤ Today Today
Description Textarea Yes Min 10 chars E.g. "Coconuts × 50 from Hosa Aluvana market — bill # 2734"
Amount Money Yes > 0; ≤ remaining advance balance The system shows current remaining inline
Expense Account Dropdown Yes Expense-type accounts of advance's fund (last used by this member) Where the cost will eventually land
Bill Scan File upload Yes PDF / image, max 5 MB Required for treasurer approval
Notes Textarea No Anything the treasurer should know

Submit action: Saves an ImprestBill in status submitted. Goes to treasurer queue (Form 8.3).

Form 8.3 — Treasurer Approval Queue

Purpose: Treasurer reviews submitted bills. Who fills: Treasurer.

List view per pending bill:

Display Source
Member · Advance # · Advance amount
Bill date · description · amount Form 8.2
Expense account proposed Form 8.2
Bill scan preview inline
Running advance utilisation computed (bills approved so far / advance amount)

Actions per bill: - Approve → posts JE: Dr. Expense Account; Cr. Staff Advance — <member>. Status: approved. - Reject → textarea reason; status: rejected. Member notified. - Request more info → comment posted; bill returns to submitted for member's edits.

Form 8.4 — Final Settlement

Purpose: Close the advance — bills approved + balance returned (or recovered via payroll). Who fills: Treasurer.

Field Type Required Options / Validation Default Help
Advance (selected) Read-only (from list) Shows total / bills approved / balance
Settled On Date Yes ≥ last approved bill date Today
Refund Amount Money Yes ≥ 0; = advance - bills approved (computed)
Refund Mode Dropdown If refund > 0 Cash · NEFT · UPI · Salary Deduction · Written Off Cash Salary Deduction defers to next payroll run; Written Off requires reason
Bank Account (target) Dropdown If refund mode = NEFT/UPI/Cash Bank/cash accounts in fund
UTR / Reference Text If non-cash refund
Write-off Reason Textarea If mode = Written Off Min 30 chars Two-key required for write-off
Second Signer Dropdown (users) If Written Off Treasurer/trustee role; ≠ submitter

Submit action: Posts settlement JE (varies by mode); sets advance status to settled. Salary-deduction mode tags the open balance for next month's payroll line.


Sub-module 9: Bank Reconciliation

Workflow. At the start of each month (or daily for active accounts), the accountant uploads the bank's statement file (Form 9.1). The auto-matcher runs (Form 9.2 is the worksheet) and pairs statement rows to existing journal lines on UTR / cheque-number / amount-and-date tokens. Unmatched rows go to a queue (Form 9.3) where the accountant either matches them manually or creates a new journal entry to absorb them (e.g. bank charges, interest credit). On finalise, the reconciliation closes; the bank account's reconciled balance is locked at the statement-end date.

Form 9.1 — Import Bank Statement

Purpose: Upload one bank's statement file for a date range. Who fills: Accountant.

Field Type Required Options / Validation Default Help
Bank Account Dropdown Yes Bank-type accounts (is_bank=True)
Statement Period — From Date Yes Last reconciled-to date + 1
Statement Period — To Date Yes ≥ From End of last month
File Format Dropdown Yes CSV · Excel (XLS/XLSX) · MT940 · OFX · JSON CSV Indian banks mostly send CSV; SBI corporate sends MT940
Statement File File upload Yes Per-format parser; max 20 MB
Has header row? Checkbox If CSV/Excel True
Column mapping (CSV/Excel) Mapping wizard Yes Date · Narration · Reference · Debit · Credit · Balance Auto-detected; overridable Run after first preview

Submit action: Parses the file into a staging payload, creates a BankReconImport row in status parsed. Auto-matcher runs immediately (Form 9.2); user is taken to the worksheet.

Form 9.2 — Match Entries (Worksheet)

Purpose: Two-pane reconciliation worksheet — statement rows on left, journal lines on right. Who fills: Accountant.

Left pane (statement rows):

Column Meaning
Date From statement
Narration From statement
Reference (UTR / cheque no) Parsed
Debit If applicable
Credit If applicable
Status Auto · Manual · Unmatched · Rejected
Confidence (auto-matcher score 0-1)

Right pane (candidate journal lines):

Same date window ± 5 days, same bank account, similar amounts. Drag a statement row onto a journal line (or vice versa) to manually match.

Actions: - Auto-match — runs the matcher (UTR / cheque / amount-date+narration / saved recurring rules) - Manual match (drag) — pair one row with one line - Create JE for this row — opens Form 2.1 prefilled (e.g. for bank charges) - Mark as ignore — for rows that mirror inter-account transfers already booked - Save and Continue Later — preserves state

Form fields on manual match dialog:

Field Type Required Options / Validation Default Help
Statement Row Read-only (selected)
Journal Line Dropdown (searchable) Yes Lines for this account in date window
Confidence Note Textarea No Why this match — for audit

Form 9.3 — Unmatched Queue

Purpose: Persistent list of rows the matcher couldn't auto-pair. Who consults: Accountant or treasurer. Columns: Date · Narration · Ref · Debit · Credit · Days Old · Last Action · Suggested Match (if any) · Actions (Match · Create JE · Ignore). Filter: by import batch · by account · by date range · by amount > threshold.

Form 9.4 — Finalise Reconciliation

Purpose: Lock the reconciliation when all rows are dealt with. Who fills: Treasurer.

Field Type Required Validation Default Help
Import Batch (selected) Read-only (from worksheet)
Closing Balance per Statement Money Yes (last row of statement)
Closing Balance per Books Money Auto computed Read-only
Difference Auto = Statement - Books 0 Must be 0 to enable Finalise
Notes Textarea No

Submit action: Sets the reconciliation status to completed; locks the bank account's balance to that date. Future imports start after this date.


Sub-module 10: Financial Statements

Workflow. Three primary statements drive trustee and auditor reporting: Trial Balance (Form 10.1), Income & Expenditure (Form 10.2), Balance Sheet (Form 10.3). Each is parameterised generation, not data entry — operators set period and fund parameters; the system aggregates posted journal entries; the result is a viewable HTML page with PDF/Excel exports. By default, output uses the Trust-triplet format (Receipts & Payments + I&E + Balance Sheet); a Schedule III toggle is available for Section-8 organisations.

Form 10.1 — Generate Trial Balance

Field Type Required Options / Validation Default Help
As-of Date Date Yes Today Snapshot date
Fund Dropdown No All funds + "Consolidated" Consolidated Per-fund or all-funds
Branch Dropdown No Branches + "All" All
Show zero-balance accounts? Checkbox No False
Include period-locked entries? Checkbox No True Off only for what-if scenarios
Format Dropdown Yes Schedule III · Trust-triplet · Compact Trust-triplet

Submit action: Renders TB on screen; PDF / CSV / Excel export buttons.

Form 10.2 — Generate Income & Expenditure Statement

Field Type Required Options / Validation Default Help
From Date Date Yes Start of current FY
To Date Date Yes ≥ From Today
Fund Dropdown No All funds + "Consolidated" + multi-select Consolidated
Branch Dropdown No Branches + "All" All
Comparison period? Checkbox No False If on, shows prior FY same-period column
Format Dropdown Yes Schedule III · Trust-triplet · Compact Trust-triplet
Include in-kind valuations? Checkbox No True Cooked-prasadam donations, donated samagri, etc.

Form 10.3 — Generate Balance Sheet

Field Type Required Options / Validation Default Help
As-of Date Date Yes End of current FY
Fund Dropdown No All funds + "Consolidated" Consolidated
Branch Dropdown No Branches + "All" All
Comparison period? Checkbox No True Shows prior FY same-as-of column
Format Dropdown Yes Schedule III · Trust-triplet Trust-triplet
Include corpus break-up note? Checkbox No True Endowment fund detail

All three forms share these export buttons: Download PDF, Download Excel, Email to Trustee List, Schedule for monthly auto-mail.


Sub-module 11: Statutory Returns

Workflow. At end of each quarter (TDS) or month (GST) or year (Form 10B audit return, FC-4), the treasurer composes the relevant statutory file. Each composer pulls data already in the system (TDS entries, GST invoices, donation register, FCRA donations) and produces a regulator-format upload-ready file. Submission to portals (GSTN, TRACES, MHA, IT) is manual — Vitta produces the file; a human pushes it.

Form 11.1 — GSTR-1 Composer (Outward Supplies)

Purpose: Generate the monthly GSTR-1 file listing all outward supplies (sales-side invoices). Who fills: Treasurer. Applicability: Only tenants with GSTIN and taxable supplies — most pure trusts will skip this.

Field Type Required Options / Validation Default Help
Period Year Integer Yes Current year
Period Month Dropdown Yes Jan – Dec Last month
Tenant GSTIN Auto (from org legal record) Read-only
Include zero-rated supplies? Checkbox No True Exports — applicable to publication exports
Include nil-rated / exempt? Checkbox No True Most religious services are exempt
Format Dropdown Yes JSON (offline tool) · Excel · CSV JSON JSON for portal upload via offline tool

Submit action: Aggregates GST invoices for the month; produces the file; stores; downloadable. Saves as a GSTReturn row.

Form 11.2 — GSTR-3B Composer (Summary Return)

Field Type Required Options / Validation Default Help
Period Year Integer Yes Current year
Period Month Dropdown Yes Jan – Dec Last month
ITC claim toggle Checkbox No True Whether to claim Input Tax Credit on input GST
Reverse charge supplies? Checkbox No False Tick if any RCM supplies received
Format Dropdown Yes JSON · Excel JSON

Form 11.3 — TDS Quarterly Return Composer (24Q / 26Q)

Purpose: Generate the quarterly TDS return file (24Q for salary/192, 26Q for other sections). Who fills: Treasurer.

Field Type Required Options / Validation Default Help
Return Form Dropdown Yes 24Q · 26Q · 27Q (foreign) · 27EQ 24Q One form per filing
Financial Year Dropdown Yes Current/prior FY Current FY
Quarter Dropdown Yes Q1 (Apr-Jun) · Q2 (Jul-Sep) · Q3 (Oct-Dec) · Q4 (Jan-Mar) Last completed quarter
Tenant TAN Auto (from org record) Read-only
Deductor Type Dropdown Yes Government · Statutory body · Autonomous body · Local Authority · Branch of Bank · Branch of statutory body · Person to whom statement is filed by company · Other Other Defaults pulled from org record
Person Responsible — Name Text Yes (from prior return)
Person Responsible — Designation Text Yes "Treasurer"
Person Responsible — PAN Text Yes Valid PAN (from user record)
Challan Details — bulk-confirm Multi-row Yes Per challan: number, BSR, date, amount paid (auto-pulled from TDSEntry rows) Editable per challan
RPU Version Auto (latest as per regulator) Read-only
Include Lower Deduction Certificates? Checkbox No False If any deductee has 197 certificate

Submit action: Generates the FVU-ready file (NSDL format); stores in cloud; downloadable. The file is what the user uploads to the TIN/TRACES portal.

Form 11.4 — Form 10B Audit Return Composer

Purpose: Generate Form 10B (audit report for charitable trust) for IT filing. Who fills: Treasurer (with auditor coordination).

Field Type Required Options / Validation Default Help
Financial Year Dropdown Yes Closed FYs Last closed FY
Auditor Name Text Yes (from prior return)
Auditor Membership Number (ICAI) Text Yes
Auditor Firm Name Text No
Auditor Firm Registration Number Text No
Date of Audit Report Date Yes ≤ Today Today
Trust Activities Summary Textarea (max 2000) Yes (last year's text) Free narrative — auditor edits as needed
Section claimed under Dropdown Yes 11 · 10(23C)(iv) · 10(23C)(v) · 10(23C)(vi) · 10(23C)(via) 11 Per IT registration
Income applied to objects (₹) Auto computed Editable — auditor adjusts
Income accumulated under section 11(2) (₹) Money No 0 If applicable
Form 9A / 10 details (if accumulated) Textarea No
Deemed application notes Textarea No

Submit action: Generates the Form 10B JSON / utility-tool file plus a printable PDF for auditor signature.


Sub-module 12: Inter-Branch Transfers

Workflow. When money moves between branches of one tenant (Mysuru → Bengaluru, say), Form 12.1 records it. The system posts two journal entries — one debiting an inter-branch suspense account at the source and crediting the source bank, one debiting the destination bank and crediting suspense at the receiver. Both legs share the same fund (fund segregation cannot be breached). When the destination branch confirms UTR receipt, the transfer is marked confirmed and the suspense balance settles to zero.

Form 12.1 — Transfer Money Between Branches

Purpose: Record an internal money movement. Who fills: Treasurer.

Field Type Required Options / Validation Default Help
Transfer Number Auto Sequence (e.g. IBT-2526-0011) Read-only
Transfer Date Date Yes ≤ Today Today
Fund Dropdown Yes Active funds Must be the same fund on both legs
From Branch Dropdown Yes Tenant branches User's branch
To Branch Dropdown Yes Tenant branches; ≠ From
From Bank Account Dropdown Yes Bank accounts of From-branch in selected fund
To Bank Account Dropdown Yes Bank accounts of To-branch in selected fund
Amount Money Yes > 0
Mode Dropdown Yes NEFT · RTGS · IMPS · UPI · Internal book-only NEFT "Internal book-only" used when consolidating without an actual wire
UTR Number Text If mode = NEFT/RTGS/IMPS/UPI From bank confirmation
Notes Textarea No E.g. "Funds for Bengaluru shibira samagri Q3"

Submit action: Posts both legs of journal entries; sets transfer status pending_confirmation. Notifies destination branch admin. When destination admin confirms (separate quick-confirm action with UTR re-entry), status moves to confirmed.


Sub-module 13: Annual Audit Pack

Workflow. At FY close (typically April-May), the treasurer triggers the audit pack generator (Form 13.1). The system bundles all required artifacts — TB, I&E, BS (consolidated and fund-wise), every voucher PDF, 80G register, FCRA register, payroll register, TDS challan summary, vendor ledger, jewel valuation snapshot from Asset module — into one ZIP file. The pack is delivered to the auditor; sign-off is tracked outside the system but the ZIP serves as the immutable submission artifact.

Form 13.1 — Audit Pack Generator

Purpose: Produce the auditor-ready bundle. Who fills: Treasurer.

Field Type Required Options / Validation Default Help
Financial Year Dropdown Yes Closed FYs (period must be locked) Last closed FY If FY is not period-locked, the form blocks
Branch Scope Dropdown Yes All branches (consolidated) · Specific branch · Each-branch-separate All branches "Each-branch-separate" produces one ZIP per branch
Format Dropdown Yes ZIP · ZIP + Tally XML export · ZIP + sectioned-PDFs ZIP
Include sections Multi-select Yes Trial Balance · Income & Expenditure · Balance Sheet · Receipts & Payments · Voucher PDFs · 80G Register · FCRA Register · Payroll Register · TDS Challans · Vendor Ledger · Donor Ledger · Jewel Valuation · Bank Reconciliation Reports · Period Lock Certificates · Statutory Returns (filed copies) All checked Uncheck to slim the bundle
Include exception register? Checkbox Yes True Variances, written-off advances, voided receipts, two-key overrides — auditor reads this first
Auditor Name (printed cover) Text Yes (last audit)
Auditor Firm Text No
Trustee Sign-off Names Textarea Yes One per line (from board roster) Printed on cover
Generation Notes Textarea No E.g. "Excludes TDS Q4 — return pending"

Submit action: Runs as a background job (typical run time 10-30 minutes for a full year of a busy tenant); produces a ZIP stored in cloud; emails a download link to the treasurer and auditor. Generation produces an AuditPack record with manifest of every file included and SHA-256 of the ZIP.

Post-generation actions: - Re-generate (with the same parameters, if data corrections were made — produces a new versioned pack; older pack retained for audit) - Mark Submitted to Auditor (with date and auditor email captured) - Mark Audit Closed (with sign-off date and auditor's report file uploaded)


Appendix A — Field types glossary

Type Format / behaviour
Text Single-line input; max length per field-spec
Textarea Multi-line; rendered ≥ 3 rows
Money Numeric, two decimals, prefixed ; thousand separators in display only
Money (foreign) Numeric, two decimals, prefix per ISO 4217 currency code
Date DD-MM-YYYY display; ISO storage
Date+time DD-MM-YYYY HH:mm IST display
Dropdown Single-select; searchable when ≥ 10 options
Multi-select Multiple choices, comma-separated chips
Checkbox Boolean tick
Toggle Visual switch (semantically same as checkbox)
File upload Drag-and-drop; size limit per spec; streamed to cloud storage
Auto Read-only; computed by the system

Appendix B — Common validation behaviours

Appendix C — Roles cross-reference

Form Required role to submit
1.1 Define Fund Treasurer
1.2 Define Account Accountant
2.1 Compose JE Accountant (draft) · Treasurer (post over threshold)
2.2 Reverse JE Treasurer
3.1 Hundi Count Two witnesses, each ≥ branch-admin
3.3 Hundi Deposit Treasurer
4.1 Generate 80G Accountant
4.2 Bulk 80G Treasurer
5.1 Foreign Donor Source Treasurer
5.2 FCRA Donation Treasurer + second-signer
5.3 FC-4 Composer Treasurer
6.1 Vendor Master Accountant
6.2 Create PO Accountant / Branch admin
6.3 Receive Bill Accountant
6.4 Approve Payment Treasurer
6.5 Vendor Payment Treasurer
7.1 Payroll Run Accountant
7.2 Payroll Lines Accountant (draft) · Treasurer (approve)
7.3 TDS View / Override Treasurer (override only)
8.1 Issue Advance Treasurer
8.2 Submit Bills Member (advance recipient)
8.3 Approval Queue Treasurer
8.4 Final Settlement Treasurer (+ second-signer for write-off)
9.1 Statement Import Accountant
9.2 Match Worksheet Accountant
9.4 Finalise Reconciliation Treasurer
10.1–10.3 Statements Any (read) · Treasurer (auto-mail config)
11.1–11.4 Statutory Returns Treasurer
12.1 Inter-Branch Transfer Treasurer (both branches confirm)
13.1 Audit Pack Treasurer

End of Vitta Fin forms specification. ~28 forms across 13 sub-modules.