---
title: "Reconciles credit memo applications"
method: POST
path: "/credit-memos/{credit_memo_id}/applications"
tags: ["Credit Memos"]
---

# Reconciles credit memo applications

`POST /credit-memos/{credit_memo_id}/applications`

## Request

- Base URL: `https://api.rillet.com`
- URL: `https://api.rillet.com/credit-memos/{credit_memo_id}/applications`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/rillet/apis/rillet-accounting-api/docs/credit-memos/:credit_memo_id/applications/post.ts> (a function with typed inputs; its response is checked against the schema)

Full reconcile of credit memo applications. The request body represents the desired set: missing applications are removed, new applications inserted, and existing applications updated when amount or application_date differ.

## Path parameters

- `credit_memo_id` string, uuid, required

## Request body

- ApplyCreditMemoRequest
  - `applications` CreditMemoApplicationRequest[], required
    - `invoice_id` string, uuid, required
    - `amount` RoundedMonetaryAmount, required: A monetary amount that must be rounded to the currency's default decimal places (e.g., 2 decimal places for USD).
      - `amount` string, required: Monetary amount in decimal format, using a period (.) as the decimal separator. Must be rounded to the currency's default decimal places (e.g. '1.01' in USD represents 1 dollar and 1 cent).
      - `currency` string, required: Currency code following ISO-4217
    - `application_date` string, date, required

## Response `200`

OK

