# Pre-bill review board for unbilled legal time in Clio

> Work through unbilled time matter by matter, fix narratives and hours in place, and chase timekeepers in Slack before invoices go out.

- Workflow type: app
- Services: Clio, Slack
- Categories: Finance, Operations
- Published: 2026-08-16

## What it does

- Lists every matter with unbilled work, grouped by responsible attorney, with the value sitting there, how many entries it covers, and how old the oldest entry is
- Opens any matter to show its time entries with date, timekeeper, hours, rate, and narrative, so you can rewrite the wording, correct the hours, or mark an entry non-billable without leaving the screen
- Flags entries whose narrative is missing, very short, or reads like boilerplate such as "attention to file", because those are the lines clients query
- Sends a timekeeper a Slack direct message listing their vague or missing narratives, so chasing takes a click instead of an email
- Tracks what has been reviewed and approved, so the billing manager can see what is left rather than starting the spreadsheet over

## What you'll need

- A Clio account with billing access and permission to edit time entries
- Time recorded in Clio by the people you want to review, nothing to import
- A Slack workspace if you want the chase button to send direct messages
- Timekeepers' Clio and Slack email addresses matching, so nudges reach the right person

## Prompt

Build me a pre-bill review board that our billing manager and partners work out of before invoices go out each month, instead of exporting a work in progress report from Clio into a spreadsheet. The point is a surface where unbilled time entries actually get corrected and approved, not another summary of what is unbilled.

The main screen lists every matter that has unbilled work. Pull the matters from Clio List Billable Matters and the time entries from Clio List Activities filtered to unbilled entries, then group the matters by responsible attorney. Each matter row shows the matter display number, the client, the work in progress value, the count of unbilled entries, and the age in days of the oldest unbilled entry. Each attorney group header shows a subtotal, and the top of the page shows the firm total plus how much of it has been reviewed so far. Use Clio List Matters where you need matter detail such as responsible attorney or practice area that the billable matters list does not carry.

Clicking a matter opens its unbilled time entries in a table: date, timekeeper, hours, rate, line value, and the full narrative. Reviewers work the entries inline. They can rewrite a narrative, correct the hours, or flag an entry as non-billable, and each save writes back to Clio through Update Activity. Keep the edited row in place with its updated value so the reviewer sees the matter total move as they work, and show a clear inline error on the row if Clio rejects the change rather than failing the whole screen.

Add an approved state per entry and a rolled up state per matter. Clio has no approval field, so store approvals in the app's own storage keyed by the Clio activity id, recording who approved it and when. The matter list shows how many of a matter's entries are still unreviewed, and a matter drops out of the queue once every entry on it has been approved or flagged non-billable. Reviewers should be able to approve a whole matter at once when nothing needs fixing.

Highlight entries whose narrative is missing, unusually short, or matches boilerplate such as "attention to file", "work on case", "review file", or "telephone call". Those are the lines clients write down, so surface them at the top of the matter view and count them on the matter row. Put the minimum narrative length and the boilerplate phrase list in a small settings view so a firm can tune both.

Every timekeeper with flagged entries gets a chase timekeeper button. It opens a Slack direct message with Slack Open a Conversation and posts it with Slack Send a Message, listing that person's vague or missing narratives grouped by matter with the date and hours on each line, and a short ask to fix the wording before billing closes. Match Clio timekeepers to Slack accounts by email using Clio List Users and Slack List Users, and let the reviewer read and edit the message before it sends.

Filters run across the top of both views: practice area from Clio List Practice Areas, timekeeper from Clio List Users, a date range on the entry date, and a minimum matter value. Filter selections persist per user between sessions, so a partner who only reviews their own files lands on that slice every time.

Bake in Clio's data shapes. Time entry quantity is returned in seconds on API version 4.0.4 and above, so convert to hours for display and convert back to seconds when saving an hours edit, and never show a raw seconds figure to a reviewer. Money amounts are decimals in the account currency, so format them in the firm's currency. Index endpoints are cursor paginated through page_token with a limit of up to 200, so page through the full set before totalling anything; a partial first page shown as the firm's work in progress would be worse than no number at all.

The billing manager sees the whole firm, and a partner can switch the board to their own matters. This app only reads and updates existing Clio time entries. It does not create time entries, delete anything, or generate bills.

## How to customize

- Change what counts as a thin narrative, both the minimum length and your own list of boilerplate phrases
- Filter the board by practice area, timekeeper, date range, or minimum value so partners only see their own files
- Reword the Slack nudge that goes to timekeepers, and preview it before it sends

## FAQ

### Does this actually change my time entries in Clio?

Yes. When you fix a narrative, correct the hours, or mark an entry non-billable, the change is saved straight back to that time entry in Clio. Nothing is written until you save the row, and you see an error on the row if Clio rejects a change.

### Will it create or send invoices?

No. This is the step before invoicing. It gets your unbilled time clean, corrected, and approved, then you draft and send the bills in Clio as usual.

### How is this different from running a work in progress report?

A report tells you what is unbilled and stops there, which is why most firms paste it into a spreadsheet. This is a working surface: you edit the entry, approve it, and watch the matter clear off the queue.

### Do I need Slack for this to be useful?

No. Without Slack you lose the one click nudge to timekeepers, and everything else, the matter list, the inline editing, the boilerplate flags, and approvals, works the same.

### Can a partner see only their own matters?

Yes. Filters for responsible attorney, timekeeper, practice area, and date range stay set between visits, so each reviewer lands on their own slice of the queue.

### Why do the hours look right here when the raw data is in seconds?

Clio stores time in seconds behind the scenes. The board converts it to hours for reading and converts your edits back on save, so you never have to think about it.

Use this prompt in General Input: https://www.generalinput.com/prompts/pre-bill-review-board-for-unbilled-legal-time-in-clio