/
/
Size unbilled Teamwork.com time before it is written off
For finance and project leads who want a client's billable Teamwork.com time compared with Rillet invoicing by their AI assistant.
On this page
Connector
Connect Teamwork.com, pick your AI tool and paste the prompt.
The problem
Logged hours with no invoice behind them
Billable hours logged in Teamwork.com do not always make it onto a Rillet invoice, and nothing links a time entry to an invoice line. Checking means totalling time per project, totalling invoiced amounts for the period and guessing at the gap.
Without PopdockAI
- Total billable time per project from Teamwork.com
- Find the client's invoice lines and credits in Rillet
- Net the credits off and compare by period
- Guess whether a retainer explains the difference
With PopdockAI
- Billable time is totalled per project, noting unverified entries
- Invoice lines are totalled net of credits for the same period
- Probable unbilled time is called out with the largest entries
- Fixed-fee or retainer contracts are checked, and nothing is changed
The prompt
Use this prompt
Copy it into any AI tool connected to PopdockAI. Swap the values in braces for your own.
**Objective:** Find billable work for `{company-name}` logged in Teamwork between `{from-date}` and `{to-date}` (default today) that does not appear to have been invoiced in Rillet.
**Step 1: Find the client and its projects in Teamwork**
Call `teamwork-get-companies` with `name.contains` = `{company-name}`. If more than one company matches, list them and stop. Then call `teamwork-get-projects` with that `company-id`.
**Step 2: Read the billable time**
For each project, call `teamwork-get-time` with `project-id`, `is-billable` = true, `time-logged.from` = `{from-date}` and `time-logged.to` = `{to-date}`. Total `minutes` (convert to hours), `billable-total` and the number of entries per project. Note any entries where `verified` is false.
**Step 3: Find the customer in Rillet**
Match the Teamwork company to a Rillet customer. Call `rillet-get-customers` (it takes no filters and returns every customer) and compare its `name` and `invoicing-name` to the Teamwork company `name`, ignoring case, punctuation and legal suffixes such as Inc, LLC, Ltd, Corp and GmbH. If no name matches, call `teamwork-get-people` with the Teamwork `company-id` and compare each contact's `email` with `email` from `rillet-get-customer-emails`; the same address, or the same company email domain (never a public domain such as gmail.com or outlook.com), is a match. State which rule produced the match. If there is no match, report the billable time as belonging to a client that does not exist in Rillet and stop after Step 5's table.
**Step 4: Read what was invoiced**
Call `rillet-get-invoice-lines` (no filters; it returns every line) and keep lines where `customer-id` is the matched customer and the revenue period (`revenue-period-start` to `revenue-period-end`) overlaps the review period. If a line has no revenue period, use `invoice-date`. Ignore lines with a void or deleted `status`. Also call `rillet-get-credit-memo-lines` with that `customer-id` and the same date range, and subtract credited amounts.
**Step 5: Report**
A table per project: project, hours, billable total, unverified entries. Then a comparison: total billable in Teamwork, total invoiced net of credits in Rillet, and the difference. If Teamwork exceeds Rillet by more than 5 percent, call it probable unbilled time and list the ten largest time entries (date, person, task, hours, amount). If Rillet exceeds Teamwork, say the client may be on a fixed-fee or retainer contract and check `rillet-get-contracts` for that `customer-id`.
**Rules & Guidelines:**
* Tools starting teamwork- are on the teamwork MCP server; tools starting rillet- are on the rillet MCP server. If a tool from either server is unavailable, say which server is not connected and stop.
* This prompt is read-only. Do NOT call `rillet-add-invoice`, `rillet-update-invoice`, `rillet-add-customer`, `rillet-update-customer`, `rillet-add-credit-memo`, `teamwork-create-company`, `teamwork-update-company`, `teamwork-create-time-entry`, `teamwork-update-time-entry`, or any other tool on either server whose name starts with add, update, create, apply, set or record.
* Never convert between currencies. If Teamwork and Rillet amounts are in different currencies, report both side by side and say the comparison is not like for like. Teamwork's site currency is `currency-code` from `teamwork-get-account`.
* There is no link between a Teamwork time entry and a Rillet invoice line. The comparison is by amount and period only; say so in the report.
**Validation:**
* If no billable time was logged in the period, say so and stop.
* If `billable-total` is zero while `minutes` is not, report that billable rates are missing in Teamwork rather than treating the time as free.Who it's for
One answer, three teams that use it
Finance teams
Size unbilled time before the close
See how far billable time runs ahead of invoicing for a client, with the largest entries to look at first.
Is there unbilled Teamwork.com time for Fabrikam in October compared with Rillet invoices?
Billing specialists
Find time that never reached an invoice
Get a clear gap by amount and period, with time missing billable rates flagged so it can be priced.
Compare Northwind Traders' billable Teamwork.com time with Rillet invoice lines for September.
Account managers
Check a retainer client is billed right
When Rillet shows more than the time logged, it checks for a fixed-fee or retainer contract to explain it.
Has Contoso's Teamwork.com time this quarter been fully billed in Rillet, allowing for their retainer?
How it works
What PopdockAI does when you ask
You name the client and a period, and your AI assistant compares billable time with what was invoiced in Rillet. It says plainly that the comparison is by amount and period only, and changes nothing.
01
Ask
You name the client and a period.
02
Total
It totals billable Teamwork.com time per project, noting unverified entries.
03
Compare
It finds the Rillet customer and totals invoice lines net of credits.
04
Report
You get the gap by amount and period, with the largest entries.
What PopdockAI provides
The tools behind the answer
Ready made tools for Teamwork.com and one secure connection to your AI tool. No code, no exports.
teamwork-com-get-companies
teamwork-com-get-projects
teamwork-com-get-time
rillet-get-customers
teamwork-com-get-people
rillet-get-customer-emails
rillet-get-invoice-lines
rillet-get-credit-memo-lines
rillet-get-contracts
teamwork-com-get-account
This report is built from Get data tools only. PopdockAI applies the row, field and parameter rules your admin sets, and every query is written to the audit trail.
The outcome
Unbilled work found while it can still be invoiced
Related use cases
More ways to put this data to work
One prompt template with infinite possibilities.
Your AI assistant adapts its approach, tone, and capabilities to match each unique context while you maintain a single, manageable workflow.
Join forward-thinking companies that are transforming their operations with intelligent, secure AI automation.

.webp)
