---
title: "Updates a vendor credit"
method: PUT
path: "/vendor-credits/{vendor_credit_id}"
tags: ["Vendor Credits"]
---

# Updates a vendor credit

`PUT /vendor-credits/{vendor_credit_id}`

## Request

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

IMPORTANT: This is a full-replace operation (PUT semantics). All fields must be
included in the request body — omitting any field will set it to null, wiping
existing data. Always call retrieve-a-vendor-credit first to fetch the current record,
then include ALL existing fields in your update request along with your changes.

## Path parameters

- `vendor_credit_id` string, uuid, required

## Request body

- UpdateVendorCreditRequest
  - `credit_number` string, required
  - `date` string, date, required
  - `gl_impact_date` string, date, required
  - `memo` string
  - `line_items` VendorCreditLineItemRequest[], required
    - `account_code` string, required: The account code found in the Chart of Accounts
    - `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
    - `description` string
    - `tax_rate` ExpenseTaxRate
      - `percentage` string, number, required
      - `tax_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
      - `country` string, required: Two-letter country code (ISO 3166-1 alpha-2).
      - `type` 'VAT' | 'SALES_TAX', required
      - `description` string, required
      - `tax_code` string: Code of a predefined tax rate. When provided, the rate's percentage, country, and description are used instead of the inline values.
      - `coverage` 'INCLUSIVE' | 'EXCLUSIVE', required
    - `service_period` CalendarPeriod
      - `start` string, date, required
      - `end` string, date, required
    - `fields` object[]
      - `field_id` string, uuid, required
      - `field_value_id` string, uuid, required
  - `vendor_id` string, uuid, required

## Response `200`

OK

- VendorCredit
  - `credit_number` string, required
  - `date` string, date, required
  - `gl_impact_date` string, date, required
  - `memo` string
  - `line_items` object[], required
    - `account_code` string, required: The account code found in the Chart of Accounts
    - `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
    - `description` string
    - `tax_rate` ExpenseTaxRate
      - `percentage` string, number, required
      - `tax_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
      - `country` string, required: Two-letter country code (ISO 3166-1 alpha-2).
      - `type` 'VAT' | 'SALES_TAX', required
      - `description` string, required
      - `tax_code` string: Code of a predefined tax rate. When provided, the rate's percentage, country, and description are used instead of the inline values.
      - `coverage` 'INCLUSIVE' | 'EXCLUSIVE', required
    - `service_period` object, nullable: On update, omitting this field or sending null clears an existing service period. Supply the range to retain or change it.
      - `start` string, date, required
      - `end` string, date, required
    - `fields` object[]
      - `field_id` string, uuid, required
      - `field_value_id` string, uuid, required
    - `id` string, uuid, required
    - `net_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
    - `tax_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
  - `vendor_id` string, uuid, required
  - `subsidiary_id` string, uuid, required
  - `id` string, uuid, required
  - `organization_id` string, uuid, required
  - `status` 'UNAPPLIED' | 'PARTIALLY_APPLIED' | 'REFUNDED' | 'APPLIED', required
  - `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
  - `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` VendorCreditApplication[], required
    - `id` string, uuid, required
    - `vendor_credit_id` string, uuid, required
    - `bill_id` string, uuid, required
    - `bill_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
  - `updated_at` string, date-time, required: Timestamp when the vendor credit was last modified

## Other responses

- `default`: Error

## Changes

- **2026-11-03** `c393d0102005`: 3 breaking, 3 info
  - the `allOf[#/components/schemas/BaseVendorCreditRequest]/line_items/items/tax_rate/allOf[#/components/schemas/TaxRate]/allOf[#/components/schemas/TaxRateWithOptionalAmount]/percentage` request property type changed from `number` to `string`, and format from no format to `number`
  - the `allOf[#/components/schemas/CreateVendorCreditRequest]/allOf[#/components/schemas/BaseVendorCreditRequest]/line_items/items/tax_rate/allOf[#/components/schemas/TaxRate]/allOf[#/components/schemas/TaxRateWithOptionalAmount]/percentage` response's property type changed from `number` to `string`, and format from no format to `number` for status `200`
  - the `allOf[subschema #2]/line_items/items/allOf[#/components/schemas/VendorCreditLineItemRequest]/tax_rate/allOf[#/components/schemas/TaxRate]/allOf[#/components/schemas/TaxRateWithOptionalAmount]/percentage` response's property type changed from `number` to `string`, and format from no format to `number` for status `200`
  - added the new optional request property `allOf[#/components/schemas/BaseVendorCreditRequest]/line_items/items/service_period`
  - …2 more

[Operation history](https://skmtc.dev/rillet/apis/rillet-accounting-api/changes/vendor-credits/:vendor_credit_id/put.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)
