Skip to main content
Exepad

Spreadsheet to Portal · Your App Cloud

Turn your client spreadsheet into a portal

In a shared client spreadsheet, whoever opens the file can scroll to every client. Upload the workbook, tie each row to one client, sort shared columns from internal ones, then sign in as two clients to test.

Plan: Build and preview it on any plan. Putting it live needs Go or Pro. See pricing

From client tracker to one view per client.

Three passes over the workbook: give every row an owner, sort the columns into shared and internal, then try to reach another client's work.

What each part of a client tracker becomes.

Every column name and value in this table is invented for illustration. Match each row to a column in your own tracker; the last column is the test to run once the first version exists.

In your client spreadsheetIn the portalTest before clients see it
A Client column typed by hand: 'Northwind', 'Northwind Traders' and 'northwind' with a trailing spaceOne client account that each project, document and invoice belongs toOpen a client that had several spellings and count its projects against the sheet. A spelling you didn't list can split one client in two, and their sign-in then shows only part of their work.
A Contact email column, sometimes with two addresses in one cell separated by a semicolonThe people at each client who get their own sign-in, one address per personSplit shared cells before the upload. Decide whether a second person at the same client sees everything the first does, then sign in as each of them and compare.
Office shorthand in Status: 'WIP', 'WFC' and 'stuck, call Emma'A short list of statuses written for clients, such as Not started, In progress, Waiting on you and DoneGive each old value one client-facing status. Then open a project that said 'stuck, call Emma' from the client's side and read what they would see.
One Notes column where 'draft 2 sent 3/12' sits beside 'slow to pay, ask for a deposit'Two fields: updates the client reads, and internal notes only staff seeSplit the column yourself before the upload instead of asking for the sentences to be sorted later. Sign in as a client whose row held a remark and look for any word from it.
A Files column of links to shared-drive folders, one folder per clientDocuments stored on the project they belong to (File storage, Pro)A link opens whatever its folder allows, and that sharing is set outside the spreadsheet. Add the documents themselves to their projects in the portal rather than carrying the links across, then open three projects and check each file sits on the right one.
Invoice #, Amount, Due and Paid? columnsA list of each client's invoices they can read but not change, marked paid or unpaidDecide what clients see on each invoice, and link unpaid ones to the payment page you already use. Sign in as a test client and check they see only their own invoices and cannot change them.
Hidden Rate and Margin columns, or a hidden, protected tab of hourly ratesFields only staff can read, or data left out of the portal entirelyExcel's help says worksheet protection isn't intended as a security feature, and hidden sheets can be unhidden. Describe who may read each field, then sign in as a client and look through every page for a rate.
A Waiting on column, such as 'signed engagement letter from client'A request the client answers in the portal: upload a file, approve, or replyMark which next steps belong to the client. Answer one request from a test client's account, then check it shows on the staff side with the date it arrived.
A tab per client, or a filtered copy saved and emailed to each oneOne list of projects, each tied to a client, and a signed-in view of only their ownExcel's filter hides the rows that don't match rather than removing them, so a filtered copy can still carry other clients' rows. After the tabs become one list, count one client's projects against their old tab.

What a shared client sheet never had to decide.

While only staff open the file, nobody asks which cells a client may read. A portal asks that of every column. Answer it in the prompt next to the upload, one column at a time.

A row per project, or a row per client

Some trackers keep one row for each client; others keep one per job and repeat the client's name. Say which yours is. Then open a client with three rows and check that it shows as one account with three projects.

Tabs that total every client

A summary tab or a revenue-by-client chart lays all clients side by side. It helps staff and should never reach a client. Leave it out of the upload, or mark it staff only and check it from a client account.

Former clients and closed projects

Finished work often sits grayed out or on an Archive tab. Decide whether a former client keeps a sign-in to download past documents, or whether those rows stay behind. Write the rule into the prompt.

Details the portal doesn't need

Client sheets collect things nobody meant to publish: bank details, tax IDs, a home phone typed into a note. Delete those columns from the copy you upload rather than hiding them, then open one client's record and check they're gone.

An illustrative starting point

One sign-in per client, one set of records behind it.

Each client signs in to their own projects, documents and invoices, while rates and internal notes sit in fields you mark staff only.

Together in your app cloud

The pieces behind the possibility.

Choose the models and services that support the experience you want to create.

Explore every building block

A little more context

Good questions.

Can each client see only their own records?

Only once you describe it and test it. Say that a signed-in client sees the projects, documents and invoices tied to their account; sign-in and saved records need a backend. Then sign in as two test clients, trade document addresses between them, and repeat in a signed-out browser. Invite no one until every attempt fails.

How do clients get a sign-in?

Describe the route you want, such as an invitation to the address in your Contact email column, and what happens when someone joins or leaves a client. Invite a second person at a test client, then remove them and check their sign-in no longer opens that client's projects.

Can clients upload documents through the portal?

Yes, if you ask for it. Uploads need File storage. Say where each upload goes, such as the request that asked for it, and who on your side hears about it. Upload a file as one test client and check the other test client can't find it.

Can clients send us questions?

You can design a question form on each project that saves the client, the date and the message. The app can email you when one arrives, and you can add an agent that drafts a reply when a staff member asks for one. Give it only that client's records, check each draft points to the records it used, and have a person send it. Model usage is metered separately.

Can my staff use the portal too?

Yes. Staff sign in to the same published portal with wider access than clients, which you describe and test. Try a staff account and a client account side by side before launch.

What happens to the spreadsheet once clients use the portal?

It stops being the place of record. An upload is a snapshot, not a sync, so a status changed only in Excel never reaches a client. Move updates into the portal, re-import deliberately if some work still arrives as a sheet, and keep the workbook read-only after the switch.

Which plan does a client portal need?

A portal where clients sign in to saved records, with File storage and email, is an app with data, and putting it live needs a paid plan. A public page about your services would be a one-page site. See the pricing page for current plans.

Explore Pricing for plans, included capabilities, and usage details.

Keep exploring.

Your ideas, up and running

Your next idea has a home.

Build an app. Run an agent. Make it yours.

Start building