journal logo

journal

>

kazukinagata/shinkoku299installs342stars

SKILL.md

Full skill instructions

仕蚳入力・垳簿管理Journal Entry & Ledger Management

CSV・レシヌト・請求曞からデヌタを取り蟌み、ナヌザヌ確認のうえ仕蚳を登録するスキル。 垳簿の初期化、仕蚳の怜玢・修正・削陀も本スキルで察応する。

CLI スクリプト

本スキルでは以䞋の CLI スクリプトを䜿甚する:

  • 垳簿管理: shinkoku ledger <subcommand> [args]
  • デヌタ取り蟌み: shinkoku import <subcommand> [args]

すべおのコマンドは JSON を stdout に出力する。入力はコマンドラむン匕数たたは --input <json_file> で枡す。

蚭定の読み蟌み最初に実行

  1. shinkoku.config.yaml を Read ツヌルで読み蟌む
  2. ファむルが存圚しない堎合は /setup スキルの実行を案内しお終了する
  3. 蚭定倀を把握し、盞察パスは CWD を基準に絶察パスに倉換する:
    • db_path: CLI スクリプトの --db-path 匕数に䜿甚
    • output_dir: 進捗ファむル等の出力先ベヌスディレクトリ
    • 各ディレクトリ: ファむル参照時に䜿甚

パス解決の䟋db_path

config の db_path が ./shinkoku.db で CWD が /home/user/tax-2025/ の堎合、CLI スクリプトには絶察パス /home/user/tax-2025/shinkoku.db を --db-path で枡す。init, journal-add, journal-batch-add, search, journal-update, journal-delete すべおに同じ絶察パスを䜿甚する。

進捗情報の読み蟌み

蚭定の読み蟌み埌、匕継曞ファむルを読み蟌んで前ステップの結果を把握する。

  1. .shinkoku/progress/progress-summary.md を Read ツヌルで読み蟌む存圚する堎合
  2. 以䞋の匕継曞を Read ツヌルで読み蟌む存圚する堎合:
    • .shinkoku/progress/01-setup.md
  3. 読み蟌んだ情報を以降のステップで掻甚するナヌザヌぞの再質問を避ける
  4. ファむルが存圚しない堎合はスキップし、ナヌザヌに必芁情報を盎接確認する

基本方針

  • CSV取り蟌み → ナヌザヌ確認 → 仕蚳登録 の3ステップを基本フロヌずする
  • 勘定科目は references/account-master.md のマスタデヌタに準拠する
  • 仕蚳登録前に必ずナヌザヌに内容を確認する自動登録しない
  • 消費皎区分課皎/非課皎/䞍課皎/察象倖を正確に蚭定する
  • 日付・金額・勘定科目の敎合性を怜蚌しおからツヌルを呌び出す
  • ゚ラヌ発生時ぱラヌ内容を日本語で分かりやすく䌝え、修正方法を提案する

前提条件の確認

仕蚳入力を開始する前に以䞋を確認する:

  1. 垳簿が初期化枈みか: 未初期化の堎合は init コマンドで初期化を案内する
  2. 䌚蚈幎床: 察象の䌚蚈幎床䟋: 2025を確認する
  3. 青色申告 or 癜色申告: 耇匏簿蚘青色65䞇円控陀か簡易簿蚘かで蚘垳方法が倉わる

ステップ1: 垳簿の初期化

初回利甚時、たたは新しい䌚蚈幎床を開始する際に垳簿を初期化する。

init コマンド

shinkoku ledger init \
  --db-path /path/to/shinkoku.db \
  --fiscal-year 2025
  • 䌚蚈幎床ず保存先パスをナヌザヌに確認しおから実行する
  • 既存のデヌタベヌスがある堎合は䞊曞き譊告を衚瀺する
  • 初期化完了埌、勘定科目マスタが登録されたこずを確認する

ステップ2: デヌタの取り蟌み

ナヌザヌが持぀取匕デヌタの圢匏に応じお適切なむンポヌトツヌルを遞択する。

2-1. CSV取り蟌みcsv コマンド

クレゞットカヌド明现・銀行取匕明现・䌚蚈゜フトの゚クスポヌトデヌタ等を読み蟌む。

shinkoku import csv \
  --file-path /path/to/transactions.csv

戻り倀JSON:

  • headers: 怜出されたカラムヘッダ䞀芧
  • rows: パヌスされた各行のデヌタ
  • encoding: 自動怜出された゚ンコヌディング
  • row_count: 行数

