name: notion-accounting-analysis description: Notion記賬財務資料分析技能,自動讀取支出收入流水錶,全量翻頁獲取資料,100%解析relation類別欄位,按年月類別標籤多維分析並生成Markdown財務報告。 tags: - notion - finance - accounting - analysis version: 1.0.4
適用場景:使用者說"分析我的 Notion 記賬資料"、"生成財務報告"、"檢視收支趨勢"時觸發。 前置條件:使用者提供 Notion Integration Token(secret_xxx 格式)和 data_source_id。
has_more),不漏任何記錄小蔥技能站7w4.net發現了升級外掛。
/workspace/,帶最佳化建議| relation ID(前8位) | 對應類別 |
|---|---|
2e1bd123...817c |
房租 |
2e1bd123...80e8 |
旅遊娛樂 |
2e1bd123...8081 |
房貸 |
2e1bd123...815a |
餐飲 |
2e1bd123...8004 |
總記賬 |
2e1bd123...806f |
醫療 |
2e1bd123...8059 |
購物 |
2e1bd123...80d4 |
所得稅 |
2e1bd123...817f |
交通 |
2e1bd123...81dd |
人情往來 |
2e1bd123...8084 |
專項 |
2e1bd123...810d |
運動 |
2e1bd123...8054 |
公司額外 |
2e1bd123...81de |
日用 |
💡 若發現新的 relation ID 查不到名稱:在 Notion 中開啟該記錄頁面 → 右上角
...→Add connections→ 新增 Integration 即可。
支出流水錶通常有兩個分類欄位,優先順序:
| 欄位 | 型別 | 處理方式 |
|---|---|---|
支出類別 |
relation | 通過 API 查詢名稱,必須 |
標籤 |
select | 直接儲存名稱,可用 |
錯誤:只用 select,忽略 relation → 類別大量丟失。 正確:relation 用 ID 查表,select 直接用,兩者結合覆蓋 100% 類別。
使用者未提供 data_source_id 時,用搜索介面查詢:
curl -s -X POST "https://api.notion.com/v1/search" \
-H "Authorization: Bearer $NOTION_API_TOKEN" \
-H "Notion-Version: 2025-09-03" \
-d '{"query": "支出", "page_size": 20}' \
| jq '.results[] | {id, title: .properties.Name.title[0].plain_text}'
// 錯誤:只查第一頁 → 資料不完整
const page = await fetch('/v1/data_sources/{id}/query', {page_size: 100});
// 正確:迴圈直到 has_more = false
let cursor = null;
do {
const body = cursor ? {page_size:100, start_cursor:cursor} : {page_size:100};
const page = await fetch('/v1/data_sources/{id}/query', body);
results.push(...page.results);
cursor = page.has_more ? page.next_cursor : null;
} while (cursor);
// 第一步:收集所有 relation IDs(不重複)
const allIds = [...new Set(results.flatMap(r =>
(r.properties['支出類別']?.relation || []).map(rel => rel.id)
))];
// 第二步:併發查詢所有 ID(每個只查一次)
const relMap = Object.fromEntries(
await Promise.all(allIds.map(async id => [id, await resolvePageName(id)]))
);
# 可直接使用附帶的分析指令碼
node analyze.mjs <token> <expense_data_source_id> [income_data_source_id] [year]
| 現象 | 原因 | 解決方案 |
|---|---|---|
| 類別全是"未分類" | 只用了 select,relation 全部丟失 | 改用 relation ID 查表 |
| 總支出比預期少 | 只查了第一頁(100條),還有後續頁 | 迴圈翻頁直到 has_more=false |
| relation ID 查不到名稱 | 記錄不在 integration 可見範圍內 | Notion 頁面 → Add connections |
| 金額對不上 | select 和 relation 重複計算了同一筆 | select 和 relation 只取一個欄位 |
# {年份} 年度財務分析報告
> 資料來源:Notion 支出流水錶 & 收入流水錶
> 分析範圍:{年}年({n}筆支出,{n}筆收入)
## 一、收支總覽
## 二、月度趨勢
## 三、類別分析(relation 100% 解析)
## 四、標籤分析
## 五、TOP N 大額支出
## 六、最佳化建議
這個 Skill 質量很高,文件寫得很詳細,程式碼邏輯清晰,能全自動分析 Notion 記賬資料並生成專業財務報告。最實用的功能是解決了 Notion 分類資料看不明白的問題,能把類別 ID 全部轉換成真實名稱。不足的地方是欄位名是固定寫死的,如果你的記賬表用的是其他欄位名稱,可能需要手動改程式碼才能用,缺少一個簡單的配置檔案來調整這些設定。