# Log check and cash payments on Kickserv invoices

> Match each check or cash payment to the right unpaid Kickserv invoice, log the payment type and mark it paid only when the balance is covered.

Source: https://cotlet.dev/integrations/kickserv-api-mcp-server/log-manual-payments

Checks arrive in the mail and cash comes back in a tech's truck, and each one has to be found among the unpaid invoices in Kickserv and logged before the invoice can be marked paid.

Cotlet does it in your own Kickserv account with list\_invoices, get\_job and record\_payment, 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 payment endpoints (checked 12 Oct 2026); a job only exposes a balance remaining field. In the app, credit card payments settle the invoice balance on their own, and Mobile Check Capture lets a tech deposit a check from the Kickserv mobile app on a Stripe account. Checks mailed to the office and cash are still logged by hand, one invoice at a time.

By hand

## How you do it in Kickserv today

1. Open Jobs > Invoices, stay on the unpaid tab and clear any filters that could hide the invoice.
2. Open the invoice, go to the Payments widget and select Add Payment, then choose to log a payment manually.
3. Enter the payment type, amount and date, put the check number in the reference, and save it.
4. If the balance is covered, select Mark Paid in the invoice header; Mark unpaid reverses it.
5. A day of mail means repeating this per check, and a payment logged without a type, or marked paid without a payment, leaves Kickserv reports and the QuickBooks sync out of step.

With an agent

## How to log check and cash payments on Kickserv invoices

Prompt

```
Log the checks from today's mail in Kickserv: Lee Residence $480 check #2207, Rivera Dental $1,250 check #5531, Tom Becker $150 cash toward his $300 invoice. Mark invoices paid only when the balance is covered.
```

1. 01  
### Find the invoice for each payment  
Your agent reads the unpaid tab with list\_invoices and matches each payment by customer and amount. Two open invoices for the same customer with no clear match stop the run with a question, instead of the newest one getting the money.
2. 02  
### Check the balance before logging  
It opens get\_job for the matched job. A payment larger than the balance stops for your answer. An invoice already at zero, for example paid by card through Stripe since the check was written, is skipped and flagged as a possible double payment.
3. 03  
### Log the type first  
record\_payment gets the method exactly as named in your payment types, the amount and the date on the check. A partial payment is logged with mark\_paid set to false, so the invoice stays unpaid with the rest still due.
4. 04  
### Mark paid only on a full balance  
When the payment covers the balance, the same call marks the invoice paid, which also stops automatic reminders for it. You approve the batch before anything is written unless you switched confirmation off.

### What you get back

Example data

```
Logged 3 payments, $1,880.00
Lee Residence, check #2207, $480.00: invoice 1037 marked paid
Rivera Dental, check #5531, $1,250.00: invoice 1044 marked paid
Tom Becker, cash $150.00: logged on invoice 1051, $150.00 still due
Still unpaid: 11 invoices, $7,460.00
```

### Other ways to ask

- Here is a photo of today's deposit slip: log every check on it against the right Kickserv invoice and tell me what did not match.
- Show unpaid Kickserv invoices that were never viewed by the customer, oldest first.
- Every Friday, list invoices with a partial payment and the amount left on each.

Before you automate it

## What Kickserv allows, and what to know first

- Kickserv does not bring an invoice balance to zero for manual payments that were not made by credit card, so the payment type is logged on the job before the invoice is marked paid.
- Kickserv Document Settings has an Automatically mark invoices paid option under Invoices.
- Kickserv Mobile Check Capture charges $1.00 per check deposit, $0.25 per failed check image and $20.00 per bounced check, and is available on all plans for accounts with Stripe.
- Kickserv staff users need the Payments permission to view, create or delete payments on a job.

record\_payment asks for your OK by default. To run it on a schedule without you, switch confirmation off for that tool in your dashboard.

Sources: [Kickserv help: Logging Manual Payments](https://help.kickserv.com/article/88-logging-manual-payments) · [Kickserv help: New Kickserv Jobs Page](https://help.kickserv.com/article/103-new-kickserv-jobs-page) · [Kickserv help: Mobile Check Capture](https://help.kickserv.com/article/105-mobile-check-capture) · [Kickserv help: Permissions](https://help.kickserv.com/article/39-permissions)

REST

## Call record\_payment from a script

curl

```
curl https://cotlet.dev/api/v1/kickserv/record_payment \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"job_number":"1051","amount":"150.00","method":"Cash","paid_on":"2026-10-12","mark_paid":false}'
```

Example response

```
{
"job_number": "1037",
"amount": "480.00",
"method": "Check",
"paid_on": "2026-10-10",
"invoice_status": "paid",
"balance_remaining": "0.00"
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the tool is kickserv\_record\_payment. 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 log check and cash payments on Kickserv invoices__
| Tool | Parameters |
| --------------- | ------------------------------------------------- |
| list\_invoices | tab, page |
| get\_job | job\_number |
| record\_payment | job\_number, amount, method, paid\_on, mark\_paid |

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

## Frequently asked questions

### Can a payment be undone after the invoice is marked paid?

Yes. Kickserv shows a Mark unpaid button in the invoice header after Mark Paid, and staff with the Payments permission can delete a payment from the job.

## 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)
- [Invoice completed Kickserv jobs and email the invoices](https://cotlet.dev/integrations/kickserv-api-mcp-server/invoice-completed-jobs)
- [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)
