Client Project Database Template — Free — Ascend

Client Project Database Template

A client project database template is a structured record of every active project at your agency — one row per project, with columns for client, status, budget, hours, invoicing, and next due dates. It gives you a single place to answer the questions that otherwise require opening four different apps: what's in progress, what's near its budget, what's awaiting client input, and what still needs to be invoiced.

The template

One row per project. One database for all active client work. Copy the columns below into a spreadsheet or rebuild as an Ascend Database.

Core columns — Project record

ColumnTypeDescription
Project nameTextRequired. Descriptive enough to identify without the client name (e.g. "Brand refresh Q2")
ClientText / linked recordRequired
Project typeDropdownWebsite build / Brand identity / SEO retainer / Content retainer / Ad management / Development / Other
StatusDropdownDiscovery / In Progress / Review / Awaiting Client / On Hold / Invoiced / Complete / Archived
PriorityDropdownHigh / Normal / Low
Start dateDateWhen work began or is scheduled to begin
DeadlineDateAgreed delivery or milestone date
Brief / scope referenceTextLink to or filename of the brief or agreed scope document
Project leadTextTeam member responsible
Involved team membersTextAdditional people working on this project

Financial columns

ColumnTypeDescription
Fee typeDropdownFixed price / Hourly / Retainer / Value-based
Quoted fee ($)NumberThe agreed project fee or monthly retainer value
Estimated hoursNumberHours budgeted at quote
Hours loggedNumberActual hours tracked to date
Hours remainingFormulaEstimated hours − hours logged
Budget used (%)Formula(Hours logged ÷ estimated hours) × 100
Invoiced to date ($)NumberTotal invoiced so far — update when each invoice is sent
Outstanding balance ($)FormulaQuoted fee − invoiced to date
Invoice statusDropdownNot yet invoiced / Deposit invoiced / Partially invoiced / Fully invoiced / Paid in full / Overdue
Deposit amount ($)NumberDiscovery deposit or upfront payment (if applicable)
Deposit paid?Checkbox

Delivery columns

ColumnTypeDescription
Current milestoneTextWhat is being worked on right now — free text, updated weekly
Next due dateDateNext deliverable or check-in deadline
Revision rounds usedNumberTrack against agreed rounds in the scope
Revision rounds agreedNumberFrom the agreed scope — e.g. 2
Change requestsNumberCount of approved scope change requests
Client sign-off received?CheckboxFinal approval from client before handoff

Relationship columns

ColumnTypeDescription
Client contact nameTextPrimary contact for this project
Client contact emailEmail
Discovery call dateDateWhen the scoping call happened
Onboarding completed?CheckboxClient questionnaire received, access granted, kickoff held
Project notesLong textOngoing internal notes — decisions, context, risks
Project link / URLURLLive site, staging URL, shared folder, or design file link

Suggested views / filters

ViewFilter
Active projectsFilter: Status = In Progress
Blocked by clientFilter: Status = Awaiting Client
Cash-flow alertFilter: Invoice status = Overdue
Near budget capFilter: Budget used > 90%
Urgency queueSort: Deadline ascending
Per-client viewGroup by: Client

Clients reference table (optional companion)

ColumnTypeDescription
Client nameTextCanonical name — match exactly to the Project database
Primary contactText
Contact emailEmail
Active sinceDate
Billing addressLong text
Default payment termsDropdownNet 14 / Net 30 / Due on receipt
Fee type (default)Dropdown
NotesLong textRisk flags, preferences, communication style

How to use this template

  1. Create an Ascend Database with the columns above.
  2. Each project becomes a record — click the record to open a full project page.
  3. Log time from Ascend's time tracking against the project record; update hours logged as work progresses.
  4. At invoice time, filter by "Outstanding balance > 0" to see what's still to be billed.
  5. Link the Projects database to a Clients database for a full agency roster view.

The problem with tracking projects across tools

Most small agencies manage projects across a mix of tools: a task manager for delivery, a time tracker for hours, a spreadsheet for invoicing, and email for everything else. The client project database closes a different gap than any of those individually — it is the roster. The single view that answers "what are we working on right now, for whom, at what budget, and where does each project stand?"

Without it, the answer to "are we profitable this month?" requires pulling three apps together. With it, the answer is one filtered view.

The columns most project trackers skip

Standard project trackers capture status and due dates. The three columns a small-agency project database adds that a task manager typically doesn't:

Budget used (%) — knowing a project is 80% through its timeline means nothing without knowing it's also 95% through its budgeted hours. When both columns are in the same row, the risk is visible before the project goes over, not after.

Revision rounds used vs agreed — scope creep almost always arrives through revisions. Tracking rounds used against rounds agreed — right in the project record — flags the conversation before extra work is done for free. Use the scope change request form template to document any rounds that go over.

Invoice status — the gap between "work delivered" and "invoice sent and paid" is where studio cash flow lives. Keeping invoice status in the same row as delivery status means nothing gets fully delivered and forgotten to bill.

What "each row opens a page" means for a working agency

In a spreadsheet, every project is a row. In a database where each record opens a full page, every project is also a workspace: the place where notes live, where linked time entries sit, where the brief is attached, and where the invoice history is visible. The difference is that the page keeps context intact when the project is referenced months later — the row just holds the numbers.

The agency deliverables tracker template gives the production-level view within each project: what's going out this week, to whom, and where it sits in the approval cycle.

Frequently asked questions

What is a client project database?+

A client project database is a structured record of every active project at an agency — one row per project, with columns tracking client, status, budget, hours logged, invoice status, and key dates. It is the single source of truth for what your agency is working on and where each project stands.

How is a project database different from a task manager?+

A task manager tracks individual to-dos. A project database tracks the project as a unit — its budget, fee, total hours, invoice status, and client relationship. Most agencies need both: a project database for the roster view and a task manager for the detailed work.

What columns should a client project database have?+

At minimum: project name, client, status, deadline, quoted fee, hours estimated, hours logged, and invoice status. Add revision rounds agreed and used, and budget-used percentage, to catch scope creep and over-delivery before they hit the invoice.

Can I use this template in Ascend?+

Yes — a client project database is the native use case for Ascend Databases. Each project is a record; clicking it opens a full project page. Time logged in Ascend flows to the project record, and that data feeds the invoice.

How do I keep the database current without it becoming overhead?+

Make updating it part of the weekly check-in, not a separate admin task. When you log time, update status. When you send an invoice, update the invoice status. Discipline at the record level — 30 seconds per update — keeps the aggregate view accurate.

Should I have one database for all clients or one per client?+

One database for all active projects, filtered by client when needed. One database per client creates an information silo — you can't get the agency-wide view without manually checking each client's database.

How does a project database connect to retainer tracking?+

A project database is for defined engagements with a quoted fee and a delivery end. For ongoing retainer clients, pair it with a retainer burn tracker template that handles contracted hours, rollover, and overage month by month.

Related template

Retainer Burn Tracker Template

For ongoing retainer clients, pair this project database with a burn tracker that handles contracted hours, rollover, and overage month by month.

View template

Make every project record the source of truth.

A copied template works until the data gets stale. In Ascend, each project record holds the hours logged against it, and those hours feed the invoice directly. The free tier covers one client end to end.

Start with Ascend free