---
title: "Issue a credit note"
method: POST
path: "/invoices/{invoice_id}/credit-note"
tags: ["Invoicing"]
---

# Issue a credit note

`POST /invoices/{invoice_id}/credit-note`

## Request

- Base URL: `https://api.app.lastaccountingcompany.com/portal`
- URL: `https://api.app.lastaccountingcompany.com/portal/invoices/{invoice_id}/credit-note`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/lastaccountingcompany/apis/lac-customer-api/docs/invoices/:invoice_id/credit-note/post.ts> (a function with typed inputs; its response is checked against the schema)

Requests a credit note against the invoice. Accepted asynchronously and dispatched as an event. Requires a write-scoped key.

## Path parameters

- `invoice_id` string, required

## Request body

- object
  - `customer_id` string: Target company. Optional for API keys.
  - `reason` string: Reason for the credit note.

## Response `202`

Credit note request accepted.

- EventAccepted: Acknowledgement of an asynchronously dispatched request.
  - `event_id` string: Identifier of the dispatched event.

## Other responses

- `401`: Missing or invalid bearer token.
- `403`: Insufficient scope or role — e.g. a read-scoped key on a mutating method, or an API key on an admin/approver-only endpoint.

---

[API](https://skmtc.dev/lastaccountingcompany/apis/lac-customer-api.md) - [All operations](https://skmtc.dev/lastaccountingcompany/apis/lac-customer-api/llms.txt) - [OpenAPI document](https://skmtc.dev/lastaccountingcompany/apis/lac-customer-api/revisions/52e277b4f031?raw)
