Give your agent a wallet you control.
Let your agents pay online using one-time-use cards or with machine payment protocols. You approve every request.
セレッジの請求・支払・収支を管理する
Translation pending
FinanceGitHub @hirominemotoOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗セレッジで使っていた4本のExcel(社内申込書ツール・売上表・売上支払一覧・月末支払い管理)を、1つのWebアプリにまとめる。 担当者が変わっても、経理の専門知識がなくても、請求・支払・収支管理を正確に続けられることが目的。
| 機能 | 状態 |
|---|---|
| ログイン(招待した人だけ) | できた |
| 企業の登録・変更(宛名・住所・送り方・入金予定) | できた |
| 契約の登録・変更(人数・単価・消費税・◯月分・回数・品名のひな形) | できた |
| 変更履歴(だれが・いつ・何を) | できた |
| データベース全体(請求・売上・請求書・入金・支払い・固定費) | できた(画面はこれから) |
| 今月の請求(契約から下書きを作る・送り方と日付を選ぶ・請求書の見え方・印刷/PDF保存) | お試し版(送付OKはまだ出していない) |
| 送付OK・送付待ち一覧・封筒 | これから |
| 支払い管理・総務への依頼 | これから |
| 入金・収支サマリ | これから |
| 役割 | できること |
|---|---|
| 管理者(admin) | すべての入力・変更 |
| 閲覧(viewer) | 見るだけ(社長など) |
| 承認待ち(pending) | 何も見られない。管理者が役割を決めるまでの状態 |
最初に登録した1人が自動で管理者になる。2人目からは承認待ちになるので、管理者が役割を変える。
selege-keirisupabase/migrations/0001_init.sql の中身をすべて貼り付けるsupabase/migrations/ に 0002 以降のファイルが増えたら、番号の順に1回ずつ実行する(何度実行しても同じ結果になる)。
supabase/migrations/0002_billing_drafts.sql の中身をすべて貼り付ける0003_bills.sql(請求の入力)、0004_bill_line_contract.sql(明細と契約のつながり)、0005_bill_sent.sql(請求済みの段階)も、番号の順に同じように実行するseed_import.sql を用意する(取引先の実データなので GitHub には置かない)作り直すとき:python3 tools/build_seed.py <確認済み.xlsx> data/private/seed_import.sql --email 社名,社名(--email はいつもの送り方がメールの企業、--on-demand は都度請求の契約を持つ企業)
SQL Editor で、issuer の値(社名・住所・電話・登録番号・振込先)を入れる。実データなので GitHub には置かない。
住所と振込先は \n で改行できる。角印は "seal": "data:image/png;base64,..." として同じ値に入れる(作り方はゴゴに頼む)。
update app_settings set value = '{
"name": "社名",
"postal_code": "000-0000",
"address": "住所1行目\nビル名など2行目",
"phone": "00-0000-0000",
"registration_no": "T0000000000000",
"bank": "銀行名 支店名 普通 0000000\n口座名義"
}'::jsonb where key = 'issuer';
| 名前 | 値 |
|---|---|
NEXT_PUBLIC_SUPABASE_URL | Project URL |
NEXT_PUBLIC_SUPABASE_ANON_KEY | anon public(publishable)キー |
service_role(secret)キーはこのアプリでは使わない。どこにも貼らないこと。
profiles を開くrole を viewer に変えて保存するnpm install
cp .env.example .env.local # 値を入れる
npm run dev # http://localhost:3000
npm run test:db # データベース設計のテスト(PGlite で本物の PostgreSQL を動かす)
npm run lint
npm run build
| 場所 | 中身 |
|---|---|
docs/decisions.md | 決まった業務ルールと、まだ決めていないこと |
docs/excel-structure.md | 旧Excel 4本の作り(解析メモ)。原本は不明点が出たときだけ開く |
supabase/migrations/ | データベースの設計(SQL) |
tests/db.test.mjs | データベースのルールのテスト |
src/app/ | 画面 |
src/lib/ | 共通の処理(入力チェック、表示の整形、品名の組み立て) |
tools/extract_import.py | 旧Excelから取り込み候補を取り出す |
data/private/ | 取引先の実データ置き場。Git に入れない |
sales)が売上の正本。請求書・入金はそこにぶら下げるpayables と monthly_costs の両方に入れない(家賃は payables)calc_tax と設定で決める2711-01)と売上ができる。直すときは送付OKを取り消して、もう一度確認するrequest_record_sale)invoice_send_ok など)を通す。2回押しても1回分にしかならない