Connectors

/

Teamwork.com

/

Invoice Teamwork.com billable time in Rillet
Write
Cross-Connector

Bill Teamwork.com project time in Rillet in one pass

For finance teams who want a project's billable Teamwork.com time turned into a Rillet invoice, with a double billing check, by their AI assistant.

Try PopdockAI free
Get a live demo
Invoice Teamwork.com billable time in Rillet
Bill the Northwind Traders migration project in Rillet for September's Teamwork.com time.
Northwind Traders migration has 58 billable hours in September, and no Rillet invoice overlaps it. - Customer: Northwind Traders, matched by name - Line: 40 hours at 160.00, 6,400.00 - Line: 18 hours at 120.00, 2,160.00 - Set aside: 6 hours at a zero rate Shall I create this 8,560.00 invoice in Rillet?
Teamwork.com
Sample figures. Your results come from your own account.
teamwork-com-get-projects
teamwork-com-get-time
rillet-get-customers
teamwork-com-get-people
rillet-get-customer-emails
rillet-get-products
rillet-get-invoice-lines
rillet-add-invoice
teamwork-com-get-account

On this page

The problem

The problem

The prompt

Who it's for

How it works

Tools used

Connector

Teamwork.com

Teamwork.com
Run it on your own Teamwork.com data.

Connect Teamwork.com, pick your AI tool and paste the prompt.

Try PopdockAI free

The problem

Billing project time means four exports and a lot of typing

Billing a project means exporting Teamwork.com time, grouping it by rate, finding the Rillet customer and product and typing the lines in. It is slow, and easy to bill a period twice or miss a rate that was never set.

Without PopdockAI

  • Export Teamwork.com time and group it by rate
  • Find the matching Rillet customer and product
  • Check past invoices for the same period
  • Type every line in and hope nothing overlaps

With PopdockAI

  • Billable time is grouped by rate and the customer matched with the rule shown
  • Existing invoice lines that overlap the period are checked first
  • Zero-rate time is set aside for you
  • The invoice is created only after you confirm, with no new customers or products

The prompt

Use this prompt

Copy it into any AI tool connected to PopdockAI. Swap the values in braces for your own.

Prompt
**Objective:** Turn the billable Teamwork time on `{project-name}` between `{from-date}` and `{to-date}` (default today) into one Rillet invoice, billed as product `{product-name}`, and create it only after the user confirms.

**Step 1: Find the project and client in Teamwork**

Call `teamwork-get-projects` with `name.contains` = `{project-name}`. If more than one project matches, list them and stop. Keep `project-id`, `company-id`, `company-name` and `is-billable`. If `is-billable` is false, warn the user before continuing.

**Step 2: Read the billable time**

Call `teamwork-get-time` with `project-id`, `is-billable` = true, `time-logged.from` = `{from-date}` and `time-logged.to` = `{to-date}`. Group entries by `billable-rate`. For each rate, total the hours (`minutes` / 60, rounded to two decimals) and `billable-total`.

**Step 3: Find the customer and product 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, stop: the customer must exist in Rillet first, and this prompt does not create customers.

Call `rillet-get-products` and pick the product whose `name` matches `{product-name}`. If `{product-name}` is blank, pick an active product whose `price-type` or name indicates hourly services. If none fits or several do, list the candidates and ask the user to choose.

**Step 4: Check for double billing**

Call `rillet-get-invoice-lines` and look for lines for this customer whose revenue period overlaps the billing period or whose `line-description` names the project. If any exist, show them and ask whether to continue.

**Step 5: Draft and confirm**

Show the draft: customer, invoice date (today), product, and one line per billing rate with quantity = hours, unit amount = rate, total, description "<project name> time, <from-date> to <to-date>", and revenue start and end = the billing period. Rillet allows three lines on create; if there are more than three rates, stop and ask the user how to combine them. Show the Teamwork total next to the draft total. Ask the user to confirm.

