Install
openclaw skills install @vivalavida-say-hi/yoooclaw-expense-tracker-enExtract and summarize personal expense transactions from phone notifications by category and time, providing totals for specific periods and categories on de...
openclaw skills install @vivalavida-say-hi/yoooclaw-expense-tracker-enFor individual users: Your mobile phone is filled with bank text messages, WeChat/Alipay payment notifications, takeout orders, taxi vouchers, and various payment success reminders. This skill extracts these "money-related" notifications, summarizes them according to the two dimensions of category and time, and gives the total expenditure.
Users set summary preferences through the "What to focus on" field of the installation pop-up window, such as: weekly summary, focusing on dining and travel, focusing only on large purchases, etc.
No assumptions are made about specific payment habits, cards or merchants - all identified from notification data.
openclaw ntf storage-path (use the Bash tool to run this command, stdout is the absolute path of the directory). All subsequent notification files are directly in this directory and named YYYY-MM-DD.json.YYYY-MM-DD.json, one file per day, including all App notifications on that day<storage-path>/<YYYY-MM-DD>.jsonopenclaw ntf storage-path is not available, prompt the user to provide the data pathJSON array, each item:
{"appName":"com.tencent.xin","title":"Group name or contact name","content":"Message content","timestamp":"2026-04-22T10:30:00.000+08:00","appDisplayName":"WeChat"}
appDisplayName distinguishes sources: WeChat / SMS / Alipay / UnionPay / Meituan / Ele.me / Didi Chuxing / Email, etc.title is the sender ("Industrial and Commercial Bank of China", "China Merchants Bank Credit Card", "Meituan Waimai", merchant name, contact name)content usually contains an amount field (¥X.XX / X.XX Yuan / RMB X.XX)Scan all notifications to identify "payment has occurred" events. Key signals:
Each event extracts: {time, source App, merchant/title, amount, category, remarks}.### 2. Automatic classification of categories
| Emoji | Category | Typical sources |
|---|---|---|
| 🍱 | Food and beverage delivery | Meituan / Ele.me / Credit card payment at restaurants / Coffee and milk tea |
| 📦 | Express Logistics | Cainiao / Fengchao / SF Shipping / Pickup Fee |
| 🏠 | Living payment | Water, electricity and gas / Property / Broadband / Telephone bill |
| 🚗 | Transportation | Didi/Amap Taxi/Subway/High Speed Rail/Refueling |
| 🛒 | Shopping | Taobao / JD.com / Pinduoduo / Shopping mall credit card |
| 💳 | Credit card repayment | Credit card repayment SMS, loan deduction |
| 🔁 | Transfer | WeChat/Alipay transfer to individuals (separate statistics from consumption) |
| 🎓 | Education | Training institutions / Extracurricular class payment |
| 💊 | Medical | Hospital / Pharmacy / Physical Examination |
| 🎁 | Others | Not clearly classified as above |
If the category cannot be determined, it will be classified as 🎁 Others, don’t force it.
If the user specifies key categories in "What to focus on" (such as "Focus on dining and travel"), these categories will be placed at the top and highlighted in the output.
The same transaction is often pushed repeatedly by multiple notifications (bank SMS + payment platform app + merchant applet). Deduplication rules:
A. Overview mode ("How much you spent recently/How much you spent today/How much you spent this week") Both segments are given by category + by date.
B. Single category model ("How much did you spend on takeaways this week / How much did you spend on taxi rides this month") Only display this category and list details by date.
See the output template below for details.
(Refund -¥X.XX) at the end of the entry and offset the total amount.💰 Consumption summary (YYYY-MM-DD ~ YYYY-MM-DD)
Total expenditure: ¥X,XXX.XX (N transactions in total)
Total transfers (excluding expenses): ¥X,XXX.XX (M transactions)
━━ By Category ━━
🍱 Catering takeaway ¥XXX.XX (N items)
🛒 Shopping ¥XXX.XX (N items)
🚗 Travel and transportation ¥XXX.XX (N transactions)
🏠 Living payment ¥XXX.XX (N transactions)
📦 Express logistics ¥XX.XX (N items)
💳 Credit card repayment ¥XXX.XX (N transactions)
...
━━ By date ━━
M/D (week X)¥XXX.XX
🍱 Meituan Takeout ¥XX.XX <store name>
🚗 Didi Taxi ¥XX.XX <route/starting point>
🛒 Taobao ¥XX.XX <product name>
M/D (week X)¥XXX.XX
...
━━ To be confirmed ━━ (if any)
☐ <Source>: <Original Abstract>, Amount Unidentified
🍱 Catering takeaway (YYYY-MM-DD ~ YYYY-MM-DD)
Total: ¥XXX.XX (N pens)
M/D (week X)
Meituan Takeout ¥XX.XX <store name>
Luckin ¥XX.XX
M/D (week X)
Are you hungry ¥XX.XX <store name>
...
\d+\.\d{2}) should be extracted and classified 100%