⚠️ 内部資料 / 社外配布禁止 / 画面共有・スクショ・印刷時注意
[稼働中 v1.0] CEO 実機テスト通過— 2026-05-28 正式版。Discord / Telegram テスト全件通過、本番稼働中
04_workflows / upan — A10 社内経理

A10 証憑フォルダ構造刷新 設計書

案 A(CEO 実機テスト通過)— 作成: うーぱん / 監修: 秋山 / 日付: 2026-05-28 / v1.0 正式版: 2026-05-28
担当: うーぱん(A10 社内経理) / 監修: 秋山(統括) / 実装: トラジ(移行スクリプト)
【稼働中 v1.0】 CEO 実機テスト(2026-05-28)通過済み。フォルダ構造・スクリプト・スプシ連携すべて本番稼働中。 新 8 フォルダ(代表立替 4 + 会社支払 4)は USE_NEW_ROUTE_MAP=True フラグ ON で運用中。移行完了。

1. 改訂背景

現状の課題

現行の証憑フォルダは 01〜10 の 10 フラット構造でした。CEO 一人での運用は成立していましたが、 スタッフへの委譲を検討すると以下の問題が顕在化しました。

  • 操作負荷が高い — どのフォルダに何を入れるか、スタッフが番号から意味を推測しにくい
  • 電帳法 2024.1〜 対応が不明確 — 「電子受領か紙受領か」の区分が構造に現れていない
  • スタッフ投入口が未整備 — スタッフが Drive に直接ドロップする導線がない

刷新の狙い

1
電帳法対応の明示化 — 電子証憑 / 紙証憑 を最上位区分にすることで、法的保存要件を構造で担保
2
スタッフ委譲可能な直感的命名 — 「代表立替」「会社支払」という業務語で分類し、番号依存をなくす
3
Freee 自動仕訳精度の維持 — 通信費(月次)・公租公課の専用フォルダは、特殊勘定の精度担保のため存続
4
合計フォルダ数を削減 — 10 フォルダ → 8 フォルダへ(代表立替 4 + 会社支払 4)

2. 新フォルダ構造(案 A)

CEO 承認済みの最終フォルダ構成です。

証憑/ ├── 代表立替/ │ ├── 電子証憑/ ← _電子領, _電子請, _電子その他, _クレカ明細 │ ├── 紙証憑/ ← _紙領, _紙請, _紙その他 │ ├── 通信費(月次)/ ← 印紙代立替・証明書現金立替等の稀ケース用 │ └── 公租公課/ ← 税金・社会保険料の代表者立替 └── 会社支払/ ├── 電子証憑/ ├── 紙証憑/ ├── 通信費(月次)/ ← Anthropic, ZOOM, Google Workspace 等 9 社 └── 公租公課/
親フォルダ 子フォルダ 主な用途 使用頻度
代表立替 電子証憑/ CEO が電子受領した領収書・請求書・クレカ明細
紙証憑/ 紙レシートを写真化したもの
通信費(月次)/ 印紙代立替・証明書取得時現金立替(稀) 低(ほぼ空)
公租公課/ 税金・社会保険料の代表者立替(稀) 低(ほぼ空)
会社支払 電子証憑/ 法人クレカ・銀行振込で会社が直接支払った証憑
紙証憑/ 紙で受領した請求書・領収書の写真化
通信費(月次)/ Anthropic・ZOOM・Google Workspace 等の月次サブスク 高(定期)
公租公課/ 法人税・消費税・社会保険料等の納付証憑
代表立替側の通信費(月次)・公租公課は設置するが通常は空
「印紙代を CEO が現金で立替」「収入証紙を現金購入した」等の稀なケースに備えた設置です。 空のままでも構造上の問題はありません。

3. ファイル名サフィックス 9 種(拡張)

