Four28
Four28

Operations Platform

Sign in with your Four28 Google account to continue.

Four28

Operations Platform

Awaiting approval

You're signed in as , but an admin needs to grant you access before you can use the portal.

You'll be let in as soon as someone on the team approves your account. This usually doesn't take long.

Dashboard

Active clients
0
Outstanding
$0
Collected (MTD)
$0
MRR
$0

Needs attention

Loading...

Recent activity

No recent activity.

Proposals

Total
0
Pending
0
Signed
0
Executed
0
All
Sent
Opened
Signed
Executed
ProposalClientActivityStatus
Loading...

Sent Documents

0 documents
Client / DocumentLinkStatusActivity
Loading...

Employment Contracts

0 contracts
Employee / DocumentLinkStatusActivity
Loading...

Uploaded contract files

EmployeeFileUploadedSize
No files.

Strategy Documents

TitleClientFileUploaded
No strategy documents.

Other Files

NameCategoryFileUploaded
No files uploaded.

Projects

Active
0
Onboarding
0
Paused
0
Completed
0
ClientProjectStatusPhaseStartedRevenue
No projects yet.

Activity Log

No activity logged yet.

Onboarding

0 clients
Total clients
0
In onboarding
0
In build
0
Deployed
0
Pipeline
Intake forms
Forms
Loading...

Onboarding

Register form

Use this when you've deployed a custom onboarding HTML for a client. Registering links the form to the client and lets you track entries here.

URL:

Invite a teammate

They sign in at dashboard.four28.com/admin with this Google account and land straight in with the role you choose — no approval step.

Send intake form

Emails the client a personal, branded invite with a link to their intake form, and asks them to complete it before the kickoff call.

New client

Consolidate duplicate clients

One real client can show up as several Stripe records (a personal name, a business name, old accounts). Confirm the suggested groups below to merge them into one — nothing is sent to Stripe, and you can unmerge anytime.

Scanning…

Remove this entry?

Are you sure? This will move the entry to the trash. You can recover it later from Settings → Trash if needed.

Move document

Sync from Stripe

This pulls all your customers, invoices, subscriptions, and payments from Stripe into the dashboard. Use this for first-time setup or to recover from any missed webhook events. Existing data is updated, not duplicated.

Confirm

Create draft invoice

Invoice total $0.00
Days until due · 0 = on receipt
This creates a draft invoice set to ACH bank transfer only. It is not emailed and no payment is taken — review it in Stripe and send it yourself.

Form Permissions

Choose which roles can view entries for each form. Owners always have access regardless of these settings.

Project Review

Reset project overview

This wipes all decisions, comments, signature, and submission from 's review document. The doc record stays in Firestore (so the URL still works) but all data is cleared. This cannot be undone.
To confirm, type the client slug below:

Paste a call transcript

Assign entry to client

Once assigned, this entry will appear under that client's profile in the Onboarding tab.

History

Edit client

Anyone else who should be on their emails. Separate with commas. They are CC'd on the same message, so everyone sees one thread rather than separate copies.

Inbox

Loading…

New email

Sends from your own Gmail — it will appear in your Sent folder.

Client Comments

Loading…

Project Overviews

0 documents

Project review documents are client-facing pages where clients approve, discuss, or reject key strategic decisions. Each lives at /<client-slug>/project-overview?t=<token> and stores decisions in the client_overviews collection.

Loading…

All Clients

0 clients
ClientContactMonthlyStatusProjectLast activity
Loading...
Proposal

Form

Open form ↗

Client

Overview
Proposal
Onboarding
Handoff
Kickoff Deck
Project Overview
Brand Kit
Website
Billing
Files
Inbox
Activity

Billing

Collected
$0
Outstanding
$0
Overdue
$0
Active subs
0

Recent invoices

AmountStatusCustomerDescriptionCreated
Loading...

Invoices

All0
Draft
Open
Past due
Paid
TotalStatusNumberCustomerMethodDueCreated
Create invoice
DescriptionQtyPriceAmount
Subtotal$0.00
Amount due$0.00
Preview
Invoice
#DRAFT
Issued:
Due:
Four28 Marketing
$0.00
DescQtyPriceAmt
Sub $0.00
$0.00 USD

Subscriptions

Active
0
MRR
$0
Cancelled
0
CustomerProductStatusAmountFreqNextAd spend
No subscriptions.

Customers

Customers
Subscriptions
Invoices
NameEmailInvoicesSpendCreated
Back

