Documentation

Everything you need to install, configure, and use AgentReceivable.

Installation

Homebrew (macOS / Linux)

brew tap agent-receivable/tap
brew install agent-receivable

npm (all platforms)

npm install -g agent-receivable

Manual (binary download)

Download the latest release from GitHub Releases. Extract the binary and add it to your PATH.

# macOS / Linux
curl -L https://github.com/agent-receivable/agent-receivable/releases/latest/download/agent-receivable-darwin-arm64.tar.gz | tar xz
sudo mv agent-receivable /usr/local/bin/

# Verify installation
agent-receivable --version

Quick start

Three commands to send your first invoice:

1. Authenticate

agent-receivable auth

2. Create an invoice

agent-receivable invoice create \
  --client "Acme Corp" \
  --email billing@acme.com \
  --amount 3200 \
  --description "March 2026 retainer"

3. Send it

agent-receivable invoice send 1

Authentication

Run agent-receivable auth to connect your accounts. This will guide you through linking:

  • Email — via Resend API key
  • Stripe — for payment links
  • Accounting — Xero or QuickBooks OAuth
  • Notifications — Slack webhook or Telegram bot token
$ agent-receivable auth
? Select service to connect: (use arrow keys)
❯ Email (Resend)
  Stripe
  Xero
  QuickBooks
  Slack
  Telegram

? Enter your Resend API key: re_xxxxxxxxxxxx
✓ Email connected successfully

? Enter your Stripe secret key: sk_live_xxxxxxxxxxxx
✓ Stripe connected successfully

Commands reference

invoice create

Create a new invoice.

agent-receivable invoice create --client "Name" --email client@example.com --amount 1000 --description "Description"
--clientClient name (required)
--emailClient email (required)
--amountInvoice amount in dollars (required)
--descriptionLine item description
--dueDue date, e.g. "2026-04-01" (default: 30 days)
--currencyCurrency code (default: USD)

invoice send

Send an invoice via email with a Stripe payment link.

agent-receivable invoice send <invoice-id>
--resendResend a previously sent invoice
--no-payment-linkSend without a Stripe payment link

invoice list

List all invoices with status.

agent-receivable invoice list
--statusFilter by status: draft, sent, paid, overdue
--clientFilter by client name
--jsonOutput as JSON

invoice mark-paid

Manually mark an invoice as paid.

agent-receivable invoice mark-paid <invoice-id>
--datePayment date (default: today)
--methodPayment method (e.g. bank-transfer, check)

invoice remind

Send a payment reminder for an overdue invoice.

agent-receivable invoice remind <invoice-id>
--allSend reminders for all overdue invoices
--templateUse a custom email template

report

Generate an accounts receivable report.

agent-receivable report
--periodReport period: week, month, quarter, year
--formatOutput format: table, csv, json
--outputWrite to file instead of stdout

OpenClaw integration

AgentReceivable can be installed as an OpenClaw skill. This lets your OpenClaw agent create, send, and manage invoices as part of a larger workflow.

Installing the skill

# Add AgentReceivable as an OpenClaw skill
openclaw skill install agent-receivable

# Or manually copy the SKILL.md file
cp node_modules/agent-receivable/SKILL.md ~/.openclaw/skills/agent-receivable.md

Example usage in OpenClaw

> Send an invoice to Acme Corp for $3,200 for the March retainer

[OpenClaw] Using skill: agent-receivable
[AgentReceivable] Creating invoice...
✓ Invoice #48 created for Acme Corp — $3,200.00
[AgentReceivable] Sending invoice...
✓ Sent to billing@acme.com with payment link

Configuration

AgentReceivable stores its configuration in ~/.agent-receivable/config.toml.

# ~/.agent-receivable/config.toml

[general]
default_currency = "USD"
default_due_days = 30
timezone = "America/New_York"

[email]
from_name = "Your Company"
from_email = "invoices@yourcompany.com"
reply_to = "you@yourcompany.com"

[reminders]
enabled = true
# Send reminders at 7, 14, and 30 days overdue
schedule = [7, 14, 30]

[notifications]
slack_webhook = "https://hooks.slack.com/services/..."
telegram_bot_token = "..."
telegram_chat_id = "..."

[sync]
# Sync paid invoices to your accounting tool
provider = "xero"  # or "quickbooks"
auto_sync = true

Troubleshooting

agent-receivable: command not found

Make sure the binary is in your PATH. If you installed via npm, check that your npm global bin directory is in your PATH: npm config get prefix. If you installed via Homebrew, run brew link agent-receivable.

Authentication failed for Stripe

Verify your Stripe secret key starts with sk_live_ (or sk_test_ for sandbox mode). Run agent-receivable auth and re-enter your key.

Invoice email not delivered

Check your Resend API key and verify the from_email in your config is a verified domain in Resend. Run agent-receivable auth to verify your email configuration.

Xero sync failing

Your OAuth token may have expired. Run agent-receivable auth and reconnect Xero. Ensure you have the correct permissions in your Xero app settings.