The Storey Real Estate

Agents portal

The Storey Real Estate
{{ dataDownWhy }}. Your session was not checked, so nothing has been drawn.
The Storey Real Estate
Agents portal

{{ loginHeadline }}

Sign in with your Storey address to see your own deals, your own commission and your own board position. Leave the password blank and we will email you a one-time link instead.

Remember my email on this device
{{ loginErr }}
New to The Storey?

Join the portal.

Anyone with a Storey address can set themselves up. Tell us your name as you want it on the board, pick your branch, and we will send a link to confirm it is you.

{{ suNote }}
Your branch
{{ suErr }}
{{ suDone }}

Check your inbox.

{{ loginSentBody }}

{{ loginNote }}

{{ loginErr }}

Any @thestorey.co.za address can set up a portal account. No account yet? Create one above — it takes a minute.

The Storey Real Estate
Agents portal · {{ meBranch }}
Viewing as {{ viewAsName }} — {{ viewAsBar }} Nothing you do here is recorded against them.
{{ dataDownWhy }} — so these figures are blank rather than wrong.
{{ homeRole }}

{{ homeHello }}, {{ homeFirst }}.

{{ homeDate }}

{{ homeQuote }}

{{ homeQuoteBy }}
{{ homeQuoteNote }}
Still to come
{{ commPipeline }}
Awaiting transfer · {{ commPipeCount }}
Banked
{{ commBanked }}
Registered · {{ commBankedCount }}
Your commission this year
{{ commTotal }}
1 Mar 2026 → 28 Feb 2027
{{ commCheckNote }}
{{ c.head }} {{ c.headNote }}
{{ c.property }}
{{ c.fileNo }} {{ c.status }}
Sold {{ c.sold }}
Registers {{ c.reg }}
Deal record does not add up
{{ l.label }} {{ l.basis }} {{ l.amount }} {{ l.note }}
You earn
{{ c.amount }}
{{ commBeforeNote }}
How this is worked out
Administration comm is 5% of Jonathan’s portion of the commission on every deal he sells, from 1 March 2026. On a R2 000 000 sale at 5% + VAT, the commission net of VAT is R100 000; Jonathan’s portion is 60% of that, or R60 000; and 5% of his portion is R3 000. It is a share of what he earns, not of the company’s.
Two deals work differently. On Wex 526 you did the viewing and dealt with the buyer, so you are on that deal as an agent and take your own 50% split instead of the 5%. On Centreville A201 you sourced the lead, so a 10% referral is paid on top of the usual 5%.
You are paid when the deal registers, at the same time Jonathan is. Until then it sits under “still to come”. Every figure comes off the deal record in Drive and updates itself when the sheet does — nothing here is typed in by hand.
Also here

{{ meName }}

Sales & rentals 1 Mar 2026 → 28 Feb 2027
Tap to sort
{{ d.groupLabel }} {{ d.groupOrder }} {{ d.groupCount }} · {{ d.groupNet }} {{ d.groupUnit }}
{{ d.coverLabel }}
{{ d.property }}↗
{{ d.property }}
{{ d.code }} · {{ d.date }} {{ d.stageLabel }} !{{ d.flag }} Bridged
{{ d.net }}
{{ d.gci }}
{{ d.take }}
−{{ d.paye }}
Bridged Details›
Still to come · not bridged
{{ incUnbridged }}
{{ incUnbridgedNote }}
Still to come · bridged
{{ incBridged }}
{{ incBridgedNote }}
Still to come · bridging status unavailable
{{ incUnbridged }}
The bridging marks could not be read, so the bridged / not-bridged split is not drawn and nothing has been taken off for an advance. Try again in a moment.
Paid to you
{{ incPaid }}
{{ incPaidNote }}
Registered · paid or pending?
{{ incRegUnknown }}
{{ incRegUnknownNote }}
Total · {{ incUnit }}
{{ incTotal }}
{{ incBasis }} {{ incScope }}.
{{ incAsAt }}
{{ meName }} {{ meTier }} · {{ meBranch }}

{{ boardTitle }}

{{ boardLead }}
{{ a.rank }}
{{ a.name }}
{{ a.branch }} · {{ a.deals }} {{ a.subLine }}
{{ a.gciShown }}
{{ a.tier }}
{{ boardPrivacyNote }}

The awards, briefly

