Kickserv automation
Log check and cash payments on Kickserv invoices
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.
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
- Open Jobs > Invoices, stay on the unpaid tab and clear any filters that could hide the invoice.
- Open the invoice, go to the Payments widget and select Add Payment, then choose to log a payment manually.
- Enter the payment type, amount and date, put the check number in the reference, and save it.
- If the balance is covered, select Mark Paid in the invoice header; Mark unpaid reverses it.
- 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. - 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.
- 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.
- 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.
- 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 · Kickserv help: New Kickserv Jobs Page · Kickserv help: Mobile Check Capture · Kickserv help: 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 cronTools
Kickserv tools this automation uses
| Tool | Parameters |
|---|---|
| list_invoices | tab, page |
| get_job | job_number |
| record_payment | job_number, amount, method, paid_on, mark_paid |
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.
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.