[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Use cases](https://cotlet.dev/use-cases.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# Record a payment

> Record a payment against a customer's invoices. Inputs, cURL, Python and Node.js examples and an example response.

Source: https://cotlet.dev/docs/api/method-crm/receive_payment

Docs sections: [Get started](https://cotlet.dev/docs.md) · [REST API](https://cotlet.dev/docs/api.md) · [MCP](https://cotlet.dev/docs/mcp.md) · [SDKs & CLI](https://cotlet.dev/docs/sdks.md) · [Integrations](https://cotlet.dev/docs/integrations.md)

Record a payment against a customer's invoices.

Method CRM API: https://cotlet.dev/docs/api/method-crm.md

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

Access: write. Confirm: waits for the user's OK before it runs.

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

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

## Request

**cURL**

```bash
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**

```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**

```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**

```bash
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"
}
```

Previous: [Email an invoice](https://cotlet.dev/docs/api/method-crm/send_invoice.md)
Next: [Create an activity](https://cotlet.dev/docs/api/method-crm/create_activity.md)

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [Use cases](https://cotlet.dev/use-cases.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet.dev is built by Bart Krawczyk and Jake Slugocki, the founders of Take Group sp. z o.o., ul. Wincentego Janasa 4, 40-855 Katowice, Poland. KRS 0000871398, NIP 6342984273, VAT EU: PL6342984273. [About us](https://cotlet.dev/about.md)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.
