# Record check and cash payments on Joist invoices

> Hand your agent a stack of checks or a cash note and it records each payment on the matching Joist invoice, splitting and skipping duplicates.

Source: https://cotlet.dev/integrations/joist-api-mcp-server/record-payments-on-invoices

On Friday the truck has a stack of checks and a cash envelope from the week, and before the bank run each one has to land on the right Joist invoice so the Active list stops lying.

Cotlet does it in your own Joist account with list\_invoices, get\_document and record\_payment, called by your AI agent, an n8n workflow or a script.

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

Hosted · nothing to install or maintain

Official options

## Can Joist do this on its own?

Joist has no API for payments (checked 12 Oct 2026). Payments made through Joist Payments are recorded on the invoice automatically; cash, checks and bank transfers outside it are entered with Record Payment, one invoice at a time, on the web or in the app.

By hand

## How you do it in Joist today

1. Open the client's invoice and click Payments at the top of the screen (on iPhone tap Payments; on Android tap the green circle, then Payments).
2. Click Record Payment in the top right, enter the amount or click Full, change the date if the check came earlier, and pick Cash, Check, Credit or Bank Transfer.
3. Click Add, then Close to go back to the invoice, and open the next client's invoice for the next check.
4. A check that covers two invoices, or only part of one, has to be split by hand, and a check entered twice inflates what Joist thinks you were paid.

With an agent

## How to record check and cash payments on Joist invoices

Prompt

```
Here are this week's checks: Mark Ruiz $1,200, Henderson family $2,000, Oak Ridge HOA $1,070. Record each on the right Joist invoice and ask me about anything that does not match.
```

1. 01  
### Group the payments by client  
The agent reads your list or photo of the deposit slip and groups lines by payer. A payer it cannot tie to a Joist client is set aside and asked about, not guessed.
2. 02  
### Find the invoice each check belongs to  
list\_invoices in the active view, searched by client, gives the open balances. An amount equal to one balance goes there. An amount equal to two balances together is proposed as a split. Anything else, such as a check larger than all open balances, stops for your decision.
3. 03  
### Look for a payment already entered  
get\_document lists the payments already on the invoice. A payment with the same amount and date is treated as a duplicate and skipped, which protects you when a client also paid by Joist Payments or the check was already entered from the phone.
4. 04  
### Record with the right method and date  
record\_payment uses check or cash as you said and the date on the check, not today. Each call waits for your OK by default, and the agent shows the invoice number and balance next to each request.

### What you get back

Example data

```
4 checks recorded, $5,350.00 total
Mark Ruiz #2291 $1,200.00 -> Invoice #1042, paid in full, moved to Paid
Henderson family #518 $2,000.00 -> Invoice #1052, $2,180.00 left
Priya Nair #1107 $1,080.00 -> Invoice #1049, $1,080.00 left
Oak Ridge HOA #3340 $1,070.00 -> split: Invoice #1038 $620.00 and #1040 $450.00, both paid
Skipped: Dana Lee $378.88, already recorded on Invoice #1051 on 10 Oct
```

### Other ways to ask

- Mark Ruiz paid $600 cash at the site yesterday. Put it on his oldest open invoice.
- The Henderson family paid $2,000 by bank transfer on 3 Oct. Record it and tell me what they still owe.
- Here is a photo of today's deposit slip. Record every check on the matching Joist invoice and list the ones you could not place.

Before you automate it

## What Joist allows, and what to know first

- The Joist Payments screen shows a progress bar of how much of the invoice is paid, and each recorded payment appears in the invoice Payments Summary section.
- A Joist invoice paid in full moves from the Active tab to the Paid tab of the invoice list.
- Joist QuickBooks Sync does not carry payments, so a check recorded in Joist still has to be entered in QuickBooks Online by hand.
- Joist Payments can be switched on or off for each invoice you issue, so one client can pay online while another pays by check.

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: [Joist Help Center: record a payment on an invoice](https://support.joistapp.com/en/articles/9212955-how-do-i-record-a-payment-on-an-invoice-or-mark-it-as-paid) · [Joist Help Center: automatic QuickBooks syncing](https://support.joistapp.com/en/articles/9212901-how-does-automatic-quickbooks-syncing-work) · [Joist: Joist Payments FAQs](https://www.joist.com/blog/joist-payments-faqs)

REST

## Call record\_payment from a script

curl

```
curl https://cotlet.dev/api/v1/joist/record_payment \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"invoice_id":"inv_58213","amount":"1200.00","method":"check","paid_on":"2026-10-09"}'
```

Example response

```
{
"invoice_id": "inv_58213",
"number": "1042",
"total": 2400,
"amount_paid": 2400,
"balance_due": 0,
"list": "paid",
"payments": [
{
"amount": 1200,
"method": "bank_transfer",
"paid_on": "2026-09-25"
},
{
"amount": 1200,
"method": "check",
"paid_on": "2026-10-09"
}
]
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the tool is joist\_record\_payment. Example data.

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

Tools

## Joist tools this automation uses

__Cotlet Joist tools used to record check and cash payments on Joist invoices__
| Tool | Parameters |
| --------------- | ------------------------------------- |
| list\_invoices | view, search, limit, cursor |
| get\_document | document\_id |
| record\_payment | invoice\_id, amount, method, paid\_on |

[All 13 Joist tools with descriptions](https://cotlet.dev/integrations/joist-api-mcp-server#tools)

## More Joist automations

- [Create Joist estimates from a job description](https://cotlet.dev/integrations/joist-api-mcp-server/create-estimates-from-job-description)
- [Turn signed Joist estimates into invoices](https://cotlet.dev/integrations/joist-api-mcp-server/convert-estimates-to-invoices)
- [Follow up on unpaid and overdue Joist invoices](https://cotlet.dev/integrations/joist-api-mcp-server/follow-up-unpaid-invoices)
- [Joist API and MCP server: every tool](https://cotlet.dev/integrations/joist-api-mcp-server)
- [All use cases](https://cotlet.dev/use-cases)

## Give your agent access to Joist.

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

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