既存の 6 種を継承しつつ、今回の刷新で 3 種を新設します(NEW 表示)。 サフィックスがファイルの種別を一意に示す「タグ」として機能し、OCR・自動振分け・Freee 仕訳の精度を担保します。

サフィックス 用途 配置先 OCR / 検出キーワード
_電子領 電子受領の領収書 電子証憑/ 「領収書」「Receipt」「領収印」
_電子請 電子受領の請求書 電子証憑/ 「請求書」「Invoice」「INV」
_電子その他NEW 電子受領・種別判別不能 電子証憑/ 上記キーワード不一致時のフォールバック
_クレカ明細NEW クレカ明細を証憑代替(再発行不可時等)
UI 上は Step 2 で独立ボタンとして選択可能。
物理配置は常に 電子証憑/ 配下(フォルダ構造は変わらない)。
選択時に Step 2.5(理由選択)が表示され、選んだ文言がスプシ K 列(備考)に自動入力される。
OCR 自動判定(renamer.py)でも検出時に付与されるが、その場合は K 列は空・事後に手動追記。
電子証憑/
※ UI 上は独立選択
「ご利用明細」「カードご請求」「クレジット利用」+カード会社名
_紙領 紙レシート・領収書(写真化) 紙証憑/ OCR + mimetype: JPG/HEIC
_紙請 紙請求書 紙証憑/ OCR + mimetype: JPG/HEIC
_紙その他NEW 紙受領・種別判別不能 紙証憑/ フォールバック(mimetype: JPG/HEIC で紙と判断、種別不明)
_通信費(月次) 月次サブスク(Anthropic / ZOOM / Google Workspace 等 9 社) 通信費(月次)/ TSUSHINHI_MASTER_NAMES マスターリスト照合
_公租公課 税金・社会保険料 公租公課/ KOSOKOKA_KEYWORDS キーワード照合

サフィックス判定フロー(自動分類ロジック)

入力ファイル ↓ 【Step 1】mimetype 判定 ├─ PDF / PNG(スクリーンショット)→ 「電子受領」として扱う └─ JPG / HEIC(スマホ撮影)→ 「紙受領」として扱う ↓ 【Step 2】TSUSHINHI_MASTER_NAMES マッチ └─ ヒット → _通信費(月次)確定、以降の判定をスキップ ↓ 【Step 3】KOSOKOKA_KEYWORDS マッチ └─ ヒット → _公租公課確定、以降の判定をスキップ ↓ 【Step 4】OCR テキスト種別判定(電子 or 紙のどちらか確定後) ├─ 「領収書」「Receipt」「領収印」→ _電子領 or _紙領 ├─ 「請求書」「Invoice」「INV」→ _電子請 or _紙請 ├─ 「ご利用明細」「クレジット利用」→ _クレカ明細(電子のみ) └─ 不一致 → _電子その他 or _紙その他(フォールバック)

4. UI フロー(Discord / Telegram / Drive 直投入)

改訂 2 変更点: Step 2 の選択肢を 4 択 → 5 択に拡張。「クレカ明細」を独立ボタンとして追加。 「クレカ明細」選択時のみ Step 2.5(理由選択)が挿入され、備考(スプシ K 列)が自動入力される。 フォルダ物理構造(8 フォルダ)は変更なし。

Discord /upload — CEO 専用(最大 3.5 ステップ)

