OSS Apache 2.0 v0.5.2 Docker対応 Local Web UI Claude Code / Codex Skill

CSV / テキストPDFから、
ローカルWeb UIで直接還元法Excelを。

レントロール(CSVまたはテキスト抽出可能なPDF)をブラウザでアップロードし、 抽出結果と付帯収入(水道代・駐車場・その他収入)をpreview。
経常的な付帯収入は自動算入され、direct_cap.xlsx(OER版・費用詳細版を同時生成)を生成・ダウンロードします。 CLI(Docker対応)からも同じロジックで利用できます。 Local-first OSS: preview a rent roll in your browser, then download a direct-capitalization Excel workbook with independent OER and expense-detail sheets. Also available as a Docker-ready CLI.

出力される金額は「収益試算値」であり、鑑定評価による「収益価格」ではありません。ローカル実行専用で、ホスティング型SaaSではありません。

こんな手作業、まだやっていますか?

📋

収益物件の簡易試算を、Excel で毎回一から手作業で作っている

🔗

月計・年計・OER へのセルリンクを毎回手で組んでいる

✏️

空室率・還元利回りを変えるたびに手修正が発生する

📄

PDF のレントロールをそのまま読み込む仕組みが手元にない

revenue-kun にできること

機能 内容
ローカルWeb UI ブラウザでレントロールをアップロードし、抽出結果・欠損情報・付帯収入をpreview。direct_cap.xlsx をダウンロード
レントロール読み込み CSV または text-based PDF(pdfplumber による抽出)
NOI 計算 GPI / EGI / NOI / 純収益(還元対象)を算出
収益試算値 直接還元法(純収益 ÷ 還元利回り)— 鑑定評価ではありません
感応度分析 NOI × 還元利回りのマトリクス出力
Excel 出力 --excel-output でOER版・費用詳細版・読み取りレントロールの3シート .xlsx を同時生成
付帯収入(自動算入) 水道代収入・駐車場収入・その他収入は、経常的な付帯収入として読み取りレントロールに表示され、選択操作なしで両計算シートのGPIへ自動算入されます。
OER版・費用詳細版の独立性 アプリはどちらの方式を使うか選択させません。両シートは互いの入力値・計算値を参照せず、独立してNOI・収益試算値まで算定します。
欠損の扱い 自動補完しない。欠損項目は missing_info.md に明示記録

ワークブックを開くとこうなる 合成データ

以下はすべて scripts/make_sample_pdf.py が生成した合成サンプルデータです。 実物件・実テナント名・個人情報は含みません。

PowerShell
python src/main.py `
  --assumptions assumptions.sample.yaml `
  --rent-roll-pdf data/sample_rentroll_simple.pdf `
  --output ./output `
  --excel-output ./output/direct_cap.xlsx
生成される 3 シート(合成データ)
直接還元法_OER

個別の運営費用明細が不明な場合の簡便法。年額収入セル(E5:E9)が 読み取りレントロール の年計行を自動参照。 空室損失率・採用OER・還元利回り等はユーザーが手入力。

賃料・共益費・水道代収入・駐車場収入・その他収入は、いずれも選択操作なしでGPIへ自動算入されます。 本シートは費用詳細版を一切参照せず、独立して収益試算値まで算定します。

D列(項目)E列(値)
貸室賃料収入(年額)=読み取りレントロール!…(自動)
共益費収入(年額)=読み取りレントロール!…(自動)
水道代収入(年額)=読み取りレントロール!…(自動算入)
駐車場収入(年額)=読み取りレントロール!…(自動算入)
その他収入(年額)=読み取りレントロール!…(自動算入)
総収入(年額)=SUM(E5:E9)(自動)
空室損失率← 手入力
貸倒損失率← 手入力
採用OER(運営費用÷EGI)← 手入力
資本的支出(年額)← 手入力
還元利回り← 手入力
EGI / NOI=自動計算
収益試算値=IFERROR(…/E17,"")(自動)
直接還元法‗費用詳細版

