Finance Manager

by Dmitry
5
4
3
2
1
Score: 51/100

Description

The Finance Manager plugin turns a note into a financial account and stores transactions in separate JSON data files linked by an inserted account id. It supports income and expense records with date, time, categories, tags, payers, attachments, internal transfer marking and smart autocomplete that reuses values from matching entries. The account view includes persistent filters, sorting, pagination and desktop or mobile layouts, plus summaries and charts for income, expenses and balances. It also adds dedicated flows for debts, credits and deposits, including schedules, interest handling and status tracking. Data can be imported from CSV, JSON or XML with field mapping, then exported back in the same formats. It auto detects English or Russian from the app settings.

Reviews

No reviews yet.

Stats

3
stars
2,122
downloads
0
forks
29
days
2
days
11
days
1
total PRs
0
open PRs
0
closed PRs
1
merged PRs
0
total issues
0
open issues
0
closed issues
161
commits

README file from

Github

💰 Finance Manager — Obsidian Plugin

Track income and expenses directly in your Obsidian notes.
Each note is a separate account (cash, card, crypto wallet, etc.).

Translations: 🇷🇺 Документация на русском языке (Russian)

Version: 2.2.0 | Min Obsidian Version: 1.8.7


Installation

Option 1: Manual

npm install
npm run build

Copy the contents of dist/ to .obsidian/plugins/finance-manager/

Then: Obsidian Settings → Community plugins → enable Finance Manager.

Option 2: Via BRAT

  1. Install BRAT plugin (Beta Reviewers Auto-update Tool)
  2. Run command: BRAT: Add a beta plugin for testing
  3. Enter repo: https://github.com/dimanchello/obsidian-finance
  4. Confirm → plugin installs automatically

Language

Plugin auto-detects language from Obsidian settings:

  • 🇷🇺 Russian (default)
  • 🇬🇧 English

Usage

Insert in any note:

```finance-account
```

On first open the plugin automatically inserts an id: <hex> line into the block — a unique account identifier. This lets you rename or move the note without losing data.

Use Insert account template command from the command palette.


Features

Tab Navigation

Each account has four tabs, switched via the ••• menu:

  • Records — income and expenses
  • Debts — debt tracking
  • Credits — loans with payment schedules
  • Deposits — savings with interest accruals

Account

Name Click the title → edit inline
Currency Click the badge next to the title → select from list or custom

Records

  • Only Amount is required
  • Date and Time side by side
  • Smart autocomplete: entering a category or payer auto-fills amount, tag, and the other field from the last matching record (shows "✨ data substituted" badge)
  • Note — visually highlighted with accent color
  • Internal operations: 🔄 button in the "Payer" field marks a record as internal — excluded from stats. Filter "Internal" in the filter panel shows only such records.
  • Calculator: 🧮 button in the amount field opens a built-in calculator

Table

  • Desktop: full table with sticky header
  • Mobile: each record renders as a card with field labels
  • Column visibility: show/hide columns via ⚙️ menu — settings persist across Obsidian restarts

Filters & Sorting

  • Search across all fields
  • Filter by type (income/expense), category, tag, payer, dates
  • Sort by date, amount, category, date added
  • Filter state persists per note

Analytics

  • Statistics: income, expenses, balance (including debts)
  • Charts by category and month

Attachments

  • Photo receipts and documents
  • Attached to records and open in Obsidian

Import / Export

Export: CSV, JSON, XML

Import:

  1. Select file (.csv / .json / .xml)
  2. For JSON — specify array path (e.g. data.records)
  3. For XML — specify record tag (auto-detected)
  4. Map file fields to account fields
  5. Choose type detection: by field, by amount sign, or all income/expense
  6. Click "Import"

Exchange rate is imported only when explicitly specified in the file and not equal to 1. Empty value or rate = 1 is not stored.

Debts

  • Two directions: "Owed to me" (lent) and "I owe" (borrowed)
  • Payment tracking: borrow → repay
  • Auto-calculated balance accounting for all additional disbursements
  • Interest rate and due date
  • Inner tabs All / Open / Closed — open debts (both directions) are shown by default, repaid ones live in «Closed»
  • Filters by direction, person, dates
  • Movement history for each debt

Credits

  • Types: consumer, auto loan, mortgage
  • Monthly payment schedule
  • Automatic payment creation and expense records
  • Early repayment (reduce amount or term)
  • Inner tabs All / Open / Closed — active credits by default, repaid ones in «Closed»

Deposits

  • Types: term, demand, savings
  • Automatic interest calculation based on actual calendar days (rate × days / 365)
  • Accrual type: to account or capitalization
  • Top-ups and partial withdrawals
  • Automatic income records on interest accrual
  • Automatic deposit closure at term end
  • Inner tabs All / Open / Closed — active deposits by default, closed ones in «Closed»

