Oracle3
Open-source trading engine and MCP server for prediction markets. Fee-aware no-arbitrage trading across related contracts, live on Kalshi, Polymarket and Solana or on paper.
総合振込・給与振込のExcel・CSV・PDFを全銀フォーマット(FBデータ)に変換するWebアプリ。登録・インストール不要で、振込データはブラウザ内だけで処理。1回20件まで無料。作成したファイルを法人向けネットバンキングに取り込んで利用します。
Translation pending
FinanceHTML · JavaScriptGitHub @studio8080OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
全銀ポン: Excel/CSV/PDF の振込一覧を全銀フォーマット(FBデータ)に変換する Web ツール。変換はブラウザの中だけ。企画・開発: ここ企画
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
作成: 2026-09-03。Excel / CSV / PDF の振込一覧を全銀協フォーマット(FBデータ)に変換し、 ネットバンキングにそのまま取り込めるようにするWebツール。ブラウザ内だけで処理する。 このリポジトリには 計画(このファイル) と 動くMVP(index.html + src/)が入っている。 🚀 公開・販売開始のためにあなたが手を動かす作業は docs/launch-checklist.md にまとめてある。 DNS・特商法・Stripe・秘密鍵のバックアップ・Search Console。上から順に進めれば公開できる。 作業の決まりごとは AGENTS.md、集客と認知の計画は docs/growth-plan.md、 検索・AI検索まわりの点検記録は docs/seo-ai-audit.md、法令の確認メモは docs/compliance-check.md。Read the full README ↗
作成: 2026-09-03。Excel / CSV / PDF の振込一覧を全銀協フォーマット(FBデータ)に変換し、 ネットバンキングにそのまま取り込めるようにするWebツール。ブラウザ内だけで処理する。
このリポジトリには 計画(このファイル) と 動くMVP(index.html + src/)が入っている。
🚀 公開・販売開始のためにあなたが手を動かす作業は
docs/launch-checklist.mdにまとめてある。 DNS・特商法・Stripe・秘密鍵のバックアップ・Search Console。上から順に進めれば公開できる。作業の決まりごとは
AGENTS.md、集客と認知の計画はdocs/growth-plan.md、 検索・AI検索まわりの点検記録はdocs/seo-ai-audit.md、法令の確認メモはdocs/compliance-check.md。
zengin-pon/
index.html 画面(4ステップのウィザード: ファイル → 列の確認 → 振込元 → 確認・DL)
style.css
config.js 公開設定(Google連携のクライアントID等。秘密情報は置かない)
src/zengin.js 変換エンジン(依存なし・Node/ブラウザ両用)
src/organize.js 表の自動整理(見出し推定・結合セル分解・値の形からの列推定・合計行除外)
src/dict.js 金融機関辞書の読み込み+名前→コードの逆引き
src/gsheets.js Googleスプレッドシート連携(Picker + drive.file + Drive export)
src/app.js 画面ロジック(SheetJS / pdf.js は CDN)
src/license.js Proライセンスの検証と自動更新(Ed25519 公開鍵)
src/holidays.js 銀行休業日の判定
src/site.js メニューの開閉とアクセス解析の読み込みだけ(ヘッダー/フッターは HTML に静的に埋め込む)
src/tool-yucho.js 無料ツール: ゆうちょ 記号番号の変換
src/tool-kana.js 無料ツール: 口座名義のカナ変換
zengin-format.html 全銀フォーマットの仕様解説(検索の入口)
free-tools/ 無料ツール(ゆうちょ変換・名義カナ変換)
legal.html about.html accessibility.html 法令上の位置づけ/運営者情報/アクセシビリティ方針
llms.txt robots.txt .well-known/security.txt AI・検索・脆弱性報告むけの案内
tools/site-template.js 共通部品(メニュー、フッター、OGP、Organization)
tools/build-site.js 共通部品の埋め込み+ sitemap.xml の生成(--check で埋め込み忘れを検出)
tools/build-bank-pages.js 銀行コードのページ 1,146枚の生成
tools/indexnow.js 公開後に Bing 系へ更新を通知
functions/ Stripe Webhook とライセンス更新API(Firebase・codebase "zenginpon")
docs/launch-checklist.md 公開までの手作業
test/organize.test.js 自動整理のテスト(5件)
test/license.test.js ライセンス発行と検証のテスト(4件)
data/banks.json 金融機関辞書(tools/build-dict.js で生成、元は zengin-code)
data/branches/ 銀行ごとの支店一覧(必要な分だけ取得)
data/merged.json 統廃合の旧→新コード表(手で管理)
data/history/ 金融機関・支店の統廃合・改称・番号の振り直しの履歴(tools/build-history.js で生成。2015年〜)
tools/build-history.js zengin-code/source-data の git 履歴を比べて data/history/ を作る(全履歴の clone が必要)
tools/verify_zengin.py 全銀ファイルを1バイトずつ検査する独立した検査器
tools/make_input_samples.py 入力形式ごとの検証用ファイル(samples/formats/)を作る
test/robust.test.js / test/dict.test.js 書き方の揺れ・銀行名と支店名の照合のテスト
tools/build-dict.js 辞書ビルド。DICT_VERSION=YYYY-MM-DD node tools/build-dict.js [source-data dir]
.github/workflows/update-dict.yml 毎月の辞書自動更新PR
test/zengin.test.js node test/zengin.test.js で実行(12件)
samples/ 総合振込・給与振込のサンプルCSV
ローカル起動: python -m http.server 8877 (このディレクトリで)→ http://127.0.0.1:8877/ (8765 と 8790 は別プロジェクトが使用)
テスト: node test/zengin.test.js / node test/organize.test.js / node test/license.test.js
| 区分 | 例 | 所感 |
|---|---|---|
| クラウド給与・会計 | freee, マネーフォワード, 弥生, ジョブカン, SmartHR | FBデータ標準対応。ここのユーザーは買わない |
| ネット銀行 | 楽天, 住信SBI, GMOあおぞら, PayPay, auじぶん | CSV直接取込あり。全銀形式不要 |
| 銀行提供ツール | 各行のExcel雛形・変換マクロ | 無料だが自行専用・古い・Mac不可が多い |
| フリーソフト/Excelマクロ | Vector等の全銀変換マクロ | 無料〜数千円。更新停止・マクロ警告・サポートなし |
| 有料単機能ツール | 数千円買い切り〜月額数百円のFB作成ソフト | 少数。Windowsインストール型が主流。Web完結型は少ない |
| Web完結・無料 | 総合振込.jp | 本企画と同じ発想(Excel→FBデータ、ブラウザ内処理、4ステップUI)。無料・広告収益型(freee/MF/弥生のアフィリエイト)。給与・総合対応、xlsx/xls/csv、列名自動認識 |
総合振込.jp が無料で存在する意味(2026-09-03 確認)
ターゲット
価格(2026-09-10 確定。詳細は 3f)
| プラン | 価格 | 内容 |
|---|---|---|
| Free | ¥0 | 1回20件まで。登録不要 |
| Pro | ¥480/月払い または ¥4,800/年払い | 件数無制限、テンプレート保存、振込元プロファイル、履歴、バックアップ |
全レコード120バイト固定長。文字コードは JIS X 0201(Shift_JIS の1バイト部分)。
使える文字: 数字・英大文字・半角カナ・記号 ( ) - . / ¥ 「 」 ・空白。
濁点は分離(バ = ハ + ゙)。行末は CR+LF が一般的(銀行により「区切りなし」指定あり)。
| 項目 | 桁 | 型 | 内容 |
|---|---|---|---|
| データ区分 | 1 | N | 1 |
| 種別コード | 2 | N | 21=総合振込 11=給与振込 12=賞与振込 |
| コード区分 | 1 | N | 0=JIS |
| 振込依頼人コード | 10 | N | 銀行から付与される委託者コード |
| 振込依頼人名 | 40 | C | 半角カナ |
| 振込日 | 4 | N | MMDD |
| 仕向銀行番号 | 4 | N | |
| 仕向銀行名 | 15 | C | 空白可 |
| 仕向支店番号 | 3 | N | |
| 仕向支店名 | 15 | C | 空白可 |
| 預金種目 | 1 | N | 1=普通 2=当座 |
| 口座番号 | 7 | N | |
| ダミー | 17 | C | 空白 |
| 項目 | 桁 | 型 | 総合振込 | 給与・賞与振込 |
|---|---|---|---|---|
| データ区分 | 1 | N | 2 | 2 |
| 被仕向銀行番号 | 4 | N | ||
| 被仕向銀行名 | 15 | C | 空白可 | 空白可 |
| 被仕向支店番号 | 3 | N | ||
| 被仕向支店名 | 15 | C | 空白可 | 空白可 |
| 手形交換所番号 | 4 | N | 空白 | 空白 |
| 預金種目 | 1 | N | 1/2/4/9 | 1/2 のみ |
| 口座番号 | 7 | N | ||
| 受取人名 | 30 | C | 半角カナ | 半角カナ |
| 振込金額 | 10 | N | ||
| 新規コード | 1 | N | 0/1/2 | 0/1/2 |
| (21)顧客コード1 / (11,12)社員番号 | 10 | N | ||
| (21)顧客コード2 / (11,12)所属コード | 10 | N | ||
| (21)振込指定区分 | 1 | N | 7=電信 8=文書 | — |
| (21)識別表示 | 1 | C | Y=EDIあり | — |
| ダミー | 7 / 9 | C | 空白 | 空白 |
8 + 合計件数(6) + 合計金額(12) + 空白(101)9 + 空白(119)Zengin.toZenginChars)カ)、末尾は (カ、中間は (カ)。営業所→(エイ、出張所→(シユツ-、「¥」「\」→ ¥8、普通、口座番号 = 番号の末尾「1」を除く7桁9、当座、口座番号 = 番号を7桁0埋め全銀フォーマットで銀行が見るのは 銀行コード(4桁)と支店コード(3桁) だけ。銀行名・支店名の欄は 任意で、ほとんどの銀行がコードから自動で補う。だから統廃合で名前が変わっても、コードが正しければ通る。 問題になるのは コード自体が変わる/廃止される ケースで、これは「辞書」で検知するしかない。
data/)tools/build-dict.js で data/banks.json(全行)と data/branches/XXXX.json(支店、必要な銀行分だけ読む)に変換して同梱。.github/workflows/update-dict.yml が毎月2日に最新版を取得し、
差分があれば PR を作る。マージすれば GitHub Pages に反映される。画面の下部に「金融機関一覧: YYYY-MM-DD 版」と出る。| 状況 | 画面の扱い | 出力 |
|---|---|---|
| コードが辞書にある | 銀行名・支店名を表示。空欄なら辞書のカナで補完(オプションで停止可) | 出力できる |
| 銀行コードが辞書にない | 「確認」(黄): 統廃合か入力ミスの可能性 | 出力できる(銀行で弾かれる可能性を明示) |
| 支店コードがその銀行の一覧にない | 「確認」(黄) | 出力できる |
data/merged.json に旧コードとして登録済み | 「確認」(黄): 新コードと切替日、支店番号の扱いを表示 | 出力できる |
| 桁数不正・空欄・使えない文字 | 「エラー」(赤) | 出力できない |
警告を「出力不可」にしない理由: 辞書の更新が銀行の変更より遅れることがあるため。 最終判断は銀行側のチェックに委ね、こちらは「気づかせる」役に徹する。
data/merged.json に「旧→新、切替日、支店番号の扱い(引き継ぎ/再採番)」として手で追記する。
これで旧コードのままの Excel を持ち込んだ利用者に「新コード XXXX に直してください」と案内できる。tools/ に追加する。データ形式は同じにしてあるので差し替えは容易。src/organize.js)前提: 利用者のExcelは全銀の項目順になっていない。AIは使わず、全部ルールで整理する(2026-09-03 決定: AI API・クラウドOCR・AIによる誤入力判定は使わない。データを外に出さない設計と、判定の再現性を優先)。
| 起きること | 対応 |
|---|---|
| 見出しが2行目以降、タイトル行が上にある | 見出し語の一致数と「数値が無い行」で見出し行を採点して選ぶ。手動で行を選び直せる |
| 見出しが無い | 値の形(4桁/3桁/5〜8桁/金額/カナ/漢字名/銀行文字列/支店文字列/普通・当座)で各列を判定して割り当てる。画面に「推定」バッジ |
| 見出しがあっても中身が違う(「銀行」列に銀行名) | 見出し一致でも値の形が矛盾する列は採らない |
1セルに複数項目(0005-001、普通 1234567、三菱UFJ銀行 渋谷支店、山田太郎(ヤマダタロウ)) | 6割以上の行で同じ分解ができる列は「元→項目」という仮想列に分けて右に追加する |
| 銀行コードが無く銀行名しかない | 金融機関辞書で名前→コードを逆引き(「信用金庫」等の語でコード帯を絞る。候補が複数なら「確認」で提示) |
| 支店コードが無く支店名しかない | 同じく支店一覧から逆引き |
| 合計・小計行 | 「合計」等の語、または名義も口座も無く金額だけの行を除外 |
| 口座番号と金額の区別(どちらも数字だけ) | 先頭0や7桁固定なら口座番号、下2桁00が多ければ金額。見出しがあればそちらが優先 |
限界: 縦持ち(1人1ブロック)の表や、1セルに3つ以上の自由記述が混ざるものは対象外。 推定は必ず画面で確認させる(「推定」バッジと「例」列)。同じ見出しのファイルは手直しを記憶する。
src/gsheets.js)「ピッカーで選んで直接読む」方式。仕組みは3ステップ。
drive.file(利用者が選んだファイルだけ触れる権限)のトークンを得るdrive.file の対象になるfiles.export で xlsx として取得し、いまの SheetJS 経路に流す通信は利用者のブラウザと Google の間だけ。自社サーバーは通らない。drive.file は非機密スコープなので Google の審査は不要。
必要な設定と手順は config.js の冒頭に書いた(GCPプロジェクト、Drive API / Picker API 有効化、OAuth同意画面、クライアントID、APIキー)。
未設定の間はボタンを押すと「ファイル→ダウンロード→Excel」の案内を出す。
| ページ | 役割 | SEO |
|---|---|---|
index.html | LP(ヒーロー→ツール本体→特徴→使い方→料金→FAQ抜粋) | 主キーワード「全銀フォーマット 変換」「FBデータ 作成 Excel」「給与振込 データ 作成」。SoftwareApplication 構造化データ |
guide.html | 使い方、銀行別の取込方法、注意事項 | 「BizSTATION 全銀 取込」等の銀行名×取込の検索 |
pricing.html | 3プラン+他手段との比較表+支払条件 | |
security.html | 送信しない仕組み、確認方法、保存情報、法令上の位置づけ、免責 | 情シス・士業の稟議用 |
faq.html | 40問(FAQPage 構造化データ) | ロングテール |
banks/index.html + banks/XXXX.html | 銀行コード・支店コード検索(1,146ページ、毎月自動更新) | 「○○銀行 △△支店 支店コード」検索の受け皿。最大の集客装置 |
terms.html privacy.html tokushoho.html 404.html | 規約類(noindex) | |
sitemap.xml robots.txt | data/ samples/ はクロール除外 |
共通ヘッダー・フッターは、2026-09-18 から tools/build-site.js が HTML に静的に埋め込む(下の 3g)。デザイントークンは style.css 先頭(ネイビー #14305c ×
オレンジ #ff7a1a、生成りの背景、Noto Sans JP)。イラストはインラインSVG(外部画像なし・軽量)。
AI生成のヒーロー画像や Figma での調整は、この構造の上に載せ替える前提。
| プラン | 価格 | 制限・内容 |
|---|---|---|
| Free | ¥0 | 1回20件まで、全機能、登録不要 |
| Pro | ¥480/月払い または ¥4,800/年払い | 無制限、テンプレート保存、履歴、バックアップ、振込元プロファイル複数、メールサポート、2台まで |
総合振込.jp(¥500/月・無料10行)より少し安く・無料枠を広く。事務所向けの別プランは作らない(2026-09-03 決定)。Pro に「振込元プロファイル複数」を含めて事務所需要も吸収する。 弊社はインボイス登録なし → 適格請求書は発行できない旨をサイトに明記。 未実装: 20件制限、ライセンスキー認証、テンプレート保存、履歴、バックアップ(Misefits の functions を流用して実装する)。
assets/ogp.png を作る(未作成)guide.html から独立ページに育てるサーバー不要の署名付きライセンスキーにした。Misefits の Firestore 方式より軽く、「通信しない」という売りとも整合する。
発行側(手元のPC) 利用者のブラウザ
tools/issue-key.js ── Ed25519 秘密鍵 ──▶ ZP1-<payload>.<署名> ──▶ src/license.js が公開鍵で検証 → localStorage に保存
~/.zengin-pon/license-private.pem payload = {v:1, p:"pro", e:"有効期限", id}
C:\Users\chaha\.zengin-pon\license-private.pem(リポジトリ外。失くすと発行できないのでパスワードマネージャーにも控える)。
公開鍵は src/license.js の PUBLIC_KEY。鍵の再生成は tools/gen-keypair.js(既存ファイルは上書きしない)。node tools/issue-key.js --months 12(年払い)/--months 1(月払い)/--until 2027-03-31。台帳 tools/issued-keys.csv に追記(gitignore)。functions/)既存の Firebase プロジェクト misefits に codebase zenginpon として相乗りする(新規プロジェクト・Blaze設定が不要、
codebase が別なので Misefits の関数は消えない。Firestore ルールはこのリポジトリから配らない)。
考え方: 月払いも年払いも Stripe のサブスクリプション(自動更新)。オフラインで検証できる署名付きキーは そのままだと解約後も期限まで使えてしまうので、キーの寿命を短くして(最長30日)定期的に取り直す。 取り直すたびにサーバーが Stripe の契約状態を見に行くので、解約されればそこで止まる。
| 関数 | 役割 |
|---|---|
zenginponStripeWebhook | checkout.session.completed / invoice.paid でキーを発行し、Firestore に保存してメール送信。customer.subscription.updated で解約の予約を知らせ、customer.subscription.deleted で解約日を記録して終了のメールを送る。イベントID(zenginponEvents)で二重処理を防ぎ、メールを送れなければ 500 で Stripe に再送させる |
zenginponLicense | GET ?id=<ライセンスID>。Stripe に契約状態を直接問い合わせて、契約中なら新しいキー、Stripe で解約・期限切れを確かめたら 410、Stripe に照会できず判断できなければ 503(ブラウザはキーを消さない)。10分以内に照会済みなら照会を省く。CORS はサイトと localhost のみ |
判定とメールの文面は functions/billing.js(有休ポンと同じ設計。2026-10-15 にそろえた)。
発行する期限は min(使ってよい最終日, 今日 + 30日)。使ってよい最終日は契約の状態で決める(entitledUntilOf):
契約中は期間の末日+3日、日付指定の解約(cancel_at)はその日+3日、再請求中(past_due)は期間の初日から30日+3日まで、
未払い(unpaid)・一時停止は今の期間の初日+3日、解約済みは終了日+3日、一度も払われていない契約(incomplete)には出さない。
| 状況 | 起きること |
|---|---|
| 契約中(月払い・年払いとも) | 取り直すたびに「今日+30日」まで延びる。利用者は何もしなくてよい |
| 期間末で解約 | 期間の末日+3日を超えて延びない → その後 410 → ブラウザが手元のキーを削除して Free に戻る |
| 即時解約・未払い | 次の確認(最長7日以内)で 410 → 同上 |
オフライン・Stripe の障害(503)・5xx | 何もしない。手元のキーの期限(最長30日)までは使える |
確かめ方: test/functions.test.js(Webhook・キー更新の全経路。イベントは Stripe の実際の形)、test/renew.test.js(サーバーのキーをブラウザが読めるか・自動更新の判定)、tools/preflight.mjs(設定の照合。CI でも実行)。
ライセンスIDはサブスクリプションIDのハッシュで、更新しても変わらない。
ブラウザは「期限が10日以内」または「前回の確認から7日以上」で取り直す(src/license.js の refreshIfNeeded)。
送るのはライセンスIDだけ。config.js の LICENSE_API が空なら完全オフライン動作(更新も失効もしない)。
デプロイ手順は docs/launch-checklist.md の 3-4。
Free の制限: 出力対象が20件まで(超過分は表で「Free上限外」)。列の割り当ての記憶(テンプレート)は Pro のみ。Free はページを閉じるまで。
Pro の機能: 件数無制限、テンプレート保存、振込元プロファイル複数、変換履歴(設定で有効化、最新20件、再ダウンロード)、バックアップ/復元(JSON)。
「⚙ 設定 → すべて削除」で zenginpon.* の localStorage を全消去(共有PC向け)。
node tools/issue-key.js --months 1|12 --memo "<メール>" でキーを発行し、テンプレ文面で送る(24時間以内)。functions/index.js を流用して Stripe Webhook → 自動発行・自動送信に切り替える(署名は Cloud Functions の Secret に秘密鍵を置いて同じ issue ロジックを呼ぶ)。方針。 Google は2026年5月の公式ガイドで「AI検索むけの特別な対策は不要。従来のSEOの基本が効く」と明言し、 FAQ のリッチリザルトも同月に廃止した。小手先はやらず、独自で役に立つページ・内部リンク・正確な事実に投資する。
| 追加したもの | ねらい |
|---|---|
ヘッダー/フッター/パンくず/OGP/構造化データの静的埋め込み(tools/build-site.js) | JavaScript を実行しないクローラーにもメニューと運営者表記が見える。全ページに canonical と OGP |
zengin-format.html(仕様解説。レコード表、文字、詰め方、エラー原因、用語集) | 「全銀フォーマットとは」「FBデータ」「120バイト」で調べる人の入口。AIが引用しやすい「最初の2文で答える」構成 |
free-tools/yucho.html free-tools/kana.html | 「ゆうちょ 記号番号 変換」「口座名義 カナ 株式会社 略」の長尾。登録不要で1つの悩みをすぐ解決 → 本体へ誘導 |
llms.txt、robots.txt の AI クローラー明記、.well-known/security.txt、IndexNow | 読める・正しく引用される状態にする。順位やおすすめを操作するものではない |
トップの構造化データを @graph(Organization+WebSite+WebApplication)に | 運営者「ここ企画」と会社サイトの Organization を同じ @id でつなぐ |
legal.html(銀行法・資金決済法・特商法・個情法・電気通信事業法・消費者契約法・景表法) | 「登録が要らない理由」を条文つきで公開。稟議・士業の確認に使える |
pricing.html#confirm(申込み前の確認事項) | 特商法12条の6(最終確認画面)に沿って、分量・価格・支払時期・自動更新・解約・返金を1つの表に |
privacy.html#external(外部送信の一覧)、委託先、外国にある第三者 | 電気通信事業法の外部送信規律、個情法28条に沿う情報提供 |
accessibility.html、スキップリンク、フォーカス表示、動きを減らす設定への対応、ドロップ領域のキーボード操作 | 障害者差別解消法の合理的配慮。JIS X 8341-3:2016 AA に「配慮」(試験未実施なので「準拠」とは書かない) |
| 「サンプルで試す」ボタン2種、振込元のお試し入力、整理前→整理後の図、用語のヘルプ | 手元にファイルが無くても30秒で最後まで体験できる。お試しの値は保存しない |
about.html(運営者情報・制作メモ)、フッターの「企画・開発・運営:ここ企画」 | ここ企画の制作実績として読める形にする |
ページを足すとき・共通部品を直すときの手順は AGENTS.md の 2。CI(.github/workflows/check-site.yml)が
テストと「埋め込み忘れ」を push のたびに確認する。
| 銀行/サービス | 形式 | メモ |
|---|---|---|
| 三菱UFJ BizSTATION | 全銀(CRLF) | 依頼人コード必須 |
| みずほ e-ビジネスサイト | 全銀(CRLF) | 給与は種別11/12 |
| 三井住友 Web21 | 全銀 | |
| りそな ビジネスダイレクト | 全銀 | |
| ゆうちょ Biz | 全銀 | 記号番号変換が必要 |
| 信金(WEB-FB) | 全銀 | 「改行なし」指定の信金がある |
| 地銀各行 | 全銀 | 拡張子 .txt/.dat 指定あり |
| 楽天・住信SBI・GMOあおぞら・PayPay | CSV または 全銀 | CSV直接取込あり |
「レコード区切り」「拡張子」は画面のオプションで切替可能。 次のステップ: 主要行の取込マニュアルを集め、上表を「銀行別プロファイル」として選ぶだけにする。
ブラウザ(GitHub Pages / 静的)
├─ SheetJS(xlsx/csv 読込) CDN
├─ pdf.js(テキスト層PDF → 表) CDN
├─ src/zengin.js(変換・検証・JIS X 0201 エンコード)
└─ localStorage(依頼人情報・列割り当て・ライセンスキー)
Firebase(Misefits と同じ構成を流用)
├─ Cloud Functions: stripeWebhook(決済完了 → ライセンスキー発行・メール送信)
│ verifyLicense(キー検証・端末登録)
└─ Firestore: licenses/{key}
Stripe: Checkout(サブスク or 買い切り)
studio8080/zengin-fb → GitHub Pages → zenginpon.kokokikaku.com(Squarespace の DNS に CNAME 追加。~/.claude/CLAUDE.md の注意事項参照)。Excel / CSV 読込、見出し行の自動検出、列の自動割り当て+記憶
総合振込 / 給与振込 / 賞与振込
名義カナ自動変換・法人略語・ゆうちょ変換・行ごとの検証・画面上で修正
120バイト固定長生成、JIS X 0201 出力、CRLF/LF/なし、拡張子選択
PDF(テキスト層あり)の簡易表抽出(β)
4ステップのウィザードUI(総合振込.jp を参考に、種別カード・大きなドロップ領域・列割り当て表に「例」列・状態カード)
金融機関辞書(1,146行・28,944支店)による銀行名表示、名称補完、存在チェック(黄色の「確認」)、統廃合表の仕組み、毎月の自動更新PR
表の自動整理(見出し推定・結合セル分解・値の形からの列推定・銀行名/支店名→コード逆引き・合計行除外)
Googleスプレッドシート連携のコード(config.js に GCP の設定を入れれば有効になる)
data/merged.json に直近数年の統廃合(旧→新コード)を実データで埋めるtokushoho.html / privacy.html を雛形に)legal.html に公開し、
社内メモは docs/compliance-check.md。銀行への送信や口座情報の取得(API連携)を足すと結論が変わるので、足す前に必ず再確認する。