From alternative-payments
Reconciles an Alternative Payments payout by listing its transactions, summing amounts, verifying against the payout total, and tracing each transaction to its invoice and customer.
How this command is triggered — by the user, by Claude, or both
Slash command
/alternative-payments:reconcile-payout <payout_id> [show_transactions]The summary Claude sees in its command listing — used to decide when to auto-load this command
# Reconcile Payout Reconcile a single Alternative Payments payout: retrieve the payout, list every transaction it settled, sum those transactions, confirm the total matches the payout amount, and trace each transaction back to its invoice and customer. This command is entirely read-only. ## Prerequisites - Valid Alternative Payments OAuth2 credentials configured (`AP_CLIENT_ID`, `AP_CLIENT_SECRET`) - Environment selected (`AP_ENVIRONMENT` = `production` or `demo`) - Scope `payments:read` ## Steps 1. **Authenticate with Alternative Payments** 2. **Retrieve the payout** 3. **...
Reconcile a single Alternative Payments payout: retrieve the payout, list every transaction it settled, sum those transactions, confirm the total matches the payout amount, and trace each transaction back to its invoice and customer. This command is entirely read-only.
AP_CLIENT_ID, AP_CLIENT_SECRET)AP_ENVIRONMENT = production or demo)payments:readAuthenticate with Alternative Payments
BASE=https://public-api.alternativepayments.io
TOKEN=$(curl -s -X POST "${BASE}/oauth/token" \
-u "${AP_CLIENT_ID}:${AP_CLIENT_SECRET}" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
| jq -r '.access_token')
Retrieve the payout
curl -s "${BASE}/payouts/${PAYOUT_ID}" \
-H "Authorization: Bearer ${TOKEN}"
List the payout's transactions (cursor-paginated)
curl -s "${BASE}/payouts/${PAYOUT_ID}/transactions?limit=100" \
-H "Authorization: Bearer ${TOKEN}"
Loop on has_more / next_cursor, passing cursor=<next_cursor> per page.
Sum and compare — total the transaction amount values and compare to the
payout's amount. Agreement within rounding = reconciled; otherwise flag a
discrepancy.
Trace each transaction — for each transaction, resolve its invoice_id
and customer_id so the deposit can be tied to specific receivables. Optionally
fetch the customer name:
curl -s "${BASE}/customers/${CUSTOMER_ID}" \
-H "Authorization: Bearer ${TOKEN}"
Format and return the reconciliation report
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| payout_id | string | Yes | - | Payout id to reconcile |
| show_transactions | boolean | No | true | Include the line-by-line list |
/reconcile-payout po_2026_06_15
/reconcile-payout po_2026_06_15 --show_transactions false
Payout Reconciliation: po_2026_06_15
================================================================
Payout:
Amount: $6,800.00 USD
Status: paid
Arrival Date: 2026-06-17
Reconciliation:
Transactions: 4
Transaction Total: $6,800.00
Verdict: RECONCILED (matches payout amount)
Transactions:
+--------------+-------------------+-----------+----------------+-----------+
| Transaction | Customer | Invoice | Method | Amount |
+--------------+-------------------+-----------+----------------+-----------+
| txn_a1 | Acme Corp | inv_0042 | card | $2,500.00 |
| txn_b2 | TechStart Inc | inv_0044 | standard_ach | $1,800.00 |
| txn_c3 | GlobalHealth | inv_0045 | standard_ach | $1,500.00 |
| txn_d4 | Acme Corp | inv_0046 | card | $1,000.00 |
+--------------+-------------------+-----------+----------------+-----------+
================================================================
Payout Reconciliation: po_2026_06_15
================================================================
Payout:
Amount: $6,800.00 USD
Status: paid
Reconciliation:
Transactions: 3
Transaction Total: $5,800.00
Verdict: DISCREPANCY — $1,000.00 unaccounted for
Action:
- Review the payout in the Partner Dashboard
- One transaction may belong to a different payout or be missing a link
================================================================
Error: Payout "po_xxx" not found (404)
Suggestions:
- Verify the payout id
- List recent payouts: GET /payouts
Error: OAuth2 token request failed
Possible causes:
- Invalid AP_CLIENT_ID or AP_CLIENT_SECRET
- Wrong AP_ENVIRONMENT (production vs demo)
Resolution:
- Verify credentials in the Alternative Payments Partner Dashboard
Error: Rate limit exceeded (429)
Resolution:
- Alternative Payments allows 5 requests/second
- This command makes several calls for large payouts; pace pagination
- Respect the Retry-After header
/list-overdue-invoices - List open and overdue invoices and generate hosted payment linksnpx claudepluginhub wyre-technology/msp-claude-plugins --plugin alternative-payments/reconcile-billingCompares active Pax8 subscriptions against Xero or QuickBooks Online invoices to find unbilled subscriptions, quantity mismatches, and margin discrepancies for a client or all clients.
/run-mf-invoice-reconcileReconciles monthly invoices between a confirmation sheet and MF credit payment records, detecting missing issuances and unregistered contracts. Supports dry-run and apply modes with bidirectional matching.
/frappe-paymentsHandles Frappe Payments and ERPNext payment workflows — gateway setup, invoices, subscriptions, refunds, reconciliation, and webhook handling.
/reconciliation-summaryVerifies all MSP clients have been billed for a given period by cross-referencing Xero contacts and invoices, then produces a reconciliation summary.
/month-end-reconRuns a full billing-drift sweep for a given month, matching PSA contracts against accounting invoices and producing a ranked reconciliation report.
/reconciliation-reportDrafts monthly bank reconciliation reports with tables for bank and book balances, reconciling items, and client notes.