ZyanDocs

Troubleshooting clients and portals

The refusals, missing buttons and surprises people actually hit when setting up client portals — grouped by where they happen, with the fix for each.

Most portal problems are one of six things: the invite, a creation refusal, a visibility surprise, a blocked approval or request, billing being confused with access, or a storefront that shows nothing. Find your symptom below.

Invite problems

SymptomCauseFix
The client never received their inviteDelivery failed, or the invite went out from the platform address and was filteredUse Resend Invite on Overview → Portal setup, and verify your sending domain under Settings → Email identity
Only Email is offered as a delivery methodText and Email + text channels only render where your workspace's native app host is armedSend by email. This is expected in most workspaces
There is no QR or mobile invite linkThe same native app requirementUse the emailed link
"Enter a phone number before sending a text invite"A text channel is selected with no numberEnter the SMS number, or switch back to Email
The client set a password but the seat still reads Invite sentA seat only becomes Active once that person sets their own passwordHave that person open their own invite, not the primary login's

Verify your sending domain before the first real client

The invite is the first thing a client sees. Until you verify your own domain under SettingsEmail identity, it arrives from a shared platform address and spam filters treat it accordingly.

Portal creation refusals

SymptomCauseFix
"Add a client email before creating portal access"The client record has no email, and the email is the portal loginEdit the client, add the email, reopen Create portal
"This client already has an unassigned portal. Link the next portal to a project instead."A client may hold only one account-level portal with no projectChoose the existing-project mode under Portal target and pick the website, or manage the portal that already exists
Choose pack and Create pack are greyed outPacks are applied as part of the invite, and no delivery method is selectedTick Send onboarding invite now, pick a channel, then attach the pack
Create portal is missing from the row kebabThe client already has a portal, or you lack Client Portals (edit)Open the client to check, or ask an owner for the permission

Sections and visibility surprises

SymptomCauseFix
Section toggles reset after you hand-edited themYou clicked a different Portal kind pill, which rewrites every toggle from that kind's presetPick the kind first, then hand-adjust the checkboxes, then Save changes
You turned a section off but the client still gets emails or new files about itSection flags hide the surface, not the producers behind itTurn the matching category off under Settings → Access as well
Active SEO program is greyed out with a tooltip about enrollmentThe website is not enrolled in the SEO Command Center, or the portal has no project of its ownEnrol the website in the SEO Command Center, then return. Use Retry if the check errored
A service shows on one of the client's websites but not anotherEntitlements live on a portal. A website with no portal of its own inherits the client's first portal's servicesFrom Client visibility, create a portal for that website so it can hold its own services
A recent change is not in the client's portalAdd-on entitlement reads are not realtimeWait about 15 seconds, or have the client reload
The Access and Sections tabs are missing entirelyBoth are owner-onlyAsk a workspace owner to make the change

Approval and request blockers

SymptomCauseFix
Request Approval stays disabled"This portal has no linked project. Approvals are project-scoped — link a project to this portal first."Link a project to the portal, then create the approval
You cannot set a request to CancelledCancellation is a client-side action onlyUse Rejected, or archive the request from the inbox
A red Unread client conversation marker will not clearRead markers are per person — a teammate opening it does not clear yoursOpen the request and read the thread yourself
An approval status change did not saveThe detail page requires Save statusSet the status and press Save status

Discovery and onboarding

SymptomCauseFix
Discovery still shows "not started" after the client filled the formDiscovery is stamped on both the portal and the project row, and different surfaces prefer different rowsUse Mark discovery complete under Settings → Portal lifecycle — it writes both
The client sees "Discovery interview unavailable"No pack with a discovery form is attached to that portalAttach a pack with a discovery form, or accept that this portal has no questionnaire
A multi-project client cannot find the right questionnaireThe Discovery Interview page is per projectThey pick the project at the top of the page
The onboarding pack never arrived with the portalA pack is applied as part of the invite, so it fires only when a delivery method was on at portal creationSend the discovery form and client tasks yourself this time, and tick Send onboarding invite now before attaching a pack on the next portal

Billing versus access

SymptomCauseFix
Cancelling an add-on did not stop the Stripe chargeRemoving portal access and cancelling a subscription are two separate actionsCancel the recurring charge through the client's billing door, then remove the access
The Billing tab is missingYou are inside the iOS admin shell, or you lack Billing (view)Use the web admin, or ask an owner for the permission
Consolidate billing does not appearIt only shows when a client has two or more live subscriptions that are not already cancelling, and it is web onlyNothing to fix if the client has one subscription

Access and money are separate everywhere in Zyan

Turning a service off, deactivating a portal and deleting a portal all remove access. None of them cancel a Stripe subscription. Cancel the charge first, then take the access away.

Deleting the wrong thing

SymptomCauseFix
Deleting a portal lost project history you expected to keepDelete wipes messages, requests with comments, tasks, uploaded files, discovery answers, notifications and the loginUse Deactivate instead — it revokes access and keeps the data. Delete asks you to type the access email for exactly this reason
Cancel invitation removed the portal completelyCancel invitation permanently deletes the portal. It is not a soft undoRecreate the portal and invite again
Deleting a client left a portal behindDelete client removes the client row only — portals and projects surviveCreate a client using that portal's access email to reattach it, manage it as an internal portal, or delete the portal separately

Storefront showing nothing

SymptomCauseFix
The storefront page is blank or returns not foundThe storefront switch is off, no Stripe account is connected, no products are switched on, or the plans are not synced to StripeOpen Settings → Storefront, enable Self-serve storefront, confirm the Stripe connection, and switch on at least one synced, priced, active catalog plan
A product disappeared from a working storefrontIts plan drifted out of Stripe sync, was deactivated, or was priced at zeroFix the plan in the Billing Catalog and let it re-sync