Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

ПараметрТипНазначениеОбязательныйОграниченияПример
code
StringКод товараНет-1000000000021
name
StringНаименование товараДа-Марципан
price
NumberЦена за единицуДа>=0145.00
unit
StringЕдиница измеренияДа

Один из:

ЗначениеПояснение
pieceштука
service
услуга
package
комплект
gграмм
kgкилограмм
tтонна
mlмиллилитр
lлитр
m3кубометр
hrчас
mметр
kmкилометр
piece
quantityNumberКоличество единицДа>02, 3.5
sumNumberЦенаДа>=0249.50
vat_modeStringТип НДСДа

Один из:

ЗначениеПояснение
noneНДС не облагается
vat1010%, включая
vat11010%, поверх
vat1818%, включая
vat11818%, поверх
vat2020%, включая
vat12020%, поверх
vat18
vat_amountNumberРазмер НДСНет>052.22
discount_rateNumberСкидка в процентахНет>05.0

discount_amount

NumberСкидка в рублях
(вкл. в стоимость)
Нет>0

25.3

payment_methodStringПризнак способа расчётаНет

Один из:

ЗначениеПояснение
full_prepayment
Предоплата 100%
prepayment
Предоплата
advance
Аванс
full_payment
Полный расчёт
partial_payment
Частичный расчёт
credit
Передача в кредит
credit_payment
Оплата кредита

payment_objectStringПризнак предмета расчётаНет

Один из:

ЗначениеПояснение
commodity
Товар
excise
Подакциозный товар
job
Работа
service
Услуга
gambling_bet
Ставка азартной игры
gambling_prize
Выигрыш азартной игры
lottery
Лотерейный билет
lottery_prize
Выигрыш лотереи
intellectual_activity
Предоставление результатов 
интеллектуальной деятельности
payment
Платёж
agent_commission
Агентское вознаграждение
composite
Составной предмет расчёта
another
Другое

Листинг 1. JSON-схема поля invoice_data

Блок кода
languagejs
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "Invoice data",
  "type": "object",
  "required": [
    "items"
  ],
  "additionalProperties": false,
  "properties": {
    "items": {
      "type": "array",
      "minItems": 1,
      "maxItems": 100,
      "items": {
        "type": "object",
        "required": [
          "name",
          "price",
          "unit",
          "quantity",
          "sum",
          "vat_mode"
        ],
        "additionalProperties": false,
        "properties": {
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "price": {
            "type": "number",
            "minimum": 0
          },
          "unit": {
            "enum": [
              "piece",
              "service",
              "package",
              "g",
              "kg",
              "t",
              "ml",
              "l",
              "m3",
              "hr",
              "m",
              "km"
            ]
          },
          "quantity": {
            "type": "number",
            "minimum": 0,
            "exclusiveMinimum": true
          },
          "sum": {
            "type": "number",
            "minimum": 0
          },
          "vat_mode": {
            "enum": ["none", "vat0", "vat10", "vat110", "vat18", "vat118", "vat20", "vat120"]
          },
          "vat_amount": {
            "type": "number",
            "minimum": 0,
            "exclusiveMinimum": true
          },
          "discount_rate": {
            "type": "number",
            "minimum": 0,
            "exclusiveMinimum": true
          },
          "discount_amount": {
            "type": "number",
            "minimum": 0,
            "exclusiveMinimum": true
          }
        }
      }
    },
    "vat_total": {
      "type": "number",
      "minimum": 0,
      "exclusiveMinimum": true
    },
    "discount_total": {
      "type": "number",
      "minimum": 0,
      "exclusiveMinimum": true
    },
    "payment_method": {
      "enum": ["full_prepayment", "prepayment", "advance", "full_payment", "partial_payment", "credit", "credit_payment"]
    },
    "payment_object": {
      "enum": ["commodity", "excise", "job", "service", "gambling_bet", "gambling_prize",
      "lottery", "lottery_prize", "intellectual_activity", "payment", "agent_commission", "composite", "another"]
    }
  }
}

Листинг 2. Пример заполненного поля invoice_data

...