1
支払元選択
[代表立替] / [会社支払]
2
証憑種別選択(5 択)
[電子証憑] / [紙証憑] / [クレカ明細] / [通信費(月次)] / [公租公課]
「クレカ明細」を選んでもファイルは物理的に 電子証憑/ 配下に格納される。ファイル名サフィックスが _クレカ明細 になるのみ。
「クレカ明細」以外を選んだ場合 → ファイル添付 → /done で Step 3 へ進む。
↓(「クレカ明細」選択時のみ)
2.5
クレカ明細 理由選択(クレカ明細選択時のみ表示)
クレカ明細を証憑として使用する理由を選択してください: [1] 証憑紛失・販売元への再発行依頼不可(クレカ明細を証憑とする)
[2] 販売元方針により領収書発行なし(クレカ明細を証憑とする)
選択した文言がスプシ K 列(備考)に自動入力される。CEO / スタッフによる事後手動編集も可。
理由選択後、ファイル添付 → /done で Step 3 へ進む。
3
取引判断(2 枚以上の時のみ表示)
[📋 個別取引(separate)] — 1 ファイル = 1 取引
[📦 同取引(bundle)] — 複数ファイルを 1 取引としてフォルダにまとめる
bundle モードの挙動
ファイル名と同名のフォルダを自動生成し、#1, #2, ... 連番で格納します。スプシは T 列にフォルダ名 /、U 列にフォルダ URL を記録します。

Telegram /upload — CEO 専用(数字選択式)

Discord のボタン UI が使えないため、数字入力で同等のステップを実施します。「クレカ明細」選択時のみ Step 2.5 が挿入されます。

ステップ 1: 支払元を選んでください 1 → 代表立替 2 → 会社支払 ステップ 2: 証憑種別を選んでください 1 → 電子証憑 2 → 紙証憑 3 → クレカ明細 ← 今回追加 4 → 通信費(月次) 5 → 公租公課 (3 を選んだ場合のみ)ステップ 2.5: 理由を選んでください 1 → 証憑紛失・販売元への再発行依頼不可(クレカ明細を証憑とする) 2 → 販売元方針により領収書発行なし(クレカ明細を証憑とする) → 選択文言はスプシ K 列(備考)に自動入力 (2 枚以上の場合)ステップ 3: 取引をどう扱いますか? 1 → 個別取引(separate) 2 → 同一取引(bundle)

スタッフ向け Drive 直投入口

投入先 Drive フォルダ ID 対象
立替 inbox 1Gp40Aus8357YvuCa_j4BrhW5WlXvksL_ スタッフが立替した証憑
会社 inbox 1UiIb785YVmoc4BumwkreKqbA59WFOaZC 会社支払の証憑
  • スタッフは Drive にファイルをドロップするだけ(フォルダ選択不要)
  • 5 分おきポーラーが inbox を監視し、dedup 二段ガードを経由して自動処理
  • スタッフ投入は常に separate(個別取引)扱い。bundle 機能は CEO の /upload 専用

5. 命名規約サンプル

フォーマット

<YYYYMMDD>_<金額>_<取引先>_<支払元略称>_<サフィックス>.<ext> 支払元略称: 「立替」 or 「会社」

個別取引(separate)— クレカ明細以外

代表立替/電子証憑/ 20260528_¥3300_DAISO_立替_電子領.pdf 会社支払/紙証憑/ 20260528_¥5500_某事務所_会社_紙その他.jpg 会社支払/通信費(月次)/ 20260430_$110_Anthropic_会社_通信費(月次).pdf 代表立替/公租公課/ 20260528_¥4000_印紙_立替_公租公課.jpg

クレカ明細サンプル(Step 2.5 備考自動入力付き)

クレカ明細はファイル名サフィックスが _クレカ明細 になるだけで、物理的には 電子証憑/ 配下に格納されます。 Step 2.5 で選んだ理由文言がスプシ K 列(備考)に自動入力されます。

【ケース 1】販売元方針により領収書発行なし 代表立替/電子証憑/ 20260528_¥3300_某飲食店_立替_クレカ明細.jpg → スプシ K 列: "販売元方針により領収書発行なし(クレカ明細を証憑とする)" 【ケース 2】証憑紛失・再発行不可 会社支払/電子証憑/ 20260601_¥8800_某 EC サイト_会社_クレカ明細.pdf → スプシ K 列: "証憑紛失・販売元への再発行依頼不可(クレカ明細を証憑とする)" 【ケース 3】OCR 自動判定で _クレカ明細 が付与された場合 会社支払/電子証憑/ 20260528_$94.28_Anthropic_会社_クレカ明細.pdf → スプシ K 列: (空)← Step 2.5 を経由していないため空。事後に手動追記する運用。

