会計ソフト(MYOB、NetSuite、QuickBooks、Xero、Zoho Books)、PayPal、Stripe、Airwallex のデータから、請求書の支払い期限超過情報を取得します。その後、各顧客の支払い履歴と対応パターンに合わせてメールを作成します。良好な支払い実績がある顧客には穏やかなトーンで、繰り返し支払いが遅れている顧客には厳しめのトーンで案内します。 PayPal 経由での送信は事業主の承認が必要です。それ以外のメールは下書きとしてキューに待機し、存在する場合は Airwallex のホストされた支払いリンクが添付されます。 **次のような場合に使用:** - 「誰がお金を返してくれていないのか」と聞かれた場合 - 期限超過の請求書について言及された場合 - 未払い請求書のフォローアップをしたい場合
Drafts overdue-invoice reminder emails from the ledger (MYOB, NetSuite, QuickBooks, Xero, or Zoho Books) plus PayPal, Stripe, and Airwallex data, matched to each customer's payment history and tone (gentle for good customers, firm for repeat late payers). Sends via PayPal with owner approval; everything else queues as a mail draft, with the Airwallex hosted pay link included where one exists. Use when the user asks "who owes me money," mentions overdue invoices, or wants to follow up on unpaid invoices.
売掛金の経過表を取得し、支払い履歴に基づいて顧客をスコア付けし、各延滞請求書に対して語調を合わせた催促メールを作成し、事業主に提示します。事業主の承認なしに送信されることはありません。
ユーザー:「誰が私にお金を払うべき?」
→ 売掛金の経過表を取得
→ 最近の支払いを確認(PayPal は過去7日間、その他の決済処理業者とオンラインストアは過去14日間、Airwallex の支払い状況)
→ 顧客をスコア付け:優良顧客 / 時々遅延 / 常習的遅延
→ 催促メールの下書きを作成
→ サマリーテーブルと下書きを表示。「これらを送信する」の確認待ち
初回実行時に、事業主に1つの質問をします:
../../shared/tenant-scope.md 参照)。以降の実行では質問しません。Stripe は初期設定の質問ではありません。Stripe が接続されている場合、その延滞請求書は毎回取得されます(詳細は reference/v2_sources.md 参照)。
延滞売掛金を取得します。 接続されているいずれかの会計システム(MYOB、NetSuite、QuickBooks、Xero、Zoho Books など:詳細は ../../shared/connector-neutrality.md 参照)から売掛金の経過表をクエリして、期限から1日以上経過したすべての請求書を取得します。Stripe が接続されている場合は、Stripe の延滞請求書も取得します。Airwallex が接続されている場合は、その未払い請求書も取得します:status: FINALIZED および payment_status: UNPAID で list_billing_invoices をクエリしてください(無効化された請求書でも UNPAID と報告されるため、ステータスフィルターは省略できません)。その後、metadata 内の会計システム請求書番号で照合してください — Airwallex 独自の number で照合してはいけません。これは Airwallex が自身で割り当てるもので、帳簿上のものと一致しません。metadata がない場合は、顧客と金額と期日で照合してください。金額は企業の通貨コードを含みます(詳細は ../../shared/currency-and-locale.md 参照)。
支払い履歴を確認します。 延滞している各顧客について、以下のパラメータを使用して PayPal で決済済みトランザクションをクエリしてください:
transaction_status: S(決済済みのみ — 保留中や拒否されたトランザクションを除外し、結果サイズ増加とレート制限リスクを軽減)PayPal がレート制限エラー(429)を返した場合:
顧客がクエリ期間内に決済済み支払いを表示した場合、「支払い済みの可能性あり — 確認が必要」とフラグし、下書きキューから除外します。
他のすべての接続されている決済処理業者またはストアフロント — Stripe チャージ、Square 支払い、Shopify 注文(顧客別の list-orders、支払い済みステータス)— に対しても同じ最近の支払い確認を実施してから下書きします。期間は過去14日間です。PayPal のみレート制限のため7日に制限されており、14日ルールは承認ゲートの標準で、PayPal キャップが唯一の例外です。該当する場合は出力でそう述べます。ソースと重複排除ルールは reference/v2_sources.md にあります。いずれかでの決済は「支払い済みの可能性あり — 確認が必要」フラグであり、催促ではありません。
メールアドレスがある場合は、そこで照合します。 決済処理業者とストアフロントは顧客をメールでキーイングし、会計システムは名前でキーイングします。会計システムが顧客メールを公開している場合はそれを使用します(QuickBooks、Xero、Zoho Books、NetSuite は公開;MYOB は非公開)。名前のみが利用可能な場合、名前だけの照合は不確実です。顧客を下書きキューに保持し、行を「名前照合のみ — 確認が必要」と記入して、支払い済みまたは未照合として扱わないでください。
Airwallex が接続されている場合、確認の Airwallex 側は請求書そのものです:Airwallex 請求書の payment_status が PAID でも会計システムが残高を未決済のままにしている場合は、「支払い済みの可能性あり — 確認が必要」でもあります。日付範囲とレート制限再試行は不要です。1回のリストコールです。
各顧客をスコア付けします。 reference/tone-matching.md のスコアリングロジックをお読みください。結果:優良顧客、時々遅延、または常習的遅延。
催促メールの下書きを作成します。 顧客1人につき1メール — 複数の延滞請求書を1メールに統合します。スコアに合わせて語調を調整します。reference/examples/gentle-reminder.md と reference/examples/firm-reminder.md を参照してください。
事業主に下書きを提示します。 まずサマリーテーブルを表示:
| 顧客 | 支払い期限額 | 遅延日数 | 語調 | 送信方法 |
|---|---|---|---|---|
| Acme Corp | USD 1,200 | 18日 | 穏やか | PayPal |
| Smith LLC | USD 450 | 47日 | 厳しい | Gmail 下書き |
| Pearl St Bistro | USD 467 | 91日 | 厳しい | Gmail 下書き + Airwallex 支払いリンク |
その後、各下書きメール全文を表示します。事業主が「これらを送信する」と言う、または個別承認するまで待ちます。
承認後にのみ送信またはキューに入れます。
hosted_url を本文内の支払いリンクとして含めます。hosted_url は請求書の collection_method が CHARGE_ON_CHECKOUT の場合にのみ存在します。銀行送金(OUT_OF_BAND)請求書には存在しないため、代わりに pdf_url をリンクし、その旨を述べてください。会計システムのみの請求書の場合は、create_payment_link で支払いリンクを生成することを提供します(タイトル、amount、currency、reference および会計システム請求書番号を含む metadata。shopper_email は決してしないでください — リマインダーは事業主の下書きで、Airwallex メールではありません)。リンク生成はバッチ承認の一部で、別個の送信ではありません。何が起きたかを報告します。 送信されたもの、下書きとしてキューに入れられたもの、フラグが付けられたもの(支払い済みの可能性あり、除外)をリストアップしてください。
../../shared/untrusted-content.md 参照)。それでも機能します。売掛金の経過表を CSV ファイルのアップロードとして要求し、それからスコアリングと下書きを行い、リマインダーを手動送信用として返します。同じ語調調整、同じ出力 — 事業主のための1つの追加ステップです。
マッピング詳細は reference/v2_sources.md をお読みください:
metadata 内の会計システム請求書番号で照合;Airwallex 独自のナンバリングでは決してしないでください。VOIDED をスキップしてください(詳細は reference/gotchas.md 参照)。事業主は airwallex-agentos コネクタ(本番環境)を接続します。接続されたサーバーのツールリストから正確なツール名を取得してください(詳細は ../../shared/connector-call-shapes.md 参照)同じ語調調整、同じ承認ゲート。範囲内により多くの請求書。
リマインダーは事業主の名前で送出されるため、下書き前に 共有音声プロファイル をお読みください。reference/tone-matching.md 内のトーンスコアリングがメッセージの厳しさを決定し、音声プロファイルがそれがどのように聞こえるかを決定します。両方が重要です — 事業主らしく聞こえない厳しいリマインダーは引き続き手直しされます。
事業主が保存した出力設定に従ってリマインダーバッチを配信してください — マークダウンファイルをデフォルトとしないでください。 ## Business context ブロックの Output preference を確認してください(共有スタイルガイドルール、`../../shared/
Pull the AR aging report, score each customer by payment history, draft a tone-matched reminder for each overdue invoice, and present them to the owner. Nothing sends until the owner says so.
User: "who owes me money"
→ Pull AR aging from the ledger
→ Cross-reference recent payments (PayPal 7-day window; other processors and the storefront 14 days; Airwallex paid status)
→ Score each customer: good-payer / occasionally-late / repeat-late
→ Draft tone-matched reminders
→ Show summary table + drafts. Wait for "send these."
Ask the owner one question before running for the first time:
../../shared/tenant-scope.md).Do not ask again on subsequent runs. Stripe is not a setup question: when it is connected, its overdue invoices are pulled every run (reference/v2_sources.md).
Pull overdue receivables. Query the ledger's AR aging — MYOB, NetSuite, QuickBooks, Xero, or Zoho Books, whichever is connected (../../shared/connector-neutrality.md) — for all invoices more than 1 day past due. If Stripe is connected, also pull Stripe overdue invoices. If Airwallex is connected, also pull its unpaid invoices: list_billing_invoices with status: FINALIZED and payment_status: UNPAID (a voided invoice still reports UNPAID, so the status filter is not optional), then match each to the ledger by the ledger invoice number in its metadata — never by Airwallex's own number, which it assigns itself and which matches nothing in the books; with no metadata, match on customer plus amount plus due date. Amounts carry the business's currency code (../../shared/currency-and-locale.md).
Cross-reference payment history. For each overdue customer, query PayPal for settled transactions using these parameters:
transaction_status: S (settled only — filters out pending and denied transactions that inflate result size and increase rate-limit risk)If PayPal returns a 429 rate limit error:
If a customer shows a settled payment within the query window, flag as "possibly paid — verify" and exclude from the draft queue.
Run the same recent-payment check against every other connected processor or storefront — Stripe charges, Square payments, Shopify orders (list-orders by customer, paid status) — before drafting, over the last 14 days. PayPal alone is capped at 7 because of its rate limit; the 14-day rule in the approval gates is the standard, and the PayPal cap is the one exception, said in the output when it applies. The sources and the dedupe rule are in reference/v2_sources.md. A settlement in any of them is a "possibly paid — verify" flag, not a reminder.
Match on email where both sides have one. Processors and storefronts key customers by email; ledgers key by name. Use the ledger's customer email when it exposes one (QuickBooks, Xero, Zoho Books, NetSuite do; MYOB does not). Where only a name is available, a name-only match is uncertain: keep the customer in the draft queue and mark the row "name match only — verify" rather than treating it as paid or as unmatched.
If Airwallex is connected, its side of the check is the invoice itself: an Airwallex invoice whose payment_status is PAID while the ledger still shows the balance open is "possibly paid — verify" too. No date window and no rate-limit retry are needed; it is one list call.
Score each customer. Read reference/tone-matching.md for scoring logic. Result: good-payer, occasionally-late, or repeat-late.
Draft reminder emails. One email per customer — consolidate multiple overdue invoices into one email. Match tone to score. See reference/examples/gentle-reminder.md and reference/examples/firm-reminder.md.
Present drafts to owner. Show a summary table first:
| Customer | Amount Due | Days Late | Tone | Send via |
|---|---|---|---|---|
| Acme Corp | USD 1,200 | 18 days | Gentle | PayPal |
| Smith LLC | USD 450 | 47 days | Firm | Gmail draft |
| Pearl St Bistro | USD 467 | 91 days | Firm | Gmail draft + Airwallex pay link |
Then show each draft email in full. Wait for owner to say "send these" or approve individually.
Send or queue — only after approval.
hosted_url as the pay link in the body. hosted_url exists only when the invoice's collection_method is CHARGE_ON_CHECKOUT; a bank-transfer (OUT_OF_BAND) invoice may have none, so link its pdf_url instead and say so. For a ledger-only invoice, offer to mint a pay link with create_payment_link (title, amount, currency, reference and metadata carrying the ledger invoice number; never shopper_email — the reminder is the owner's draft, not an Airwallex email). Minting a link is part of the batch approval, not a separate send.Report what happened. List what was sent, what was queued as draft, and what was flagged (possibly paid, excluded).
../../shared/untrusted-content.md).Still works. Ask for the AR aging report as a CSV upload, score and draft from that, and hand the reminders back for manual send. Same tone-matching, same output — one extra step for the owner.
Read reference/v2_sources.md for the mapping:
metadata, never Airwallex's own numbering; skip VOIDED (reference/gotchas.md). Owners connect the airwallex-agentos connector (production); take the exact tool names from the connected server's tool list (../../shared/connector-call-shapes.md)Same tone-matching, same approval gates. More invoices in scope.
Reminders go out under the owner's name, so read the shared voice profile before drafting. The tone scoring in reference/tone-matching.md decides how firm the message is; the voice profile decides how it sounds. Both matter — a firm reminder that doesn't sound like the owner still gets rewritten by hand.
Deliver the reminder batch per the owner's stored output preference — never default to a markdown file. Check the ## Business context block's Output preference (shared style guide rule, ../../shared/artifact-style.md):
Reminders are sent or queued and the possibly-paid flags are named. If the chase was about covering an upcoming run, the natural next step is "can I make payroll" — /plan-payroll ties what these reminders should collect to the payroll date. Also nearby: "cash forecast" (cash-flow-snapshot) to see the 30/60/90-day picture with these collections projected in, and "close the month" (/close-month) once payments land. Offer at most three, and skip any offer the owner already declined this session.
The connectors named in this skill are the tested paths, not a wall. If the owner wants this flow to use a tool that isn't connected or listed, offer build-connector — it checks the connector directory first and connects through Zapier otherwise, never hand-building against a raw API. Once the connection exists, the tool joins this skill like any other optional connector, under the same approval gates.
原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。