# Invoice completed Kickserv jobs and email the invoices

> Generate Kickserv invoices for yesterday's completed jobs, skip empty or multi-visit jobs and email the rest so payment reminders can start.

Source: https://cotlet.dev/integrations/kickserv-api-mcp-server/invoice-completed-jobs

Jobs get marked complete and the pop-up that offers to generate the invoice gets closed, so the next morning the office finds completed jobs with no invoice and has to bill them one by one.

Cotlet does it in your own Kickserv account with list\_jobs, get\_job, generate\_invoice and send\_invoice, called by your AI agent, an n8n workflow or a script.

[Request access](https://cotlet.dev/app/signup?app=kickserv) [All Kickserv tools](https://cotlet.dev/integrations/kickserv-api-mcp-server)

Hosted · nothing to install or maintain

Official options

## Can Kickserv do this on its own?

The Kickserv API has no invoice endpoints (checked 12 Oct 2026); a job record carries invoice status fields, but nothing in the API generates or emails an invoice. In the app, Kickserv prompts to generate the invoice when a job is marked complete, and the help center describes sending only through the Send button in the invoice header. Automatic invoice reminders exist, but they start only after an invoice was sent by hand once.

By hand

## How you do it in Kickserv today

1. Open the Jobs page, clear the filters and look at the Completed column for jobs finished yesterday.
2. Open each job and select Generate Invoice in the job header, or Generate the invoice in the pop-up after Mark Complete.
3. Check the charges, select Preview to see what the customer gets, then select Send in the invoice header and Send invoice.
4. Confirm on Jobs > Invoices that each row shows the blue letter icon for sent.
5. Every job means four screens, and an invoice that was generated but never sent gets no automatic reminder, so it can sit unpaid for weeks.

With an agent

## How to invoice completed Kickserv jobs and email the invoices

Prompt

```
Invoice every Kickserv job completed yesterday and email the invoices. Skip jobs with no charges or with more visits still scheduled, and list them for me.
```

1. 01  
### Collect yesterday's completed jobs  
Your agent calls list\_jobs with status complete for yesterday and pages through until a page comes back short, because Kickserv returns 30 jobs at a time.
2. 02  
### Skip what is already billed  
For each job it reads get\_job. A job whose invoice was already sent is left alone. A job with an invoice that was generated but never sent goes straight to sending, so no second invoice is made.
3. 03  
### Hold back jobs that are not ready  
A job with no charges or a zero total is not invoiced. A job with another work event still on its schedule, such as a remodel with a second visit next week, is left for the final invoice and listed for you.
4. 04  
### Generate, compare, then send  
generate\_invoice builds the invoice from the job charges, and the agent checks its total against the charges it read. send\_invoice then emails the main customer with your invoice template; you approve the batch unless you switched confirmation off.
5. 05  
### Report what is left for a person  
The run ends with what was sent, the amounts, and every job skipped with the reason, so the office only opens the exceptions.

### What you get back

Example data

```
Completed yesterday: 8 jobs
Invoiced and emailed: 5, $3,215.00
Already generated, sent now: 1 (#1037 Lee Residence, $480.00)
Skipped, no charges: 1 (#1052 Drain cleaning, 9 Oak St, tech Dana Ruiz)
Skipped, second visit Oct 16: 1 (#1049 Kitchen remodel, Rivera)
Invoice reminders now apply to all 6 sent invoices
```

### Other ways to ask

- Every weekday at 6 p.m., invoice jobs completed today but hold any invoice over $2,500 for my review.
- List last week's completed jobs for Dana Ruiz that still have no invoice, without creating anything.
- Generate invoices for this month's completed jobs and leave them unsent so I can check them first.

Before you automate it

## What Kickserv allows, and what to know first

- Kickserv sends automatic invoice reminders only when the job is complete, the invoice has a balance, it is not marked Paid and it was sent manually at least once.
- Kickserv invoice reminders are switched on under Settings > Messaging Templates > Invoice messaging > Invoice Reminders, with a cadence counted from the original sent date.
- When a Kickserv job is marked complete, a pop-up asks whether to mark all its work events complete; multi-visit jobs are meant to stay open until the final invoice.
- Kickserv voids an invoice by adjusting it: charges set to $0 with VOIDED in each description, a negative line, or an Other payment, and Kickserv advises against the last one when the job syncs to QuickBooks.
- On the Kickserv Invoices page a blue letter icon means sent and a purple eye means the customer opened the invoice; grey icons mean not yet.

send\_invoice asks for your OK by default. To run it daily without you, switch confirmation off for that tool in your dashboard.

Sources: [Kickserv help: Invoices](https://help.kickserv.com/article/33-invoices) · [Kickserv help: Jobs](https://help.kickserv.com/article/32-jobs) · [Kickserv API documentation](https://app.kickserv.com/api-docs)

REST

## Call list\_jobs from a script

curl

```
curl https://cotlet.dev/api/v1/kickserv/list_jobs \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"status":"complete","scheduled":"yesterday","page":1}'
```

Example response

```
{
"jobs": [
{
"job_number": "1037",
"service_type": "Water heater replacement",
"customer": "Lee Residence",
"status": "complete",
"scheduled_on": "2026-10-09",
"employees": [
"Dana Ruiz"
]
}
],
"page": 1
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the tool is kickserv\_list\_jobs. Example data.

[Schedule it in n8n, Make, Zapier or cron](https://cotlet.dev/integrations/kickserv-api-mcp-server#automations)

Tools

## Kickserv tools this automation uses

__Cotlet Kickserv tools used to invoice completed Kickserv jobs and email the invoices__
| Tool | Parameters |
| ----------------- | -------------------------------------------------- |
| list\_jobs | status, scheduled, employee, page |
| get\_job | job\_number |
| generate\_invoice | job\_number |
| send\_invoice | job\_number, to, cc, subject, message, attach\_pdf |

[All 15 Kickserv tools with descriptions](https://cotlet.dev/integrations/kickserv-api-mcp-server#tools)

## More Kickserv automations

- [Add leads to Kickserv as opportunities](https://cotlet.dev/integrations/kickserv-api-mcp-server/add-leads-as-opportunities)
- [Build and send Kickserv estimates from your notes](https://cotlet.dev/integrations/kickserv-api-mcp-server/build-and-send-estimates)
- [Log check and cash payments on Kickserv invoices](https://cotlet.dev/integrations/kickserv-api-mcp-server/log-manual-payments)
- [Kickserv API and MCP server: every tool](https://cotlet.dev/integrations/kickserv-api-mcp-server)
- [All use cases](https://cotlet.dev/use-cases)

## Give your agent access to Kickserv.

Free 7-day trial with 5,000 credits, no card needed. Cotlet is independent and not affiliated with Kickserv.

[Request access](https://cotlet.dev/app/signup?app=kickserv)
