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
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
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.succeededarrives 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
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.