個別費用が判明している場合の積み上げ方式。年額収入セル(E5:E9)は本シート独自に 読み取りレントロール を自動参照(OER版とは別の参照)。 管理費・修繕費・損害保険料・固定資産税・水道光熱費・その他運営費用をユーザーが手入力すると、EGI→NOI→収益試算値まで独立して自動計算されます。

本シートはOERを使用せず、直接還元法_OER の入力値・計算値を一切参照しません。

D列(項目)E列(値)
貸室賃料収入(年額)=読み取りレントロール!…(自動)
共益費収入(年額)=読み取りレントロール!…(自動)
水道代収入(年額)=読み取りレントロール!…(自動算入)
駐車場収入(年額)=読み取りレントロール!…(自動算入)
その他収入(年額)=読み取りレントロール!…(自動算入)
総収入(年額)=SUM(E5:E9)(自動)
空室損失率← 手入力
貸倒損失率← 手入力
管理費・管理委託費← 手入力
修繕費← 手入力
損害保険料← 手入力
固定資産税・都市計画税← 手入力
水道光熱費← 手入力
その他運営費用← 手入力
資本的支出(年額)← 手入力
還元利回り← 手入力
運営費用合計 / EGI / NOI=自動計算
収益試算値=IFERROR(…/E16,"")(自動)
読み取りレントロール

PDF から抽出した区画データ・月計・年計。 空室区画の備考欄が自動的に「ユーザーが賃料等を入力可能」に設定されます。

部屋状態月額賃料備考
A101入居138,000
A102入居168,000
A103入居150,000
A201空室ユーザーが賃料等を入力可能
B101入居320,000
月計=SUM(C2:C6)月額合計
年計=C7*12年額合計

Local Web UIの画面 合成データ

以下はすべて合成サンプルデータ(examples/synthetic_rent_roll.pdf)から生成した内容です。 実レントロール・実テナント名・顧客情報は一切含みません。 上段はv0.5.2の実際の画面構成・実表示文言をもとに再構成した図解、下段はExcel生成後の実データ表示です。

http://127.0.0.1:8000/

revenue-kun

出力は収益試算Excelであり、鑑定評価ではありません。金額は「収益試算値」であり「収益価格」ではありません。 OCR・スキャンPDF・スマホ撮影には対応していません。ホスティング型SaaSとしては提供していません。

1. ファイルを選択 — synthetic_rent_roll.pdf / Preview

2. プレビュー結果 — 区画数: 3 稼働: 2 / 空室: 1

部屋状態賃料共益費水道代収入駐車場収入その他収入
101入居80,0005,0002,00010,0000
102入居92,0005,0002,00001,500
201空室-----

付帯収入(総収入へ自動算入) — 水道代収入・駐車場収入・その他収入は、抽出されると選択操作なしで総収入(GPI)へ自動算入されます。

GPI(潜在総収入・年額): 2,370,000 円

3. Excel生成・ダウンロード — 「Generate Excel」で direct_cap.xlsx を生成します。空室損失率・OER・個別費用・還元利回り等はダウンロード後のExcelで入力します。

直接還元法_OER
生成されたExcelの直接還元法_OERシート(収入項目・前提条件入力欄・収益試算値の計算結果、判断値セルは未入力)

direct_cap.xlsx の収益試算サマリーシート(OER方式)です。収入は自動算入済み、判断値はユーザーが手入力します。

直接還元法‗費用詳細版
D列(項目)E列(値)
貸室賃料収入2,064,000
共益費収入120,000
水道代収入48,000
駐車場収入120,000
その他収入18,000
総収入(年額)2,370,000
空室損失率(未入力)
貸倒損失率(未入力)
管理費・修繕費・損害保険料・固定資産税・水道光熱費・その他運営費用(未入力)
資本的支出(年額)(未入力)
還元利回り(未入力)
収益試算値(還元利回り未入力のため空欄)

個別費用を積み上げる方式のシートです。収入セルは直接還元法_OERとは別に本シート独自で読み取りレントロールを参照し、判断値・計算結果も互いに一切参照しません(完全独立計算)。

読み取りレントロール
生成されたExcelの読み取りレントロールシート(区画ごとの賃料・共益費・付帯収入・月計・年計)

