Smart Treasury – Finance & Accounting Software | Vibe96

Finance & Accounting

Smart Treasury

Source code included

Secure desktop wealth tracker using your own Google Sheet as database — banks, deposits, shares, business.

Built by Uptechture Soft Updated 22 Oct 2026 11,187 lines of code

Open live demo Built withClaude Code

Why Smart Treasury

What makes it better
than the alternatives

  1. 01

    User-owned data

    User-owned data

  2. 02

    Multi-computer sync

    Multi-computer sync

  3. 03

    Master-password vault

    Master-password vault

  4. 04

    Real financial maths

    Real financial maths

  5. 05

    Local where it matters

    Local where it matters

Accounts

  • 12 account types: bank
  • recurring deposit (DPS)
  • fixed deposit/CD (FDR)
  • savings bond (Sanchayapatra)
  • brokerage (share)
  • business
  • petty cash
  • cash
  • mobile wallet
  • receivable
  • other asset
  • loan
  • Each account stores bank name
  • branch
  • account number
  • holder
  • nominee
  • opening date and balance
  • interest rate
  • compounding frequency
  • tenure
  • installment
  • maturity date
  • maturity amount (bank's figure or auto-calculated)
  • tax withheld
  • card colour
  • Account groups for organising (e.g. 'Family'
  • 'Business') with group-level balance totals
  • Account detail screen shows running balance
  • recent transactions
  • maturity countdown (for deposits)
  • holdings and gains (for shares)

Transactions

  • Deposits
  • withdrawals
  • income
  • expenses
  • interest
  • dividends
  • fees
  • tax
  • adjustments
  • Transfers between user's own accounts (deposit installments and loan payments included); transfers never counted as income or expense
  • Each transaction has account
  • date
  • amount
  • direction (in/out)
  • category
  • description
  • optional transfer link
  • Transactions created by share trades have link_id to the trade record
  • Filter by account
  • date range
  • category
  • direction; search by description

Statement

  • Any account
  • account group or account type
  • for any date range
  • Shows opening balance
  • running balance per transaction
  • total credit and debit
  • closing balance
  • Exports to PDF
  • Excel (.xlsx) or print
  • Statement generation uses dependency-free .xlsx writer (ZIP + SpreadsheetML) in src/main/xlsx.js

Deposits & Maturity

  • Countdown to each maturity (recurring deposits
  • fixed deposits
  • savings bonds)
  • Expected vs bank-quoted maturity amount
  • with compound interest calculation (daily
  • monthly
  • quarterly
  • half-yearly
  • yearly compounding)
  • Tax withheld on interest (configurable rate per account)
  • Accrued interest to date for each deposit
  • Maturity badge in sidebar when any deposit matures within 30 days

Investments (Shares)

  • Share buy/sell log in Trades table; holdings and average cost derived from it
  • Latest traded price per symbol in Prices table (manual entry or paste from broker)
  • Realised gains (from closed positions) and unrealised gains (from open holdings)
  • Holdings screen shows symbol
  • quantity
  • average cost
  • current price
  • market value
  • gain/loss
  • gain %
  • Investments screen aggregates all brokerage accounts with total market value and total gain

Financial Analysis

  • Net worth trend (monthly snapshots over 12 months)
  • Income vs expenses (monthly bar chart)
  • Account-type breakdown (pie chart: bank
  • deposits
  • shares
  • business
  • cash
  • loans)
  • Top income and expense categories (bar charts)
  • All charts use Chart.js 4.5.1 with custom theme (chart-theme.js) matching app light/dark mode

Backup & Restore

  • Automatic daily backup of encrypted vault + offline cache to local backup folder (default: 7 backups kept)
  • Manual backup on demand (exports vault + cache as .stbackup file)
  • Restore from any .stbackup file (replaces current vault and cache
  • requires master password)
  • Backup folder location shown in settings; reveal in file manager button
  • Backup payload includes vault (encrypted Google connection)
  • offline cache (last synced data)
  • lockout state

Security & Session

  • Master password encrypts Google service-account key and Sheet link (AES-256-GCM
  • scrypt key derivation with N=32768
  • r=8
  • p=1)
  • Session auto-locks after 15 minutes idle (configurable 5–60 min) or when OS locks
  • Unlock throttled to one attempt per second; 5 wrong attempts in 60 s → 60 s lockout (exponential backoff)
  • Access control enforced in main process: while locked
  • no data channel answers (ipc.js ACCESS.SESSION
  • ACCESS.VAULT levels)
  • Activity log (Log table) records logins
  • password changes
  • backups
  • restores
  • important edits with timestamp and description
  • Password strength meter on setup and change-password screens; optional password hint (stored unencrypted)

Google Sheets Integration

  • Database is user's own Google Sheet: one tab per table (Accounts
  • Transactions
  • Trades
  • Prices
  • Settings
  • Log)
  • row 1 = column names
  • column A = record id
  • Service-account OAuth (RS256 JWT
  • google-auth.js) with token refresh 5 min before expiry
  • SheetsClient (sheets.js) ensures missing tabs/headers on first connect
  • reads all rows
  • upserts/removes/replaces rows via Sheets v4 REST API
  • Offline cache (last synced data) in local data folder; app works offline with read-only mode until connection returns
  • Sync on demand (refresh button) or automatic on data change; conflict detection (server wins
  • local changes rejected with warning)

Settings & Preferences

  • Currency (33 built in: USD
  • EUR
  • GBP
  • INR
  • BDT
  • PKR
  • LKR
  • NPR
  • AED
  • SAR
  • etc.; or type custom symbol)
  • Number grouping: International (1
  • 234
  • 567) or South Asian (12
  • 34
  • 567)
  • Banking terms: International (fixed deposit
  • recurring deposit
  • savings bond
  • brokerage account) or South Asian (FDR
  • DPS
  • Sanchayapatra
  • BO account)
  • Theme: light
  • dark or system (persisted in localStorage; applies to window title bar on Windows)
  • Privacy mode: hides all amounts and balances (toggle with Ctrl+H or eye icon in title bar)
  • Auto-lock timeout (5–60 minutes)
  • backup retention (1–30 days)
  • Change master password (requires current password); reset connection (removes vault
  • cache
  • lockout file; Google Sheet untouched)

Quality report

Manually reviewed

94/ 100

Automated audit score

✓ Approved by our review team

Listed after manual review.
Audit run: 19 Oct 2026
Reviewed by Vibe96 staff, Dubai.

Security97
Code structure78
Docs & completeness100
Dependency health95
Build & deploy95
Reviewer notes (1 minor)

Dependencies pinned in lockfile; electron 44.9.0 and chart.js 4.5.1 are outdated; moderate code duplication and some oversized files; structure is sound but maintainability could improve. None of these stop the software from working; the developer has been told and improvements come in a future update.

Versions & updates

1.0.0
First release22 Oct 2026✓ Reviewed & audited

No updates yet. New versions appear here with a changelog.
Buyers receive updates free for 1 year.

Quality report

What you get

  • </>Full source codeThe complete audited source, delivered as a download from your account. No obfuscation.
  • ▤DocumentationSetup guide, architecture notes, CLAUDE.md and AGENTS.md.
  • ↻One year of updatesEvery new version the builder publishes, free for 12 months.
  • ♧30 days of supportInstallation and defect support through Vibe96 tickets.
$139Single-site licence Details