The Scenario
You run an agency with twelve active Clientary projects. It's the last week of the month and billing is due. You know there are unbilled hours across every project — but they're scattered. Different staff, different projects, different rates. To invoice anyone, you first need to know who owes what.
The last time you did this manually, you opened each project in Clientary one at a time, exported the time entries, pasted them into a consolidation sheet, built a pivot by client, and then went back into Clientary to create each invoice. That was three hours you weren't billing anyone.
The bad version:
- Open each of the 12 projects in Clientary, navigate to Time Tracking, filter for unbilled entries from the current month, export the CSV, and paste it into a running sheet — managing column alignment across 12 different exports.
- Build a pivot table manually to sum hours by client, then identify which clients cleared the 5-hour threshold.
- Open each qualifying client in Clientary, navigate to Invoices, create a new draft, enter the hours and rate, save — repeat for every client above threshold.
The report is going to your accountant by Friday. Every hour you spend doing data assembly is an hour that isn't billable.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Google Sheet. It reads your data and talks to Clientary for you — pulling time entries, summarizing hours, and creating invoices for qualifying clients in a single operation. Open the sidebar and describe what you need.
Fetch all unbilled time entries from the current month across all Clientary projects and write project name, staff name, hours, date, and rate into this sheet — one row per entry. Then add a Summary tab that totals hours by client, and create a Clientary invoice for every client whose total hours exceed 5, using the blended rate from column E.
What You Get
- One row per unbilled time entry in the main tab: project name, staff name, hours, date, and rate from Clientary.
- A Summary tab with one row per client showing total hours, total billable amount, and a flag for whether an invoice was created.
- Invoices created in Clientary for every client above the 5-hour threshold, linked to their client record.
- Clients below the threshold appear in the Summary tab with their totals but no invoice, so you can make a judgment call on them separately.
What If the Data Is Not Quite Ready
Some time entries have no rate set
A few staff members logged hours but the rate field in Clientary is blank, so the billable calculation can't run.
Fetch all unbilled time entries from the current month across all Clientary projects. For any entry where the rate is blank, use the default rate in cell B1. Write the entries into this sheet with a calculated billable amount in column F, then summarize hours by client in a Summary tab and create invoices for clients over 5 hours.
The threshold should vary by client
You have preferred clients billed at 3+ hours and standard clients billed at 5+ hours. Column B in your client reference tab has the threshold for each.
Pull all unbilled time entries from the current month from Clientary and write them to the Entries tab. Then sum hours by client and look up each client's billing threshold from the Clients tab using the client name as the join key — create a Clientary invoice only for clients whose total hours exceed their individual threshold, and write the invoice ID into the Clients tab column D.
You need to split by project, not by client
Some clients have multiple active projects and want separate invoices per project rather than one combined bill.
Fetch all unbilled time entries from the current month from Clientary. Sum hours by client and project combination in a Summary tab. For each unique client-project pair with more than 3 hours, create a separate Clientary invoice referencing the specific project name — write all created invoice IDs back into the Summary tab.
Full kill chain: validate, summarize, invoice, mark billed
Fetch all unbilled time entries from the current month across all Clientary projects. Flag any entries where the rate is blank and use the rate in cell B1 as the fallback. Write all entries to the Entries tab. Create a Summary tab with total hours and billable amount per client. For every client over 5 hours, create a Clientary invoice and mark the corresponding time entries as billed. Write each invoice ID into the Summary tab and log any errors in column F.
Combining the validation, aggregation, invoicing, and status update in one prompt means nothing falls through — and you don't need to run four separate operations to get there.
Try It
Get the 7-day free trial of SheetXAI and open a sheet while your Clientary projects are active, then ask it to pull this month's unbilled hours and invoice every client over your threshold in one pass. For the next step in the billing workflow, the Overdue Invoice Reminders spoke covers follow-up. The full Clientary hub covers every integration.
