[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)

# Email an invoice

> Email the customer a portal link to an invoice. Inputs, cURL, Python and Node.js examples and an example response.

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

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)

Email the customer a portal link to an invoice.

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

`POST https://cotlet.dev/api/v1/method-crm/invoices/{invoice_id}`

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

Does what Send > Email does: the customer gets a link to their portal, where they can view the invoice and pay if a payment gateway is set up. It fails if the contact has no email. By default you confirm each call; you can switch that off for this tool.

## Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `invoice_id` | string | yes | Invoice ID. |
| `subject` | string | no | Email subject. Default from your template. |
| `body` | string | no | Email text. Default from your template. |

## Request

**cURL**

```bash
curl -X POST https://cotlet.dev/api/v1/method-crm/invoices/1043 \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"subject":"Invoice 1043 is 23 days overdue","body":"Hi Ana, invoice 1043 for 4,800 was due on Sep 30. You can view and pay it in your portal. Tell me if anything is unclear."}'
```

**Python**

```python
result = client.call("method-crm", "send_invoice", {"invoice_id":"1043","subject":"Invoice 1043 is 23 days overdue","body":"Hi Ana, invoice 1043 for 4,800 was due on Sep 30. You can view and pay it in your portal. Tell me if anything is unclear."})
```

**Node.js**

```js
const result = await cotlet.call('method-crm', 'send_invoice', {"invoice_id":"1043","subject":"Invoice 1043 is 23 days overdue","body":"Hi Ana, invoice 1043 for 4,800 was due on Sep 30. You can view and pay it in your portal. Tell me if anything is unclear."});
```

**CLI**

```bash
cotlet call method-crm send_invoice --data '{"invoice_id":"1043","subject":"Invoice 1043 is 23 days overdue","body":"Hi Ana, invoice 1043 for 4,800 was due on Sep 30. You can view and pay it in your portal. Tell me if anything is unclear."}'
```

## Example response

```json
{
  "invoice_id": "1043",
  "status": "sent",
  "sent_to": "billing@ortega-kitchens.example",
  "subject": "Invoice 1043 is 23 days overdue"
}
```

Previous: [Convert an estimate to an invoice](https://cotlet.dev/docs/api/method-crm/convert_estimate_to_invoice.md)
Next: [Record a payment](https://cotlet.dev/docs/api/method-crm/receive_payment.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.