{{ ladderNote }}
Foundation
{{ tFoundation }} {{ ladderName }}
Curated
{{ tCurated }} {{ ladderName }}
Signature
{{ tSignature }} {{ ladderName }}
Legacy
{{ tLegacy }} {{ ladderName }}
The Carol-Deirdre Award
For the agent who best embodies the ethos and culture of The Storey. Won in 2025 by Caitlin Oelofsen.
Leadership Award
For the agent who shows the leadership The Storey will be built on. Won in 2025 by Andrea Lubbe.

Paperwork

{{ paperSet }} — every mandate, offer to purchase, FICA form, lease and inspection form as a PDF. Tap one to save it to your phone.
{{ paperCount }}
{{ g.group }}
{{ g.count }}
{{ it.name }} {{ it.meta }}
Nothing in the pack matches that. Clear the search to see all {{ paperTotal }} documents.
One tap saves a clean PDF to your phone or computer — download again whenever you need a fresh copy. These are the current 2026 documents from the office Drive. Commission release forms are generated live on the Invoices tab.
{{ s.n }} {{ s.title }} {{ s.note }} {{ s.tag }}
Step 1 · block chosen {{ blockName }} {{ blockAddress }} {{ phoneCount }} with a number {{ soldCount }} sold here
1
Choose the block
{{ blockCount }}
No block matches that. Try the building name, or the suburb.
+
Add a block from a CMA
Drop the CMA numbers export in. It reads the address, owner and phone columns and groups the units into buildings.
{{ importNote }}
2
Choose the message
Every figure stays editable
Office templates
Agent templates
Nothing shared yet. Anything you write and share with the office lands here for everyone.
Pick a template and the message appears here
Nothing is written yet. Once you choose one you can change the wording and every figure in it.
{{ tplName }} {{ tplBy }}
{{ p.text }}
Your wording, on your login only. {name} becomes the owner, {agent} you, {building} the block.
Step 2 done
Tell Storey AI what the message should say about {{ blockName }} and it will write it in the office voice.
{{ aiNote }}
One owner at a time. Their name goes in as you reach them, the message fills itself, and sending brings up the next. Skip anyone freely and stop whenever you like.
{{ guidedNoneNote }}
3
Start WhatsApping
{{ todayDate }} {{ capLabel }}
Two steps before WhatsApp opens
{{ g.tick }}{{ g.label }}
The owner list stays blank until both are done. Nothing sends on its own — each name opens WhatsApp with the message already typed.
Messaged today {{ n.name }}
{{ o.unit }}
{{ o.name }}
{{ o.phone }}
{{ o.altLabel }}
{{ o.sendLabel }}
{{ capNote }}

Invoices & commission forms

Find the deal, check the figures, cut the paperwork.
{{ invPickLabel }}
{{ invoiceCount }}
No completed deal matches that. Clear the search or widen the filters.
{{ invKindTitle }} · {{ formRef }}
Ref {{ formInvoiceRef }}
{{ invBranchLabel }} {{ invBranchNote }}
Sale or rental
{{ r.label }}
{{ r.note }}
{{ r.value }}
Line items {{ itemsTotalLabel }}
Nothing on this invoice yet. Each line prints as its own row on the document, and they add up to the subtotal.
Total due
{{ invTotalLabel }}
{{ invSubtotalLabel }} + {{ invVatLabel }} VAT
Agent share due
{{ formNet }}
Before PAYE. PAYE will be deducted and paid over to SARS on the agent’s behalf, as per the payslip to be issued.
The figures on this document
{{ invEditNote }}
Agent name
{{ l.basis }}
{{ l.nameNote }}
Gross {{ l.grossLabel }}
Where it gets paid
{{ invBankSummary }}
Deductions {{ dedTotalLabel }}
None on this release. Anything added here comes off the agent’s share and is itemised on the commission form.
{{ invNote }}

Metrics

All three branches, awards year to date.
Deal records · {{ syncedLabel }}
{{ syncWarn }}
{{ syncNever }}
{{ syncMsg }}
Deal records that do not add up
{{ dwNote }}
{{ w.property }} {{ w.tag }} {{ w.delta }}
{{ w.detail }}
Total GCI this year
{{ totalGci }}
gross turnover · sales {{ salesGci }} + rentals {{ rentalGci }}
Agency this month · cashed
{{ monthIn }}
so far this month, all branches
Total pipeline incoming
{{ totalPipe }}
signed, not yet cashed
Company portion · pipeline
{{ pipeCompany }}
the house share of the pipeline

Sales

