Solo Founder OS agent #11 — overdue invoice reminders with HITL gating. Stripe-shaped types; works with or without a Stripe key (mock provider for dev/dry-run).
Project description
payments-agent
Solo Founder OS agent #11 — overdue-invoice reminder drafter with HITL gating.
The 7th canonical layer of a one-person-company stack: monetization. Drafts reminder emails for overdue Stripe invoices, picks tone by severity (gentle / firm / final), queues every draft for human approval before send.
Built on solo-founder-os — uses
its HitlQueue, AnthropicClient, log_outcome, and record_example
primitives.
Why money is special
The agent's system prompt has hard rules other agents don't need:
- NEVER thank a customer for a payment that didn't happen.
- State the EXACT amount and currency from the invoice. No rounding.
- State the EXACT number of days overdue.
- NEVER invent a payment link.
These are asserted in tests so a future prompt rewrite can't drift them away.
Install
pip install payments-agent
Optional Stripe wiring (v0.2):
pip install 'payments-agent[stripe]'
export STRIPE_API_KEY=sk_live_...
Without STRIPE_API_KEY, the agent uses MockProvider with three fixture
invoices — useful for dev, demos, dry-runs, and the "I don't have Stripe
yet" onboarding path.
Usage
# Dry-run with mock invoices, queue 3 reminders to ~/.payments-agent/queue/pending/
payments-agent triage
# Show queue counts
payments-agent queue-status
# Approve / reject manually:
mv ~/.payments-agent/queue/pending/<file>.md \
~/.payments-agent/queue/approved/
# Or use sfos-ui (from solo-founder-os) for a unified dashboard across
# all SFOS agents:
sfos-ui
Severity ladder
| Days overdue | Severity | Tone |
|---|---|---|
| 0–7 | gentle | "just a heads up" |
| 8–30 | firm | direct + mention next-step consequences |
| >30 | final | service suspension as next step |
Status
v0.1 — mock provider only. Real Stripe wiring lands in v0.2 once the agent has been validated against fixture data.
License
MIT.
🧩 Part of the Solo Founder OS stack
A growing collection of MIT-licensed agents that share solo-founder-os as their base — cron, eval, reflexion, AnthropicClient, HITL queue, notifiers. Each agent is independently useful; together they cover the full one-person company workflow.
🌐 The whole stack is live in production at vibexforge.com.
| Agent | What it does |
|---|---|
| solo-founder-os | The shared base lib (cron · eval · reflexion · skill library · DGM-lite). Every other agent depends on it. |
| build-quality-agent | Pre-push Claude diff reviewer + local build runner — catches CI-killing changes before they ship. |
| customer-discovery-agent | Reddit pain-point scraper + Claude clustering for product validation. |
| funnel-analytics-agent | Daily founder brief + real-time PH-day alerts across 9 sources. |
| orallexa-marketing-agent | AI marketing agent — submit project once, get platform-native posts for X / Reddit / HN / Dev.to / 小红书 + 7 more. Powers vibexforge.com. |
| vc-outreach-agent | Cold email drafter — investors (vc mode) or paying customers (customer mode, merged from customer-outreach in v0.9.0). HITL queue + SMTP sender. |
| cost-audit-agent | Monthly bill audit across 6 providers (Vercel / Anthropic / OpenPanel / HyperDX / Supabase / GitHub Actions) with dollar-tagged waste findings. |
| bilingual-content-sync-agent | EN ⇄ 中文 i18n diff + Claude translate + HITL apply. Batch API path @ 50% off. |
| customer-support-agent | Triage user messages → auto-draft replies → HITL queue. Closes the L5 customer-support layer. |
Each agent's own row is omitted from its README. Install whichever solve real problems for you — pip install <agent-name>.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file payments_agent-0.1.0.tar.gz.
File metadata
- Download URL: payments_agent-0.1.0.tar.gz
- Upload date:
- Size: 15.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c4ed5a542daada6254b33f8df186e8bd877d0985813158f29559b25bfa45618b
|
|
| MD5 |
754fd85359ab1b8b1676037aad58889b
|
|
| BLAKE2b-256 |
ad48743bfc526b39eac87a2af78c6f9e867187cbcc4f0672a62c870d777c3937
|
Provenance
The following attestation bundles were made for payments_agent-0.1.0.tar.gz:
Publisher:
release.yml on alex-jb/payments-agent
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
payments_agent-0.1.0.tar.gz -
Subject digest:
c4ed5a542daada6254b33f8df186e8bd877d0985813158f29559b25bfa45618b - Sigstore transparency entry: 1740616299
- Sigstore integration time:
-
Permalink:
alex-jb/payments-agent@017b375e12aae20e951f0704959348643d460693 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/alex-jb
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@017b375e12aae20e951f0704959348643d460693 -
Trigger Event:
push
-
Statement type:
File details
Details for the file payments_agent-0.1.0-py3-none-any.whl.
File metadata
- Download URL: payments_agent-0.1.0-py3-none-any.whl
- Upload date:
- Size: 14.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3c4e3dad63cb308f9999bdd03183c395b8facba902b928aa87cbb3f09db6cb54
|
|
| MD5 |
ab628be9fe8010aaecbbca8945df319e
|
|
| BLAKE2b-256 |
6e8936afca5e7489da754bb57c54c5e94f57332737075ac9ca436b482e35dbd8
|
Provenance
The following attestation bundles were made for payments_agent-0.1.0-py3-none-any.whl:
Publisher:
release.yml on alex-jb/payments-agent
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
payments_agent-0.1.0-py3-none-any.whl -
Subject digest:
3c4e3dad63cb308f9999bdd03183c395b8facba902b928aa87cbb3f09db6cb54 - Sigstore transparency entry: 1740616309
- Sigstore integration time:
-
Permalink:
alex-jb/payments-agent@017b375e12aae20e951f0704959348643d460693 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/alex-jb
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@017b375e12aae20e951f0704959348643d460693 -
Trigger Event:
push
-
Statement type: