---
title: "Send a customer invoice by email"
method: POST
path: "/api/external/v2/customer_invoices/{id}/send_by_email"
tags: ["Customer Invoices"]
---

# Send a customer invoice by email

`POST /api/external/v2/customer_invoices/{id}/send_by_email`

## Request

- Base URL: `https://app.pennylane.com`
- URL: `https://app.pennylane.com/api/external/v2/customer_invoices/{id}/send_by_email`
- Auth: OAuth 2
  - Authorization code: `https://app.pennylane.com/oauth/authorize`
  - Token URL: `https://app.pennylane.com/oauth/oauth/token` scopes: `customer_invoices:all`

This endpoint allows you to send a finalized, imported customer invoice or credit note
by email to your customer. This requires that the PDF file for that document
has been generated (this process can take a few minutes), so if you just created
the invoice in our system, we may return a 409 error. You should
retry the request in a few minutes - if you receive a 204 response, that means
that the email is on its way. For more information about email sending, please
read [this guide](https://pennylane.readme.io/v2.0/docs/sending-documents-by-email).

> ⚠️ **Warning:** If the invoice is eligible for electronic invoicing, sending
> it by email prevents it from later being transmitted through an approved
> platform (PA – *Plateforme Agréée*). For invoices within the scope of the
> e-invoicing reform, transmit them through the approved platform instead of
> sending them by email.

The subject and body come from the company's default billing email template
for the customer's billing language, unless `email_template_id` is set.
An invoice collected by GoCardless uses the GoCardless billing email template
and does not accept `email_template_id`.


> ℹ️
> This endpoint requires the following scope: `customer_invoices:all`

## Path parameters

- `id` integer, required

## Headers

- `X-Company-Id` string

## Request body

- object
  - `recipients` string[]: Email recipients. If empty, the email will be sent to the recipient email addresses specified for the customer of this invoice.
  - `email_template_id` integer: Billing email template to use for this send. It must belong to the company and have kind `billing_email_invoice`. Its locale does not have to match the customer's billing language. Subject, body, cc and bcc then come from that template. Not supported for an invoice collected by GoCardless. That invoice keeps the GoCardless billing email template. When omitted, the company's default template for the customer's billing language is used. In that case only the subject and body are applied.

## Response `204`

Invoice is being sent by email

## Other responses

- `400`: Bad request
- `401`: Access token is missing or invalid
- `403`: Access to this resource forbidden
- `404`: The resource was not found
- `409`: Conflict with the current state of the target resource, such as when trying to create a resource that already exists.
- `422`: Unprocessable content

## Changes

- **2026-11-03** `871f863307e5`: 2 info
  - added the new optional `header` request parameter `X-Company-Id`
  - added the new optional request property `email_template_id`

[Operation history](https://skmtc.dev/pennylane/apis/company-v2/changes/api/external/v2/customer_invoices/:id/send_by_email/post.md)

---

[API](https://skmtc.dev/pennylane/apis/company-v2.md) - [All operations](https://skmtc.dev/pennylane/apis/company-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/pennylane/apis/company-v2/revisions/871f863307e5?raw)
