---
title: "POST /invoices"
method: POST
path: "/invoices"
tags: ["Счета"]
---

# POST /invoices

`POST /invoices`

Создание счета

## Headers

- `Idempotence-Key` string, required

## Request body

- CreateInvoiceRequest
  - `cart` LineItem[], required — Корзина заказа — список товаров или услуг.
    - `description` string, required — Описание товара или услуги.
    - `price` MonetaryAmount, required
      - `value` string, required — Сумма в выбранной валюте. Выражается в виде строки и пишется через точку, например 10.00.
      - `currency` 'RUB' | 'EUR' | 'USD' | 'KZT' | 'BYN' | 'UAH' | 'UZS' | 'TRY' | 'INR' | 'MDL' | 'AZN' | 'AMD', required
    - `discount_price` MonetaryAmount
      - `value` string, required — Сумма в выбранной валюте. Выражается в виде строки и пишется через точку, например 10.00.
      - `currency` 'RUB' | 'EUR' | 'USD' | 'KZT' | 'BYN' | 'UAH' | 'UZS' | 'TRY' | 'INR' | 'MDL' | 'AZN' | 'AMD', required
    - `quantity` integer, required — Количество.
  - `delivery_method` union, required — Способ доставки ссылки на счет.
    - DeliveryMethodDataSelf
      - `type` string, required — Тип способа доставки.
    - DeliveryMethodDataSms
      - `type` string, required — Тип способа доставки.
    - DeliveryMethodDataEmail
      - `type` string, required — Тип способа доставки.
  - `payment_data` PaymentData
    - `amount` MonetaryAmount, required
      - `value` string, required — Сумма в выбранной валюте. Выражается в виде строки и пишется через точку, например 10.00.
      - `currency` 'RUB' | 'EUR' | 'USD' | 'KZT' | 'BYN' | 'UAH' | 'UZS' | 'TRY' | 'INR' | 'MDL' | 'AZN' | 'AMD', required
    - `receipt` ReceiptData
      - `customer` ReceiptDataCustomer
        - `full_name` string
        - `inn` string
        - `email` string, email
        - `phone` string
      - `items` ReceiptDataItem[], required
        - `description` string, required
        - `amount` MonetaryAmount, required
          - `value` string, required — Сумма в выбранной валюте. Выражается в виде строки и пишется через точку, например 10.00.
          - `currency` 'RUB' | 'EUR' | 'USD' | 'KZT' | 'BYN' | 'UAH' | 'UZS' | 'TRY' | 'INR' | 'MDL' | 'AZN' | 'AMD', required
        - `vat_code` integer, required — Ставка НДС.
        - `quantity` number, double, required — Количество.
        - `measure` 'piece' | 'gram' | 'kilogram' | 'ton' | 'centimeter' | 'decimeter' | 'meter' | 'square_centimeter' | 'square_decimeter' | 'square_meter' | 'milliliter' | 'liter' | 'cubic_meter' | 'kilowatt_hour' | 'gigacalorie' | 'day' | 'hour' | 'minute' | 'second' | 'kilobyte' | 'megabyte' | 'gigabyte' | 'terabyte' | 'another'
        - `mark_quantity` MarkQuantity
          - `numerator` integer, required
          - `denominator` integer, required
        - `payment_subject` 'commodity' | 'excise' | 'job' | 'service' | 'gambling_bet' | 'gambling_prize' | 'lottery' | 'lottery_prize' | 'intellectual_activity' | 'payment' | 'agent_commission' | 'property_right' | 'non_operating_gain' | 'insurance_premium' | 'sales_tax' | 'resort_fee' | 'composite' | 'another' | 'fine' | 'tax' | 'lien' | 'cost' | 'pension_insurance_without_payouts' | 'pension_insurance_with_payouts' | 'health_insurance_without_payouts' | 'health_insurance_with_payouts' | 'health_insurance' | 'casino' | 'agent_withdrawals' | 'non_marked_excise' | 'marked_excise' | 'marked' | 'non_marked'
        - `payment_mode` 'full_prepayment' | 'partial_prepayment' | 'advance' | 'full_payment' | 'partial_payment' | 'credit' | 'credit_payment'
        - `country_of_origin_code` string
        - `customs_declaration_number` string
        - `excise` string
        - `product_code` string
        - `planned_status` integer
        - `mark_code_info` MarkCodeInfo
          - `mark_code_raw` string
          - `unknown` string
          - `ean_8` string
          - `ean_13` string
          - `itf_14` string
          - `gs_10` string
          - `gs_1m` string
          - `short` string
          - `fur` string
          - `egais_20` string
          - `egais_30` string
        - `mark_mode` string
        - `payment_subject_industry_details` IndustryDetails[]
          - `federal_id` string, required
          - `document_date` string, required
          - `document_number` string, required
          - `value` string, required
      - `internet` boolean
      - `tax_system_code` integer
      - `timezone` string
      - `receipt_industry_details` IndustryDetails[]
        - `federal_id` string, required
        - `document_date` string, required
        - `document_number` string, required
        - `value` string, required
      - `receipt_operational_details` OperationalDetails
        - `operation_id` integer, required
        - `value` string, required
        - `created_at` string, date-time, required
    - `recipient` Recipient
      - `gateway_id` string, required
    - `save_payment_method` boolean
    - `capture` boolean
    - `client_ip` string
    - `description` string
    - `metadata` Metadata — Любые дополнительные данные, которые нужны вам для работы (например, номер заказа). Передаются в виде набора пар «ключ-значение» и возвращаются в ответе от ЮKassa. Ограничения: максимум 16 ключей, имя ключа не больше 32 символов, значение ключа не больше 512 символов, тип данных — строка в формате UTF-8.
  - `expires_at` string, date-time — Срок действия счета.
  - `description` string
  - `metadata` Metadata — Любые дополнительные данные, которые нужны вам для работы (например, номер заказа). Передаются в виде набора пар «ключ-значение» и возвращаются в ответе от ЮKassa. Ограничения: максимум 16 ключей, имя ключа не больше 32 символов, значение ключа не больше 512 символов, тип данных — строка в формате UTF-8.

