顧客ポータルと共有
ログイン不要のリンクで請求書を共有し、顧客が閲覧・ダウンロード・オンライン支払いできるようにします
ポータルの概要
顧客ポータルは Invotify の顧客向け側面です — 顧客がアカウントを作成せずに見て操作するすべてのものです。安全な共有リンクを生成して顧客に送ると、顧客はログイン不要でクリーンなブランドページを開き、請求書を読んだり・PDF をダウンロードしたり・(Pro では)オンラインで支払いができます。一方、あなたはいつ・どこで開封されたかの静かな記録を受け取ります。
ポータルの機能:
- 公開請求書ビュー — トークンベースのリンクでブラウザに請求書が表示されます。ログイン・パスワード・顧客の手間は一切ありません。
- PDF ダウンロード — 顧客はワンクリックで請求書のピクセルパーフェクトな A4 PDF をダウンロードできます。
- オンライン決済(Pro) — 「今すぐ支払う」ボタンで顧客を全額または一部支払いのための安全な Stripe チェックアウトに誘導します。
- 閲覧追跡 — 各開封が記録されます:いつ・どこから・閲覧回数・最初/最後の閲覧タイムスタンプ。
- メール設定 — ワンクリック配信停止と顧客が受け取るメールの詳細な制御。
2 種類のリンク:
- 単一請求書リンク(
/invoice/{token})— ダウンロード/支払いアクション付きで 1 つの特定の請求書を表示。 - 顧客ポータルリンク(
/portal/{token})— 顧客の最近の請求書・未払い残額・延滞フラグ・クレジットノート残額の統一ビュー(各請求書に支払いアクション付き)。
プラン: 公開ビュー・PDF ダウンロード・閲覧追跡・メール設定管理はすべてのプランで利用できます。ポータルからのオンライン決済には Stripe が接続された Pro プランが必要です。
各ポータルページはビジネス名とロゴでブランド化され、控えめな「Powered by Invotify」フッターが付き、検索エンジンに表示されないよう noindex が設定されています。
トークンベースの URL が任意のブラウザで即座に開きます。顧客はアカウント不要。
顧客は必要なときにいつでも自分の A4 PDF コピーをダウンロードできます。
「今すぐ支払う」ボタンで安全な Stripe チェックアウトへ — 全額または一部。
いつ・どこで・何回顧客がリンクを開いたかを把握。
顧客ポータル(閲覧・ダウンロード・支払い)
顧客が共有リンクを開くと、ログイン不要のクリーンなモバイルフレンドリーなページが表示されます。リンクの種類によって 2 つの体験があります。
単一請求書ページ(`/invoice/{token}`): 顧客は請求書全体を見られます — ビジネス名とロゴ・請求書番号とステータス・発行日と期日・請求先詳細・数量と合計付きのすべての明細行・追加したメモ。下部にはアクションがあります: - PDF をダウンロード — プロフェッショナルな A4 PDF を生成してダウンロード。送信するものと同一。サーバーサイドでオンデマンドで生成。 - 今すぐ支払う — 決済リンクが利用可能で、請求書がまだ支払われていないかキャンセルされていない場合のみ表示(Pro — 下記のオンライン決済を参照)。
統一ポータルページ(`/portal/{token}`): あなたとの全請求書にわたる顧客のダッシュボード風概要: - 未払い残額 — すべての未払い請求書(クリックしたものだけでなく)の未払い合計(延滞があれば延滞フラグ付き)。 - クレジットノート残額 — 発行または適用済みのクレジット。 - 請求書一覧 — 最近の非下書き請求書(ページネーション付き)、各々の番号・日付・ステータス・金額・支払いアクションが表示。
プライバシー設計: ポータルは安全なデータのサブセットのみを返します。内部 ID・共有トークン自体・その顧客と無関係なものはレスポンスから除外されます。統一ポータルはトークンが属する 1 人の顧客のみにスコープされます。ポータルレスポンスは中間者がキャッシュしないよう no-store キャッシングで送信されます。
ロゴ・ビジネス名・明細行・日付・メモ — ログイン不要でクリーンに表示。
オンデマンド A4 PDF、メールで送るものと同一。
統一ポータルに未払い合計・延滞フラグ・クレジットノート残額を表示。
内部 ID とトークンを除外;ポータルは 1 人の顧客にスコープ。
- 単発請求書には単一請求書リンクを、すべてをまとめて見たいリピート顧客には統一ポータルリンクを送ってください
- 下書きはポータルに表示されません — 実際に発行した請求書のみ
- ダウンロードされた PDF は毎回新たに生成されるため、常に現在の請求書を反映しています
ポータルからのオンライン決済(Pro)
Stripe が接続された Pro プランでは、ポータルが閲覧から支払いに変わります。顧客が「今すぐ支払う」をクリックすると Stripe の安全なホスト型チェックアウトに移動します — Invotify はカードの詳細に触れません。
ポータル決済のフロー: 1. 顧客が請求書または統一ポータルを開き、支払う をクリックします。 2. Invotify はその請求書のための Stripe チェックアウトセッションを作成し、顧客をリダイレクトします。 3. 顧客は Stripe のホスト型ページで支払います。メールはより素早いチェックアウトのために事前入力されます。 4. 成功すると確認ページに戻ります;キャンセルした場合は優雅に戻ります。 5. Stripe が支払いを確認し、請求書ステータスが自動的に 支払済み に更新されます。
全額または一部支払い: - デフォルトでは顧客は全額未払い残額を支払います(元の合計だけでなく未払い金額 — 以前の一部支払いが考慮されます)。 - 請求書で一部支払いを有効にしている場合、顧客は少ない金額を支払えます。Invotify は設定した最小支払い額を強制し、まだ残っている金額を超えて支払えないようにします。
組み込みのガードレール: - 既に支払われたまたはキャンセルされた請求書は再度支払えません — 支払いボタンが非表示になり、サーバーサイドでリクエストが拒否されます。 - ポータルの支払いエンドポイントはレート制限により乱用を防ぎます。 - セッションが作成される前に支払い金額がライブ未払い残額と Stripe の最小課金額に対して検証されます。
重要: オンライン決済には Pro プランと接続された Stripe アカウントが必要です。Stripe が接続されていない場合、ポータルは閲覧とダウンロードには引き続き機能しますが、支払いボタンはありません。
顧客は Stripe のホスト型ページで支払います。Invotify はカードの詳細を見ません。
有効にすると、顧客は頭金を支払えます — 最小額と残額によって制限。
Stripe が支払いを確認した瞬間に請求書が支払済みに変わります。
金額はライブ残額に対して確認;支払済み/キャンセル請求書への支払いはブロック。
- ポータルからのオンライン決済には Stripe が接続された Pro プランが必要です
- 一部支払いは特定の請求書で有効にした場合のみ提供されます
請求書閲覧追跡
顧客が実際に請求書を開いたかどうか迷う必要はありません。共有請求書が閲覧されるたびに Invotify が記録します — いつ見たか・何回・どこから正確に把握できます。
各閲覧で記録されるもの:
- タイムスタンプ — 閲覧が発生した日時。
- ソース — 閲覧がどこから来たか:link(共有の単一請求書リンク)・email・portal・api。デフォルトは link。
- 閲覧者 IP — 顧客の IP アドレス(転送ヘッダーから解析)。同じ場所からの繰り返し開封と新しい開封を区別できます。
- ユーザーエージェント — ブラウザ/デバイス文字列(安全な長さに切り詰め)。
Invotify が請求書ごとに保持する集計統計: - 閲覧回数 — 開封の累計。 - 最初の閲覧日時 — 請求書が最初に開かれた正確な日時(一度スタンプされ、上書きされません)。 - 最後の閲覧日時 — 最近の開封。 - ユニーク IP — 何個の異なる IP アドレスが閲覧したか。
どこで確認できるか: 請求書の閲覧統計は請求書詳細ページに表示されます — コンパクトなバッジに閲覧回数が表示され、ホバーすると最初と最後の閲覧タイムスタンプが表示され、最近開封された場合はライブインジケーターも表示されます。完全な閲覧ログ(各個別の開封とソース・IP・ユーザーエージェント)は会社にスコープされた請求書の閲覧データから確認できます。
乱用防止: 追跡エンドポイントは IP ごととトークンごとにレート制限されているため、1 人の顧客が繰り返し更新しても閲覧数が水増しされることなく、エンドポイントが数字を操作するために叩かれることもありません。
共有請求書が開かれるたびに閲覧レコードが書き込まれます。
開封がリンク・メール・ポータル・API のどこから来たかを追跡。
閲覧者の IP とブラウザを記録して開封を区別できます。
累計閲覧回数に加え、最初の閲覧と最後の閲覧のタイムスタンプ。
- 閲覧したが支払いなし — それが友好的なひと押しを送るサインです
- 閲覧数の急増はしばしば顧客が確認中か行動しようとしていることを意味します — フォローアップに最適なタイミング
- ユニーク IP 数が「顧客が繰り返し再開封している」と「転送して回覧している」を区別するのに役立ちます
メール設定と配信停止
Invotify が顧客に送るすべてのメールには配信停止/設定リンクが含まれているため、顧客は常に受信トレイに届くものを制御できます。リンクはログインなしで機能します — 配信停止トークン自体がメールアドレスの所有権を証明します。
顧客が制御できるもの: - 書類メール — 顧客に送られた請求書・見積書・その他の書類。 - リマインダーメール — 延滞および支払い予告リマインダー。 - マーケティングメール — プロモーションまたはお知らせメッセージ。
各カテゴリは独立したオン/オフのトグルです。請求書のみを受け取りたいがリマインダーは不要という顧客はその設定が可能です — すべてかゼロかではありません。
ワンクリック配信停止: 設定ページはメール内の配信停止リンクと同じ画面です。顧客は 1 つのカテゴリをオフにするか、すべてを 1 か所でオプトアウトできます。変更はすぐに保存されて今後の送信に適用されます。
セキュリティの保ち方: - 設定エンドポイントには有効なトークンが必要(短すぎるものや欠如は拒否)で、そのトークンのみが設定の読み書きを承認します — アカウント不要。 - 既知の許可された設定キーのみが受け入れられ、ブール値のみ受け入れられるため、エンドポイントが他のものを変更するよう強制できません。 - 読み書きは IP ごとにレート制限されます。
これらの設定を尊重することで、送信評判が健全に保たれ、スパム対策ルールの適切な側にいることができます — オプトアウトを選択した顧客はそのカテゴリを受け取ることがなくなります。
書類・リマインダー・マーケティングメールの個別スイッチ。
すべてのメールに設定ページへのリンク — 1 つのカテゴリまたはすべてをオプトアウト。
配信停止トークンが所有権を証明;設定管理にログイン不要。
既知のブール値キーのみ受け入れ、読み書きにレート制限。
顧客は請求書を閲覧または支払うためにアカウントが必要ですか?
いいえ。ポータルは完全にログイン不要です。リンク内の安全なトークンが、請求書の閲覧・PDF のダウンロード・メール設定の管理・支払い(Pro)に必要な唯一の認証情報です。
顧客が請求書を開いたか確認できますか?
はい。請求書閲覧追跡は各開封をタイムスタンプ・ソース・IP・ブラウザと共に記録し、請求書詳細ページで確認できる請求書ごとの閲覧回数・最初の閲覧・最後の閲覧タイムスタンプを保持します。
共有リンクを取り消すとどうなりますか?
トークンがクリアされ URL がすぐに機能しなくなります — 「見つかりません」を返します。再共有するには、新しいトークンを生成する新しいリンクを作成してください。
ポータルからのオンライン決済はすべてのプランで利用できますか?
いいえ。閲覧・ダウンロード・閲覧追跡・メール設定はすべてのプランで機能します。ポータルからのオンライン決済には Stripe が接続された Pro プランが必要です。
- オプトアウトを尊重することで配信性が保護されます — 不要なメールを繰り返し送ると送信者評判が下がります
- リマインダーと書類メールは別々のため、顧客は請求書を受け取りながらリマインダーを停止できます