**Step 6: Create and confirm**

Only after an explicit yes, call `rillet-add-invoice` once with `customer-id`, `invoice-date`, and for each line `lineN-product-id`, `lineN-quantity`, `lineN-unit-amount`, `lineN-currency`, `lineN-description`, `lineN-revenue-start`, `lineN-revenue-end`. Report the returned invoice `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.
* The only write allowed is one `rillet-add-invoice` call after confirmation. Do not call `rillet-set-invoice-sent-status`, `rillet-add-customer`, `rillet-add-product`, or any teamwork- tool that creates or updates anything (such as `teamwork-update-time-entry`).
* 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`.

**Validation:**

* If there is no billable time in the period, say so and stop without drafting.
* If any rate is zero, leave those entries out of the draft and list them for the user.
* If `rillet-add-invoice` returns an error, show it and do not retry with changed values unless the user asks.

Who it's for

One answer, three teams that use it

Billing teams

Bill a project without rekeying time

Draft lines come straight from Teamwork.com time grouped by rate, set beside the project total so you can check before it is created.

Invoice the Contoso onboarding project in Rillet for October's billable Teamwork.com time.

Finance controllers

Catch overlapping invoices

Rillet invoice lines that overlap the period or name the project are found before drafting, so the same time is not billed twice.

Has the Fabrikam portal project already been billed in Rillet for September? If not, draft the invoice.

Project managers

Spot time with no rate

Zero-rate time is set aside and shown, so missing rates are fixed rather than quietly left off the invoice.

Bill this month's Teamwork.com time on the Northwind Traders project in Rillet using the Consulting product.

How it works

What PopdockAI does when you ask

You name the project and period, and your AI assistant drafts the Rillet invoice from Teamwork.com time. It checks for overlap first and creates the invoice only after you confirm.

01

Ask

You name the project, period and optionally the product.

Your AI tool

02

Read

It groups billable time by rate and matches the Rillet customer and product.

teamwork-com-get-projects
teamwork-com-get-time
rillet-get-customers
rillet-get-customer-emails
rillet-get-products

03

Check

It looks for Rillet invoice lines that overlap the period or name the project.

rillet-get-invoice-lines

04

Confirm

You review the draft, then the invoice is created.

Your AI tool

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.

get-data

teamwork-com-get-projects

Returns Teamwork.com projects with status, company, owner, category and dates. Filter by name, member user ID, project ID, start date, category name, end date, company ID, status and company name.
get-data

teamwork-com-get-time

Returns time log entries from Teamwork.com with the person, project, task, minutes and billable amounts. Filter by time logged, minutes, project ID, user ID, user name, billable and task ID.
get-data

rillet-get-customers

Returns customers (name, address, payment terms, invoicing settings) from Rillet.
get-data

teamwork-com-get-people

Returns people (users) from Teamwork.com with their company, role, rates and contact details. Filter by email, type, name, company ID, person ID, last name, role name and company name.
get-data

rillet-get-customer-emails

Returns customer email addresses with their type and the customer's location from Rillet.
get-data

rillet-get-products

Returns products (name, status, pricing, revenue account) from Rillet.
get-data

rillet-get-invoice-lines

Returns customer invoice line items (product, quantity, amounts, revenue period) from Rillet.
run-action

rillet-add-invoice

Creates an ordinary invoice in Rillet, priced per line, with up to three lines. For an invoice raised in another system use Add Rillet invoice (receivable only) or Add Rillet invoice (revenue recognition only).
get-data

teamwork-com-get-account

Returns the Teamwork.com site account details: plan, billing status, owner and currency.
Read only.Nothing in Teamwork.com Changes

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.

How Popdock AI secures your data

The outcome

Project time billed correctly in one pass

Try PopdockAI free
Get a live demo

Related use cases

More ways to put this data to work

All Ramp use cases

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.

Try PopdockAI Free
See Documentation