Subscriptions

Invoices

Details

ID
Phone
Campaign
Spend$0
Since

Payments

All
0
Succeeded
0
Outstanding
0
AmountStatusDescriptionCustomerMethodDate

Payroll Overview

Every dollar of labor — full-time W2, overseas (Wise), US subcontractors, and commissions — in one place. Subcontractor amounts are matched live from your QuickBooks + bank feed.
Total labor / mo
Loading every labor dollar…

US Payroll

Loading payroll overview…
W2 employees
0
Monthly (W2)
$0
Annual (W2)
$0

US team — who makes what

Click anyone to open their full profile
NameRoleTypeSalaryPer checkStatus
No US employees.

Overseas Payroll

Contractors
0
Bi-weekly total
$0
Monthly
$0
YTD paid
$0

Contractors

NameRoleCountryBi-weeklyCurrencyWise IDTypeStatus
No contractors.

Process Payroll

Build a batch payment for your overseas team and send it via Wise in one run. Select who to pay, confirm amounts, review the total, then send.

This pay run

Loading your overseas team…
Batch total
$0

Commissions

Reps
0
Revenue mgd
$0
This month
$0
YTD
$0

Reps

NameDealsRevenueEarnedOverride
No reps.

Deals

ClientRepValueMonthlyUpfrontDate
No deals.

HR / PTO

Team
PTO
Documents
NameRoleTypeLocationStartStatus
Populates from payroll.

All Employees

0 employees
Loading…

Access & clients
Overview
Contracts
PTO
Payroll
Reimbursements
Documents
Performance
Notes

Contracts

0 contracts

Every employment contract, in one place — drafts, sent, viewed, signed, and executed. Edit or delete drafts, archive older ones, and click any contract to open it.

All 0
Draft 0
Sent 0
Viewed 0
Signed 0
Executed 0
Archived 0
Trash 0
Loading…

Reimbursements

0 submissions

Expense submissions by employees. Approvers can mark items as approved and paid.

Loading…

Add employee

Edit employee

Where this employee's contract and offer emails are sent. Edit anytime — independent of any admin sign-in.
Required to send an employment contract — it appears in the contract's legal terms.

Review email

This is exactly what will be delivered. Review it, then send.

From
To
Subject
Body

Add contract

Upload signed PDF

Link existing contract page

The path on dashboard.four28.com where the contract page lives. Leading slash recommended.
AI Contract Editor — describe what you want and I'll edit the HTML directly. Try:
"Fix the white text on the Exceed section" "Add a benefits section after Schedule" "Build me a contract for a Project Manager from scratch" "Change the cover title color to gold"
Loading… Open ↗
Version History
AI Proposal Editor — describe what you want and I'll write the proposal for you. Try:
"Build a proposal for a roofing company — local SEO and Google Ads" "Add an investment section: $2,500/mo management plus $4,000 ad spend" "Make the strategy section shorter and less jargony" "Add a next-steps section with a 30-day onboarding timeline"
The cover page and signing block are generated automatically — edit those under Settings. Already built the proposal elsewhere (e.g. in Claude Code)? Hit Import HTML up top to load the file straight in, then tweak from here.
Loading… Open ↗
Version History

PTO

Time-off balances, requests & approvals

PENDING REQUESTS
EmployeeTypeDatesDaysReasonSubmitted
Loading…
TEAM BALANCES
EmployeeVacationSickPersonalYTD UsedNext Reset
Loading…
MY REQUESTS
TypeDatesDaysReasonStatusSubmitted
No requests yet.
ALL REQUESTS
EmployeeTypeDatesDaysReasonStatusDecided bySubmitted
Loading…

📅 PTO Calendar

Approved time off across the team

THIS MONTH
EmployeeTypeDatesDays
No approved PTO this month.

Users

Use + Invite user to pre-authorise a teammate by email — they get their role automatically the first time they sign in with that Google account. Anyone who signs in without an invite lands in Pending approval and can't see anything until you give them a role here. Choose a role to grant access; each role unlocks exactly its own tools. Use Revoke access to send someone back to pending.

UserEmailRoleFirst sign-inLast active
Loading...

Role permissions

OwnerEverything + Finance (financials, net worth, AI advisor)
AdminFull access — billing, payroll, settings, users
ManagerProposals, billing, projects, activity, HR
EmployeeDashboard, own payroll info, PTO requests, training

Profit & Loss

Balance Sheet

Cash & Runway

