Joist logo

Joist automation

Record check and cash payments on Joist 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.

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 · Joist Help Center: automatic QuickBooks syncing · Joist: 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

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

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.