Appearance
Client project portal
The project portal lets the people on your client's side follow a project from your company's website: where it stands, the stages, and the documents you choose to share. An interior design studio shows a villa owner the layout drawings and the programme; a contractor shares the approved permits with the developer; a consultancy shares deliverables with the steering committee.
This chapter covers switching the portal on, inviting people, sharing documents, controlling access, posting progress updates with photos, the agreement the client accepts online, the client's view of their invoices, client approvals and the conversation with the client. Clients can also pay invoices online: see Online payments for setting up gateways.
What the portal is, and what it is not
- It is your website. The portal runs on the same site as your online shop or business website, under your name and your theme. Clients do not visit an OSERP address.
- It shows only what you mark. A project's cost, budget, margin, estimate at completion and internal documents are never shown. A client sees the project's name, status, dates, project manager, stages, and the documents you have ticked for them.
- Access is per person and per project. One client may have several people following the same project (the owner, a family member, their architect), each with their own login. Access to one project never opens another.
- Access follows the customer. If a project is later moved to a different customer, the first customer's people lose access to it automatically.
Before you start
The quickest start for an interior studio, a contractor or a consultancy is the matching website template (Studio, Build or Consult): it switches the portal on and applies the industry pack. See Industry packs and service websites.
You need:
- A store under Ecommerce > Stores & Domains. A business website with no shop works (a store in Site mode).
- A customer on the project. The portal invites people on the customer's side, so the project's Overview tab must name the customer.
- The right permission. Inviting people, changing what they may do and sharing documents needs Projects: Client portal access. Looking at who has access needs only Projects: read. The built-in administrator and accountant roles have it; give it to other roles under Administration > Roles if your project managers should invite clients.
- An email gateway (recommended). Invitations are emailed through your own email settings under Integrations > Notifications. Without one, OSERP gives you the link to send yourself.
Step 1 - Switch the portal on
- Open Ecommerce > Stores & Domains.
- Choose Edit on the store your clients will use.
- Tick Client portal.
- Optionally enter a Portal address, for example
portal.yourstudio.com. This is a second web address for the same site that opens straight into the client's projects instead of your home page. Point it at the same server as your site (your hosting provider or OSERP support can add the DNS record). Leave it blank to use your normal address. - Choose Save.
The store list now shows Client portal under the store's status, with the portal address if you set one.
| Field | What it does | Rules |
|---|---|---|
| Client portal | Switches the portal on for this store | Off for every store until you tick it |
| Portal address | A second web address that lands in the portal | Must be a plain hostname (no https://, no path); must differ from the shop address; cannot be used by any other store |
Turning the portal off hides the portal pages immediately. Nobody's access is deleted: switch it back on and everyone who had access has it again.
Step 2 - Invite someone
- Open Projects and open the project.
- Choose the Client portal tab.
The top bar shows the Portal address clients use and the project's Customer. If it says Not switched on, follow the link to Stores & Domains. If it says No customer on this project, set the customer on the Overview tab first.
- Fill in the invitation:
| Field | Meaning |
|---|---|
| Name | The person's name, as they will be greeted |
| One email address. This becomes their sign-in | |
| Mobile | Optional, kept with their account |
| Access ends | Optional. Their access stops at the end of this day. Blank means until you withdraw it |
| May | See progress is always included (the project page, updates and their photos, the agreement and invoices). Tick Open documents to let them open the documents you share. Tick Accept agreements for the person who signs for the client |
- Choose Send invitation.
What happens next:
- With an email gateway, the person receives an email from your company with a link. The status bar confirms it was emailed.
- Without one, OSERP says nothing was emailed and shows the link with a Copy link button. Send it to the person yourself (email, WhatsApp). The link is not a password; it only lets its holder set up their access.
- The invitation appears under Open invitations with when the link expires and whether it was emailed.
About the link: it works once, for 7 days. Sending a new invitation to the same address for the same project cancels the earlier link, so only the latest email works. Cancel under Open invitations stops a link before it is used.
Step 3 - What your client does
- They open the link. The page names your company and the project.
- First time: they confirm their name and choose a password (at least 8 characters). Their email address is their sign-in. Already have an account on your site (for example from shopping there, or another project): they enter their existing password, and the project is added to the same account.
- They choose Accept and open the project and land on the project page, signed in.
Afterwards they sign in at your site's Sign in page with their email and password. Their account page shows My projects. If you set a portal address, opening that address takes them straight to their projects.
If the link was already used, replaced by a newer one, or has expired, the page says which, and what to do: usually, ask you for a new invitation.
What the client sees
My projects lists every project they have access to with its status and dates. Opening one shows:
- Status: Planned, In progress, Completed or Closed (from the project's status).
- Start and Completion dates, and the Project manager.
- Progress: the latest percentage you published, with its date, as a bar. Nothing is shown until you publish a figure.
- Updates: your published updates, newest first, with their photos. Clicking a photo opens it full size.
- Stages: the top-level stages of the work plan with their scheduled dates and, where an update gave one, the stage's own percentage; milestones are marked.
- Agreement: each revision you issued, with its status and total. View opens it.
- Contract and invoices: contract value, invoiced, paid, outstanding, still to be invoiced, and each invoice with its due date, balance and state (Due, Part paid, Paid, Overdue). The invoice number opens the invoice.
- Documents: the documents you have shared, with revision, file name, size and date. Open shows images and PDFs in the browser and downloads other files.
The client never sees cost, budget, margin, the estimate at completion, internal documents, draft updates or draft agreements.
If your store's language is Arabic, the portal pages appear in Arabic, right to left.
Step 4 - Share documents
Documents are internal until you share them.
- Open the project's Documents tab.
- Tick Client sees on each document the client should have.
Untick it to stop sharing. A superseded revision cannot be shared: share the current revision instead. Each share and unshare is recorded in the audit log, so "the client was shown Rev B on this date" can be proven later.
People need Open documents to open them; without it they see that documents exist and are told to ask you for access.
Step 5 - Change or withdraw access
Under People with access on the Client portal tab you see each person, what they may do, when their access ends, their Last visit, and a Status:
- Active - their access works.
- Withdrawn - you withdrew it.
- A red note - their access exists but does not work today, with the reason (for example it has ended, or the project's customer changed).
To change what someone may do, tick or untick Open documents on their row; it takes effect immediately, including for any document they already have open in a link. To remove access, choose Withdraw and confirm. The project leaves their list at once. You can invite them again later; their access is restored on the same record rather than duplicated.
Step 6 - Post a progress update
Updates are what the client reads about the job: what happened, how far along it is, and photos.
- On the Client portal tab, under Updates for the client, choose New update.
- Fill in:
| Field | Meaning | Rules |
|---|---|---|
| Headline | One line the client reads first, e.g. "Gypsum ceiling complete" | Required, up to 160 characters |
| Stage | The stage of the work plan it is about, or Whole project | Optional |
| Progress % | How far along, in your words | Optional, 0 to 100 |
| As of | The day the update describes | Required; not a future day |
| What happened | The text the client reads | Optional, up to 8,000 characters |
- Choose Save draft. A draft is never shown to the client.
- Choose Add photos and pick JPEG, PNG or WebP photos (up to 30 per update, 15 MB each). Each shows as a thumbnail with Remove.
- Choose Publish and email the client. The update appears in the portal at once, and everyone with access is emailed a link (when an email gateway is switched on). The row shows what happened to the email, for example "Emailed 2 people" or "No email gateway is switched on".
The progress figure is entered by hand and is never worked out from cost. The percentage on the Progress & revenue tab drives revenue and tells you what the job has cost; the client sees only what you choose to tell them. The latest published figure is the one shown; for a stage, the latest published update for that stage.
A published update cannot be edited. If it is wrong, choose Withdraw and publish a corrected one. A withdrawn update and its photos disappear from the portal immediately (photo links already opened stop working), but stay on the list here, so what the client was told remains on record.
Photos on an update are also filed on the Documents tab under the project type's photo kind, where site photos belong anyway.
Step 7 - The agreement
The Agreement tab holds what was agreed with the client: the scope, what is not included, the terms, and how it will be paid. The client reads it in the portal and accepts it there.
Draft it
- Choose Start the agreement (or New revision, which copies the latest revision).
- Fill in the Title, Valid until (optional), Introduction, and Terms and conditions.
- Under Scope, add a line for each piece of work:
| Kind | Meaning | In the total? |
|---|---|---|
| Included | Work you will do | Yes |
| Allowance | A provisional sum, e.g. light fittings to the client's choice | Yes |
| Optional | Priced, offered, not yet taken | No |
| Excluded | Listed so nobody assumes it is included, e.g. loose furniture | No, always zero |
Each line has an Area / room, Description, Specification, and either Qty x Rate (the amount is calculated) or a typed Amount. The total at the foot is calculated; it is never typed.
- Under Payment schedule, add each instalment: a name, its Kind (Advance, Milestone, Progress), its Share % of the total, optionally the Stage whose completion earns it, a Due date and a Retention %. The amounts are calculated from the shares; the last instalment absorbs any rounding so they add back to the total exactly. The Adds up to figure turns green at exactly 100%.
- Choose Save. Anything that would stop it being issued is listed under "Before it can be issued", for example "The payment schedule adds up to 95% of the total; it must add up to exactly 100%."
Issue it
Choose Issue to the client and confirm. Issuing:
- freezes this revision: nothing in it can change, and a correction is a New revision;
- records a fingerprint of the exact content (shown on the printed agreement), so what the client accepts is provably what was issued;
- replaces any earlier revision still waiting for acceptance;
- emails everyone with access a link to read it.
Withdraw takes an issued revision back before it is accepted.
How the client accepts
The client opens the agreement in the portal. They can print it or save it as PDF with Print or save as PDF. A person with Accept agreements:
- chooses Email me a code; a 6-digit code is emailed to their account's address (it works once, for 10 minutes; a new one can be asked for after a minute);
- enters the code and their full name;
- chooses Accept the agreement.
The acceptance records who accepted, the email address the code went to, the time, their network address and browser, and the content fingerprint. If the agreement changed while they were reading it, the acceptance is refused and they are asked to reopen it. You receive an email at the company's address when a client accepts. People without Accept agreements can read the agreement and are told to ask you for permission to accept.
Accepting a new revision replaces the one accepted before it.
Accepted on paper? If the client signs a printed copy instead, a person with Projects: budget records it on the Agreement tab under Record an acceptance given outside the portal: who accepted and how (for example "signed copy received 3 Oct, filed under Contracts").
Apply it to the billing plan
Once accepted, choose Apply to the billing plan (needs Projects: budget). Each instalment becomes a line on the project's Billing tab, with its share, amount, stage, due date and retention, and the project's contract value is set to the agreement total when the project has none.
If the project already has a different contract value, applying is refused: a change of price goes through a change order, so the change is approved and recorded. Applying can happen once per revision.
Invoices are then raised from the Billing tab as before, through the ordinary sales flow (approvals, tax and the journal), and appear in the client's portal once posted.
Step 8 - What the client sees about money
Once a project invoice is posted (the invoice stage of the sales flow), the client sees it under Contract and invoices on the project page and can open it as a printable invoice: your company and tax registration, the client, the project, each line with its tax, the tax breakdown as recorded on the invoice (VAT, or CGST/SGST/IGST), the total, what has been paid, and the balance. Retention held on the invoice is stated. Paid amounts come from the receipts matched to the invoice in the ERP.
Only invoices of that project and that customer are shown. Draft invoices, orders and other customers' documents never are.
Step 9 - Ask the client to approve
Some decisions belong to the client. On the Client portal tab, under Client approvals, choose what to put to them:
| What | Which can be chosen | What the client's answer does |
|---|---|---|
| Milestone | A planned milestone line on the Billing tab | Approved: the line becomes Ready to invoice. You still raise the invoice from the Billing tab |
| Variation | A submitted change order | Approved: you can now approve the change order on the Changes tab, which moves the contract value. Rejected: you cannot approve it until you revise it and ask again, or withdraw the request |
| Drawing / document | A current (not superseded) document | The answer and reason are recorded. The document is shared with the client so they can open it |
- Choose What and Which, optionally Answer by (a date shown to the client) and a Message to the client.
- Choose Send to the client. People with Accept agreements on the project are emailed (when an email gateway is on).
Only one request can be open for the same item. Withdraw takes back a request that has not been answered; it disappears from the client's page.
How the client answers: the request is at the top of their project page under Waiting for your approval, with the amount, your message and, for a drawing, Open the document. They choose Approve or Reject, type their full name, and when rejecting, the reason (required). A variation changes the price, so approving it needs a 6-digit code emailed to them, like the agreement. Approving a milestone or a drawing needs only their signed-in account and name. Each answer records who, when, from which network address and browser, and, for a variation, the address the code went to. You are emailed at the company's address when the client answers.
Only people with Accept agreements can answer. Others see the request and are told to ask you for permission.
Once you have asked the client about a variation, the Changes tab will not let anyone approve it until the client has approved it. If it was agreed another way (for example on site, in writing), withdraw the request on the Client portal tab first; the decision is then yours alone again, as it always was.
Step 10 - The conversation
Under Conversation with the client, both sides write messages about the project. Staff messages are signed with your company's name and the writer's name; client messages with the client's name. Tick Email the client to send them a copy (on by default). When a client writes, the company's address is emailed. Messages cannot be edited or deleted: the thread is the record of what was said.
Step 11 - Let the client pay online
Once a payment gateway is switched on at Integrations > Payments (see Online payments), people with Pay invoices online see Pay this invoice on each unpaid project invoice, with one button per gateway that takes its currency. The receipt is posted automatically when the gateway confirms the payment, and the invoice shows Paid to the client. A bank transfer the client reports waits for you to confirm it at Integrations > Payments.
When something is refused
| Message | Why | What to do |
|---|---|---|
| This project has no customer | The portal invites the customer's people | Set the customer on the Overview tab |
| No store of this company has the client portal switched on | Invitations need a site to open on | Ecommerce > Stores & Domains, edit the store, tick Client portal |
| The invitation cannot be sent as entered | An address list, a missing name, or an unknown right | Enter one address and a name |
| The access end date has already passed | An end date must be in the future | Choose a later date, or leave it blank |
| That portal address cannot be used | Same as the shop address, or used by another store | Choose another hostname, or leave it blank |
| A published update cannot be changed | Published updates are on record | Withdraw it and publish a corrected one |
| Only JPEG, PNG and WebP photos can go on an update | Another file type was chosen | File other documents on the Documents tab |
| An issued agreement cannot change | Issued revisions are frozen | Start a new revision |
| The payment schedule adds up to N% | Shares must total exactly 100% | Correct the shares |
| The project's contract value is X and the agreement totals Y | A price change needs a change order | Raise and approve a change order, then apply |
| The code could not be emailed | No email gateway is switched on | Switch one on under Integrations > Notifications, or record the acceptance from a signed copy |
| This is already waiting for the client | One open request per item | Withdraw the open request to ask again |
| The variation waits for the client | You asked the client and they have not approved | Wait for their answer, or withdraw the request if it was agreed another way |
| Say why you are rejecting it | A rejection needs a reason | Type the reason |
Client-side messages (shown on your website) say what to do in plain words, for example that an invitation has already been accepted and they should sign in.
Check it works
- Switch the portal on for a test store and invite yourself (a personal address) to a test project.
- Accept the invitation in a private browser window.
- Confirm you see the project, and no documents.
- Tick Client sees on one document; refresh the client window; open it.
- Untick Open documents on your row; confirm the document no longer opens.
- Withdraw your access; confirm the project leaves your list.
Change log
| Release | Change |
|---|---|
| Portal phase 1 | Portal switch and portal address per store; invitations by email or link; per-person rights; document sharing; withdraw and re-invite; English and Arabic client pages |
| Portal phase 4b | Paying project invoices online through the company's own gateways; the Pay invoices online right |
| Portal phase 4a | Client approvals of milestones (to ready to invoice), variations (code-confirmed, gating the company's approval) and drawings; the conversation with the client |
| Portal phases 2 and 3 | Progress updates with photos and a hand-entered progress figure; the client's contract and invoices with printable invoices; the Agreement tab (scope, exclusions, allowances, options, terms, payment schedule, revisions), accepted by the client with an emailed code or recorded from a signed copy, and applied to the billing plan |