Help Center

Invoices, Clients & Deals

Three tabs built around your active work: ๐Ÿ’ฐ Invoices for billing, ๐Ÿ“… Client Tracker for engagement hours, and ๐Ÿ“ˆ Biz Dev for your sales pipeline.

Invoices

How Invoicing Works
Invoices Overview (4 min)
LOOM_INVOICES

Water LLM generates professional PDF invoices from a Google Doc template, saves them to your Drive, and creates a Gmail draft with the PDF attached — ready for you to review and send. Nothing is sent automatically.

  1. 1
    Enter invoice details in the ๐Ÿ’ฐ Invoices sheet (or use the Invoice Composer)
  2. 2
    Water LLM copies your Google Doc template from Water LLM/Templates/
  3. 3
    Replaces every {{placeholder}} tag with your actual invoice data
  4. 4
    Converts the filled document to a PDF and saves it to Water LLM/Invoices/ in your Drive
  5. 5
    Creates a Gmail draft to the client with the PDF attached
  6. 6
    Writes a clickable link back to the Invoice Record column in your sheet
Creating an Invoice
Using the Invoice Composer (recommended)
  1. 1
    Go to Water LLM โ€บ Create โ€บ Invoice Composer
  2. 2
    Select a contact from the dropdown — autocomplete searches by name, email, or company
  3. 3
    Fill in line items — product names autocomplete from your โš™๏ธSettings product list
  4. 4
    Click Create Invoice — PDF generated, Gmail draft created, link written back to sheet
From an existing Invoices sheet row
  1. 1
    Fill in invoice details directly in the ๐Ÿ’ฐ Invoices sheet
  2. 2
    Go to Water LLM โ€บ Invoicing โ€บ Create Invoice from Row
  3. 3
    Enter the Invoice Number when prompted
From a closed deal in Biz Dev

When you move a deal to a terminal stage (e.g., "Closed Won") on the Kanban board, a button appears to launch the Invoice Composer pre-filled with the deal's contact and value data.

Invoice versioning

If you regenerate an invoice after correcting an error, Water LLM creates a new versioned PDF rather than overwriting:

  • First generation: Invoice 1001.pdf
  • Second: Invoice 1001 v2.pdf
  • Third: Invoice 1001 v3.pdf

Up to 99 versions per invoice number are supported.

The Invoice Template — Placeholders
Customizing Your Invoice Template (3 min)
LOOM_INVOICE_TEMPLATE

Your invoice template is a Google Doc at Water LLM/Templates/Template Invoice. Any text wrapped in double curly braces {{like this}} is replaced with the real value from your invoice data when a PDF is generated.

To customize: open the Google Doc in Drive, edit the layout and formatting, and keep the {{placeholder}} syntax exactly as shown — it's case-sensitive, spaces included.

Standard placeholders
PlaceholderWhat It Becomes
{{Invoice Number}}The invoice number
{{First Name}} / {{Last Name}}Client's name
{{Company}} / {{Email}}Client's company and email
{{Date Sent}}The date from the Date Sent column
{{Item 1 Name}}Line item 1 name (same pattern for Items 2–4)
{{Item 1 Cost Per Unit}}Price per unit
{{Item 1 Number of Units}}Quantity
{{Item 1 Discount}}Discount percentage
{{Total for Item 1}}Line item total
{{Total Invoiced}}Grand total
{{Costs Reimbursed by Client}}Reimbursable expenses
{{Net Profit}}Total minus non-reimbursable costs
Date placeholders
PlaceholderWhat It Produces
{{Today}}Today's date at generation time
{{Today+30}}30 days from today (+7, +14, +30, +60, +90 supported)
{{InvoiceDate+0}}The invoice date (Date Sent)
{{InvoiceDate+30}}Payment due 30 days after invoice (+0, +7, +14, +15, +21, +30, +45, +60, +90)
Blank line items are removed automatically

If an item's Name is blank, that entire line item is stripped from the PDF. Your invoice only shows items with values — no need to add dummy text for unused line item slots.

Restore the default template

If your template is missing or corrupted: Water LLM โ€บ Settings โ€บ Recreate Template

