Skip to main content

Documentation Index

Fetch the complete documentation index at: https://help.hedwigbot.xyz/llms.txt

Use this file to discover all available pages before exploring further.

When a client pays you outside the crypto checkout flow — bank transfer, cash, or another platform — use Mark as paid to record the payment so it appears in your revenue analytics, client lifetime earnings, and activity feed.

When to use it

  • A client sent funds to your bank payout and you saw the deposit in your bank app
  • You received cash in person
  • A Stripe or Paystack charge cleared (until webhook auto-marking ships)
  • Any off-platform settlement you want reflected in Hedwig
Crypto payments through the public checkout flip an invoice to Paid automatically — you do not need to mark them.

Recording the payment

1

Open the unpaid document

Go to Payments, switch between the Invoices or Payment Links tabs, and click the row to open its detail panel.
2

Tap Mark as paid

A confirmation dialog opens. The button is disabled if the document is already paid.
3

Choose the payment method

Pick one of:
  • Bank transfer — most common for the new bank payout flow
  • Crypto — for off-platform crypto settlements
  • Cash
  • Other — for Stripe, Paystack, PayPal, etc.
4

Add a reference (optional)

Up to 200 characters. Useful values:
  • The bank transaction reference / SWIFT code
  • The Stripe pi_* charge id
  • A short internal note The reference is saved on the document and shows up in the revenue activity feed.
5

Confirm

The status flips to Paid. Hedwig stamps paid_at server-side, sets the manual_mark_paid flag, and the database trigger recomputes the client’s total_earnings, outstanding_balance, last_activity_at, and engagement segment.

What changes after marking as paid

  • The document moves to the Paid filter on the Payments page
  • The amount adds to your paid revenue for the period
  • The client’s lifetime earnings on the Clients detail page increment
  • The client’s outstanding balance drops accordingly
  • The activity feed on the Revenue page gets an entry with the payment method label
  • Any associated calendar event for the invoice due date is marked complete

Where the data shows up

SurfaceDisplay
Payments → InvoicesStatus flips to Paid; the row moves into the Paid filter
Revenue → Activity”Invoice paid” or “Payment link paid” event with the method, reference, and amount
Clients → detail pageTotal earnings increases; outstanding balance decreases; last activity timestamp updates
DashboardPaid revenue card and trend chart pick up the change on the next load
AI assistant chatThe next chat answer reflects the new totals

Reverting

The status flip is one-way through the UI. If a payment was marked in error, edit the row in Supabase or contact support; the trigger will re-aggregate automatically once the row is updated.

Coming soon

  • Stripe webhook — automatically marks an invoice paid when a matching payment_intent.succeeded arrives with the invoice id in metadata
  • Paystack webhook — same, for Naira / Cedi accounts
  • Plaid match — proposes a Mark as paid suggestion when an inbound bank transaction matches an outstanding invoice amount and client
Until those ship, Mark as paid is the canonical way to log off-platform settlements.
The mark-as-paid action is also available to the AI assistant. Tell the chat agent: “Mark INV-2026-031 as paid via bank transfer with reference WT-998” and it will stage the action for your approval.