---
title: "Applies a vendor credit to bills"
method: POST
path: "/vendor-credits/{vendor_credit_id}/applications"
tags: ["Vendor Credit Applications"]
---

# Applies a vendor credit to bills

`POST /vendor-credits/{vendor_credit_id}/applications`

## Request

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

Allocates an existing vendor credit balance against specific open bills, reducing net amounts payable similar to a targeted vendor payment.
Use after reviewing retrieve-a-vendor-credit so you apply only the remaining unapplied balance.

## Path parameters

- `vendor_credit_id` string, uuid, required

## Request body

- ApplyVendorCreditRequest
  - `applications` VendorCreditApplicationRequest[], required
    - `bill_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: When omitted on a new application, defaults to server UTC today with no date checks. An existing application keeps its date when omitted. Explicit new or changed dates must be in an open period, between the later GL impact date of the bill and credit and the organization's current day, inclusive.

## 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`: 2 breaking, 3 info
  - 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 `applications/items/application_date`
  - added the optional property `allOf[#/components/schemas/CreateVendorCreditRequest]/allOf[#/components/schemas/BaseVendorCreditRequest]/line_items/items/service_period` to the response with the `200` status
  - …1 more

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