cashlog

approved

by uuq007

This plugin has not been manually reviewed by Obsidian staff. A personal finance plugin with multi-account, transfers, tag categorization, query syntax, budgets, goals, and chart visualization.

54 downloadsUpdated 9d agoMIT

Cashlog

A personal finance tracking plugin for Obsidian. Record income and expenses directly in your Markdown notes with an emoji-based syntax, then query, visualize, and analyze your data — all within your vault.

中文文档

使用手册

USAGE


Features

  • Markdown-native bookkeeping — Record transactions as plain list items using emoji markers (💴 ➕ ⏰)
  • Tag categorization — Classify entries with hierarchical tags like #expense/food, #income/salary
  • Query language — Filter, sort, group, and summarize entries in cashlog code blocks
  • Chart visualization — Bar charts, line charts, pie charts, and custom tables via cashlog-chart blocks
  • Dashboard panel — Interactive side panel with summary cards, account balances, budgets, and goals
  • Multi-account support — Track multiple accounts (WeChat, Alipay, bank cards), transfers, and balance adjustments
  • Budgets & goals — Set spending budgets and income goals with period-aware progress tracking
  • Attachments — Attach receipt photos to entries, stored in your vault
  • i18n — English and Chinese UI
  • Natural language datesdate today, date last month, date 14 days ago, etc.

Quick Start

Record a transaction

Use the command palette (Ctrl+P) → Create or edit cashlog, or write manually:

- #expense/transport train ticket 💴-100 ➕2026-04-25 ⏰17:30
- #income/salary monthly pay 💴10000 ➕2026-04-25
SymbolMeaningFormat
💴Amount💴 + number (negative = expense)
Date + YYYY-MM-DD
Time + HH:mm

create-or-edit

create-or-edit2

After enabling the account and attachment features in the plugin settings, the full create/edit menu looks like this:

create-or-edit3

Dashboard Panel

Open via command palette → Open Cashlog Panel. The panel provides:

dashboard

  • Summary cards — Income, expense, balance, count for the current period
  • Account balances — Real-time balance for each account with drill-down details
  • Budget progress — Spending vs. budget with period-aware tracking
  • Goal progress — Income achievement vs. target
  • Recent transactions — Last 10 entries with hover details
  • Category ranking — Top 5 expense categories with percentage

All dashboard areas are clickable for drill-down navigation.

Query your data

```cashlog
is expense
date this month
sort by date descending
show total expense
```

image-20260514235928988

Visualize with charts

Use the command palette (Ctrl+P) → Insert chart, or write manually:

image-20260515000639026

```cashlog-chart
group by month
chart type bar
chart title "Monthly Overview"
chart bar split by valueType
chart legend true
```

image-20260515000037141

image-20260515000305595

image-20260515000355591

image-20260515000433199

Entry Format

Basic

- #expense/food lunch 💴-25 ➕2026-04-25 ⏰12:00

With account

- #expense/shopping clothes 💳WeChat💴-200 ➕2026-04-25

Transfer

- #transfer pay credit card 💳Alipay💴-500 💳ICBC Card💴500 ➕2026-04-25

Balance adjustment

- #balance-change adjust balance 💳Alipay💴50 ➕2026-04-25

With attachments

- #expense/shopping clothes 💳WeChat💴-200 🧷[[cashlog-2026042517303050|receipt]] ➕2026-04-25

Query Syntax

Use ```cashlog code blocks to query entries across your entire vault.

Filters

InstructionDescription
is income / is expense / is transferFilter by type
tag includes #expense/foodTag contains (supports OR)
description includes lunchDescription contains text (supports OR)
amount above 100Amount absolute value comparisons
date this monthDate filtering (natural language, ranges, etc.)
account is WeChatAccount filtering (supports OR)
path includes journal/File path filtering
has attachmentOnly entries with attachments

Sorting

InstructionDescription
sort by date descendingSort by date
sort by amount descendingSort by amount
sort by description ascendingSort by description

Grouping

InstructionDescription
group by tagGroup by tag
group by monthGroup by month
group by accountGroup by account
group by typeGroup by entry type

Summaries

InstructionDescription
show totalTotal income, expense, balance, count
show total expenseTotal expense only
show balanceBalance only
show countEntry count only

Date formats

date 2026-04-25              # specific date
date today                   # natural language
date this month              # relative range
date 2026                    # full year
date 2026-04                 # full month
date 2026-W15                # ISO week
date 2026-Q2                 # quarter
date 2026-01-01 2026-03-31   # absolute range

Charts

Use ```cashlog-chart code blocks to render visualizations powered by Chart.js.

TypeInstruction
Bar chartchart type bar
Line chartchart type line
Pie chartchart type pie
Tabletable columns N + colN field "header" alignment

Chart options

InstructionDescription
chart title "Title"Chart title
chart width 800Width in pixels
chart height 400Height in pixels
chart legend trueShow legend
chart labels trueShow data labels
chart bar split by valueTypeSplit bars by value type
chart line split by tagSplit lines by tag
chart value incomePie chart value mode

Installation

Manual

  1. Download main.js, manifest.json, and styles.css from the latest release
  2. Copy them to .obsidian/plugins/obsidian-cashlog/ in your vault
  3. Enable the plugin in Obsidian Settings → Community Plugins

Build from source

git clone https://github.com/uuq007/obsidian-cashlog.git
cd obsidian-cashlog
npm install
npm run build

Settings

CategoryOptions
TagsCustomize income/expense/transfer/balance-change tag names; auto-migration on rename
Sub-tagsAdd, rename, merge, or delete sub-tags; auto-discovered from vault
AccountsEnable multi-account, add/rename/delete accounts, set initial balances
AttachmentsEnable file uploads, configure storage directory
BudgetsSet spending limits with period (weekly/monthly/yearly/custom) and tag filters
GoalsSet income targets with period and tag filters
StatisticsPeriod mode (daily/weekly/monthly/yearly), custom start dates
PathsInclude/exclude vault paths from indexing

Requirements

  • Obsidian v1.7.2+

License

MIT

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.