Troubleshooting
Why isn’t my payment showing as paid
If the invoice uses Stripe
Automatic Paid status depends on Stripe sending checkout.session.completed to your Docora webhook.
Checklist:
- Client completed Checkout successfully in Stripe.
- Your restricted/secret key is still saved in Invoice Payment settings.
- Webhook setup completed (not failed) when the key was saved — setup is complete when both key and webhook secret exist.
- In development, ngrok or Stripe CLI forwarding is running and secrets match (restart dev after changing
STRIPE_CLI_WEBHOOK_SECRET). - In Stripe Dashboard → Developers → Webhooks, confirm deliveries to
/api/webhooks/stripe/...succeed (no signature failures).
Pay Now can open Checkout with only an API key; marking Paid still needs the webhook path.
If the invoice uses bank transfer or other link
Docora does not auto-detect those payments. Confirm funds in your bank/PayPal/Wise, then mark the invoice paid in the editor.
Partial confusion
- Multiple invoices on one proposal each have their own status.
- Refunds change paid/refunded state separately from “client paid me outside Docora.”
Still stuck? Email support@docora.io with the invoice id and payment method.
This documentation is a living guide and may not cover every edge case yet. Features and labels can change as Docora evolves.
Still stuck? Contact us at support@docora.io.