Your cushion
0
months of runway
Cash on hand$0
Monthly burn$0
Keep 3+ months. Under 2 means one lost client could hurt.
Save for taxes
$0
set aside this month
Based on profit$0
YTD set aside$0
28% estimate for pass-through LLC. Confirm with your CPA.

Accounts

Ledger holdings

Your Ledger is a hardware wallet with no API, so enter its coins here. One per line as SYMBOL AMOUNT — e.g. BTC 0.5. They're valued at live USD prices on every refresh.

Crypto exchange keys

Paste read-only keys (Kraken: Query Funds; Coinbase: View). They're stored securely server-side and never shown again — leave a field blank to keep its current value. Saving runs a balance sync immediately.

Kraken — API Key
Kraken — Private Key
Coinbase — CDP Key Name
Coinbase — CDP Private Key (PEM)

Plaid keys

From your Plaid dashboard (Team Settings → Keys). Stored securely server-side, never shown again. Use Production for real accounts (Sandbox is for testing with fake banks). After saving, click Link account to connect each bank.

Client ID
Secret
Environment
For OAuth banks like Chase, also add https://dashboard.four28.com/admin as an allowed redirect URI in your Plaid dashboard (API → Allowed redirect URIs).

Linked accounts

Every bank and card linked through Plaid. Mark each as Personal or Business so it lands in the right place. If an account also flows into QuickBooks, tick also in QBO and its Plaid transactions are kept out of totals and the advisor so nothing double-counts.

Apply to matching transactions?

Crypto accounts & wallets

Add as many as you like — exchanges (Kraken, Coinbase, Binance), on-chain wallets (paste a public address from Ledger, Trust, Phantom, or any wallet and we read the live balance), or manual holdings. Mark each Personal or Business; personal ones roll up under your Personal crypto, business ones stay in business net worth.

Add an account or wallet
Source
Personal / Business
Name

Add asset

For anything the portal can't auto-link — a student loan, a vehicle, real estate, a 401(k). It's counted in your net worth.

What is it?
Type
Amount (USD)
Category (optional)
Note (optional)

Stripe accounts

Link one or more Stripe accounts with a read-only restricted key. In Stripe: Developers → API keys → Create restricted key, and grant Balance: Read, Customers: Read, and Invoices: Read (the last two power the client-revenue mapping under Finance → Clients). Paste the rk_live_… key below. Stored server-side, never shown again.

Add an account
Name
Type
Restricted key

Connect

API token / key
🔒 Stored encrypted server-side, never shown again. Only you (owner) can use it, and the AI keeps financial topics owner-only.

Set up Google sign-in

One-time setup so you can sign in with Google (no more expiring tokens, and you can add multiple accounts). Create an OAuth client in Google Cloud, then paste its Client ID & Secret here.

  1. Go to console.cloud.google.com → APIs & Services → OAuth consent screen → choose External, fill the basics, and under Test users add every Google email you'll connect.
  2. Enable these APIs (APIs & Services → Library): Gmail API and Google Drive API.
  3. Credentials → Create credentials → OAuth client ID → type Web application.
  4. Under Authorized redirect URIs add exactly this, then Create:
Client ID
Client Secret
Stored encrypted server-side, owner-only. The AI keeps financial topics owner-only.

Connect GoHighLevel

Label
Company (Agency) ID — optional, we auto-detect it
Private Integration token
Stored encrypted server-side, owner-only.

Cost intelligence

Loading…

Personal Finances

Your household's personal accounts — fully separate from the business. Add accounts in .
Loading…

Accounts

Subscriptions & recurring

Scanning for recurring charges…

Recent spending

Household Net Worth

What are we worth?
$0
Everything you own, minus everything you owe.
Loading…

Assets

Debts

Add anything we can't auto-link

house, vehicle, 401(k), private loan…

Investments

Brokerage, retirement and crypto across the household. Click Combined performance for the growth curve across all investments, split between traditional & crypto. Crypto auto-values from your linked exchanges and on-chain wallets.
Loading…

Investment & retirement accounts

Crypto

Crypto

Your crypto across every exchange and wallet, with live market prices. Click any coin, holding or account to drill into its performance.
Loading…

Live market

Accounts & wallets

Debts & Loans

Everything the household owes — credit cards, student loans, mortgages and anything you add by hand.
Loading…

Student loans

Credit cards

Loans & other debts

Add a debt we can't auto-link

student loan, car loan, mortgage…

Accounts