同一取引(bundle)

会社支払/電子証憑/20260528_$94.28_Anthropic_会社_クレカ明細/ ├── 20260528_$94.28_Anthropic_会社_クレカ明細_#1.pdf ├── 20260528_$94.28_Anthropic_会社_クレカ明細_#2.pdf └── 20260528_$94.28_Anthropic_会社_クレカ明細_#3.jpg スプシ記録: T 列(ファイル名/フォルダ名): 20260528_$94.28_Anthropic_会社_クレカ明細/ U 列(Drive URL): https://drive.google.com/drive/folders/<フォルダ ID> K 列(備考): "証憑紛失・販売元への再発行依頼不可(クレカ明細を証憑とする)"

6. 既存 PDF 移行計画

移行スクリプト 実装完了(トラジ)。新 8 フォルダへの移行済み。USE_NEW_ROUTE_MAP=True で本番稼働中。
項目 内容
移行元 01〜10 フォルダ
移行先 新 8 フォルダ(代表立替 4 + 会社支払 4)
ファイル名 変更なし(既存サフィックスで振り分け先を決定)
スプシ T 列 URL 移行スクリプトが Drive ファイル ID を使って自動更新(ID は移動しても不変)
想定作業時間 約 1 時間
ロールバック 旧フォルダを _archive_legacy_structure/ 配下に移動して保全 → 問題発生時に復元可能

移行手順(概要)

1
旧フォルダ一式を _archive_legacy_structure/ に複製(バックアップ)
2
新 8 フォルダを Drive 上に作成(CEO が Drive UI で実施 or スクリプト自動生成)
3
旧 → 新へ Drive API で files.update(addParents, removeParents) 実行(ファイル ID 不変)
4
スプシ全行の T 列 URL を新フォルダ URL で一括更新
5
dedup_index.json をそのまま維持(Drive ファイル ID キーのため変更不要)
6
旧フォルダ内が空になったことを確認 → _archive_legacy_structure/ はしばらく保全してから削除

8. 影響範囲・リスク

コンポーネント 影響 対応 リスク
dedup_index.json Drive ファイル ID がキーのため変更不要 そのまま維持
スプシ T 列 URL フォルダ移動で URL が変わる 移行スクリプトで自動更新
LaunchAgent ポーラー 投入口 ID(inbox フォルダ ID)が変わらなければ無影響 旧 _inbox/ も当面並走
discord_finance_handler.py Step 1/2 の選択肢・振分け先フォルダ ID を更新済み 移行完了
telegram_finance_handler.py 同上 移行完了
run_pipeline.py フォルダ ID マッピング更新済み(USE_NEW_ROUTE_MAP=True) 移行完了
スタッフ Drive 権限 立替 inbox / 会社 inbox への編集者権限付与が必要 CEO が Drive UI で設定(別途検討)
旧フォルダ内ファイル 全て新フォルダへ移動完了 移行完了(_archive_legacy_structure/ に退避済み)

実装完了記録(v1.0 時点)

1
CEO 承認 — 完了(設計承認 + 実機テスト通過 2026-05-28)
2
Drive 新フォルダ作成 — 完了。8 フォルダ作成済み(drive_folder_ids.json 参照)
3
移行スクリプト実装(トラジ) — 完了。旧 → 新ファイル移動 + スプシ T 列 URL 更新済み
4
ハンドラ更新(トラジ) — 完了。discord_finance_handler / telegram_finance_handler / run_pipeline すべて新フォルダ ID に更新済み
5
動作確認(CEO 実機テスト) — 完了。2026-05-28 Discord 3 件・Telegram 1 件通過
6
スタッフ展開(CEO 判断) — 今後。CAC サーバー在籍経理スタッフへの Drive 権限付与(別途 CEO 判断)

