{
  "schemaVersion": "1.0",
  "item": {
    "slug": "invoice-chaser",
    "name": "Invoice Chaser",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/audsmith28/invoice-chaser",
    "canonicalUrl": "https://clawhub.ai/audsmith28/invoice-chaser",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/invoice-chaser",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=invoice-chaser",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "config.example.json",
      "scripts/add-invoice.sh",
      "scripts/setup.sh"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/invoice-chaser"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/invoice-chaser",
    "agentPageUrl": "https://openagent3.xyz/skills/invoice-chaser/agent",
    "manifestUrl": "https://openagent3.xyz/skills/invoice-chaser/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/invoice-chaser/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Invoice Chaser — Stop Chasing, Start Getting Paid",
        "body": "You do the work. Your agent gets you paid.\n\nEvery freelancer, consultant, and small business owner knows the pain: you did the work, sent the invoice, and now... crickets. Following up is awkward. Waiting kills cash flow. Chasing payments wastes time you could spend on billable work.\n\nInvoice Chaser automates the entire follow-up sequence. It sends reminder emails on schedule, escalates tone from friendly to firm, tracks payment status, logs every interaction, and alerts you when invoices need human attention. Think of it as a persistent, diplomatic collections agent that never forgets and never feels awkward.\n\nWhat makes it different: This isn't just \"send reminder in 7 days.\" Invoice Chaser runs a full AR pipeline with state management, escalation logic, and tone progression. It knows when to be friendly (\"just a heads up\"), when to be firm (\"payment is 30 days overdue\"), and when to alert you for manual escalation. Multi-stage sequences handle the complexity of real-world payment cycles."
      },
      {
        "title": "Setup",
        "body": "Run scripts/setup.sh to initialize config and data directories\nEdit ~/.config/invoice-chaser/config.json with email templates, timing, and escalation rules\nEnsure gog skill is installed (for Gmail sending)\nSet GOG_DEFAULT_ACCOUNT in ~/.clawdbot/secrets.env (e.g., your-email@gmail.com)\nTest with: scripts/add-invoice.sh --test"
      },
      {
        "title": "Config",
        "body": "Config lives at ~/.config/invoice-chaser/config.json. See config.example.json for full schema.\n\nKey sections:\n\nbusiness — Your company name, contact info, payment terms\nstages — Email templates for each escalation stage (reminder, overdue, firm, final)\ntiming — When to send each stage (days after invoice date or previous stage)\nescalation — Auto-escalation rules, human intervention thresholds\npayment_methods — Include payment links/instructions in reminders\nreporting — Channel, frequency, AR aging groupings\n\nEmail templates support variables: {client_name}, {invoice_number}, {amount}, {due_date}, {days_overdue}, {payment_link}."
      },
      {
        "title": "Scripts",
        "body": "ScriptPurposescripts/setup.shInitialize config and data directoriesscripts/add-invoice.shAdd new invoice to tracking systemscripts/chase.shRun payment chase cycle (check status, send reminders, escalate)scripts/status.shShow invoice status and AR aging summaryscripts/report.shGenerate detailed AR aging report\n\nAll scripts support --dry-run for testing without sending emails."
      },
      {
        "title": "Adding Invoices",
        "body": "# Add invoice manually\nscripts/add-invoice.sh \\\n  --number \"INV-2025-042\" \\\n  --client \"Acme Corp\" \\\n  --email \"billing@acme.com\" \\\n  --amount 2500.00 \\\n  --date \"2025-01-15\" \\\n  --due \"2025-02-14\" \\\n  --net 30\n\n# Quick add (assumes net-30 terms)\nscripts/add-invoice.sh --number \"INV-042\" --client \"Acme Corp\" --email \"billing@acme.com\" --amount 2500\n\n# Mark as paid\nscripts/status.sh INV-042 --paid --date \"2025-02-10\""
      },
      {
        "title": "Chase Cycle",
        "body": "Run scripts/chase.sh on schedule (cron daily recommended). The chase cycle:\n\nLoads all unpaid invoices from tracking database\nCalculates days since invoice date and days overdue (past due date)\nDetermines current stage for each invoice based on timing rules\nSends appropriate reminder emails (stage-based templates with escalating tone)\nLogs all sent emails and stage progressions\nEscalates to human when threshold reached (e.g., 60 days overdue)\nGenerates status report"
      },
      {
        "title": "Escalation Stages",
        "body": "SENT → REMINDER (friendly) → OVERDUE (professional) → FIRM (insistent) → FINAL (urgent) → ESCALATED\n  ↓         ↓ day 3              ↓ day 7+             ↓ day 30         ↓ day 45        ↓ day 60\nPAID (any time) ✅\n\nDefault timeline:\n\nDay 3: Friendly reminder (\"Your invoice is due soon...\")\nDay 7+: Due date reminder (\"Payment was due on [date]...\")\nDay 30: First overdue notice (\"Your account is now 30 days past due...\")\nDay 45: Firm notice (\"We must receive payment immediately...\")\nDay 60: Final notice (\"Final notice before we escalate to collections...\")\nDay 75+: Human escalation alert\n\nAll timing is configurable in config.json."
      },
      {
        "title": "Email Tone Progression",
        "body": "Stage 1 — Friendly Reminder (Day 3):\n\nHi [Client],\nJust a friendly reminder that invoice #[number] for $[amount] is due on [due date]. Let me know if you have any questions!\n\nStage 2 — Professional Overdue (Day 14):\n\nHi [Client],\nI wanted to follow up on invoice #[number] for $[amount], which was due on [due date]. If you've already sent payment, please disregard this message. Otherwise, please let me know if there are any issues preventing payment.\n\nStage 3 — Firm Notice (Day 30):\n\nDear [Client],\nYour account is now 30 days past due. Invoice #[number] for $[amount] was due on [due date]. Immediate payment is required to avoid service interruption and late fees.\n\nStage 4 — Final Notice (Day 45):\n\nDear [Client],\nFINAL NOTICE: Invoice #[number] for $[amount] is now 45 days overdue. If we do not receive payment within 7 days, we will be forced to escalate this matter to collections.\n\nAll templates fully customizable in config."
      },
      {
        "title": "Payment Tracking",
        "body": "# Mark invoice as paid\nstatus.sh INV-042 --paid --date \"2025-02-10\"\n\n# Add payment note\nstatus.sh INV-042 --note \"Client called, payment sent via check\"\n\n# Pause reminders (client asked for extension)\nstatus.sh INV-042 --pause --until \"2025-03-01\"\n\n# Archive without payment (write-off)\nstatus.sh INV-042 --archive --reason \"Bad debt write-off\""
      },
      {
        "title": "AR Aging Report",
        "body": "# Show summary\nscripts/report.sh\n\n# Output:\n# 📊 Accounts Receivable Aging Report\n# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n# Current (0-30 days):     $12,500  (5 invoices)\n# 31-60 days:              $3,200   (2 invoices) ⚠️\n# 61-90 days:              $1,800   (1 invoice)  🚨\n# 90+ days:                $500     (1 invoice)  💀\n# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n# Total Outstanding:       $18,000  (9 invoices)\n\n# Detail view\nscripts/report.sh --detail\n\n# Export to CSV\nscripts/report.sh --export ar-aging-2025-01-28.csv"
      },
      {
        "title": "Data Files",
        "body": "~/.config/invoice-chaser/\n├── config.json               # User configuration\n├── invoices.json             # Invoice database (state machine)\n├── chase-log.json            # Email send history\n├── last-chase-report.json    # Latest chase run data\n└── archives/\n    └── YYYY-MM/              # Archived paid/written-off invoices"
      },
      {
        "title": "Automation",
        "body": "Set up daily chase runs via cron:\n\n# Run every morning at 9 AM\n0 9 * * * cd ~/clawd/skills/invoice-chaser && scripts/chase.sh >> ~/.config/invoice-chaser/chase.log 2>&1\n\n# Weekly AR report to Telegram (Mondays at 8 AM)\n0 8 * * 1 cd ~/clawd/skills/invoice-chaser && scripts/report.sh --channel telegram\n\nOr use Clawdbot's cron integration:\n\nclawdbot cron add \\\n  --schedule \"0 9 * * *\" \\\n  --command \"cd ~/clawd/skills/invoice-chaser && scripts/chase.sh\" \\\n  --label \"invoice-chaser-daily\""
      },
      {
        "title": "Invoice States",
        "body": "DRAFT → SENT → REMINDED → OVERDUE → FIRM → FINAL → ESCALATED\n                                                        ↓\n                                                   (human intervention)\nAny state → PAID ✅\nAny state → PAUSED ⏸ (temporary hold)\nAny state → ARCHIVED 📁 (written off or canceled)"
      },
      {
        "title": "Integration with Accounting",
        "body": "Invoice Chaser tracks payment status. For full accounting integration:\n\nExport invoices with --export flag\nImport into QuickBooks, FreshBooks, etc.\nOr build custom adapter (see references/accounting-adapters.md)"
      },
      {
        "title": "Safety Features",
        "body": "Dry-run mode: Test templates without sending emails\nPause invoices: Stop reminders for clients with special circumstances\nManual override: Block auto-escalation for sensitive clients\nEmail preview: Review email before first send to new client\nRate limiting: Max emails per day to avoid spam flags\nUnsubscribe handling: Respect opt-outs (manual removal from tracking)"
      },
      {
        "title": "Best Practices",
        "body": "Be consistent: Run chase cycle daily — consistency trains clients to pay on time\nPersonalize templates: Use client names, reference specific work in stage 1-2 emails\nInclude payment links: Make it easy to pay (Stripe, PayPal, bank details)\nEscalate gradually: Don't skip stages — tone progression maintains relationships\nKnow when to pause: Client communication issues? Pause and follow up manually\nArchive regularly: Move paid invoices to archives monthly to keep DB clean\nMonitor aging: Weekly AR report reveals patterns (chronic late payers, systemic issues)"
      },
      {
        "title": "Example Workflow",
        "body": "Initial setup:\n\nscripts/setup.sh\n# Edit ~/.config/invoice-chaser/config.json with your details\n\nWhen you send an invoice:\n\nscripts/add-invoice.sh --number \"INV-042\" --client \"Acme Corp\" --email \"billing@acme.com\" --amount 2500 --date \"2025-01-15\" --due \"2025-02-14\"\n\nDaily automated chase (via cron):\n\nscripts/chase.sh  # Runs every morning, sends reminders based on timing rules\n\nWhen payment arrives:\n\nscripts/status.sh INV-042 --paid --date \"2025-02-12\"\n\nWeekly review:\n\nscripts/report.sh  # Check AR aging, identify problem invoices"
      },
      {
        "title": "Troubleshooting",
        "body": "Emails not sending:\n\nCheck gog skill is installed: gog gmail whoami\nVerify GOG_DEFAULT_ACCOUNT in ~/.clawdbot/secrets.env\nTest with --dry-run flag to see email preview\n\nWrong escalation stage:\n\nCheck timing section in config.json\nVerify invoice date and due_date fields\nUse status.sh INV-XXX to see current days calculation\n\nClient keeps getting emails after payment:\n\nRun status.sh INV-XXX --paid to mark as paid\nCheck invoices.json to confirm status updated"
      },
      {
        "title": "Philosophy",
        "body": "You did the work. You earned the money. You shouldn't have to beg for it.\n\nInvoice Chaser handles the uncomfortable part of freelancing — following up on unpaid invoices — with persistence and escalating firmness. It preserves your professional relationships by being diplomatic in early stages, but doesn't let clients take advantage of you by being firm when necessary.\n\nCash flow is the lifeblood of small businesses. Late payments kill businesses. Invoice Chaser keeps the blood flowing so you can focus on what you do best: your actual work.\n\nStop chasing payments. Your agent sends the awkward emails so you don't have to."
      }
    ],
    "body": "Invoice Chaser — Stop Chasing, Start Getting Paid\n\nYou do the work. Your agent gets you paid.\n\nEvery freelancer, consultant, and small business owner knows the pain: you did the work, sent the invoice, and now... crickets. Following up is awkward. Waiting kills cash flow. Chasing payments wastes time you could spend on billable work.\n\nInvoice Chaser automates the entire follow-up sequence. It sends reminder emails on schedule, escalates tone from friendly to firm, tracks payment status, logs every interaction, and alerts you when invoices need human attention. Think of it as a persistent, diplomatic collections agent that never forgets and never feels awkward.\n\nWhat makes it different: This isn't just \"send reminder in 7 days.\" Invoice Chaser runs a full AR pipeline with state management, escalation logic, and tone progression. It knows when to be friendly (\"just a heads up\"), when to be firm (\"payment is 30 days overdue\"), and when to alert you for manual escalation. Multi-stage sequences handle the complexity of real-world payment cycles.\n\nSetup\nRun scripts/setup.sh to initialize config and data directories\nEdit ~/.config/invoice-chaser/config.json with email templates, timing, and escalation rules\nEnsure gog skill is installed (for Gmail sending)\nSet GOG_DEFAULT_ACCOUNT in ~/.clawdbot/secrets.env (e.g., your-email@gmail.com)\nTest with: scripts/add-invoice.sh --test\nConfig\n\nConfig lives at ~/.config/invoice-chaser/config.json. See config.example.json for full schema.\n\nKey sections:\n\nbusiness — Your company name, contact info, payment terms\nstages — Email templates for each escalation stage (reminder, overdue, firm, final)\ntiming — When to send each stage (days after invoice date or previous stage)\nescalation — Auto-escalation rules, human intervention thresholds\npayment_methods — Include payment links/instructions in reminders\nreporting — Channel, frequency, AR aging groupings\n\nEmail templates support variables: {client_name}, {invoice_number}, {amount}, {due_date}, {days_overdue}, {payment_link}.\n\nScripts\nScript\tPurpose\nscripts/setup.sh\tInitialize config and data directories\nscripts/add-invoice.sh\tAdd new invoice to tracking system\nscripts/chase.sh\tRun payment chase cycle (check status, send reminders, escalate)\nscripts/status.sh\tShow invoice status and AR aging summary\nscripts/report.sh\tGenerate detailed AR aging report\n\nAll scripts support --dry-run for testing without sending emails.\n\nAdding Invoices\n# Add invoice manually\nscripts/add-invoice.sh \\\n  --number \"INV-2025-042\" \\\n  --client \"Acme Corp\" \\\n  --email \"billing@acme.com\" \\\n  --amount 2500.00 \\\n  --date \"2025-01-15\" \\\n  --due \"2025-02-14\" \\\n  --net 30\n\n# Quick add (assumes net-30 terms)\nscripts/add-invoice.sh --number \"INV-042\" --client \"Acme Corp\" --email \"billing@acme.com\" --amount 2500\n\n# Mark as paid\nscripts/status.sh INV-042 --paid --date \"2025-02-10\"\n\nChase Cycle\n\nRun scripts/chase.sh on schedule (cron daily recommended). The chase cycle:\n\nLoads all unpaid invoices from tracking database\nCalculates days since invoice date and days overdue (past due date)\nDetermines current stage for each invoice based on timing rules\nSends appropriate reminder emails (stage-based templates with escalating tone)\nLogs all sent emails and stage progressions\nEscalates to human when threshold reached (e.g., 60 days overdue)\nGenerates status report\nEscalation Stages\nSENT → REMINDER (friendly) → OVERDUE (professional) → FIRM (insistent) → FINAL (urgent) → ESCALATED\n  ↓         ↓ day 3              ↓ day 7+             ↓ day 30         ↓ day 45        ↓ day 60\nPAID (any time) ✅\n\n\nDefault timeline:\n\nDay 3: Friendly reminder (\"Your invoice is due soon...\")\nDay 7+: Due date reminder (\"Payment was due on [date]...\")\nDay 30: First overdue notice (\"Your account is now 30 days past due...\")\nDay 45: Firm notice (\"We must receive payment immediately...\")\nDay 60: Final notice (\"Final notice before we escalate to collections...\")\nDay 75+: Human escalation alert\n\nAll timing is configurable in config.json.\n\nEmail Tone Progression\n\nStage 1 — Friendly Reminder (Day 3):\n\nHi [Client],\n\nJust a friendly reminder that invoice #[number] for $[amount] is due on [due date]. Let me know if you have any questions!\n\nStage 2 — Professional Overdue (Day 14):\n\nHi [Client],\n\nI wanted to follow up on invoice #[number] for $[amount], which was due on [due date]. If you've already sent payment, please disregard this message. Otherwise, please let me know if there are any issues preventing payment.\n\nStage 3 — Firm Notice (Day 30):\n\nDear [Client],\n\nYour account is now 30 days past due. Invoice #[number] for $[amount] was due on [due date]. Immediate payment is required to avoid service interruption and late fees.\n\nStage 4 — Final Notice (Day 45):\n\nDear [Client],\n\nFINAL NOTICE: Invoice #[number] for $[amount] is now 45 days overdue. If we do not receive payment within 7 days, we will be forced to escalate this matter to collections.\n\nAll templates fully customizable in config.\n\nPayment Tracking\n# Mark invoice as paid\nstatus.sh INV-042 --paid --date \"2025-02-10\"\n\n# Add payment note\nstatus.sh INV-042 --note \"Client called, payment sent via check\"\n\n# Pause reminders (client asked for extension)\nstatus.sh INV-042 --pause --until \"2025-03-01\"\n\n# Archive without payment (write-off)\nstatus.sh INV-042 --archive --reason \"Bad debt write-off\"\n\nAR Aging Report\n# Show summary\nscripts/report.sh\n\n# Output:\n# 📊 Accounts Receivable Aging Report\n# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n# Current (0-30 days):     $12,500  (5 invoices)\n# 31-60 days:              $3,200   (2 invoices) ⚠️\n# 61-90 days:              $1,800   (1 invoice)  🚨\n# 90+ days:                $500     (1 invoice)  💀\n# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n# Total Outstanding:       $18,000  (9 invoices)\n\n# Detail view\nscripts/report.sh --detail\n\n# Export to CSV\nscripts/report.sh --export ar-aging-2025-01-28.csv\n\nData Files\n~/.config/invoice-chaser/\n├── config.json               # User configuration\n├── invoices.json             # Invoice database (state machine)\n├── chase-log.json            # Email send history\n├── last-chase-report.json    # Latest chase run data\n└── archives/\n    └── YYYY-MM/              # Archived paid/written-off invoices\n\nAutomation\n\nSet up daily chase runs via cron:\n\n# Run every morning at 9 AM\n0 9 * * * cd ~/clawd/skills/invoice-chaser && scripts/chase.sh >> ~/.config/invoice-chaser/chase.log 2>&1\n\n# Weekly AR report to Telegram (Mondays at 8 AM)\n0 8 * * 1 cd ~/clawd/skills/invoice-chaser && scripts/report.sh --channel telegram\n\n\nOr use Clawdbot's cron integration:\n\nclawdbot cron add \\\n  --schedule \"0 9 * * *\" \\\n  --command \"cd ~/clawd/skills/invoice-chaser && scripts/chase.sh\" \\\n  --label \"invoice-chaser-daily\"\n\nInvoice States\nDRAFT → SENT → REMINDED → OVERDUE → FIRM → FINAL → ESCALATED\n                                                        ↓\n                                                   (human intervention)\nAny state → PAID ✅\nAny state → PAUSED ⏸ (temporary hold)\nAny state → ARCHIVED 📁 (written off or canceled)\n\nIntegration with Accounting\n\nInvoice Chaser tracks payment status. For full accounting integration:\n\nExport invoices with --export flag\nImport into QuickBooks, FreshBooks, etc.\nOr build custom adapter (see references/accounting-adapters.md)\nSafety Features\nDry-run mode: Test templates without sending emails\nPause invoices: Stop reminders for clients with special circumstances\nManual override: Block auto-escalation for sensitive clients\nEmail preview: Review email before first send to new client\nRate limiting: Max emails per day to avoid spam flags\nUnsubscribe handling: Respect opt-outs (manual removal from tracking)\nBest Practices\nBe consistent: Run chase cycle daily — consistency trains clients to pay on time\nPersonalize templates: Use client names, reference specific work in stage 1-2 emails\nInclude payment links: Make it easy to pay (Stripe, PayPal, bank details)\nEscalate gradually: Don't skip stages — tone progression maintains relationships\nKnow when to pause: Client communication issues? Pause and follow up manually\nArchive regularly: Move paid invoices to archives monthly to keep DB clean\nMonitor aging: Weekly AR report reveals patterns (chronic late payers, systemic issues)\nExample Workflow\n\nInitial setup:\n\nscripts/setup.sh\n# Edit ~/.config/invoice-chaser/config.json with your details\n\n\nWhen you send an invoice:\n\nscripts/add-invoice.sh --number \"INV-042\" --client \"Acme Corp\" --email \"billing@acme.com\" --amount 2500 --date \"2025-01-15\" --due \"2025-02-14\"\n\n\nDaily automated chase (via cron):\n\nscripts/chase.sh  # Runs every morning, sends reminders based on timing rules\n\n\nWhen payment arrives:\n\nscripts/status.sh INV-042 --paid --date \"2025-02-12\"\n\n\nWeekly review:\n\nscripts/report.sh  # Check AR aging, identify problem invoices\n\nTroubleshooting\n\nEmails not sending:\n\nCheck gog skill is installed: gog gmail whoami\nVerify GOG_DEFAULT_ACCOUNT in ~/.clawdbot/secrets.env\nTest with --dry-run flag to see email preview\n\nWrong escalation stage:\n\nCheck timing section in config.json\nVerify invoice date and due_date fields\nUse status.sh INV-XXX to see current days calculation\n\nClient keeps getting emails after payment:\n\nRun status.sh INV-XXX --paid to mark as paid\nCheck invoices.json to confirm status updated\nPhilosophy\n\nYou did the work. You earned the money. You shouldn't have to beg for it.\n\nInvoice Chaser handles the uncomfortable part of freelancing — following up on unpaid invoices — with persistence and escalating firmness. It preserves your professional relationships by being diplomatic in early stages, but doesn't let clients take advantage of you by being firm when necessary.\n\nCash flow is the lifeblood of small businesses. Late payments kill businesses. Invoice Chaser keeps the blood flowing so you can focus on what you do best: your actual work.\n\nStop chasing payments. Your agent sends the awkward emails so you don't have to."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/audsmith28/invoice-chaser",
    "publisherUrl": "https://clawhub.ai/audsmith28/invoice-chaser",
    "owner": "audsmith28",
    "version": "1.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/invoice-chaser",
    "downloadUrl": "https://openagent3.xyz/downloads/invoice-chaser",
    "agentUrl": "https://openagent3.xyz/skills/invoice-chaser/agent",
    "manifestUrl": "https://openagent3.xyz/skills/invoice-chaser/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/invoice-chaser/agent.md"
  }
}