Every account, organized. Toggle In net worth off for anything that shouldn't count (e.g. a tax-reserve account). Click any account to see its history and transactions.
Loading…
Loading…

Credit Cards

Every credit card, what's owed on it, and when it's due. Click a card to see all of its transactions.
Loading…
Loading…

Payment activity

Pay card

Account

Loading…

Value over time

Transactions

Group

Loading…

Value over time

Transactions

Search and filter every transaction across your bank accounts and credit cards.
Loading…

Budget

Where it went

tap a category for its trend

This vs last period

by category

Transactions

Transactions

Search and filter every business transaction from QuickBooks — money in and out, by keyword, account/card, date, and category.
Loading…

Taxes

Kansas · LLC taxed as an S-corp. These are planning estimates, not tax advice — confirm with your CPA before filing or paying.
Loading…

Tax calculator — S-corp (KS)

Estimated tax

Tax payments made

Loading…

Augusta Rule (280A) — tax-free home rental

up to 14 days/yr
Loading…

Deductions to capture

Ad Spend Billing

Loading…

Link customer

Remove client

Pick what you actually want to happen. Only the last one destroys anything.

Assign

Merge clients

Pick a subscription

Choose this client's live subscription. You only do this once — it is remembered for every month after.

Ad-Hoc Projects

Loading…

Overview

Loading…

Clients

Loading…

Income & Expenses

to
all accounts · within the selected dates

Can I Afford It?

Quick gut check on a hire or new spend
Proposed monthly cost
$5,000/ mo
$500$15,000
Try it: another account lead, more ad spend, a new tool.
New monthly profit
$0
New runway
0 mo
Verdict

Net Worth

What am I worth?
$0
Net worth
$0
Liquid
$0
accessible now
YoY change
$0
Monthly income
$0
all sources
Net Worth — Last 12 Months

Assets by category

Liabilities

DebtBalanceMonthlyRate

Integrations

Everything the console connects to, grouped by what it powers.

Personal finances

Your household accounts. Anything linked here shows up on the personal dashboard for both of you.

Plaid — Personal accounts

Personal bank & card accounts (kept separate from business)

Crypto exchanges & wallets

Kraken, Coinbase, Binance, Ledger & custom wallets

Business finance

How money moves through Four28 — billing clients, the books, and paying the team.

Stripe

Payments, invoicing, subscriptions

QuickBooks

Checking connection…

Wise

Overseas contractor payroll (counts, monthly pay, 24-month totals)

Clients & delivery

Where client work happens. These feed the AI brain and the handoff documents.

GoHighLevel (CRM)

Leads, conversations, sub-accounts & signed documents — for the AI brain

ClickUp

Projects, tasks & delivery — for the AI brain

Fathom

Call recordings & notes — for the AI brain

Slack

Team messages & sentiment — for the AI brain

AI & workspace

The model behind every AI feature, and the mail and files it is allowed to read.

Claude API (powers the AI brain)

The Anthropic key that runs the AI Advisor & all AI features

Google Workspace

Gmail + Drive (Docs, Sheets, Slides) across your accounts — for the AI brain

Developer

Ship the console itself.

Deploy to production

Checking helper…

Push your local public/ changes live to dashboard.four28.com. Runs firebase deploy --only hosting via the local helper daemon.

Training

Your assigned training courses. Complete each course to build the skills for your role. Progress saves automatically.

Loading courses…

Email

Templates

Loading…
Select a template to edit, or create a new one.

My Account

Profile
Notifications
Notification Center

Profile

Managed by Google sign-in. To change, sign in with a different Google account.
Used only for notifications you've enabled SMS for. Format: +1 followed by your number.

Account

Role
First sign-in
Last sign-in
User ID

Settings

Company signature

Draw your actual signature once. It's applied automatically as Four28's signature on every employment contract — on the signing page and the executed PDF. Employees only add their own signature.

Signing mode

Trash

Loading...

Danger zone

Permanently deletes everything in the trash (proposals AND onboarding entries) from the server. Frees up storage space. This cannot be undone.

New proposal

Just pick the client — we'll name the proposal for you and open the editor, where you build and customize the whole thing.

New document

Add customer

Create subscription

New project

Log activity

Add contractor

New pay cycle

All active contractors will be auto-populated with their default bi-weekly amounts.

Upload File

Drop file here or click to browse

PDF, DOCX, or images up to 25MB

Request time off

Review request

Edit balance

VACATION
SICK LEAVE
PERSONAL
CONTRACT

PTO policy

Request detail