- CreditMemo
  - `id` string, uuid, required
  - `subsidiary_id` string, uuid, required
  - `credit_memo_number` string, required
  - `customer_id` string, uuid, required
  - `items` CreditMemoItem[], required
    - `id` string, uuid, required
    - `description` string, required
    - `revenue` ItemRevenue, required
      - `period` CalendarPeriod
        - `start` string, date, required
        - `end` string, date, required
      - `pattern` 'DAILY' | 'EVEN_PERIOD' | 'PROGRESS': DAILY divides revenue equally per day. EVEN_PERIOD divides revenue equally per calendar month. PROGRESS uses a progress plan; the supported measure MILESTONES recognizes allocated revenue on milestone completion and requires a one-time price. FULL contract creation supports an explicit progress plan or snapshots the referenced product's template. Existing non-progress behavior is unchanged.
      - `account_code` string: The account code found in the Chart of Accounts
    - `total_amount` RoundedMonetaryAmount, required: A monetary amount that must be rounded to the currency's default decimal places (e.g., 2 decimal places for USD).
      - `amount` string, required: Monetary amount in decimal format, using a period (.) as the decimal separator. Must be rounded to the currency's default decimal places (e.g. '1.01' in USD represents 1 dollar and 1 cent).
      - `currency` string, required: Currency code following ISO-4217
    - `taxed_amount` RoundedMonetaryAmount: A monetary amount that must be rounded to the currency's default decimal places (e.g., 2 decimal places for USD).
      - `amount` string, required: Monetary amount in decimal format, using a period (.) as the decimal separator. Must be rounded to the currency's default decimal places (e.g. '1.01' in USD represents 1 dollar and 1 cent).
      - `currency` string, required: Currency code following ISO-4217
    - `net_amount` RoundedMonetaryAmount, required: A monetary amount that must be rounded to the currency's default decimal places (e.g., 2 decimal places for USD).
      - `amount` string, required: Monetary amount in decimal format, using a period (.) as the decimal separator. Must be rounded to the currency's default decimal places (e.g. '1.01' in USD represents 1 dollar and 1 cent).
      - `currency` string, required: Currency code following ISO-4217
    - `quantity` string, number, required
    - `product_id` string, uuid, required
    - `fields` object[]
      - `field_id` string, uuid, required
      - `field_value_id` string, uuid, required
  - `credit_memo_date` string, date, required
  - `address` Address, required
    - `line1` string, required
    - `line2` string, nullable
    - `city` string, required
    - `state` string, nullable: State or province code. Required for United States addresses and optional where it does not apply.
    - `zip_code` string, required
    - `country` string, required: Two-letter country code (ISO 3166-1 alpha-2).
  - `status` 'UNAPPLIED' | 'PARTIALLY_APPLIED' | 'APPLIED' | 'REFUNDED', required
  - `net_amount` RoundedMonetaryAmount, required: A monetary amount that must be rounded to the currency's default decimal places (e.g., 2 decimal places for USD).
    - `amount` string, required: Monetary amount in decimal format, using a period (.) as the decimal separator. Must be rounded to the currency's default decimal places (e.g. '1.01' in USD represents 1 dollar and 1 cent).
    - `currency` string, required: Currency code following ISO-4217
  - `total` RoundedMonetaryAmount, required: A monetary amount that must be rounded to the currency's default decimal places (e.g., 2 decimal places for USD).
    - `amount` string, required: Monetary amount in decimal format, using a period (.) as the decimal separator. Must be rounded to the currency's default decimal places (e.g. '1.01' in USD represents 1 dollar and 1 cent).
    - `currency` string, required: Currency code following ISO-4217
  - `applied_amount` RoundedMonetaryAmount, required: A monetary amount that must be rounded to the currency's default decimal places (e.g., 2 decimal places for USD).
    - `amount` string, required: Monetary amount in decimal format, using a period (.) as the decimal separator. Must be rounded to the currency's default decimal places (e.g. '1.01' in USD represents 1 dollar and 1 cent).
    - `currency` string, required: Currency code following ISO-4217
  - `remaining_amount` RoundedMonetaryAmount, required: A monetary amount that must be rounded to the currency's default decimal places (e.g., 2 decimal places for USD).
    - `amount` string, required: Monetary amount in decimal format, using a period (.) as the decimal separator. Must be rounded to the currency's default decimal places (e.g. '1.01' in USD represents 1 dollar and 1 cent).
    - `currency` string, required: Currency code following ISO-4217
  - `applications` CreditMemoApplication[], required
    - `id` string, uuid, required
    - `credit_memo_id` string, uuid, required
    - `invoice_id` string, uuid, required
    - `invoice_number` string
    - `amount` RoundedMonetaryAmount, required: A monetary amount that must be rounded to the currency's default decimal places (e.g., 2 decimal places for USD).
      - `amount` string, required: Monetary amount in decimal format, using a period (.) as the decimal separator. Must be rounded to the currency's default decimal places (e.g. '1.01' in USD represents 1 dollar and 1 cent).
      - `currency` string, required: Currency code following ISO-4217
    - `application_date` string, date, required
  - `exchange_rate` ExchangeRate
    - `base` string, required: Currency code following ISO-4217
    - `target` string, required: Currency code following ISO-4217
    - `rate` string, required
    - `date` string, date, required
  - `taxed_amount` RoundedMonetaryAmount, required: A monetary amount that must be rounded to the currency's default decimal places (e.g., 2 decimal places for USD).
    - `amount` string, required: Monetary amount in decimal format, using a period (.) as the decimal separator. Must be rounded to the currency's default decimal places (e.g. '1.01' in USD represents 1 dollar and 1 cent).
    - `currency` string, required: Currency code following ISO-4217
  - `external_references` ExternalReference[]
    - `type` string, required
    - `id` string, required
    - `url` string, uri
  - `updated_at` string, date-time, required: ISO 8601 timestamp in UTC timezone (must end with 'Z')

## Other responses

- `default`: Error

## Changes

- **2026-11-03** `c393d0102005`: 4 breaking, 1 warning
  - the response property `address/line2` became nullable for the status `200`
  - the response property `address/state` became nullable for the status `200`
  - the response property `address/state` became optional for the status `200`
  - the `items/items/quantity` response's property type changed from `number` to `string`, and format from no format to `number` for status `200`
  - …1 more

[Operation history](https://skmtc.dev/rillet/apis/rillet-accounting-api/changes/credit-memos/:credit_memo_id/applications/post.md)

---

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