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
1,086
downloads
0
forks
8
days
6
days
6
days
1
total PRs
0
open PRs
0
closed PRs
1
merged PRs
0
total issues
0
open issues
0
closed issues
153
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
  • Filters by status (paid/unpaid), 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)
  • Status tracking: active / paid

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

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.
Journalit
2 months ago by Cursive
Obsidian trading journal with broker sync, trade imports, analytics, prop firm tracking, reviews and rule-based trading workflows.
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!
View Count
3 years ago by Trey Wallis
Add view count tracking to your Obsidian vault
Get Stock Information
3 years ago by Mike Jongbloet
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.
SQLSeal Charts
2 years ago by hypersphere
Charting extension for SQLSeal Obsidian Plugin. Visualise your data!
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
a month 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.
Role Switch
7 months ago by Zafrem
This program is a tool that recognizes and makes task switching easier, even though multitasking is difficult.
Tag Timer
9 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.
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.
WorkLife Calendar
a month ago by RavenLife
All-in-one: a smart calendar, task and habit tracker, time tracker, and financial planner, all connected into a single ecosystem within Obsidian.
Crackboard
2 years ago by Franklin
Obsidian plugin for crackboard.dev
Wiki Companion
22 days ago by Mo A
A minimalist, read-only calendar for Obsidian, built on the frontmatter you already have.
Ultra Budget Tracker
3 days ago by Ahmed Hassan
Ultra Budget Tracker — turn bank SMS into structured transaction notes, budgets and balances inside Obsidian. Offline, desktop and mobile.