Work through the checks in order. Each section ends with what to send us if the problem survives — including that detail up front usually saves a full round trip.
The client never got the invite
Almost always deliverability, not delivery failure. LynxRise records whether the message was accepted by the receiving server.
- Ask them to check spam and any quarantine their IT runs
- Confirm the address has no typo, then resend from People
- Verify your sending domain — unverified domains land in spam far more often
- Copy the invite link and send it over your own email or chat as a fallback
The client can't see something you added
Four settings control this. Check them in this order — the answer is in one of them nearly every time.
New tasks, files, and invoices are internal until marked client-visible.
A page set to internal hides everything on it, even client-visible items.
A draft portal is unreachable regardless of invites.
A billing-only contact cannot see projects; a collaborator cannot see invoices.
Custom domain shows an error
Domain issues are DNS issues. The error text tells you which stage failed.
- Subdomains use CNAME, not A
- Delete conflicting records on the same hostname
- Allow up to 24 hours for full propagation before assuming failure
- The LynxRise address keeps working the whole time
Upload failed or won't preview
Large uploads resume automatically, but unstable connections and unsupported formats behave differently.
- Check remaining storage in Settings → Usage
- Confirm the file is under your plan's per-file limit
- Retry the same file — resumable uploads continue where they stopped
- ZIPs and source design files download rather than preview; that's expected
- Zero-byte or corrupted files are rejected on purpose
An invoice won't pay or shows the wrong status
Payment state comes from your connected provider, so check both sides.
- A draft invoice has no payment page — send it first
- Card declines come from the client's bank; ask them to retry or use transfer
- Bank transfers can take one to three days to confirm
- Manual payments must be recorded by you or reminders keep sending
- Reconnect the provider if its status shows as expired
Webhooks aren't arriving
Check delivery attempts in Settings → Developer before touching your code. The response code tells you where the problem is.
You verified against the parsed body. Use the raw request bytes.
Return 2xx immediately and process the payload asynchronously.
24 hours of failures disables it. Fix, then re-enable and replay.
Retries are expected. De-duplicate on the event id.