Extranet Client Portal
This page describes the extranet through the client's eyes. It helps the team explain what exactly an external participant gets after the invitation: where they see requests, how they write in the chat, where they accept documents, and which actions do not give them access to the company's internal work.
How to grant access and manage policies is described on the Extranet for Employees page.
What the Client Gets
Conceptual guidance, not a UI screenshot or state evidence.
The client logs in through an invitation and sees only their own working perimeter:
- requests and their statuses;
- the request chat and, if allowed, the general chat with the team;
- voice or video calls in the chat when policy and the device allow them;
- documents published for their company or contact;
- files and comments related to the available requests;
- notifications about new messages, status changes, and document actions.
When policy and context allow it, the portal can also show a Services & goods
summary at /extranet/commitments and a read-only entitlement statement at
/extranet/commitments/<entitlementId>; see Services & goods and statements.
The /extranet/decisions area may expose a pending approval or acceptance,
an offer, or a usage confirmation through direct links such as
/extranet/decisions/work/<acceptanceCaseId>,
/extranet/decisions/offer/<quotationId>, and
/extranet/decisions/usage/<entitlementId>/<usageRecordId>. The portal does
not promise a complete offer list. Visibility depends on policy and context;
an empty or unavailable view is not proof of a zero balance or no decision.
For demonstrations, use only synthetic Client Test, Northwind Demo, and
Bluebird Demo; never use real amounts, personal data, or identifiers.
The extranet does not show the client internal tasks, other companies, internal comments, service settings, or other clients' work.
First Login
Conceptual guidance, not a UI screenshot or state evidence.
- The client receives an invitation through the agreed channel.
- Opens the link, sets a password, and enters the portal.
- Checks the default company, their name, and the available sections.
- If they see something extra or cannot see what they need, they tell the manager — an employee checks the link and the effective policy.
Do not ask the client to forward the invitation to another person. Each participant needs their own account so the history of messages, signatures, and actions stays verifiable.
If the client has access to more than one company or context, the header can switch the current context. After switching, old requests, chats, and documents are cleared and the selected company's data reloads; check the active company before acting. If an object disappears after the switch, ask the manager to check the link and effective policy.
If the context becomes stale, the portal temporarily pauses context-bound reads and shows a synchronization state. This is not an empty list or proof that the object is absent: wait for recovery or switch context from the header, then reload the page. Do not repeat a response or submission before recovery, and do not treat the old screen as current state.
From the bottom of the sidebar, open Profile and settings. The modal can
change the display name, photo, password, portal language, and available
notifications; the language list includes ru, en, de, zh, es, fr,
kk, ky, and ar and is saved on the profile, not in the selected company
context. Email is read-only. Use a neutral synthetic profile for demonstrations;
never use real email addresses, photos, tokens, or notifications.
The selector offers all nine locale codes, but some Extranet panel, settings, and notification labels may remain in a base language until that surface has a native dictionary. This does not change data or access; treat a screenshot as localization evidence only after reviewing the visible labels in the selected locale.
If MFA and Telegram linking are available in the settings, review them separately. MFA protects sign-in: the panel can show disabled or enabled, loading, or an error; setup requires the current password, an authenticator app, and a one-time code, while recovery codes are shown only once. Do not enable or disable MFA in a documentation frame and never show real secrets.
The Telegram channel can be connected, linked but not delivering, waiting for a binding command such as /bind <code> with an expiry, or showing an expired/lost code and a reconnect path. Send a one-time command only to the bot and never publish it; reconnect or revoke a stale link, or ask the manager. Use synthetic profile Client Test only: no real accounts, codes, tokens, or messages.
Requests and Chat
Conceptual guidance, not a UI screenshot or state evidence.
A request is the client's main working object. It shows the subject, status, the responsible person on the team side, the conversation, files, and the next actions.
If an older request has no subject, its list row and card use the neutral “Untitled request” label instead of a technical identifier. It has not disappeared; ask the manager to clarify its subject.
If the new request card opens after submission or the portal says it was created, the request has already been accepted. The list can temporarily say that it is updating or unavailable while it updates separately. This is not a refusal and is not a reason to submit the same form again. Wait, then refresh the list or return to the open card. Retry only when the form itself says that the request was not sent before acceptance.
A new reply normally appears by itself in an open general or appeal chat. If the expected message is still not visible after a reasonable wait, refresh the page or reopen the chat; that is a fallback, not a reason to send the same question again or treat the missing row as proof that no reply exists. If the conversation remains unchanged after refresh, contact the manager.
In an open general or appeal chat, a withdrawn staff message disappears without a page reload. However, an appeal row in the list can still retain an old last-message preview even after refresh; that is a known display problem, not current instructions. Do not forward or use that preview or a saved copy as instructions; ask the manager for the next step. Its disappearance from the conversation changes message visibility and is not proof of a chat error.
In an appeal chat, the author of a message can open ⋯ and choose Withdraw only during the first 15 minutes after sending it. The general chat and messages from another person or the system do not offer this action. After the window expires, the menu explains the limit. If an already sent withdrawal command is refused because of the author, time, or retention, the portal shows a human explanation; but when the action is unavailable because of policy or retention, the menu can omit both Withdraw and an explanation. In that case, ask the manager. Do not repeat the command blindly or treat a disappeared message as deletion of the whole appeal history.
In a multiple-choice field on the request, each option appears as its own checkbox; select every value that applies, and a normal click toggles only that option—Ctrl/Cmd is not required. If the schema offers no choices, the field says that no choices are available; this is not a save error. If a value saved earlier is no longer offered, it remains visible and checked until you deliberately clear it.
Good practice for the client:
- write a question in the chat of the specific request, not in the general channel;
- attach files to the request where they are needed;
- reply to clarifications in the same conversation so the history does not fall apart;
- look at the status before asking again — the next step is often already stated.
Search and long lists
Conceptual guidance, not a UI screenshot or state evidence.
Request search runs on the server across the available set, not only the rows already loaded. Wait for the list to refresh after typing; if another page exists, use Show more. An empty search result means that nothing matched the query, not that the client has no requests. List rows may also show the last-message time, unread count, and deadline; these are navigation cues, not status changes.
Search messages in a chat
In an open chat, select the search icon and enter part of the text. The query runs automatically after a short pause; press Enter to run it immediately. Each match shows the author, excerpt and message time; select a row to jump to the original place in the conversation. “No messages found” means that no message matched the query; a search error means the request failed. Search is unavailable until the chat has loaded.
Chat files
In an appeal chat, the paperclip opens files from the current conversation. The list loads separately; filename search updates after a short pause, and you can switch between grid and list; image preview and download are available when permitted. “No files” means the list is empty, while “no matches” means the search returned nothing; an unloaded list and a failed request are separate states.
Documents and Files
Conceptual guidance, not a UI screenshot or state evidence.
The client sees only the documents published for them. Before publishing, an employee must check that the document belongs to the right company, contains no internal notes, and the expected action is clear to the client: review, approve, sign, or attach a file.
If a document requires a signature or approval, the action must be available directly in the document card. Do not replace it with email forwarding: that loses version control and the decision history.
The document list offers quick folders such as All, Needs attention, To sign, Signed, Drafts, and Archive when available. Search by title, type, or status updates after a short debounce; type and status filters can be reset. Loading and request failure are separate states. An empty list means no documents are available, while an empty result means the current filters found none; the footer shows the visible and total counts. Preview and download are available only when permitted.
If the effective policy and form schema allow publication, the Documents area shows Add document. The client can enter a title and type, attach one file, and publish it to the external workspace. This action is conditional: the server may hide or disable the form, and publishing does not replace an employee review. If the form is unavailable, do not retry uploads blindly; ask the manager to check policy and file type limits.
Attachment metadata may remain technical: the size can appear as B, KB, or
MB, and the extension may be shown in uppercase Latin letters or as FILE.
This is card formatting, not a file error. Before treating a frame as localized
screenshot/evidence, verify the labels separately in the target locale.
Security
Conceptual guidance, not a UI screenshot or state evidence.
Client access is limited by the company and contact policy. If an employee needs to expand access, they change the policy and check the effective result. If the collaboration is over, the link, invitations, and external channels must be revoked.
Common Client Questions
Conceptual guidance, not a UI screenshot or state evidence.
- Why can I not see a request? Most likely it belongs to another company, pipeline, or contact. Ask the manager to check the link.
- Can I add a colleague? Yes, but through a separate invitation and account.
- Where is the final document? In the documents section or in the request where the decision was made.
- Why does the link no longer open? The invitation or the external access may have expired or been revoked.
Related Pages
Conceptual guidance, not a UI screenshot or state evidence.