担当: うーぱん(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 が現金で立替」「収入証紙を現金購入した」等の稀なケースに備えた設置です。 空のままでも構造上の問題はありません。
「印紙代を 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
クレカ明細 理由選択(クレカ明細選択時のみ表示)
クレカ明細を証憑として使用する理由を選択してください:
選択した文言がスプシ K 列(備考)に自動入力される。CEO / スタッフによる事後手動編集も可。
理由選択後、ファイル添付 →
クレカ明細を証憑として使用する理由を選択してください:
[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/ はしばらく保全してから削除7. 法的根拠まとめ
注意: 税務・法令判断は税理士領域です。うーぱんは運用設計のみ担当。最終確認は税理士経由(CEO 経由)で実施してください。
電子帳簿保存法(2024.1〜義務化)
電子取引で受領したデータは、紙に印刷せず電子のまま保存する義務があります。 今回の「電子証憑 / 紙証憑」フォルダ区分は、この要件に直接対応します。
電子取引で受領したデータは、紙に印刷せず電子のまま保存する義務があります。 今回の「電子証憑 / 紙証憑」フォルダ区分は、この要件に直接対応します。
インボイス制度への対応
コネクトエイトは簡易課税のため、領収書 / 請求書のフォルダ別運用は不要です。 ファイル名のサフィックス(
コネクトエイトは簡易課税のため、領収書 / 請求書のフォルダ別運用は不要です。 ファイル名のサフィックス(
_電子領 / _電子請 等)で種別を識別する方式で十分です。
クレカ明細の証憑代替運用
クレカ明細単体では適格請求書(インボイス)になりません。
クレカ明細単体では適格請求書(インボイス)になりません。
_クレカ明細 サフィックスを使う場合は、
Freee 登録時の備考欄に「証憑紛失・再発行不可」「カード会社請求書を代替として使用」等を明記することを推奨します。
| 論点 | 対応方針 | 判断者 |
|---|---|---|
| 電帳法:電子保存義務 | 電子証憑フォルダで分離保存 → 法的要件を構造で担保 | うーぱん(運用設計) |
| インボイス:適格請求書の判定 | 触らない(税理士領域) | 税理士(CEO 経由) |
| クレカ明細の証憑代替可否 | 備考欄記入を推奨するが、最終判断は税理士 | 税理士(CEO 経由) |
| 簡易課税の計算方法 | 触らない(税理士領域) | 税理士(CEO 経由) |
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 実機テスト記録セクション新設、既知残課題セクション追加。 | 稼働中 |