抽出した区画データと月計・年計を確認できます。テナント名は含まれません。

※ 上段のLocal Web UI画面は、実際のテンプレート表示文言とexamples/synthetic_rent_roll.pdfの実データをもとに構成した図解です(写真的なスクリーンショットではありません)。

使い方の流れ

  1. 1
    CLI で --excel-output を実行
    レントロール CSV または text-based PDF のパスを指定して実行します。
  2. 2
    読み取りレントロールシートで抽出値を確認
    欠損セルがある場合は missing_info.md と照合して確認します。
  3. 3
    空室区画の想定賃料等を手入力
    空室行の備考に「ユーザーが賃料等を入力可能」と表示されます。賃料・共益費を入力してください。
  4. 4
    費用詳細版シートに費用明細を入力
    管理費・修繕費・損害保険料・固定資産税等を年額で入力します。
  5. 5
    OER シートで仮定値を入力
    空室損失率・貸倒損失・経費率・資本的支出・還元利回りを入力します。
  6. 6
    収益試算値を確認・専門家にレビュー依頼
    出力は収益試算値です。正式な鑑定評価・投資判断・法律的判断には専門家への確認が必要です。

利用方法

revenue-kunの利用形態は、ローカルWeb UIローカルCLIDocker、 そしてClaude Code / Codex向けSkillです。 いずれもローカル実行専用で、ホスティング型SaaSではありません。 Skillはリポジトリ内に収録していますが、Skillマーケットプレイスでは公開していません。

🖥️

ローカルWeb UI(推奨)

ブラウザからレントロールをアップロードし、抽出結果・付帯収入をpreviewしたうえで direct_cap.xlsx をダウンロードできます。

Docker なし
python -m pip install -r requirements-web.txt
python -m uvicorn webui.app:app --host 127.0.0.1 --port 8000
Docker あり
docker build -f Dockerfile.web -t revenue-kun-web .
docker run --rm -p 127.0.0.1:8000:8000 revenue-kun-web

ブラウザで http://127.0.0.1:8000 を開きます。ホスト側は 127.0.0.1(ループバック)のみにbindされ、インターネットには公開されません。

🐳

Docker対応CLI

Python環境を個別に構築せず、Dockerで再現可能なCLI実行環境を利用できます。 CSVまたはテキスト抽出可能なPDFから、直接還元法Excelワークブックを生成します。 詳細な実行手順はREADMEを参照してください。

⌨️

ローカルPython CLI

Python環境ではCLI(src/main.py)として実行できます。 CSVまたはテキスト抽出可能なPDFを入力し、Excelワークブックを生成します。 手順はREADMEを参照してください。

☁️

Claude Code / Codex 向け Skill(補助的な利用形態)

リポジトリ内に Claude.ai / Cowork向けSkillskill/)と Codex向けSkill.agents/skills/revenue-kun/)の両方を収録しています。Skillマーケットプレイスでは未公開です。

Claude Code または Codex 上で「revenue-kunを起動して」「Web UIを開いて」等と依頼すると、Local Web UIを起動する構成になっています。 revenue-kun自体が自律的に判断・実行するAIエージェントというわけではなく、あくまでClaude Code / CodexのSkillからコマンドを起動・実行できる、という位置づけです。

起動コマンド
python -m uvicorn webui.app:app --host 127.0.0.1 --port 8000

起動前に /healthz で既存プロセスの有無を確認し、起動済みの場合は重複起動せず既存プロセスを再利用します。 127.0.0.1 限定bindで、ホスティング型SaaSではありません。 空室損失率・経費率・還元利回り等は、出力された Excel にユーザーが手入力します。Claude / Codex は値を提案しません。

⚠ 合成サンプルデータで動作確認済みに加え、非公開の実務レントロールPDF3件でCLIおよびLocal Web UIからの抽出・Excel生成を確認済みです。 ただし、評価した3件は同一ベンダー系または近似テンプレートとみられます。テンプレート多様性の検証はIssue #21で継続中です。 「実務PDF全般で検証済み」「あらゆるレントロールに対応」という意味ではありません。 Claude Skill マーケットプレイスへの公開は未定で、リリース済みとは表記しません。

