Record a payment

Record a payment against a customer's invoices.

POST https://cotlet.dev/api/v1/method-crm/customers/{customer_id}/payment/receive

write Confirm

Returns the payment ID and how it was applied to each invoice. It records a payment that already arrived and never charges a card. A customer with a negative balance is refused. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: receive_payment
NameTypeDescription
customer_id string required string Customer ID.
amount number required number Payment amount.
payment_method string required string A payment method from your account, such as Check.
date string required string YYYY-MM-DD.
deposit_to_account string required string An account from QuickBooks.
invoice_ids array array Invoices to pay. Without it Method applies the payment by its auto-apply rule.
reference_number string string Check or transfer number.
wait_for_sync_approval boolean boolean Ticks "Wait for approval before syncing" so QuickBooks stays untouched until you untick it in Method. Default true.

Request

cURL
curl -X POST https://cotlet.dev/api/v1/method-crm/customers/C-2041/payment/receive \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"amount":1250,"payment_method":"Transfer","date":"2026-10-22","deposit_to_account":"Checking","invoice_ids":["1038"],"wait_for_sync_approval":true}'
Python
result = client.call("method-crm", "receive_payment", {"customer_id":"C-2041","amount":1250,"payment_method":"Transfer","date":"2026-10-22","deposit_to_account":"Checking","invoice_ids":["1038"],"wait_for_sync_approval":True})
Node.js
const result = await cotlet.call('method-crm', 'receive_payment', {"customer_id":"C-2041","amount":1250,"payment_method":"Transfer","date":"2026-10-22","deposit_to_account":"Checking","invoice_ids":["1038"],"wait_for_sync_approval":true});
CLI
cotlet call method-crm receive_payment --data '{"customer_id":"C-2041","amount":1250,"payment_method":"Transfer","date":"2026-10-22","deposit_to_account":"Checking","invoice_ids":["1038"],"wait_for_sync_approval":true}'

Example response

JSON

{
  "payment_id": "P-3320",
  "customer": "Ortega Kitchens",
  "amount": 4800,
  "applied": [
    {
      "invoice_id": "1043",
      "amount": 4800,
      "balance_due": 0
    }
  ],
  "sync": "held"
}

Sign in once. Your agent does the rest.

Sign up and add the apps you need. Free 7-day trial with 2,000 credits, no card needed.