Invoice Reminders

Water LLM can automatically draft payment reminder emails at milestones relative to the invoice due date.

Default MilestoneWhat Gets Drafted
7 days before dueFriendly "coming up" notice
Due date"Payment due today" reminder
14 days overdueFirst follow-up
30 days overdueEscalation reminder

Every Monday you also receive an Aged Receivables digest listing all unpaid overdue invoices.

Configure reminders at Water LLM โ€บ Configure Tools โ€บ Invoices & Reminders — set payment terms, customize milestone days, toggle PDF attachment, and turn the feature on. Enable the automated job in โš™๏ธAutomation row 14.

Common Invoice Issues
ProblemFix
"Invoice Template not found" The template must be named Template Invoice in Water LLM/Templates/. Go to Settings โ€บ Recreate Template to restore it.
Placeholder shows as literal text in the PDF The placeholder in your Google Doc must match the column header exactly — case-sensitive, spaces included. Check for extra characters inside {{ }}.
Line item missing from PDF Each line item needs at minimum an Item Name. Blank names are stripped automatically.
Can't find the Gmail draft Check Gmail Drafts. If it's missing, the Email column in the invoice row may be blank or contain an invalid address.
Unresolved placeholder warning A {{placeholder}} in your template doesn't match any column header. Check for typos in the template.

Client Tracker

What the Client Tracker Does
Client Tracker Overview (4 min)
LOOM_CLIENT_TRACKER

The ๐Ÿ“… Client Tracker tab is for coaches and consultants who sell packages of hours or run ongoing engagements. It connects to your Google Calendar and automatically calculates how much time you've spent with each client.

For each engagement it calculates:

  • Total meeting hours (from Google Calendar, filtered to your date range)
  • Hours remaining against contracted hours
  • 30-day velocity — how many hours per month you're averaging
  • Risk flags: ghosting, renewal due, overuse
  • Lifetime value based on rate and hours
Setting Up a Client

Each row is one engagement. Use the Client Tracker Composer (Water LLM โ€บ Create โ€บ Client Tracker Entry) for a guided form, or enter directly into the sheet.

ColumnWhat to EnterRequired?
Client Name Display name for this engagement Yes
Email Their email — must match the address on Google Calendar invites exactly Yes
Start Date When the engagement began — only meetings on or after this date are counted Yes
End Date When it ends. Leave blank for ongoing engagements. No
Hours Contracted Total hours in the package. Leave blank for retainers with no cap. No
Rate Or Project Value Session rate or total project value — used for Lifetime Value calculation No
Client Status Active, Finished, or Paused. Set to Finished or Paused when done — clears risk flags. Yes
The Email must exactly match the address on their calendar invites

Water LLM finds meetings by scanning your Google Calendar for events where the client's email appears in the guest list. If they RSVP from a different email address than what you entered here — for example, their personal Gmail instead of their work address — those meetings won't be counted.

If meeting time shows 0 hours: check whether their calendar invites come from a different address, and update the Email column to match.

Auto-Calculated Columns

These are computed by Water LLM. Do not edit them manually.

ColumnHow It Works
Total Meeting Time in Date Range Sum of all Google Calendar event durations where the client's email is in the guest list, from Start Date to End Date (or today). Excludes declined events and "Free" events.
Hours Left Hours Contracted minus Total Meeting Time. Shows "N/A" if no contracted hours.
Time Spent / 30 Days Rolling 30-day meeting hours. Shows your current pace with this client.
Lifetime Value Rate ร— total hours, or the project value if set.
Client Disappeared? Reads Last Contact from the CRM:
๐Ÿšฉ GHOSTING — no contact in 28+ days, no future meeting
โš ๏ธ RE-ENGAGE — 21–28 days since last contact, no future meeting
๐Ÿ“… BOOKED — a future meeting exists
Renewal Risk? ๐Ÿ”ด OVERUSE — meeting time exceeds contracted hours
๐Ÿš€ RENEWAL DUE — fewer than 2 hours remaining
โš ๏ธ LOW HOURS — 2–5 hours remaining
Set status to Finished or Paused when an engagement ends