v0.5.2では、メインテスト401件・Skillテスト7件が成功しています。Docker環境でLocal Web UIのbuild・起動・/api/preview/api/generate・Excel出力も確認済みです。詳細は Release Notes を参照してください。

Excel で編集できる箇所

読み取りレントロール

  • 空室区画の月額賃料
  • 月額共益費
  • 月額水道光熱費
  • 月額駐車場
  • 月額その他収入

直接還元法‗費用詳細版

  • 管理費・管理委託費
  • 修繕費
  • 損害保険料
  • 固定資産税・都市計画税
  • その他費用

直接還元法_OER

  • 空室損失率(E13)
  • 貸倒損失率(E14)
  • 経費率・運営費用率(E15)
  • 資本的支出・年額(E16)
  • 還元利回り(E17)

入力後、EGI・NOI・収益試算値が自動計算されます

⚠ 制限事項

制限 内容
OCR / スキャン PDF 対象外。text-based PDF のみ(pdfplumber による抽出)。
qualifying real-world PDF 非公開の実務レントロールPDF3件(同一ベンダー系または近似テンプレートとみられる)でCLI・Local Web UIからの抽出・Excel生成を確認済み。 テンプレート多様性の検証はIssue #21で継続中。
複雑な結合セル・複数ページにまたがる複雑な表の結合 対象外。現バージョンの抽出スコープ外です。
鑑定評価 対象外。出力は「収益試算値」であり「収益価格(鑑定評価額)」ではありません。
投資助言・法律助言・税務助言 提供しません。正式な判断には専門家に確認してください。
欠損の自動補完 実施しません。欠損は missing_info.md に記録します。ユーザーが確認・入力してください。
ホスティング型SaaS / 認証 / 複数ユーザー対応 対象外です。ローカルWeb UIはローカル実行専用(127.0.0.1 のみにbind)で、 ユーザーアカウント・認証・永続保存はありません。
スマートフォン撮影画像 対象外です。CSVおよびテキスト抽出可能なPDFのみに対応しています。

GitHub で確認・試す

GitHub リポジトリ

ソースコード・README・ライセンス(Apache 2.0)を確認できます。

リポジトリを見る

v0.5.2 リリースノート(最新)

v0.5.2は、OER版・費用詳細版を独立計算化し、経常的な付帯収入の自動算入へ切り替えたリリースです。ローカルWeb UI MVPはv0.5.0で追加されたものです。

Release v0.5.2 を見る

README / Quick Start

ローカルWeb UI(Docker あり/なし)とCLIのQuick Startは README にまとまっています。 合成サンプルの examples/synthetic_rent_roll.pdfdata/sample_rentroll_simple.pdf で動作確認できます。

README で手順を見る

検証に参加する

qualifying real-world text-based rent roll PDF をお持ちの方との 協調検証を募っています(Issue #21)。

Issue #21 を見る

免責事項 / Disclaimer

本ツールは不動産鑑定評価ではありません。出力される金額は「収益試算値」であり、 鑑定評価による「収益価格」ではありません。欠損項目は推測補完しません。 正式な鑑定評価・価格判断・投資判断・法律的判断が必要な場合は、 不動産鑑定士・弁護士・税理士その他の専門家に確認してください。 非公開の実務レントロールPDF3件(同一ベンダー系または近似テンプレートとみられる)について、CLIおよびLocal Web UIからの抽出・Excel生成を確認済みです。 テンプレート多様性の検証はIssue #21で継続しています。


This tool is not a real estate appraisal. All output values are revenue estimates (収益試算値) and do not constitute appraised values (鑑定評価額). Missing items are not automatically filled in. For formal appraisal, pricing decisions, investment decisions, or legal / tax advice, consult a qualified professional. Extraction and Excel generation have been confirmed against three non-public real-world text-based rent roll PDFs (likely from the same or similar vendor templates); evaluation against a wider range of templates is ongoing under Issue #21.