## Response `200`

The request has succeeded.

- Invoice
  - `id` string, required
  - `status` 'pending' | 'succeeded' | 'canceled', required
  - `cart` LineItem[], required — Корзина заказа — список товаров или услуг.
    - `description` string, required — Описание товара или услуги.
    - `price` MonetaryAmount, required
      - `value` string, required — Сумма в выбранной валюте. Выражается в виде строки и пишется через точку, например 10.00.
      - `currency` 'RUB' | 'EUR' | 'USD' | 'KZT' | 'BYN' | 'UAH' | 'UZS' | 'TRY' | 'INR' | 'MDL' | 'AZN' | 'AMD', required
    - `discount_price` MonetaryAmount
      - `value` string, required — Сумма в выбранной валюте. Выражается в виде строки и пишется через точку, например 10.00.
      - `currency` 'RUB' | 'EUR' | 'USD' | 'KZT' | 'BYN' | 'UAH' | 'UZS' | 'TRY' | 'INR' | 'MDL' | 'AZN' | 'AMD', required
    - `quantity` integer, required — Количество.
  - `delivery_method` union — Способ доставки ссылки на счет.
    - DeliveryMethodSelf
      - `type` string, required — Тип способа доставки.
    - DeliveryMethodSms
      - `type` string, required — Тип способа доставки.
    - DeliveryMethodEmail
      - `type` string, required — Тип способа доставки.
  - `payment_details` PaymentDetails
    - `id` string, required
    - `status` string, required
  - `created_at` string, date-time, required — Время создания счета.
  - `expires_at` string, date-time — Срок действия счета.
  - `description` string
  - `cancellation_details` InvoiceCancellationDetails
    - `party` string, required
    - `reason` string, required
  - `metadata` Metadata — Любые дополнительные данные, которые нужны вам для работы (например, номер заказа). Передаются в виде набора пар «ключ-значение» и возвращаются в ответе от ЮKassa. Ограничения: максимум 16 ключей, имя ключа не больше 32 символов, значение ключа не больше 512 символов, тип данных — строка в формате UTF-8.

## Other responses

- `400` — The server could not understand the request due to invalid syntax.
- `401` — Access is unauthorized.
- `403` — Access is forbidden.
- `500` — Server error

## Changes

- **2026-02-14** `fe24d3dfadad` — 47 breaking, 13 warning, 53 info
  - added the new required request property `delivery_method`
  - added `#/components/schemas/CurrencyCode` to the `cart/items/discount_price/allOf[#/components/schemas/MonetaryAmount]/currency` request property `allOf` list
  - added `#/components/schemas/CurrencyCode` to the `cart/items/price/allOf[#/components/schemas/MonetaryAmount]/currency` request property `allOf` list
  - added `#/components/schemas/PaymentData` to the `payment_data` request property `allOf` list
  - …109 more

[Change history](https://skmtc.dev/hexlet/apis/api-kassa/changes/invoices/post.md)

---

[API](https://skmtc.dev/hexlet/apis/api-kassa.md) · [All operations](https://skmtc.dev/hexlet/apis/api-kassa/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/hexlet/api-kassa/revisions/f35dc69c1c37/schema)