{{ salesCountLine }}
Cashed
{{ salesBanked }}
Pipeline
{{ salesPipeFig }}
Company portion, banked · {{ salesCoFig }}

Rentals

{{ rentCountLine }}
Cashed
{{ rentBanked }}
Pipeline
{{ rentPipeFig }}
Company portion, banked · {{ rentCoFig }}
No leases on the deal record for this awards year yet. Rental commission counts toward tiers exactly as sales commission does, and lands here the month a lease commences.

Every agent · GCI in and pipeline

Dark is cashed. Light is signed and still to come. {{ boardRentalNote }}
Cashed Pipeline
{{ a.name }}
{{ a.rentNote }}
{{ a.gci }} {{ a.pipe }}
Total
agent credit, not gross · {{ boardTotalAll }} all in
{{ boardTotalGci }} {{ boardTotalPipe }}

Company income per branch

{{ coNote }}
Cashed Pipeline
{{ b.name }}
{{ b.cashed }} cashed · {{ b.pipe }} to come

Branch by branch · this year

Deals registered, what was sold, the commission earned on it, and who is leading.
Branch
Total sold
Commission
{{ b.name }}
{{ b.deals }} · leading: {{ b.leader }} — {{ b.leaderSold }} sold, {{ b.leaderGci }} commission
{{ b.sold }}
{{ b.comm }}

Cashed by month · branch against branch

The same money, split three ways. {{ branchRaceNote }}
Cape Town Southern Suburbs Durban
{{ m.ctTxt }}
{{ m.ssTxt }}
{{ m.dbnTxt }}
{{ m.name }}

Portal usage

Who has been in, what they opened, and how long they stayed. {{ useRangeLabel }}.
Reading the usage log…
{{ useErrorText }}
Nothing logged yet in this window. Tracking starts the moment an agent signs in on a build that carries it — if this stays empty after a day of use, check that /api/usage is routed and that Netlify Blobs is available to the function.
Agents in
{{ useAgents }}
of {{ useRoster }} on the roster · {{ useSessions }} visits
Time on the portal
{{ useTime }}
active time only, idle not counted
Sections opened
{{ useViews }}
most opened · {{ useTopSection }}
Buttons pressed
{{ useClicks }}
every press, across every screen

Every agent

Ordered by who was in most recently. A quiet row is a prompt for a friendly check-in, not a mark against anyone.
Agent
Last seen
Visits
Time
Views
Clicks
Most used
{{ a.initials }} {{ a.name }} {{ a.branch }}
{{ a.lastSeen }}
{{ a.sessions }}
{{ a.time }}
{{ a.views }}
{{ a.clicks }}
{{ a.topSection }}

What they check

Sections opened, most to least. The short bars are where the portal is being ignored.
{{ s.label }}
{{ s.count }}

What they do

The buttons actually being pressed, by the label on the button.
{{ x.label }} {{ x.count }}

Recently

The last of everything, newest first.
{{ r.when }} {{ r.who }} {{ r.kind }} {{ r.label }}

Sign-in and passwords

Send an agent a fresh sign-in link, or clear their password so they go back to email links and can set a new one.
Nobody sees anybody’s password, you included — there is no way to read one and no temporary one is ever issued. Clearing simply removes it, and the agent chooses the next one from a link only their inbox receives.
{{ pwMsg }}
{{ p.name }}
{{ p.email }}
{{ p.state }}

Loading mandates

Loading the Command centre

Opening the document…
{{ docEyebrow }}

{{ docTitle }}

{{ docSub }}
{{ docMeta }} Download as PDF
{{ secEyebrow }} {{ docPos }}

{{ secTitle }}

{{ secSub }}

{{ b.t }}{{ r.t }}

{{ b.t }}

{{ b.t }}

  • {{ i.n }} — {{ i.t }}{{ r.t }}
{{ b.t }}{{ r.t }}
{{ b.eyebrow }}
{{ b.head }}
{{ pp.t }}{{ r.t }}
{{ h }}
{{ c }}
{{ b.t }}{{ r.t }}

{{ secValuesTitle }}

{{ vv.n }} {{ vv.title }} {{ vv.note }}
The office
In testing
Management
{{ viewAsNote }}
{{ a.head }}
Signed in as
{{ myName }}
{{ myEmail }}
{{ buildLine }}
Storey AI
{{ m.who }}
{{ m.text }}
Storey AI is thinking…
{{ aiChatError }}