CLI コマンドリファレンス
iris の全コマンドを目的別にまとめます。CLI には2つの作業面があります。
- ファイルモードのコマンドはローカルの帳簿フォルダに対して動きます。パス引数を 省略すると、カレントディレクトリから上にたどって帳簿を探すため、帳簿ツリーの どこからでも実行できます。
- クラウドコマンド(
iris api …)は IrisBooks サーバーと通信し、パスではなく 帳簿 ID に対して動きます。サインイン(iris api login)するかIRIS_API_TOKENを設定しておく必要があります。
各コマンドの最新かつ正式なフラグは iris <command> -h で確認できます。iris -h
で全体、iris api -h でクラウドのサブコマンドを一覧します。
JSON を出すコマンドには共通の約束があります。金額は帳簿通貨のマイナー単位の
整数(scale 0 なら ¥1,200 は 1200、scale 2 なら $12.00 が 1200)、日付は
YYYY-MM-DD の文字列、出力は2スペースインデントで整形されます。以下の出力形は
キーの骨組みで書いてあり、? は値が空のとき省略されるキーです。
セットアップ
iris update
iris update --check [--json] # 最新の公開版と比較する(変更なし)
iris update [--json] # 署名・チェックサム・バージョンを検証して更新する
使用中の実行ファイルを更新します。シンボリックリンクは実体の場所を使うため、
MCP の登録先は変わりません。JSON には currentVersion、latestVersion、status、
updateAvailable、executablePath、pathExecutable、pathMismatch、installKind、
downloadURL、updateCommand(コマンドと引数の配列)、instructions、updated、
restartRequired、失敗時の error が含まれます。確認に失敗した場合や開発版・
リリース候補では、updateAvailable は null です。status は update_available、
up_to_date、newer_than_latest、development、check_failed、updated のいずれかです。
終了コードは正常時が 0、失敗時が 1、引数の誤りが 2 です。更新不要の場合も 0 です。
帳簿の操作中に自動で通信することはありません。IRIS_DL_BASE でダウンロード元を
指定できます(既定は https://irisbooks.io/dl)。署名は組み込みの公開鍵で必ず検証し、
minisign のインストールは不要です。検証に失敗した場合、古い実行ファイルは残ります。
開発版の置き換えや、古いバージョンへの更新は自動では行いません。
.mcpb の場合、確認結果に対応するバンドルの URL が表示されます。クライアントの
拡張設定から入れ直してください。CLI の更新後は帳簿のフォルダーで iris onboard を
再実行し、MCP を再起動します。check_update で AI が使うバージョンを確認してください。
Windows で使用中のファイルを置き換えられない場合は、MCP サーバーを停止して再実行します。
このコマンドがない古い版は、まずインストーラーで更新します。
iris init
新しい帳簿を作ります。引数なしの iris init は現在のフォルダでガイド付きウィザードを開きます。
フラグを指定する場合は、作成先のパス(現在のフォルダなら .)も指定すると、
質問を飛ばせます。
iris init [flags] <path>
| フラグ | 意味 |
|---|---|
--name | 帳簿の表示名 |
--region | 地域コード(JP, US。既定 JP) |
--language | 言語(ISO 639-1) |
--chart | 勘定科目テンプレートの種類(地域に複数ある場合)— 日本: general / it / food(既定 general)。専用の勘定科目表が無い地域では、特定の国に依存しない最小構成の勘定科目表になります |
--currency | 通貨(ISO 4217。地域既定) |
--fiscal-start-month | 会計年度開始月 1〜12(既定は 1 月。4 月に始まる年度なら 4) |
--fiscal-year | この帳簿が扱う会計年度(YYYY。既定は今日を含む年度)— 前年度の申告をこれから済ませる場合は前年度など |
--sample | 試せるデモ仕訳を約40件追加 |
--posting | LLM-GUIDE.md に書き込む記帳ポリシー: approve(既定 — あなたが確認して記帳)/ auto(検証を通った仕訳をアシスタントが自動記帳) |
--book-id | 既存のサーバー帳簿に事前リンク(上級) |
iris onboard
このマシンの AI アシスタントを帳簿につなぎます。iris mcp serve を MCP クライアント
に登録し、Claude Code スキルを書き込みます。Claude Code のプロジェクト設定
(.mcp.json)は常に書き込まれます。Claude Desktop・Codex CLI・Cursor・
Gemini CLI・VS Code は、マシン上で検出された場合(または各フラグで強制した
場合)に登録されます。
iris onboard [--book PATH] [--claude-desktop] [--codex] [--cursor] [--gemini] [--vscode] [--install-path] [--no-skill] [--dry-run]
iris onboard --status [--json] # 読み取り専用レポート: どこに何が登録されているか
--status は各クライアントの登録状態を報告します(登録先のバイナリがまだ存在
するかも含む — 存在しない場合は iris onboard の再実行で直る古い状態です)。
--json で機械可読な出力になります。iris onboard の再実行は常に安全です。
登録はその場で更新され、重複しません。
iris offboard
iris onboard の逆操作: すべてのクライアント設定から irisbooks の MCP 登録を
削除し(アンインストール済みクライアントの残骸も含む)、Claude Code スキルも
削除します。帳簿のデータやサインイン状態には触れません。冪等なので、クリーン
再インストール前の実行も安全です。
iris offboard [--book PATH] [--keep-skill] [--remove-path] [--dry-run]
| フラグ | 意味 |
|---|---|
--keep-skill | Claude Code スキルを残す(他の帳簿がまだ使っている場合) |
--remove-path | onboard --install-path で入れたバイナリも削除し、PATH 追加を戻す |
--dry-run | 削除される内容の表示のみで、何も削除しない |
iris uninstall
iris そのものをこのマシンから削除します: iris バイナリ、サインイン情報と
ローカル設定(~/.config/irisbooks — CLI セッションは先にサーバー側で失効
させます)、Claude Code スキル、マシン全体の MCP 登録(Claude Desktop・
Codex CLI)、iris onboard --install-path が追加した PATH 設定。実行前に、
このマシンで見つかった削除対象の正確な一覧を必ず表示し、確認を求めます。
帳簿には一切触れません — 帳簿はあなたが所有するただのファイルです。帳簿内の
エージェント設定(帳簿内の .mcp.json)もそのまま残ります。それも消したい
場合は、先に iris offboard --book PATH を実行してください。
iris uninstall [--yes] [--dry-run]
| フラグ | 意味 |
|---|---|
--yes | 確認プロンプトを省略する |
--dry-run | 削除計画の表示のみで、何も削除しない |
iris clone
サーバー帳簿をディスクに取得します(init のライフサイクル上の対)。サインインが
必要です。Web アプリや、帳簿フォルダの外で実行した iris api books new で
作ったばかりの帳簿でもすぐに使えます。これらの帳簿には、最初から
config/book.yaml とひな形の勘定科目表が入っています(ローカル帳簿の中で作った
クラウド帳簿は空の状態で作られ、最初の iris sync でそのフォルダのファイルが
入ります)。AI アシスタント向けのローカルのガイド(LLM-GUIDE.md、
CLAUDE.md、README.md)が帳簿に無ければ、それも書き込みます。これらは同期
されないため、Web アプリで作った帳簿には最初は含まれていません。
iris clone [--force] <book-id> [dest]
確認・検証
iris status
帳簿の識別情報、会計年度開始、アーカイブのフラグ、そして draft 下書きの
件数(下書きはレポートに含まれません)を表示します。
iris status [--json] [path]
出力形(--json):
{ name, bookId, region, language, currency, fiscalStartMonth,
archived, archive?{ sourceBookId, fiscalYear },
draftCount?, remoteDeleted? }
archive はアーカイブフォルダのときだけ、draftCount は下書きを数えられたとき
だけ、remoteDeleted はサーバー側で帳簿が消えていると報告されたときだけ現れます。
iris validate
帳簿の構造とエントリを検証します。YAML、貸借一致、科目の存在、日付の整合、 ステータスの値、(日本の課税事業者は)税区分。
iris validate [--v] [--json] [--fix] [path]
--v は走査した全ファイルを表示、--json は問題と件数を出力しエラー時に 1 で終了。
--fix は地域オーバーレイが導いた値(ヒントとして報告されるもの。たとえば税抜経理の
帳簿で明細に含まれる消費税額)をファイルに記録してから、もう一度検証します。
出力形(--json):
{ book, bookOk, chartOk, journals, assets, notes,
errors, warnings, hints, ok,
issues[{ severity, file, code?, message }] }
code は安定したカタログキーです(journal.date-required、
chart.alias-shadow-path、asset.ikkatsu-cost-range など)。message は翻訳
されるので、分岐にはコードを使ってください。ok は errors == 0 と同義で、
警告とヒントは ok にも終了コードにも影響しません。
iris autocomplete
既存の下書き仕訳を補完し、結果をプレビューします。帳簿のオーバーレイと
組み込みのルールを使います。金額だけの仕訳では、貸借を合わせる1行の金額を
null にできます。在庫のオーバーレイは、記録済みの数量・決済額と過去の
記帳済み取得仕訳から売却原価を計算し、損益の行を提案します。
iris autocomplete [--book PATH] [--view NAME] [--apply] [--revision HASH] <journal>
iris autocomplete journals/2026-10/2026-10-21-sale.md
iris autocomplete --apply --revision <preview-revision> journals/2026-10/2026-10-21-sale.md
パスは帳簿からの相対パスです。--book の省略時は現在の帳簿を探し、
--view の省略時は既定のビューを使います。ビューを指定すると、そのビューの
行だけを更新し、共通の行と他のビューを保持します。
出力は常に JSON です。proposal に Markdown 全文、allocations に数量・原価・
ロット・適用方法、revision に入力と提案を識別する値を返します。
プレビューでは書き込みません。--apply は書き込む前に再計算し、指定した
リビジョンが古ければ拒否します。適用後も下書きで、記帳・同期は行いません。
アーカイブ帳簿と、締め済みと確認できる年度には適用できません。
原価配分は先入先出法(FIFO)が既定です。損益の計上先を
config/book.yaml の inventory.params.gain_account に一度指定します。
仕訳ごとの方法指定や、自動採番したロットの記入は不要です。
対象に一致する inventory.params.method を優先し、なければ期首の方法、
それもなければ FIFO を使います。accounts.exact と commodity で対象を
絞れます。売却仕訳の最小例は
省略できる項目と自動で決まる値
を参照してください。記録済みの金額と計算結果の不一致、決済額・手数料の未記入、
保有数量不足、期首の取得原価不明はエラーになります。
計算する金額には null を指定します。手数料は明記してください。
空売りと取得原価ゼロの売却には対応していません。
これらのルールは公開オーバーレイリポジトリの
default パッケージで管理します。IrisBooks に同梱されて自動で使われるため、
既定の固定バージョンを書く必要はありません。overlays に default@<version>
を明記すると、取得済みまたは同梱済みのそのバージョンだけを使い、新しい既定値は
混ぜません。専門パッケージや信頼済みの帳簿ローカル定義で、同じ ID を置き換えられます。
iris overlay list --json とローカル MCP の describe_overlay で補完ルールを
確認できます。信頼済みの帳簿ローカル定義や選択済み公開パッケージの
completions/*.yaml から、組み込み計算の balance または inventory を呼べます。
同じ ID の定義は組み込みルールを置き換えます。有効な提案同士が食い違う場合は
処理を止めます。選択したポリシーが取得できない場合や未信頼の場合は、先に修正が必要です。
iris hash
単一ファイルの正規コンテンツハッシュを表示します(ローカルのバイト列とサーバーが 受理した内容を比較するときに便利)。
iris hash [--raw] <file>
iris organize
帳簿のレイアウトを正規の形に整えます。既定はドライラン。
iris organize [--apply] [--fix month-folders,extensions,empty-raw,config-typos] [--json] [path]
month-folders は、journals/YYYY-MM/ フォルダにあるのに日付がその月でない
仕訳を正しい月のフォルダへ移し、notes/raw/ のパースキャッシュにある
target: のリンクを新しいパスに書き換えます。月より下のサブフォルダ(auto/
など)はそのまま残り、月フォルダの外にある仕訳は動かしません。
出力形(--json)— --apply がそのまま実行する計画そのものです。
[ { family, code, path, new_path?, delete?, reason } ]
family は --fix のカテゴリ。移動なら new_path、削除なら delete: true が
付きます。
レポート・検索
iris balance
基準日時点の試算表(記帳済みのみ)。
iris balance [--as-of YYYY-MM-DD] [path]
出力は iris report tb と同じ試算表のドキュメントです(下記)。
iris report
財務諸表。サブコマンド:
iris report tb [--as-of YYYY-MM-DD] [path] # 試算表
iris report pl [--from D] [--to D] [path] # 損益計算書
iris report bs [--as-of YYYY-MM-DD] [path] # 貸借対照表
iris report ledger --account PATH [--as-of D] [path] # 科目別元帳
iris report sum --by KEY[,KEY...] [--from D] [--to D] [--year YYYY] [path]
# 仕訳明細のグループ別集計
レポートの出力は JSON です(金額は最小単位の整数)。クラウドのレスポンスには、
リビジョンや鮮度などの追加情報が含まれる場合があります。
テキスト表モードはありません: 日本語の勘定科目名では端末の列揃えが安定せず、
AI はもともと JSON を読み、人間向けの整形表示は Web アプリが担います。
互換性のため --json フラグは受け付けます(no-op)。
report sum は記帳済みの仕訳明細を指定キー — account、unit、payee、
month、または tax.category のようなドット記法のフィールド — でグループ化し、
グループごとの借方・貸方・純額と明細数を返します(例: 消費税の集計は
--by tax.category,tax.rate --year 2026)。キーを持たない明細は空キーの
グループとして明示されるため、未分類の明細が黙って消えることはありません。
--year は会計年度(開始年ベース)、--from/--to は任意の日付範囲(両端含む)です。
日付の既定値。省略した日付は、帳簿の会計年度(fiscal_year。帳簿は1年に
1冊)から補います。残高(balance・tb・bs・ledger)は今日時点、その年度が
終わっていれば年度末時点で出します。「今日」は帳簿の地域での日付で、日本の帳簿
なら日本時間です。pl と sum は、年度の初日から同じ日までを集計します。
前年度の帳簿を年が明けてから申告のために開くと、前年度を通年で表示します。
--to だけを指定すると、その日が属する会計年度の
初日から集計します。--from だけなら今日までです。今日より後の日付の仕訳は、
その日が来るまで含みません。JSON には使った日付が必ず入り、Web アプリ・MCP ツール・
リモートコネクタも同じ既定値を使います。申告に使う数字は、期間(--year または
--from/--to)を指定して出してください。
出力形。5つとも1つの行型の上に組み立てられています。
Balance = { account, debits, credits, type?, net? }
tb { asOf?, rows[Balance], totalDebit, totalCredit, balanced }
pl { from?, to?, income[Balance], expenses[Balance],
totalIncome, totalExpense, net }
bs { asOf?, assets[Balance], liabilities[Balance], equity[Balance],
totalAssets, totalLiabilities, totalEquity,
currentEarnings, balanced }
ledger { account, asOf?,
entries[{ date, file, payee, debit, credit, balance }],
totalDebits, totalCredits, balance }
sum { groupBy[], from?, to?,
rows[{ keys[], debit, credit, net, lines }],
totalDebit, totalCredit, totalNet, totalLines }
Balance の type と net は、その科目が勘定科目表に照らして分類できたときに
入ります。ledger.entries[].balance はその行を反映した後の累計残高、file
は元の仕訳ファイルなので、元帳のどの行からも元の仕訳へたどれます。
sum.rows[].keys は位置対応で、--by に渡したキーと同じ順に1つずつ並びます。
iris search
任意のフィルタの組み合わせ(AND)で仕訳を探します。決定論的・オフライン。
iris search [--from D] [--to D] [--min N] [--max N] [--payee S] \
[--status draft,posted,closed] [--account S] [--tag S] [--json] [path]
ステータス列には実効ステータスが表示されます。日付が締め済み会計年度に
入っている仕訳は、ファイルの記載にかかわらず closed と表示され、
--status closed はまさにそれらを絞り込みます。
出力形(--json):
[ { path, date, payee, status, amount, lines } ]
amount はその仕訳の借方合計(マイナー単位)、lines は明細行数です。
iris show
パスの相互参照。資料に対してはそれを引用する仕訳、仕訳に対しては引用する資料と 兄弟を表示します。
iris show [--json] <path> [path]
出力形(--json):
{ ref, mode,
citedBy[{ path, date, payee, status }],
cites[{ path, type?, locator?, alsoCitedBy[] }] }
mode は ref を書類として読んだか仕訳として読んだかを示します。type は添付の
由来(receipt / invoice / bank_statement)で、補助資料には付きません。
alsoCitedBy は同じ書類を引いている他の仕訳の一覧で、領収書の二重計上を
見つける手がかりになります。
iris export
仕訳・試算表・元帳・資産を CSV(UTF-8 BOM 付き)で書き出します。
iris export [--out DIR] [--year YYYY] [--as-of YYYY-MM-DD] [path]
iris export assets [--year YYYY] [--out FILE] [path]
固定資産
iris asset
固定資産の減価償却とレポート。
iris asset schedule [--year YYYY] [path] # 各資産の償却スケジュール
iris asset depreciate --month YYYY-MM [path] # その月の仕訳を生成(status: draft)
iris asset depreciate --year YYYY [path] # 年度合計の仕訳を期末日付で資産ごとに生成
方式は会計年度ごとにどちらか一方を選びます。すでに月次仕訳がある年度への年次 実行(およびその逆)は拒否されます — 混在すると二重計上になるためです。
地域オーバーレイ
iris overlay
地域オーバーレイは、帳簿が検証と計算に使う国固有のルール・レシピ・派生の
バージョン付きセットです。config/book.yaml の overlay: または overlays: で固定され、帳簿独自の
config/overlays/ があればそれで拡張されます。
iris overlay list [--json] [path] # 適用中のオーバーレイ: 固定バージョン・層・ルール・レシピ・派生
iris overlay guide <id> [path] # 固定したパッケージの手順書を読む
iris overlay recipe <id> --set name=value ... [--write <path>] [path] # レシピを実行。--write で根拠付きで記録
iris overlay test [--json] [path] # 適用中の各層のゴールデンテストを実行
iris overlay test --dir <overlay-dir> [--json] # 公開オーバーレイ 1 つのゴールデンテストを帳簿の外で実行
iris overlay fetch [path] # 帳簿が固定したバージョンを、この iris になければダウンロードして検証
iris overlay upgrade [--to <id>@<version>] [--dry-run] [path] # 固定を公開済みの最新版(または --to)に移す
iris overlay trust [path] # この帳簿の config/overlays/ をこのマシンで信頼する
list --json には、pins、候補値を含む fields、ルールの条件・検証式、
パラメーターの定義、手順書の ID が含まれます。ローカル MCP では
describe_overlay と read_overlay_guide で確認できます。複数指定の場合、
fetch は各パッケージの署名を検証し、upgrade は更新後の組み合わせ全体を
確認します。--dry-run は検証済みキャッシュを保存する場合がありますが、
帳簿のファイルは変更しません。既定値と科目選択の設定は
帳簿の設定例を参照してください。
recipe は提案を表示します。--write を付けると、償却表のレシピは資産ファイルを
書き換え(schedule: + schedule_source:)、集計レシピは filings/ に申告記録を
書きます。マップ型のパラメータは --set name='{"1": 90}' のように渡します。
upgrade と fetch は公開リポジトリ
irisbooks/overlays のリリースから
ダウンロードし、使う前に署名を確認します。お使いの iris より前に公開された
バージョンは iris に含まれており、ダウンロードされることはありません。ダウンロードしたバージョンは
~/.config/irisbooks/overlays/ に保存され(帳簿の中には置きません)、読み込むたびに
あらためて確認されます。upgrade は、新しいバージョンが自身のテストに合格し、
帳簿の config/overlays/ がその上で読み込めるときにだけ変更を加えます。
iris validate が何かをダウンロードすることはありません。
編集・記帳
iris post
仕訳を draft から posted にして記帳し、(リンク済みなら)同期します。帳簿の
オーナーが記帳承認(Web アプリ → 設定)をオンにしている場合、記帳は Web
アプリ専用です。iris post はローカルで拒否し、サーバーも push された
ステータス変更を APPROVAL_REQUIRED で拒否します。
事前に各ファイルが空でない・貸借一致であることを検証します。日付が締め済み
会計年度に入っている仕訳は拒否されます(“FY <n> is sealed (closed period) —
run iris reopen <n> to amend it, then re-seal”)。
iris post [--dry-run] <file>...
iris post [--dry-run] --all
--all はファイルを指名する代わりに、帳簿内のすべての draft 下書きを
記帳します — 自分が書いていない下書き(スマホ/コネクタ経由、メール取り込み、
自動生成の減価償却)も対象です。検証に失敗した下書きは報告のうえ下書きの
まま残ります。記帳ポリシー auto の帳簿での定型操作です。
iris diff
push される内容 — ローカル変更と最後の同期スナップショットの差 — を表示します。
iris diff # 保留中の全変更を一覧
iris diff <relpath> # 1ファイルの行単位差分
iris diff --paths # 名前と種別のみ
同期・コンフリクト(クラウド)
iris sync
明示的な1回のパス。ローカル変更を push、リモート変更を pull し、ファイルごとの 受理/拒否を報告します。帳簿がクラウドにリンクされ、サインイン済みである必要が あります。
iris sync [--quiet] [--json] [--allow-bulk-delete] [path]
終了コード: 0 クリーン · 1 拒否/コンフリクト/IO · 2 使い方/設定 · 3 終端的
切断(帳簿削除、アクセス取消、セッション失効)。
1回の sync で帳簿のクラウドファイルの大半を削除しようとすると、サーバーは
安全装置としてその削除を拒否します(BULK_DELETE_REFUSED)。大量削除が本当に
意図したものであれば、--allow-bulk-delete を付けて再実行してください。
出力形(--json)— 上記すべてを1つのドキュメントに置き換えたもので、AI が
編集のたびに読むのはこれです。
{ status, counts{ pushed, pulled, deleted, conflicts }, queueLeft,
disconnected, disconnectReason?,
newRejections[], allRejections[], applyErrors[], blockedByConflicts[],
error? }
status—ok|rejected|conflicts|disconnected|errordisconnectReason—deleted|forbidden|auth_expirednewRejections/allRejections— 要対応レコード。iris attention list --jsonと同じ形ですblockedByConflicts— 未解決の.conflictedサイドカーがある正規パス。 空でなければそのパス全体が no-op です。push も pull も起きていないので、 先にマージするか解決してくださいapplyErrors— リモートの変更をローカルに反映できなかったもの。作業ツリーが 不完全な可能性があるため、いまのファイルを信用せず再実行してください
編集 → 同期 → 読み取り のループで2回目の呼び出しが要らないのはこのためです。 ファイルごとの受理と拒否が、この1つのレスポンスに両方入っています。
iris conflicts
push がコンフリクト(409)すると、サーバー版が正規パスを取り、あなたの版が
.conflicted サイドカーになります。
iris conflicts list [path]
iris conflicts resolve <path> --keep mine|cloud [path]
通常は手動マージで解決します(正規ファイルを編集し、サイドカーを削除し、
iris sync)。トラブルシューティング を参照。
iris attention
サーバー側拒否のローカルキューを管理します。
iris attention list [path] # パス + コード + 問題を表示
iris attention retry [path] # 抑制を外す。次の `iris sync` で再 push
iris attention retry --path <relpath> [path] # 1ファイルのみ
出力形(list --json):
{ records[ { path, local_fs, local_sha, code?,
issues[{ field, message, rule? }], detected_at, reason? } ] }
code はそのファイルを拒否したサーバー側の不変条件です
(UNBALANCED_JOURNAL、UNKNOWN_ACCOUNT、PERIOD_SEALED、
BULK_DELETE_REFUSED など)。OVERLAY_RULE は地域オーバーレイのルール
(公開オーバーレイのもの、または config/overlays/ にある帳簿独自のもの)が
拒否したことを表し、各 issue の rule がそのルールを示します。ルールは
iris overlay list で確認できます。
iris yearend
翌年度の帳簿を作って会計年度を終えます — 年度締めの会計面です
(コンプライアンス面の年度のロックは iris api seal)。1つの帳簿は1会計年度分
なので、iris yearend は翌年度の帳簿を独立したコピーとして、この帳簿と同じ
階層の新しいフォルダに作ります(acme-2025 → acme-2026。フォルダは --to で
指定できます)。新しい帳簿には次のものが入ります。
config/—fiscal_yearを翌年度に進め、独自の帳簿 ID を持つbook.yaml、 勘定科目表、rules.yaml、config/overlays/- ガイド(
README.md・LLM-GUIDE.md・CLAUDE.md)と方針のノート (decisions.md・workflow.md・todos.md・open-questions.md) - 新年度の開始時点でまだ保有している固定資産
- 期首残高の仕訳。
journals/<YYYY-MM>/0000-opening-balances.mdに、新年度の 初日の日付でopening-balanceタグを付けて作られます。貸借対照表科目は 期末残高のまま繰り越され(外貨・暗号資産など数量を管理している保有資産は 数量も含めて)、収益・費用はゼロにリセットされ、当期純利益はconfig/chart-of-accounts.yamlでretained_earnings: trueを付けた資本科目 (どの科目にも付いていなければ勘定科目表で唯一の資本科目)へ折り込まれます。 資本科目が複数あってどれにも付いていない場合は、いずれか 1 つに付けるよう 求めて止まります。
すでに新年度の日付で記録した仕訳は、参照している元資料とともに新しい帳簿へ
移動します。それより前の仕訳、compiled/、filings/、パースキャッシュ、
処分済みの資産はこの帳簿に残ります。--carry notes,raw を付けると、notes/ や
raw/ もまるごとコピーします。
この帳簿がクラウドにリンクされている場合は、同じ実行で新しい帳簿のクラウド側も
作ります。この帳簿にアクセスできる人は全員、新しい帳簿にも同じ権限でアクセスできるように
なり、この帳簿の受信アドレスは新しい帳簿へ移ります。そのうえで両方の帳簿を同期します。
実行前に確認を求めます。--yes で確認を省略でき(端末が接続されていない場合は
必須です)、--local を付けるとローカルの帳簿だけを作ります。
作成後、2つの帳簿の間につながりはありません。前年度への遅れた訂正を反映するには、
前年度の帳簿で修正し、同じ --to を付けてもう一度 iris yearend を実行します。
新しい帳簿の期首残高仕訳が更新され(結果が同一なら何もしません)、前回の実行後に
前年度の帳簿に加わった新年度の日付の仕訳が移動します。新しい帳簿の設定とノートは
そのまま残ります。新年度が締め済みになると、期首残高仕訳はその時点の内容で
凍結されます — 不一致は対処方法とともに報告され、無言で書き換えられることは
ありません。締める年度の日付の未記帳の下書きは警告されます(繰越に含まれません)。
<fiscal-year> は省略できます。既定は帳簿の fiscal_year で、それ以外の年度を
指定すると拒否されます。
iris yearend [<fiscal-year>] [--to PATH] [--carry notes,raw] [--yes | --local] [--dry-run] [path]
--dry-run は開始仕訳、移動、クラウド操作、繰越から除外する未記帳の下書き件数を
JSON で表示します。ファイルやクラウドには書き込みません。
iris reopen
締め済み会計年度のロックを解除して修正できるようにします。サーバー上で締めの
ロックが解除されます。対象は年度内の仕訳と config/・assets/・filings/・
compiled/ で、再オープン後の対象ファイルの変更は締め後の編集として恒久的に
記録されます。raw/ と notes/ は締めたままでも変更できます。年度の
ファイルは作業ツリーから離れていません — 締めは年度をロックするだけで、
ファイルを取り除きません — ので復元するものはありません。そのまま編集し、
iris sync で編集を push し、iris api seal で年度を再度締めてください。
iris reopen <fiscal-year> [path]
価格(純資産)
iris networth
iris networth --books-dir ~/IrisBooks --as-of 2026-10-06
iris networth --currency JPY ~/IrisBooks/business-2026 ~/IrisBooks/personal-2026
iris networth history --books-dir ~/IrisBooks --months 12
iris networth movers --books-dir ~/IrisBooks --compare 2026-09-30
ローカルの記帳済み仕訳と価格記録を使い、通信せずに帳簿を横断して評価します。
親フォルダ直下の帳簿、または明示的なフォルダ一覧を選びます。
通貨が異なる場合は --currency が必要です。年度間のリンクを明示した帳簿は、
期首残高を照合して一続きの履歴として扱います。翌年度の期首残高は前年度の残高に
置き換わり、二重に加算しません。翌年度がない場合も最後の保有残高を引き継ぎます。
下書きは除外します。価格がない保有は簿価を使い、unpriced に示します。
帳簿のコピーを二重に数えないよう、重複するフォルダ・帳簿 ID は拒否します。
出力は JSON です。クラウドの集計対象設定は使いません。
iris analytics
iris analytics export --books-dir ~/IrisBooks --out portfolio.duckdb --currency JPY
duckdb -readonly portfolio.duckdb
export は未同期の編集を含むローカルの記帳済み仕訳と価格記録から、分析用ファイルを
作ります。DuckDB CLI をインストールするか、--duckdb /path/to/duckdb で指定して
ください。--books-dir または帳簿フォルダの一覧を指定します。出力先に既存のファイルは
使えません。価格の競合がある場合は、解消してから実行してください。
ファイルには出典、仕訳の増減、保有残高の履歴、価格、不足情報と、時点評価用の
portfolio_at マクロが入ります。SQL やピボットで分析できます。
SELECT account, unit, valuation, cost, inventory_method FROM portfolio_at('2026-10-19', 'JPY', 0);
PIVOT journal_lines ON unit USING sum(debit-credit) GROUP BY book_id, account;
iris yearend は完全な期首ロットと取得原価を翌年度の帳簿に引き継ぎます。
各年度の帳簿は単独で使え、その会計年度の期間だけ集計に含まれます。
過去の期間を見る場合は過年度の帳簿も選びます。帳簿のない年度は空白です。
帳簿間の関係は保存せず、リンクも不要です。
取得額は現在保有する分の取得原価です。簿価、累計入金額、実現損益とは別の値です。
原価配分は FIFO が既定です。対象に一致する帳簿直下の方法指定を優先し、
指定がなければ期首在庫の方法を引き継ぎます。個別法・移動平均にも対応し、
個別法の売却ではロットを選ぶ必要があります。取得履歴や期首の取得原価が
不明なら、不明のまま表示します。inventory_method で保有残高ごとの方法を
確認できます。
名前付きの代替ビューは、このエクスポートの対象外です。
iris price
単位価格をオフラインで記録・一覧し、サーバーへ同期します。ユーザー単位(帳簿には 保存されません)。
iris price add --unit BTC --price 9850000 [--currency JPY] [--date YYYY-MM-DD] [--source S]
iris price list [--unit BTC] [--currency JPY] [--year 2026] [--json]
iris price sync [--json]
iris price conflicts [--json]
iris price resolve --unit BTC --currency JPY --date 2026-10-07 --choose local --revision 43 --edit <edit-id>
出力形。list --json:
[ { unit, currency, date, valueMicro, source?, origin, recordedAt,
revision?, baseRevision?, editId?, conflict?, pending? } ]
valueMicro は1単位あたりの値 × 1,000,000 です(¥9,850,000 のビットコインは
9850000000000)。origin は local(この端末で記録)か server。
sync --json は { pushed, pulled, conflicts } を返します。
競合が残る場合は、他の価格の同期を進めたうえで終了コード 1 を返します。
価格は観測日の暦年ごとに ~/.config/irisbooks/prices/YYYY.jsonl に保存します。
従来の prices.jsonl は初回利用時に移行し、元のファイルも残します。
同期は前回取得したページ以降の変更を取得します。過年度の価格訂正も対象です。
同じ単位・通貨・日付への編集は、価格と出典が一致すれば自動で合流します。
異なる場合は両方の候補を残します。競合が判明した価格は、ローカル集計でも
サーバーの確定値を使い、影響する保有を priceConflicts に示します。
推移では該当する時点、変動要因では比較する両時点に情報を添えます。
他の価格や記帳レポートの利用は続けられます。
price conflicts --json で確認し、表示されたサーバーの revision とローカル編集 ID
を指定して解決します。--choose local は次の同期で送る訂正を残し、
--choose server はその編集を破棄します。別の値に直す場合は local を選んでから
価格を再記録して同期します。候補が変わった後の古い解決指定は拒否されます。
MCP サーバー
iris mcp
iris の各動詞を BYO エージェントに公開する Model Context Protocol サーバーを、
1 つの帳簿、または複数の帳簿をまとめた親フォルダに対して実行します。
iris mcp serve [--book PATH | --books-dir PATH] [--http 127.0.0.1:PORT]
ローカルツール: validate・diff・balance・report・status・check_update。資産ツール:
asset_schedule(エンジンによる資産別の数値)と 3 つの償却計算ツール
declining_table・flat_table・straight_line_table — レシピのない方法について、
AI がこれらを組み合わせて schedule: に記録します。レシピツール: 帳簿の
オーバーレイのレシピごとに 1 つ(jp_teiritsu・jp_shouhizei-general・
jp_shouhizei-simplified)。write にパスを渡すと結果を根拠付きで記録します。
クラウドツール(認証時): sync・seal・export_from_cloud・create_cloud_book・link_book。
サインインには login・auth_status・logout を使います。
list_cloud_books はアクセスできるクラウド帳簿を一覧表示します。
ローカルフォルダの一覧とは別です。
帳簿フォルダにアクセスできる場合、通常のファイル一覧・読み取り・文字列検索・
下書きやノートの編集には rg・grep・find・cat・sed やエディタを使います。
操作は選択した帳簿内で行い、記帳データを編集した後は検証します。ローカル MCP は
会計計算、検証、認証、同期、記帳・締め・償却・翌年度帳簿の
作成などの専用処理に使います。検索などの参照ツールは任意の補助です。
構造化した条件や締め済み状態での検索、ファイルに直接アクセスできないクライアント
で利用できます。
ローカル MCP に show ツールはありません。書類と仕訳の参照関係は
ファイル検索で確認します。CLI の iris show は引き続き使えます。
記帳ツール: autocomplete_journal(path、任意の view・apply・revision。
iris autocomplete と同じ下書きのプレビュー・適用)、search_journals(日付・金額・取引先・状態・科目・タグの検索)、
post(paths または all、
dry_run=true でプレビュー)、list_conflicts、resolve_conflict
(path と keep="mine"|"cloud")、list_attention、retry_attention
(path は任意)、export_local(kind="journals"|"assets"、任意の
year・仕訳用の as_of・out_dir、既定の出力先は exports/)。
出力先は対象帳簿の内側に限定します。競合で mine を残すと直後に同期し、
cloud を残すとサイドカーファイルを削除します。attention の再試行は拒否記録を
消す操作です。修正後に明示的に sync を呼んでください。
年度・資産ツール: asset_depreciate(month または year、記帳せず下書きを
生成)、fiscal_years、history(任意の path・from・to・limit・
all)、reopen(year、オーナー権限はサーバーが確認)。後者 3 つは
クラウドに接続した帳簿とサインインが必要です。親フォルダモードでは
yearend(book="freelance-2025", next_book="freelance-2026") も使えます。
既定では開始仕訳、仕訳の移動、クラウドの操作をプレビューするだけです。
preview=false で実行し、local_only=true でクラウド作成・同期を省略できます。
仕訳の移動、権限のコピー、受信アドレスの移管が発生する場合がありますが、
旧年度は締めません。next_book は親フォルダ直下の子フォルダ名で、帳簿作成と
同じパス制限が適用されます。CLI でも iris yearend --dry-run を使えます。
資産価値の参照: get_holdings は選択した接続済み帳簿を読み、
get_networth はローカルフォルダを集計し、未同期の記帳済み編集も含めます。
認証や通信は不要です。books_dir="." または
books=["business-2026", "personal-2026"] を指定します。
パスはサーバーの設定ルート内に限定されます。単一帳簿モードでは兄弟フォルダを
選べないため、複数帳簿には親フォルダモードを使います。
as_of・currency・mode="current"|"history"|"movers"、推移には months、
変動要因には compare を指定できます。価格はローカルの記録を使い、
通貨が異なる場合は currency が必要です。
list_prices は既定でクラウドを読み、source="local" でオフラインの記録を読みます。
record_price(unit="USD", currency="JPY", price="155.123456", date="2026-10-06")
で価格をローカルに記録します。price は小数点以下 6 桁以内の文字列です。
sync_prices で公開し、他のデバイスの価格も取得します。帳簿の同期とは別の操作です。
価格はユーザーの設定フォルダに保存し、税務用の帳簿ファイルには入れません。
get_holdings 以外の価格・資産価値ツールにはローカルの book 指定が不要で、
ローカルの価値集計には帳簿フォルダが必要です。
クラウドの list_prices は unit・currency・year・limit・cursor
を受け取り、1 ページを返します。同じ条件で nextCursor を渡して続きを取得します。
ローカルの参照は既知の競合を示し、集計に使う価格を返します。
price_conflicts で両候補を確認し、ユーザーが選んだ場合にだけ
resolve_price_conflict(unit, currency, date, choose="local"|"server", revision, edit)
に表示された識別子を渡します。解決はローカルで行い、残した訂正は次の同期で公開します。
価格と出典が一致する編集は自動で合流します。
--books-dir には、帳簿フォルダを直下にまとめた既存の親フォルダ(例:
~/IrisBooks)を指定します。list_books で帳簿を確認し、各操作の book に
子フォルダ名を渡します(例: validate(book="freelance-2026"))。帳簿を追加しても
サーバーの再起動は不要です。空の親フォルダでも起動でき、
create_book(book="freelance-2026") で子フォルダに新しい帳簿を作成できます。
name・region・fiscal_start_month・fiscal_year も指定できます。
親フォルダ自体は帳簿にせず、既存の帳簿や空でない子フォルダは上書きしません。
親フォルダモードでは list_recipes(book="freelance-2026") で帳簿のレシピ名と
入力形式を確認し、run_recipe(book="freelance-2026", recipe="jp_teiritsu", params={...}) で実行します。3 つの償却計算ツールと check_update には
book は不要です。book にパスは指定できず、対象の帳簿の外を指すシンボリック
リンクも拒否します。export_from_cloud は out_dir を省略した場合も、
対象の帳簿内に出力します。
Cowork などの MCP クライアントから、ターミナルを使わずにクラウドへ接続できます。
create_book(book="freelance-2026")で帳簿を作るか、list_booksから既存の帳簿を選びます。loginを呼びます。ホストのブラウザが開き、待機中の状態とauthorization_url、5 分後の有効期限がすぐに返ります。ブラウザが開かなければ この URL を自分で開き、サインインしてアクセスを許可してください。auth_statusを呼び、status="signed_in"を確認します。通常はサーバーに 認証状態を確認します。validate=falseでは保存済みの認証情報の有無だけを 調べます。許可待ちの間にloginを再度呼ぶと、同じ URL が返ります。create_cloud_book(book="freelance-2026")を呼びます。ローカル帳簿の設定で クラウド帳簿を作り、接続先を保存します。結果が不明な場合も、同じキーで 再試行できます。既存のクラウド帳簿に接続する場合は、list_cloud_booksで ID を確認し、link_book(book="freelance-2026", cloud_book_id="bk_...")を呼びます。sync(book="freelance-2026")を呼び、受理・拒否の結果を確認します。
login・auth_status・logout・list_cloud_books に book は不要です。
認証情報はホストに保存され、CLI や他のローカル MCP インスタンスと共有されます。
ツールの結果に認証情報は含めません。logout はこのサーバーの許可待ちを取り消し、
保存済みのデバイスセッションを失効・削除します。環境変数 IRIS_API_TOKEN が
ある場合はそちらが優先されます。ブラウザでサインインする前に、ホスト側の MCP 設定から
この変数を外して再起動してください。
アーカイブや接続済みの帳簿には、クラウド作成・接続を実行できません。
既存のクラウド帳簿へ接続すると、同期時にファイルが競合する場合があります。
手元のフォルダ用に新しいクラウド帳簿を作る場合は create_cloud_book を使います。
既存のクラウド帳簿をダウンロードする場合は、親フォルダモードで
login → auth_status → list_cloud_books → clone_book(book="freelance-2026", cloud_book_id="bk_...")
を実行します。未作成または空の子フォルダを選び、先に create_book は呼ばないでください。
clone_book はファイルとローカルの AI ガイドを配置し、同期状態とスナップショットを
設定します。そのため、直後の diff には未同期の変更がありません。結果にはホスト側の
パスと帳簿情報が含まれ、再起動せずに list_books から見つけられます。
既存の内容、シンボリックリンク、アーカイブ、既存の <book>.partial 作業用フォルダは
拒否します。強制上書きはできません。--books-dir の場合だけ利用できます。
--book では従来どおり 1 つの帳簿に対して上記のツールを公開し、指定先が
空または未作成なら帳簿を自動作成します。2 つのフォルダ指定は併用できません。
--http を付けると、stdio の代わりに localhost のアドレスで待ち受け、
Authorization: Bearer <トークン> ヘッダーの付いたリクエストだけを受け付けます。
トークンは初回の起動時に ~/.config/irisbooks/mcp-http.token(本人だけが読める
ファイル)に作られ、再起動しても変わりません。MCP クライアントには、このトークンを
ヘッダーとして設定しておいてください。ファイルを削除すると次の起動で新しい
トークンが作られ、MCP クライアント側の設定も書き換えが必要になります。
iris version
iris version
クラウドコマンド(iris api …)
帳簿 ID に対して動き、認証が必要です。
アカウント単位
iris api login
ブラウザ補助のサインイン。このデバイス専用の CLI セッションが発行されます。 Web アプリからサインアウトしても CLI には影響せず、90 日間使用がなければ 自動失効します(使うたびに延長)。取り消しは Web アプリの「あなたの設定 (アバターメニュー) → API トークン」から行えます。
iris api login
iris api whoami # キャッシュ済みトークンを検証
iris api logout # このデバイスのセッションを取り消してトークンを削除
VM 上の AI エージェントには、スマートフォンからの承認が使えます。 VM にブラウザやパスキー、共有のダウンロードフォルダは必要ありません。
iris api login --device
# 表示された IrisBooks の URL とリクエスト番号をユーザーに伝えます。
# ユーザー自身のスマートフォンでサインインし、番号を入力してアクセス内容を確認・承認します。
iris api login --device-complete
iris api whoami
登録済みのパスキー、またはパスワードと認証アプリのコードでサインインできます。 パスワードや認証コードはユーザー自身のブラウザに入力し、エージェントには 渡さないでください。番号を入力するだけではアクセスは許可されません。 アカウント・権限・注意書きを確認してから承認してください。デバイス名は アクセスを要求した側が指定したもので、本人確認済みの情報ではありません。
--device-complete は一度だけ状態を確認します。終了コードが 0 でも、待機の
メッセージが出た場合は未承認で、新しい資格情報は保存されていません。
再確認は 5 秒以上空けてください。Authorized が表示され、whoami が成功してから
先に進みます。リクエストは開始から 10 分で失効します。やり直すとローカルの
待機状態が置き換わるため、最新の番号を使ってください。拒否・期限切れ・完了したか
不明な場合は新しいリクエストを開始します。完了時には開始時の環境を使います。
秘密の検証値や資格情報は CLI が内部で扱うため、待機ファイルやトークンファイルを
読んだり共有したりしないでください。iris api logout でローカルの待機状態も解除できます。
ブラウザのダウンロード先を CLI から読み取れる場合は、認可結果をファイルで 受け取る方法も使えます。
iris api login --handoff-file
# 表示された URL を開いてサインインし、アクセスを許可すると iris-login.json がダウンロードされます。
iris api login --complete /path/to/downloads/iris-login.json
iris api whoami
ダウンロードしたファイルのパスだけを CLI に渡してください。CLI がファイルを読み、
セッションの資格情報を内部で保存します。ファイルに入るのは一度だけ使える認可コードで、
セッショントークンではありません。コードは CLI が保持する秘密の PKCE 検証値に
ひも付き、許可から 5 分で失効します。CLI の待機状態は開始から 10 分で失効します。
やり直すと以前の待機状態が置き換わるため、新しい URL とダウンロードを使ってください。
完了時には、開始時に選んだ環境を使います。認可画面でキャンセルするとキャンセル結果が
ダウンロードされ、そのファイルを CLI に渡すと資格情報を保存せずに待機状態を解除します。
完了後はダウンロードしたファイルを削除してください。その後は通常どおり
iris api books … と iris sync を使えます。
iris api books
クラウド帳簿の一覧・作成、またはローカル帳簿のリンク。
iris api books list [--json]
iris api books new [flags]
iris api books link [--force] <book-id> [path]
クラウド ID をまだ持たないローカル帳簿の中で new を実行すると、作成した帳簿が
そのフォルダに自動で link されます。books link と同じ効果なので、続けて
iris sync がそのまま動きます。クラウド帳簿はそのフォルダの config/book.yaml
(帳簿名、会計年度、地域、通貨、会計年度の開始月)から作られる
ため、フラグは不要です。ファイルと食い違うフラグを指定すると拒否します。作成時点の
クラウド帳簿は空で、最初の同期でフォルダ自身のファイルが push されます。
--no-link を付けると、これらをすべて行いません。すでに link 済みの
帳簿の中で new を実行した場合は拒否します。そこに2つ目のクラウド帳簿を作っても、
iris sync は最初の帳簿に push し続けるため、空のまま残るだけだからです。
帳簿フォルダの外で作成する場合は、少なくとも --name と --fy を指定します。
iris api books new --name "Acme Design" --fy 2026 --region JP
ほかに --currency・--scale・--no-link・--idempotency-key が使えます。作成時に表示される再試行キーを保存してください。
成功したか分からない場合は、同じ --idempotency-key <key> で再試行すると、帳簿の
重複作成を防げます。ローカル帳簿の中では、安定したローカル ID から既定のキーを
作るため、同じ帳簿での再試行には同じキーが使われます。
iris api token
パーソナルアクセストークン(PAT)の一覧表示と失効。新しい PAT の発行は Web のみ(あなたの設定 → API トークン)ですが、失効はここからも行えるため、 自動化された処理が終了時に自分の使った PAT を失効できます。サインイン 済みセッションまたはフルアクセス PAT が必要です。
iris api token list [--json]
iris api token revoke <token-id>
iris api config
ユーザー単位の設定を表示・変更します。集計通貨は複数帳簿のレポートに使います。
既定の単位と小数桁数は新規帳簿用のひな形で、ログイン済みの iris init が
取得できれば config/book.yaml に取り込みます。既存の帳簿には反映されません。
既定の単位がなければ、単位リストが空の帳簿を作成します。既知の通貨には
内蔵の小数桁数を使います。ひな形で数量の桁数を上書きしたり、独自単位を登録できます。
--remove-unit はひな形から単位を削除します。既存帳簿の単位は削除しません。
iris init --no-user-defaults でひな形の取り込みを省略できます。
iris api config
iris api config set --base-currency USD
iris api config set --set-unit BTC:8,XAU:4
iris api config set --remove-unit XAG
帳簿単位
iris api grants
帳簿のアクセス権を管理します(オーナーのみ)。
iris api grants list [--json] <book-id>
iris api grants invite --email EMAIL <book-id>
iris api grants role --user USER_ID --to OWNER|BOOKKEEPER|REVIEWER <book-id>
iris api grants revoke --user USER_ID <book-id>
iris api inbox
帳簿の受信メール管理: 受信アドレスの表示、送信者許可リストの管理、隔離 メールの確認。「メールで書類を取り込む」を参照してください。
iris api inbox show [--json] <book-id>
iris api inbox allow <pattern> <book-id> # user@host または *@host
iris api inbox disallow <pattern> <book-id>
iris api inbox quarantine [--json] <book-id>
iris api seal
会計年度を締めます(seal)。サーバーが年度内の仕訳と config/・assets/・
filings/・compiled/ をロックします。raw/ と notes/ は引き続き変更できます。
ローカルのファイル自体は編集できますが、ロック対象の変更は同期できません。
年度のファイルは作業ツリーにそのまま残ります。締め済み年度を修正するには
iris reopen <fy> を実行します — 再オープン中のロック対象の変更は監査証跡(iris api history)にフラグ付きで記録されます — 修正が終わったらこのコマンドを再実行して
年度を再度締めます(新しい締めが古い締めを引き継ぎます)。--preview は、
締めでロックされるファイルの一覧を表示するだけで、何も締めません。
年度内に draft の下書きが残っている場合、締めは拒否されます —
締めた年度は完全に整理されていなければなりません。年度に属する仕訳なら先に
記帳し、不要なら削除し、翌期のものなら日付を開いている年度へ変更してください。
--preview がブロックしているドラフトを一覧表示します。
プレビューと締めの前に、申告記録がクラウドの現在の記帳済み仕訳とレシピの元データから
再計算できる必要があります。仕訳の修正後に申告記録が古くなった場合や、元データが
使えない場合は、下書き一覧を表示する前にプレビューが失敗することもあります。
申告レシピを正しい入力で再実行し、iris validate で検証してから、申告記録と入力を
同期し、プレビューをやり直してください。同期が成功してもクラウドが再計算用データの
不足を報告する場合は、Discordコミュニティで相談してください。締めを繰り返しても解消しません。
iris api seal --period YYYY [--type yearly] [--preview] <book-id>
iris api balance / holdings / history
iris api balance [--as-of YYYY-MM-DD] <book-id> # サーバー側試算表(JSON 出力)
iris api holdings [--as-of YYYY-MM-DD] [--json] <book-id> # 単位ごとの純ポジション
iris api history [--path PATH] [--from D] [--to D] [--all] [--limit N] [--json] <book-id> # 訂正・削除の履歴
出力形:
balance [ { account, debits, credits, type?, net? } ]
holdings [ { account, unit, quantity } ]
history [ { id, path, op, sha?, version_id?, size_bytes,
actor, actor_display?, source?, reason?,
post_seal_period?, moved_from_path?, ts } ]
holdings は単位が付いた行だけを数え、正味ゼロのポジションはサーバー側で
除かれます。
history(訂正・削除の恒久的な記録)の actor は安定したアカウント識別子
(監査上の身元)で、actor_display はそれをサーバーが読み取り時に名前や
メールへ解決した人間向けの表示です。post_seal_period は、その会計年度を
締めた後に着地した変更に付きます — 監査人が探すのはこの印です。
moved_from_path は削除+作成ではなく改名であったことを記録します。
history は、絞り込まなければ新しい順に 100 件を返します。
--path— 1 つのファイルの履歴。--all— すべてのイベント。帳簿は1会計年度なので、これがその年度の記録の すべてで、締め後に行った訂正も含みます。--from/--to— 2 つの日付の間に行われた変更。日付は帳簿のタイムゾーン (日本の帳簿なら日本時間)で解釈します。
--from、--to、--all のいずれかを付けると、該当するすべての
イベントを返します(--limit を指定すればその件数で止まります)。税務署から
求められたときなど、記録をファイルで渡すには JSON で書き出します。
iris api history --all --json <book-id> > history-2025.json
books list --json は bookId・fiscalYear・role・name・region・currency
を持つ一覧を出力します。他のクラウドコマンドの --json(grants list・token list・
inbox show・inbox quarantine)は、サーバーのレスポンスをそのまま通します。
iris api export
iris api export [--out DIR] [--year YYYY] [--as-of YYYY-MM-DD] <book-id> # CSV 群
--year を指定すると、その会計年度に属する仕訳のみがエクスポートされます。
締め済み年度もファイルはライブツリーに残っているため、他の年度と同じように
エクスポートされます。
iris api price / networth
iris api price add --unit BTC --price 9850000 [--date YYYY-MM-DD] [--source S] [--revision N]
iris api price list [--unit BTC] [--currency JPY] [--year 2026] [--page] [--limit 500] [--cursor C] [--json]
iris api networth --book <book-id> [--as-of YYYY-MM-DD] [--json]
iris api price list は既定で全ページを取得します。--page は
{ items, nextCursor, syncCursor, hasMore, userId } を返します。
同じ条件で --cursor に nextCursor を渡して続きを取得します。
ページ件数は 1〜1000 です。各価格には revision が含まれます。
新規登録は revision 0、既存価格の訂正は表示された revision を
add --revision N に渡します。古い revision からの異なる訂正は競合になり、
価格と出典が一致する再送は確定済みの値を返します。
iris api networth は指定したクラウド帳簿 1 冊だけを評価します。
帳簿横断の合計・推移・変動要因・集計対象設定は CLI から削除しました。
横断集計にはローカルの iris networth または Web アプリを使います。
Web とリモート MCP のクラウド横断集計は、ユーザーごとに UTC 日付あたり
最大1回自動生成する共通スナップショットを使います。日付や帳簿の選択を変えても、
再生成はしません。同期済みの変更を今すぐ反映するには、Web アプリのダッシュボード
または純資産で「集計を実行」を選びます。集計時点と次回の自動更新時刻が応答に含まれます。
環境変数
| 変数 | 用途 |
|---|---|
IRIS_API_TOKEN | パーソナルアクセストークン。キャッシュ済みログイントークンより優先 |
IRIS_BOOK | クラウドコマンドの既定帳簿 ID(位置引数があればそちらが優先) |
IRIS_API_ENDPOINT | API エンドポイントの上書き。以下のすべてより優先 |
IRISBOOKS_APP_BASE | アプリのベース URL(既定 https://irisbooks.io) |
IRISBOOKS_API_BASE | API のベース URL(既定 <app-base>/api) |
エンドポイント系の変数が未設定のときは、最後の iris api login で保存
されたエンドポイントを使います。ある環境にサインインしたセッションは、
そのまま同じ環境と通信し続けます。
よくある終了コード
| コード | 意味 |
|---|---|
0 | 成功 |
1 | 検証エラー、拒否、または I/O 失敗 |
2 | 使い方・設定エラー(帳簿外、フラグ不正) |
3 | 終端的切断 — 同期コマンドのみ(帳簿削除、アクセス取消、セッション失効) |