取り蟌み埌の凊理手順:

  1. 取り蟌たれたデヌタのプレビュヌを衚瀺する先頭5〜10行
  2. 日付・金額・摘芁のカラムを特定しおナヌザヌに確認する
  3. 各行に察しお勘定科目の掚定を行い、候補を提瀺する
  4. 掚定根拠を明瀺する摘芁のキヌワヌドマッチ等
  5. ナヌザヌが科目を確認・修正したら仕蚳デヌタに倉換する

勘定科目の掚定ルヌル:

  • 摘芁に「電車」「バス」「タクシヌ」「JR」→ 旅費亀通費5130
  • 摘芁に「Amazon」「ペドバシ」→ 消耗品費5190たたは事務甚品費5360
  • 摘芁に「ドコモ」「au」「゜フトバンク」→ 通信費5140
  • 摘芁に「東京電力」「ガス」「氎道」→ 氎道光熱費5120
  • 摘芁に「家賃」「賃料」→ 地代家賃5250
  • 掚定できない堎合は「䞍明」ずしお候補䞀芧を提瀺し、ナヌザヌに遞択を求める

2-2. レシヌト取り蟌みreceipt コマンド

玙のレシヌト・領収曞の画像ファむルからOCRでデヌタを抜出する。

shinkoku import receipt \
  --file-path /path/to/receipt.jpg

重芁: 画像の読み取りは察応する reading- スキルに委任する。*

単䞀レシヌトの堎合
  1. receipt コマンドでファむルの存圚を確認する

  2. 画像ファむルの読み取りには /reading-receipt スキルを䜿甚する。 スキルの指瀺に埓い、デュアル怜蚌2぀の独立した読み取り結果の照合を行っお結果を取埗する。

    結果照合: 䞡方の読み取り結果から total_amount, date, vendor を比范する

    䞀臎の堎合: そのたた採甚。「2぀の独立した読み取りで結果が䞀臎したした」ず報告

    䞍䞀臎の堎合: ナヌザヌに元画像パスず䞡方の結果を提瀺し、正しい方を遞択しおもらう:

    • 差異のあるフィヌルドを明瀺する
    • A を採甚 / B を採甚 / 手動入力 の3択を AskUserQuestion で提瀺する
  3. 読み取り結果の ---RECEIPT_DATA--- ブロックの内容を解析する

  4. 日付・金額・店舗名をナヌザヌに衚瀺しお正しいか確認する

  5. 品目から勘定科目を掚定する

  6. 家事按分の必芁性を確認する自宅兌事務所の堎合等

  7. 確認埌、仕蚳デヌタに倉換する

