---
title: "Creates a credit note for an invoice"
method: POST
path: "/api/v2/invoices/credit_note"
tags: ["Invoices"]
---

# Creates a credit note for an invoice

`POST /api/v2/invoices/credit_note`

## Request

- Base URL: `https://developer.productive.io` (the document declares no server; this is the origin it was published from)
- URL: `https://developer.productive.io/api/v2/invoices/credit_note`
- Auth: none declared

Creates a draft credit note for whatever is still uncredited on a finalized invoice. The first
credit note reverses every line item of the invoice. Later ones carry one correction line per tax
rate for the amount the finalized credit notes have not covered yet. Contact data, bank account,
invoiced budgets and invoice attributions are carried over from the invoice in the same request.

## Request body

- object
  - `data` object
    - `attributes` object
      - `invoiced_on` string, date: Issue date of the credit note. Defaults to the invoice's.
      - `parent_invoice_id` string, required: Finalized invoice the credit note is issued against.
      - `subject` string: Defaults to the invoice subject with a "(credit note)" suffix.
    - `type` 'invoices'

## Response `201`

Single invoice

- object: JSON:API response envelope for a single invoice.
  - `data` object: The JSON:API data object for the returned invoice resource.
    - `attributes` object: Attributes of the invoice resource.
      - `amount` Amount (unresolved $ref)
      - `amount_credited` AmountCredited (unresolved $ref)
      - `amount_credited_default` AmountCreditedDefault (unresolved $ref)
      - `amount_credited_normalized` AmountCreditedNormalized (unresolved $ref)
      - `amount_credited_with_tax` AmountCreditedWithTax (unresolved $ref)
      - `amount_credited_with_tax_default` AmountCreditedWithTaxDefault (unresolved $ref)
      - `amount_credited_with_tax_normalized` AmountCreditedWithTaxNormalized (unresolved $ref)
      - `amount_default` AmountDefault (unresolved $ref)
      - `amount_normalized` AmountNormalized (unresolved $ref)
      - `amount_paid` AmountPaid (unresolved $ref)
      - `amount_paid_default` AmountPaidDefault (unresolved $ref)
      - `amount_paid_normalized` AmountPaidNormalized (unresolved $ref)
      - `amount_tax` AmountTax (unresolved $ref)
      - `amount_tax_default` AmountTaxDefault (unresolved $ref)
      - `amount_tax_normalized` AmountTaxNormalized (unresolved $ref)
      - `amount_unpaid` AmountUnpaid (unresolved $ref)
      - `amount_unpaid_default` AmountUnpaidDefault (unresolved $ref)
      - `amount_unpaid_normalized` AmountUnpaidNormalized (unresolved $ref)
      - `amount_with_tax` AmountWithTax (unresolved $ref)
      - `amount_with_tax_default` AmountWithTaxDefault (unresolved $ref)
      - `amount_with_tax_normalized` AmountWithTaxNormalized (unresolved $ref)
      - `amount_written_off` AmountWrittenOff (unresolved $ref)
      - `amount_written_off_default` AmountWrittenOffDefault (unresolved $ref)
      - `amount_written_off_normalized` AmountWrittenOffNormalized (unresolved $ref)
      - `bank_account_details` BankAccountDetails (unresolved $ref)
      - `company_reference_id` CompanyReferenceId (unresolved $ref)
      - `created_at` CreatedAt (unresolved $ref)
      - `creation_options` CreationOptions (unresolved $ref)
      - `credited` Credited (unresolved $ref)
      - `currency` Currency (unresolved $ref)
      - `currency_default` CurrencyDefault (unresolved $ref)
      - `currency_normalized` CurrencyNormalized (unresolved $ref)
      - `custom_fields` CustomFields (unresolved $ref)
      - `deleted_at` DeletedAt (unresolved $ref)
      - `delivery_on` DeliveryOn (unresolved $ref)
      - `discount` Discount (unresolved $ref)
      - `email_key` EmailKey (unresolved $ref)
      - `exchange_date` ExchangeDate (unresolved $ref)
      - `exchange_rate` union: Exchange rate from the invoice currency to the organization default currency.
        - ExchangeRate (unresolved $ref)
        - string
      - `export_id` ExportId (unresolved $ref)
      - `export_integration_type_id` ExportIntegrationTypeId (unresolved $ref)
      - `export_invoice_url` ExportInvoiceUrl (unresolved $ref)
      - `exported` Exported (unresolved $ref)
      - `exported_at` ExportedAt (unresolved $ref)
      - `finalized_at` FinalizedAt (unresolved $ref)
      - `finalized_on` FinalizedOn (unresolved $ref)
      - `footer` Footer (unresolved $ref)
      - `footer_interpolated` FooterInterpolated (unresolved $ref)
      - `invoice_template_id` InvoiceTemplateId (unresolved $ref)
      - `invoice_type_id` InvoiceTypeId (unresolved $ref)
      - `invoiced_on` InvoicedOn (unresolved $ref)
      - `last_activity_at` LastActivityAt (unresolved $ref)
      - `line_item_tax` LineItemTax (unresolved $ref)
      - `note` Note (unresolved $ref)
      - `note_interpolated` NoteInterpolated (unresolved $ref)
      - `number` Number (unresolved $ref)
      - `paid_on` PaidOn (unresolved $ref)
      - `pay_on` PayOn (unresolved $ref)
      - `payment_terms` PaymentTerms (unresolved $ref)
      - `purchase_order_number` PurchaseOrderNumber (unresolved $ref)
      - `sample_data` SampleData (unresolved $ref)
      - `sent_on` SentOn (unresolved $ref)
      - `subject` Subject (unresolved $ref)
      - `tag_list` union: Comma-separated tags applied to this invoice.
        - TagList (unresolved $ref)
        - string[]
      - `tax1_name` Tax1Name (unresolved $ref)
      - `tax1_value` Tax1Value (unresolved $ref)
      - `tax2_name` Tax2Name (unresolved $ref)
      - `tax2_value` Tax2Value (unresolved $ref)
      - `updated_at` UpdatedAt (unresolved $ref)
      - `payment_terms_days` PaymentTermsDays (unresolved $ref)
      - `payment_terms_type` PaymentTermsType (unresolved $ref)
    - `relationships` object: Invoice relationships.
      - `attachment` union: A JSON:API single relationship — links to one related resource or `null`.
        - SingleLinkageNullable
          - `data` Resource, required: A JSON:API resource identifier object containing the resource type and ID.
            - `id` string, required: The unique identifier of the resource.
            - `type` string, required: The resource type name (e.g. `tasks`, `people`, `deals`).
        - NotIncluded: Placeholder for a relationship that was not sideloaded in this response.
          - `meta` object, required: Metadata indicating the sideload status of this relationship.
            - `included` false, required: Whether the related resource was included in the sideloaded data. Always `false` for this variant.
      - `bank_account` union: A JSON:API single relationship — links to one related resource or `null`.
        - SingleLinkageNullable
          - `data` Resource, required: A JSON:API resource identifier object containing the resource type and ID.
            - `id` string, required: The unique identifier of the resource.
            - `type` string, required: The resource type name (e.g. `tasks`, `people`, `deals`).
        - NotIncluded: Placeholder for a relationship that was not sideloaded in this response.
          - `meta` object, required: Metadata indicating the sideload status of this relationship.
            - `included` false, required: Whether the related resource was included in the sideloaded data. Always `false` for this variant.
      - `bill_from` union: A JSON:API single relationship — links to one related resource or `null`.
        - SingleLinkageNullable
          - `data` Resource, required: A JSON:API resource identifier object containing the resource type and ID.
            - `id` string, required: The unique identifier of the resource.
            - `type` string, required: The resource type name (e.g. `tasks`, `people`, `deals`).
        - NotIncluded: Placeholder for a relationship that was not sideloaded in this response.
          - `meta` object, required: Metadata indicating the sideload status of this relationship.
            - `included` false, required: Whether the related resource was included in the sideloaded data. Always `false` for this variant.
      - `bill_to` union: A JSON:API single relationship — links to one related resource or `null`.
        - SingleLinkageNullable
          - `data` Resource, required: A JSON:API resource identifier object containing the resource type and ID.
            - `id` string, required: The unique identifier of the resource.
            - `type` string, required: The resource type name (e.g. `tasks`, `people`, `deals`).
        - NotIncluded: Placeholder for a relationship that was not sideloaded in this response.
          - `meta` object, required: Metadata indicating the sideload status of this relationship.
            - `included` false, required: Whether the related resource was included in the sideloaded data. Always `false` for this variant.
      - `company` union: A JSON:API single relationship — links to one related resource or `null`.
        - SingleLinkageNullable
          - `data` Resource, required: A JSON:API resource identifier object containing the resource type and ID.
            - `id` string, required: The unique identifier of the resource.
            - `type` string, required: The resource type name (e.g. `tasks`, `people`, `deals`).
        - NotIncluded: Placeholder for a relationship that was not sideloaded in this response.
          - `meta` object, required: Metadata indicating the sideload status of this relationship.
            - `included` false, required: Whether the related resource was included in the sideloaded data. Always `false` for this variant.
      - `creator` union: A JSON:API single relationship — links to one related resource or `null`.
        - SingleLinkageNullable
          - `data` Resource, required: A JSON:API resource identifier object containing the resource type and ID.
            - `id` string, required: The unique identifier of the resource.
            - `type` string, required: The resource type name (e.g. `tasks`, `people`, `deals`).
        - NotIncluded: Placeholder for a relationship that was not sideloaded in this response.
          - `meta` object, required: Metadata indicating the sideload status of this relationship.
            - `included` false, required: Whether the related resource was included in the sideloaded data. Always `false` for this variant.
      - `custom_field_attachments` union: A JSON:API collection relationship — links to zero or more related resources.
        - CollectionLinkage
          - `data` Resource[], required
            - `id` string, required: The unique identifier of the resource.
            - `type` string, required: The resource type name (e.g. `tasks`, `people`, `deals`).
        - NotIncluded: Placeholder for a relationship that was not sideloaded in this response.
          - `meta` object, required: Metadata indicating the sideload status of this relationship.
            - `included` false, required: Whether the related resource was included in the sideloaded data. Always `false` for this variant.
      - `custom_field_people` union: A JSON:API collection relationship — links to zero or more related resources.
        - CollectionLinkage
          - `data` Resource[], required
            - `id` string, required: The unique identifier of the resource.
            - `type` string, required: The resource type name (e.g. `tasks`, `people`, `deals`).
        - NotIncluded: Placeholder for a relationship that was not sideloaded in this response.
          - `meta` object, required: Metadata indicating the sideload status of this relationship.
            - `included` false, required: Whether the related resource was included in the sideloaded data. Always `false` for this variant.
      - `document_type` union: A JSON:API single relationship — links to one related resource or `null`.
        - SingleLinkageNullable
          - `data` Resource, required: A JSON:API resource identifier object containing the resource type and ID.
            - `id` string, required: The unique identifier of the resource.
            - `type` string, required: The resource type name (e.g. `tasks`, `people`, `deals`).
        - NotIncluded: Placeholder for a relationship that was not sideloaded in this response.
          - `meta` object, required: Metadata indicating the sideload status of this relationship.
            - `included` false, required: Whether the related resource was included in the sideloaded data. Always `false` for this variant.
      - `invoice_attributions` union: A JSON:API collection relationship — links to zero or more related resources.
        - CollectionLinkage
          - `data` Resource[], required
            - `id` string, required: The unique identifier of the resource.
            - `type` string, required: The resource type name (e.g. `tasks`, `people`, `deals`).
        - NotIncluded: Placeholder for a relationship that was not sideloaded in this response.
          - `meta` object, required: Metadata indicating the sideload status of this relationship.
            - `included` false, required: Whether the related resource was included in the sideloaded data. Always `false` for this variant.
      - `issuer` union: A JSON:API single relationship — links to one related resource or `null`.
        - SingleLinkageNullable
          - `data` Resource, required: A JSON:API resource identifier object containing the resource type and ID.
            - `id` string, required: The unique identifier of the resource.
            - `type` string, required: The resource type name (e.g. `tasks`, `people`, `deals`).
        - NotIncluded: Placeholder for a relationship that was not sideloaded in this response.
          - `meta` object, required: Metadata indicating the sideload status of this relationship.
            - `included` false, required: Whether the related resource was included in the sideloaded data. Always `false` for this variant.
      - `organization` union: A JSON:API single relationship — links to one related resource or `null`.
        - SingleLinkageNullable
          - `data` Resource, required: A JSON:API resource identifier object containing the resource type and ID.
            - `id` string, required: The unique identifier of the resource.
            - `type` string, required: The resource type name (e.g. `tasks`, `people`, `deals`).
        - NotIncluded: Placeholder for a relationship that was not sideloaded in this response.
          - `meta` object, required: Metadata indicating the sideload status of this relationship.
            - `included` false, required: Whether the related resource was included in the sideloaded data. Always `false` for this variant.
      - `parent_invoice` union: A JSON:API single relationship — links to one related resource or `null`.
        - SingleLinkageNullable
          - `data` Resource, required: A JSON:API resource identifier object containing the resource type and ID.
            - `id` string, required: The unique identifier of the resource.
            - `type` string, required: The resource type name (e.g. `tasks`, `people`, `deals`).
        - NotIncluded: Placeholder for a relationship that was not sideloaded in this response.
          - `meta` object, required: Metadata indicating the sideload status of this relationship.
            - `included` false, required: Whether the related resource was included in the sideloaded data. Always `false` for this variant.
      - `subsidiary` union: A JSON:API single relationship — links to one related resource or `null`.
        - SingleLinkageNullable
          - `data` Resource, required: A JSON:API resource identifier object containing the resource type and ID.
            - `id` string, required: The unique identifier of the resource.
            - `type` string, required: The resource type name (e.g. `tasks`, `people`, `deals`).
        - NotIncluded: Placeholder for a relationship that was not sideloaded in this response.
          - `meta` object, required: Metadata indicating the sideload status of this relationship.
            - `included` false, required: Whether the related resource was included in the sideloaded data. Always `false` for this variant.
  - `included` unknown[]: Sideloaded related resources.
    - unknown
  - `meta` Meta: Pagination and response metadata returned with every collection endpoint.
    - `current_page` integer: The current page number in this paginated response (1-based).
    - `max_page_size` integer: Maximum number of records allowed per page for this endpoint.
    - `organization_features` object: Feature flags and capabilities enabled for the current organization, used for UI rendering.
    - `page_size` integer: Number of records returned per page in this response.
    - `settings` object: Organization or user settings relevant to this resource's display.
    - `total_count` integer: Total number of records matching the current query across all pages.
    - `total_pages` integer: Total number of pages available for the current query and page size.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `406`: Not Acceptable
- `408`: Request Timeout
- `415`: Unsupported Media Type
- `422`: Unprocessable Content
- `423`: Locked
- `429`: Too Many Requests
- `500`: Internal Server Error

## Changes

- **2026-11-02** `fa3060fd0144`: 9 info
  - added the non-success response with the status `400`
  - added the non-success response with the status `401`
  - added the non-success response with the status `403`
  - added the non-success response with the status `406`
  - …5 more
- **2026-10-27** `f11a8740641a`: 1 info
  - endpoint added
  - …this revision’s changelog is incomplete

[Operation history](https://skmtc.dev/productive/apis/api-documentation/changes/api/v2/invoices/credit_note/post.md)

---

[API](https://skmtc.dev/productive/apis/api-documentation.md) - [All operations](https://skmtc.dev/productive/apis/api-documentation/llms.txt) - [OpenAPI document](https://skmtc.dev/productive/apis/api-documentation/revisions/e7bdfdf6cba3?raw)
