Skip to content
Product

The whole loop: request, estimate, approve, track, bill.

Six areas. Each one is here because an agency does it every week and because doing it in two disconnected tools is where the hours and the trust get lost.

01 · Board & stages

Name your columns. Keep one language underneath.

Every project gets its own columns — add, rename, reorder, archive. Each one maps to exactly one of seven fixed stages, and that mapping is what makes the rest possible: one board across all customers, a client-facing label per column, and reporting that doesn’t care what you called things.

  • Two columns can share a stage — “Internal QA” and “Client review” both sit under Review.
  • A client label per column, so “Done · billable” reads as “Delivered” on their side.
  • Six dot styles, no colour picker. The dot follows the stage, so rows stay readable.
Portal Relaunch — columns6 of 7 stages used
Your labelStageClient sees
RequestedBacklogRequested
EstimatedPlannedQuote ready
In progressIn progressWe’re on it
In reviewReviewAwaiting your feedback
Done · billableDoneDelivered
Blockedyou added thisBlockedsame as internal

The seventh stage, Billed, exists for invoicing to move work into. This project doesn’t map a column to it yet.

02 · Client requests

Four fields instead of an email you have to transcribe.

Your client raises the work themselves. It lands in the column you nominated as the intake target, carrying who asked, when they need it, which project it belongs to and any file they attached.

Nothing is lost in a thread, nobody re-types a request into a ticket, and the person who wanted it is on the record — which matters later, when someone asks why you built it.

  • Clients can’t set a priority that binds you. They say when they need it; you decide what happens when.
Request work — as your client sees it
Drop a screenshot or a file
Send request
03 · Estimates & approval

Two estimates. They only ever see one.

You record what you think it will take and what you’re quoting. The first is yours — it’s how you learn what you underprice. The second is what the client approves, with a name and a timestamp against it.

  • Work can’t start on an unapproved item without the board telling you so.
  • The client sees what the estimate does to their month before they agree to it.
  • Going over the quote flags the item. It never silently inflates the invoice.
JBYour side
Internal
6.0 h
Quoted
8.0 h
Tracked
9.4 h
AMTheir side
Estimated effort12 h
Their month with this item39.5 h
Approve 12 hComment instead
No amounts shown
04 · Time tracking

Every hour lands on a work item. Attribution is never a question.

An item belongs to a project, a project belongs to a customer — so choosing the item is the whole of the decision. Two ways to get time in, one storage format, three states.

A timer that survives everything

It runs server-side, so a reload, a crash or a second device can’t lose it. One per person, and that is enforced rather than agreed: starting a second stops the first and banks the time as a draft.

01:24:07
PORTAL-142
Stop

Or type it the way you say it

For the call you didn’t time and the hour you forgot. The duration field parses whatever you write, because everyone writes it differently and none of them are wrong.

90m90 minutes
1.5decimal hours
9–11:30a time range

Raw minutes, rounded only on the invoice

A contract that bills in 15-minute increments changes an invoice, never the record of what happened. Rounding is never applied on write.

Stored
84 min
Shown
1.4 h
Invoiced
1.50 h

Your week, logged against target

A grid of items by day. Click a cell to add time, see the billable share, and see the gap — the only nagging the product does.

Logged 28.5 of 32.0 h81% billable

Notes that stay yours

“Sandbox keys took 3 h — quote higher next time.” The note is the one moment anyone remembers why an hour cost what it did, and no client can reach it, under any role.

Internal — always

An entry never disappears

Draft while it’s yours to edit, invoiceable once you approve the month, frozen once it’s invoiced. Correcting an invoiced hour is a counter-entry, not an edit — both sides stay in the record.

Draftyours to edit
Invoiceablemonth approved
Invoicedfrozen
05 · The client’s month

Nobody should learn their hours from an invoice.

Your client watches the month accumulate as it happens — hours by project, open items, what’s waiting on them. When the invoice arrives it confirms a number they already knew.

Internal work on their project is excluded on purpose. Your utilisation and their invoice will never match, and that’s the point: the number they see is the number they’re billed for.

Muster GmbH · Septemberclient view
across 2 projects · 9 open items27.5 h
Portal Relaunch6 items21.0
Infrastructure3 items6.5
Total9 items27.5
2 items are waiting on youReview them
06 · Feed & email

One thread per customer, not forty.

Meeting summaries, decisions, questions and files live next to the work they’re about — per customer, optionally scoped to a project. Turn a summary into work items in one step.

And because some clients will never log in: everything batches into one readable daily email they can reply to. Only invites, approvals and sign-in links send immediately. Nobody gets a notification per card.

  • A project-scoped entry reaches only the people on that project — the feed obeys the same access model as everything else.
Muster GmbH · feed
JBJonas B.Meeting summary4 Sep

Kickoff Portal Relaunch

Checkout flow first. Anna sends the SEPA mandate wording by Friday. Open question on invoice numbering.

Spawn 3 work itemswithout retyping any of it
AMAnna MeierQuestionyesterday

PDF or the original InDesign files for the old invoice templates?

07 · White-label

Your clients log into your agency, not into us.

Your name, logo, accent colour and domain. The structure — ink, lines, spacing, the seven stages — stays fixed, which is why a tenant theme is a values swap rather than a redesign.

On the client side the only mention of AgencyOS is one line in the footer. On your own domain there isn’t one.

code8
Approve
Nordlicht
Approve
Studio Ocker
Approve

See it with your own customers in it.

We’ll set up your workspace and migrate your current projects before the first call ends.