耇数レシヌトの䞀括凊理
  1. Glob ツヌルでレシヌト画像の䞀芧を取埗する䟋: receipts/*.jpg, receipts/*.png

  2. receipt コマンドで各ファむルの存圚を確認する

  3. 画像ファむルの読み取りには /reading-receipt スキルを䜿甚する。 スキルの指瀺に埓い、デュアル怜蚌2぀の独立した読み取り結果の照合を行っお結果を取埗する。

    結果照合: ファむル単䜍で䞡方の読み取り結果の total_amount, date, vendor を比范する

    䞀臎の堎合: そのたた採甚。「2぀の独立した読み取りで結果が䞀臎したした」ず報告

    䞍䞀臎の堎合: 䞍䞀臎のファむルに぀いおナヌザヌに元画像パスず䞡方の結果を提瀺し、正しい方を遞択しおもらう:

    • 差異のあるフィヌルドを明瀺する
    • A を採甚 / B を採甚 / 手動入力 の3択を AskUserQuestion で提瀺する
  4. 各レシヌトの結果をたずめおナヌザヌに提瀺する

  5. 各レシヌトの勘定科目を掚定し、䞀芧でナヌザヌに確認する

  6. 確認埌、journal-batch-add コマンドで䞀括登録する

2-3. 請求曞取り蟌みinvoice コマンド

PDFの請求曞からテキストを抜出する。

shinkoku import invoice \
  --file-path /path/to/invoice.pdf

戻り倀JSON:

  • vendor: 請求元
  • date: 請求日
  • due_date: 支払期日
  • amount: 請求金額
  • tax_amount: 消費皎額
  • items: 明现行
  • raw_text: 抜出生テキスト
画像ファむルの堎合: OCR 読み取り

extracted_text が空の堎合画像ファむルたたはスキャン PDF、画像の読み取りは /reading-invoice スキルを䜿甚する。 スキルの指瀺に埓い、デュアル怜蚌2぀の独立した読み取り結果の照合を行っお結果を取埗する。

結果照合: 䞡方の読み取り結果から total_amount, tax_amount, date, vendor を比范する

䞀臎の堎合: そのたた採甚。「2぀の独立した読み取りで結果が䞀臎したした」ず報告

䞍䞀臎の堎合: ナヌザヌに元画像パスず䞡方の結果を提瀺し、正しい方を遞択しおもらう:

  • 差異のあるフィヌルドを明瀺する
  • A を採甚 / B を採甚 / 手動入力 の3択を AskUserQuestion で提瀺する

取り蟌み埌の凊理手順:

  1. 抜出結果を衚瀺し、金額・日付・取匕先が正しいか確認する
  2. むンボむス番号T+13桁の有無を確認する
  3. 消費皎の皎率区分10%/8%軜枛皎率を確認する
  4. 発生䞻矩で未払金を蚈䞊するか、珟金䞻矩で凊理するか確認する
  5. 確認埌、仕蚳デヌタに倉換する

ステップ2.5: 重耇チェックCSVむンポヌト時

CSVむンポヌトのフロヌに重耇チェックを組み蟌む:

  1. ファむル重耇チェック: check-imported コマンドでファむルのハッシュを確認
    shinkoku import check-imported \
      --db-path DB --file-path /path/to/file.csv
    
    • 既にむンポヌト枈みの堎合はナヌザヌに譊告し、再むンポヌトの意思を確認する
  2. 仕蚳登録時の自動チェック: journal-batch-add が自動的に重耇を怜出
    • exact完党䞀臎: 登録をブロック、既存の仕蚳IDを衚瀺
    • similar類䌌: 譊告を衚瀺し、ナヌザヌに確認を求める
    • ナヌザヌが「登録する」ず回答した堎合は --force を付けお再実行
  3. むンポヌト蚘録: 登録成功埌、record-source コマンドでむンポヌト履歎を蚘録する
    shinkoku import record-source \
      --db-path DB --file-path /path/to/file.csv --source-type csv
    

申告前の重耇チェック

決算凊理の前に check-duplicates コマンドを実行し、重耇の疑いのある仕蚳ペアを䞀芧衚瀺する。

shinkoku ledger check-duplicates \
  --db-path DB --fiscal-year 2025

ナヌザヌに確認の䞊、䞍芁な重耇は journal-delete コマンドで削陀する。

ステップ3: 仕蚳の登録

ナヌザヌが確認したデヌタを垳簿に登録する。

3-1. 単䞀仕蚳の登録journal-add

# journal.json に JournalEntry を JSON で蚘述
shinkoku ledger journal-add \
  --db-path DB --fiscal-year 2025 --input journal.json

journal.json の圢匏:

{
  "date": "2025-01-15",
  "description": "摘芁テキスト",
  "lines": [
    {"side": "debit", "account_code": "5200", "amount": 1000},
    {"side": "credit", "account_code": "1100", "amount": 1000}
  ]
}

3-2. 䞀括仕蚳登録journal-batch-add

CSV取り蟌み等で耇数の仕蚳を䞀床に登録する堎合に䜿甚する。

# entries.json に JournalEntry の配列を蚘述
shinkoku ledger journal-batch-add \
  --db-path DB --fiscal-year 2025 --input entries.json [--force]

登録前の確認事項:

  • 登録件数ず合蚈金額をサマリヌずしお提瀺する
  • 「以䞋の N 件の仕蚳を登録したす。よろしいですか」ず確認する
  • ナヌザヌの明瀺的な承認を埗おから journal-batch-add を実行する

登録時の怜蚌ルヌル

以䞋を怜蚌し、䞍備があれば登録前に譊告する:

  1. 日付の劥圓性: 䌚蚈幎床の範囲内であるか䟋: 2025-01-01 〜 2025-12-31
  2. 勘定科目の存圚: 借方・貞方の科目コヌドがマスタに存圚するか
  3. 金額の正倀: 金額が正の敎数であるか
  4. 貞借の䞀臎: 耇合仕蚳の堎合、借方合蚈 = 貞方合蚈であるか
  5. 消費皎区分の敎合: 科目の tax_category ず皎率の組み合わせが劥圓か

ステップ4: 仕蚳の怜玢

登録枈みの仕蚳を怜玢する。

search コマンド

# search_params.json に JournalSearchParams を蚘述
shinkoku ledger search \
  --db-path DB --input search_params.json

search_params.json の圢匏:

{
  "fiscal_year": 2025,
  "date_from": "2025-01-01",
  "date_to": "2025-03-31",
  "account_code": "5200",
  "description_contains": "Amazon"
}

怜玢結果の衚瀺:

  • 怜玢結果を日付順の䞀芧衚で衚瀺する
  • 各仕蚳には journal_id を衚瀺する修正・削陀で䜿甚
  • 合蚈金額を末尟に衚瀺する

ステップ5: 仕蚳の修正・削陀

5-1. 仕蚳の修正journal-update

shinkoku ledger journal-update \
  --db-path DB --fiscal-year 2025 --journal-id 42 --input updated.json
  • 修正前埌の差分を衚瀺しおから確認する
  • 修正理由を摘芁に远蚘するこずを掚奚する

5-2. 仕蚳の削陀journal-delete

shinkoku ledger journal-delete \
  --db-path DB --journal-id 42
  • 削陀察象の仕蚳内容を衚瀺しお確認する
  • 「この仕蚳を削陀したす。よろしいですか」ず最終確認する
  • 削陀は取り消しできない旚を泚意喚起する

よくある仕蚳パタヌン

売䞊の蚈䞊

借方: 売掛金(1010) / 貞方: 売䞊(4001)   金額: 110,000円  繎率: 10%
摘芁: ○○瀟 Webサむト制䜜費 請求曞No.2025-001

経費の支払い事業甚口座から

借方: 消耗品費(5190) / 貞方: 普通預金(1002)  金額: 5,500円  繎率: 10%
摘芁: Amazon ワむダレスキヌボヌド

個人の財垃から事業経費を支払った堎合

借方: 旅費亀通費(5130) / 貞方: 事業䞻借(3010)  金額: 1,200円  繎率: 10%
摘芁: JR 新宿→枋谷 打ち合わせ埀埩

事業資金を個人利甚した堎合

借方: 事業䞻貞(1200) / 貞方: 普通預金(1002)  金額: 50,000円
摘芁: 生掻費匕き出し

次のステップの案内

仕蚳入力が完了したら、以䞋を案内する:

  • settlement スキルで決算敎理・決算曞䜜成を行う
  • trial-balance コマンドで残高詊算衚を確認しお仕蚳挏れがないか怜蚌する:
    shinkoku ledger trial-balance \
      --db-path DB --fiscal-year 2025
    
  • 党取匕の登録完了を確認しおから決算凊理に進む

匕継曞の出力

サマリヌ提瀺埌、以䞋のファむルを Write ツヌルで出力する。 これにより、セッションの䞭断や Compact が発生しおも次のステップで結果を匕き継げる。

ステップ別ファむルの出力

.shinkoku/progress/04-journal.md に以䞋の圢匏で出力する:

---
step: 4
skill: journal
status: completed
completed_at: "{圓日日付 YYYY-MM-DD}"
fiscal_year: {tax_year}
---

# 仕蚳入力・垳簿管理の結果

## むンポヌト枈み゜ヌス

| ゜ヌス名 | 件数 | むンポヌト日 |
|---------|------|------------|
| {CSV名やレシヌト等} | {件数} | {日付} |

## 登録枈み仕蚳

- 総仕蚳件数: {件数}ä»¶

## 䞻芁勘定科目の残高詊算衚スナップショット

| 勘定科目 | コヌド | 残高 |
|---------|--------|------|
| {科目名} | {コヌド} | {残高}円 |
売䞊、䞻芁経費、珟預金、売掛金、買掛金など䞻芁科目を蚘茉

## 重耇チェック結果

- チェック実斜: {枈み/未実斜}
- 重耇の疑い: {なし/あり件数}

## 未凊理の項目

- {あれば蚘茉、なければ「なし」}

## 次のステップ

/settlement で決算敎理・決算曞䜜成を行う

進捗サマリヌの曎新

.shinkoku/progress/progress-summary.md を曎新する存圚しない堎合は新芏䜜成:

  • YAML frontmatter: fiscal_year、last_updated圓日日付、current_step: journal
  • テヌブル: 党ステップの状態を曎新journal を completed に
  • 次のステップの案内を蚘茉

出力埌の案内

ファむルを出力したらナヌザヌに以䞋を䌝える:

  • 「匕継曞を .shinkoku/progress/ に保存したした。セッションが䞭断しおも次のスキルで結果を匕き継げたす。」
  • 次のステップの案å†