Plugin Settings

  • Default currency for new accounts
  • Currency management: add, remove, reorder currencies via drag-and-drop
  • Records per page

Commands

Find orphaned accounts — shows data folders whose id does not appear in any note. This can happen if a note was deleted or its finance-account block was removed. The command lets you delete such folders manually.


Data Structure

Data is stored in .obsidian/plugins/finance-manager/accounts/{accountId}/ in separate JSON files:

.obsidian/plugins/finance-manager/accounts/{accountId}/
  meta.json       # name, currency, accent color, note path
  records.json    # income/expense records
  debts.json      # debts
  credits.json    # credits
  deposits.json   # deposits
  exchanges.json  # currency exchanges
  state.json      # filter state and column visibility settings

meta.json

{
  "version": 4,
  "name": "Sberbank Card",
  "currency": "₽",
  "accentColor": "#7c3aed"
}

records.json

{
  "version": 4,
  "records": [
    {
      "id": "uuid",
      "createdAt": 1700000000000,
      "date": "2024-11-15",
      "time": "14:30",
      "type": "expense",
      "amount": 1500.00,
      "category": "Groceries",
      "tag": "food",
      "payer": "Ivan",
      "note": "Supermarket",
      "attachmentPath": "",
      "isInternal": false
    }
  ],
  "categories": ["Groceries", "Transport"],
  "tags": ["food"],
  "payers": ["Ivan"]
}

Development

npm run dev     # Watch mode
npm run build   # Build to dist/
npm test        # Unit tests
npm run lint    # ESLint check

Roadmap

  • CRUD records with date and time
  • Inline account name editing
  • Per-account currency
  • Filters and sorting with persistence
  • Pagination
  • Statistics (income/expenses/balance)
  • Smart autocomplete
  • Attachments (photo receipts)
  • Import CSV/JSON/XML with field mapping
  • Export CSV/JSON/XML
  • Mobile responsive layout
  • Debt system
  • Analytics with charts
  • Multi-language (RU/EN)
  • Internal operations (excluded from stats)
  • Credit management
  • Deposit management
  • Auto-accruals for deposits and payments for credits
  • Table column visibility
  • Built-in calculator

License

MIT

Similar Plugins

info
• Similar plugins are suggested based on the common tags between the plugins.
Account Viewer
2 years ago by Muaz Yediyüzkırkiki
Obsidian Plugin that automatically generate accounting tables from Markdown code blocks tagged with "accounting" alias.
Accounting Journal and Ledger
a year ago by Javier Ribal del Río
A lightweight Obsidian plugin for recording simple accounting journal entries during class, based on the Spanish libro diario and libro mayor (general ledger). Follows the double-entry bookkeeping system. Designed for educational use — not intended as a full-featured accounting solution.
Alfonso Money Manager
3 years ago by SmartLifeGPT Innovation
This is the repository for the obsidian plugin of the Alfonso Money Manager mobile application
Budget Vault
2 months ago by Ruan
Private budgeting for Obsidian — import bank statements in any currency and track budgets, debt and savings as plain files in your own vault. Twelve languages, works on iPhone and Android.
Callout Studio
2 months ago by niv20
Callout Studio is the only callout plugin you'll ever need to download. It offers regular callouts, inline callouts, and callout headings. Plus, you can easily design your own custom styles!
Crackboard
2 years ago by Franklin
Obsidian plugin for crackboard.dev
Get Stock Information
3 years ago by Mike Jongbloet
Journalit
3 months ago by Cursive
Obsidian trading journal with broker sync, trade imports, analytics, prop firm tracking, reviews and rule-based trading workflows.
Role Switch
8 months ago by Zafrem
This program is a tool that recognizes and makes task switching easier, even though multitasking is difficult.
SQLSeal Charts
2 years ago by hypersphere
Charting extension for SQLSeal Obsidian Plugin. Visualise your data!
Tag Timer
10 months ago by quantavil
The Tag Timer is a versatile plugin for Obsidian that allows you to seamlessly track the time you spend on specific tasks or sections within your notes.
Ultra Budget Tracker
24 days ago by Ahmed Hassan
Ultra Budget Tracker — turn bank SMS into structured transaction notes, budgets and balances inside Obsidian. Offline, desktop and mobile.
View Count
3 years ago by Trey Wallis
Add view count tracking to your Obsidian vault
Wiki Companion
a month ago by Mo A
A minimalist, read-only calendar for Obsidian, built on the frontmatter you already have.
WorkLife Calendar
2 months ago by RavenLife
Say goodbye to chaos. A smart calendar, task tracker, time tracking, habit tracking, and finance management — all in one beautiful, connected space.