Risk flags (GHOSTING, OVERUSE, RENEWAL DUE) are cleared automatically when a client is set to Finished or Paused. Time Spent is still calculated within the date range, but the alerts stop firing. When you mark them Active again, all metrics recalculate.

How Meeting Time Is Counted

Water LLM scans your Google Calendar for events where the client's email address is in the guest list.

An event IS counted ifโ€ฆAn event is NOT counted ifโ€ฆ
The client is an attendee and did not decline The client declined the invitation
You are the organizer and the client is listed as a guest The event is marked "Free" (transparent) in Google Calendar
The event falls within the Start Date to End Date window The event is outside the date range
All-day events

All-day events are skipped by default (counted as 0 hours). To count them, go to Water LLM โ€บ Settings โ€บ Region & Currency and set a value for "All-Day Event Hours" (e.g., 8 to count each as a full day).

Event duration is in decimal hours

A 45-minute meeting = 0.75 hours. A 90-minute session = 1.5 hours. All totals are rounded to two decimal places.

Client Tracker Troubleshooting
ProblemWhat to Check
Meeting time shows 0 hours
  • Does the Email column contain the exact address the client uses for calendar invites?
  • Is Start Date set to a date before the meetings occurred?
  • Were the meetings marked "Free" or did the client decline?
  • Run Contacts & Sync โ€บ Client Tracker Metrics after entering client info
"GHOSTING" flag but you spoke recently The flag reads from CRM Last Contact. Run Communication Refresh to update it with recent emails or meetings.
"OVERUSE" for a flexible engagement Leave Hours Contracted blank for retainers or flexible work. This shows "N/A" for Hours Left and disables the overuse flag.

Biz Dev & Sales Pipeline

How the Pipeline Works
Biz Dev & Kanban Board (4 min)
LOOM_BIZ_DEV

The ๐Ÿ“ˆ Biz Dev tab tracks prospects and deals before they become active clients. Each row is one deal. The pipeline stages are fully customizable — define the stages that match your sales process.

ColumnWhat It Is
Deal IDAuto-generated (D-001, D-002โ€ฆ)
Contact IDLinks to a CRM contact
First Name / Last Name / Company / EmailSynced from the linked CRM contact
StageCurrent pipeline stage (from your defined stages)
Est. ValueEstimated deal value — used in revenue forecasting on the Dashboard
Expected CloseWhen you expect the deal to close
Deal NotesYour notes about this deal
Stage Date columnsTimestamps recording when the deal entered each stage
The Kanban Board
Kanban Board Walkthrough (3 min)
LOOM_KANBAN

Open the visual view of your pipeline via Water LLM โ€บ Outreach & Deals โ€บ Sales Pipeline.

  • Drag and drop — move deal cards between stage columns
  • Stage timestamps — when you move a deal to a new stage, the date is automatically recorded. Move a deal backward and future stage dates are cleared.
  • Deal aging — cards show how long since the last stage update
  • Quick actions — edit deal details, delete, or auto-invoice from a closed deal
  • Auto-invoice — when you move a deal to a terminal stage (like "Closed Won"), click to launch the Invoice Composer pre-filled with the deal data
Customizing Pipeline Stages

Define your pipeline stages in โš™๏ธSettings, column K (rows 27–35). You can set up to 9 stages. Examples:

  • Lead โ†’ Discovery โ†’ Proposal โ†’ Negotiation โ†’ Closed Won โ†’ Closed Lost
  • Initial Contact โ†’ Qualified โ†’ Demo โ†’ Trial โ†’ Contract โ†’ Won โ†’ Lost

Terminal stages: The last N stages in your list can be configured as terminal (e.g., "Closed Won" and "Closed Lost"). Terminal stages trigger the auto-invoice option on the Kanban board and are treated as final states in revenue forecasting.

Refresh Biz Dev contacts after CRM changes

Contact data on deals (name, company, email) comes from the CRM. If you update a contact's details, go to Water LLM โ€บ Outreach & Deals โ€บ Refresh Biz Dev Contacts to pull the latest into your pipeline.