新フォルダ ID 参考(drive_folder_ids.json より)

フォルダ名Drive フォルダ ID
証憑_代表立替1BNRJy-2a4aHlWtt22Vr8QHKSHZTLsdMt
証憑_代表立替_電子証憑1erQbp4IeuDcdrOxqohCeAz-MqpUjv65C
証憑_代表立替_紙証憑1wPTelyxoNYbghGU4DWJE_lAhPZZpmZhg
証憑_代表立替_通信費月次1So2CdGO8LBTzchJE2lMvuFPH2yCjz_Ve
証憑_代表立替_公租公課1Gs9lAdJ34esg11EawtFR_kqq_qzhHiBm
証憑_会社支払1QlyAoMNRnhhOwiSiLXWlRGcN3ojhoSeZ
証憑_会社支払_電子証憑1-fmpg91xKLZrmyns5bDGEl6oz_I4iNtl
証憑_会社支払_紙証憑1mzLnhOCsKpfTjp5BSXLtsJv1rEM9m-ou
証憑_会社支払_通信費月次1GWkx_LbAjgrXkmq514FkIB_I6f0O4Vu8
証憑_会社支払_公租公課1Wm78rVG_PurO7kQwMWCyQkwa0IzZ11m6
_INBOX_代表立替1Gp40Aus8357YvuCa_j4BrhW5WlXvksL_
_INBOX_会社支払1UiIb785YVmoc4BumwkreKqbA59WFOaZC
ロールバック手順
移行スクリプト実行前に旧フォルダ一式を _archive_legacy_structure/ へ複製します。 問題発生時は Drive の「ファイルを戻す」または _archive_legacy_structure/ から逆移動スクリプトを実行することで元の状態に復元できます。 Drive ファイル ID は移動しても変わらないため、Freee 側の証憑リンクは自動で追従します。

CEO 実機テスト記録

2026-05-28 — CEO による実機テスト全件通過。本番稼働を確認済み。
日時 チャンネル 操作 結果
2026-05-28 13:18 Discord ZOOM 請求書 3 件 / [会社支払] → [通信費月次] → separate モード 成功
2026-05-28 13:22 Telegram 公租公課 PDF 再アップ / [会社支払] → [公租公課] → 1 件アップ 成功

既知の残課題

以下は v1.0 稼働時点の残課題。機能を損なうものではなく、UX 改善・誤検出対応が主体。 別タスクとして順次対応予定。
課題 概要 担当 優先度
勘定科目ステップ skip 公租公課 / 通信費月次 選択時、勘定科目選択ステップが省略されずに表示される UX 問題 トラジ(進行中)
GoogleWorkspace 誤検出 KNOWN_USD_VENDORS リストによる USD 判定で Google Workspace が誤検出(テスト 2 件失敗、別件で発覚) トラジ
bundle レビュー画面 フォルダ修正 UI bundle モード時、フォルダ選択を事後修正できる UI が未実装。現状は再アップで対応 トラジ(将来対応)

版歴・承認状況

日付 バージョン 内容 ステータス
2026-05-28 v0.1 DRAFT 初版作成(うーぱん) 承認待ち
2026-05-28 v0.2 DRAFT 改訂 2 CEO レビュー追加仕様を反映: Step 2 を 4 択 → 5 択に拡張(「クレカ明細」独立ボタン追加)、 Step 2.5(理由選択 2 択)追加、 スプシ K 列(備考)自動入力仕様追加、 OCR 自動判定との関係明記 承認待ち
2026-05-28 v1.0 正式版 改訂 3 CEO 実機テスト通過、稼働開始。DRAFT バナー削除、ステータスを稼働中に変更。 新 8 フォルダ ID 参考情報追加、影響範囲表を「移行完了」に更新。 CEO 実機テスト記録セクション新設、既知残課題セクション追加。 稼働中