Отчет по продажам
Внимание
Новые ключи временно не выпускаются в связи с обновлением продукта.
Возвращает информацию о сумме продаж, возвратов и НДС, агрегированную по временным интервалам в пределах заданного периода.
Формат запроса
POST https://api.ofd.yandex.net/{v1}/docs/aggregations/sales
Номер версии API ОФД.
-
- v1
- Номер версии API ОФД.
Заголовок запроса
Заголовки запроса должны содержать ключи (см. раздел Доступ к API):
Заголовок | Значение |
---|---|
X-Yandex-Key |
<аутентификационный ключ> |
X-OFD-Key |
<авторизационный ключ> |
Content-Type |
application/json |
Тело запроса
{
"date_from": "{string}",
"date_to": "{string}",
"limit": "{integer}",
"offset": "{integer}",
"company_ids": ["{string}"],
"retail_point_ids": ["{string}"],
"cashbox_ids": ["{string}"],
"document_types": ["{string}"],
"operation_types": ["{string}"],
"taxation_types": ["{string}"],
"interval": "{string}",
"orders": ["{string}"]
}
-
- date_from *
- Дата начала отчетного периода (включительно). Формат:
YYYY-MM-DD hh:mm:ss
. Если время не задано, значение автоматически устанавливается на начало дня: 00:00:00.
-
- date_to *
- Дата завершения отчетного периода (включительно). Формат:
YYYY-MM-DD hh:mm:ss
. Если время не задано, значение автоматически устанавливается на конец дня: 23:59:59.
-
- limit
- Максимальное количество объектов, возвращаемое в ответе.
-
- offset
- Смещение от начала списка объектов.
-
- company_ids
- Список идентификаторов компаний, по ККТ (кассам) которых будет построен отчет.
-
- retail_point_ids
- Список идентификаторов точек продаж, по ККТ которых будет построен отчет.
-
- cashbox_ids
- Список идентификаторов ККТ, по которым будет построен отчет.
-
- document_types
-
Тип чека. Можно указать несколько значений в рамках одного запроса. Возможные значения:
fiscalReport
— отчет о регистрации;fiscalReportCorrection
— отчет об изменении параметров регистрации;openShift
— открытие смены;closeShift
— закрытие смены;receipt
— чек;receiptCorrection
— чек коррекции;bso
— бланк строгой отчетности (БСО);bsoCorrection
— БСО коррекции;currentStateReport
— отчет о состоянии расчетов;closeArchive
— закрытие ФН.
-
- operation_types
-
Тип операции. Можно указать несколько значений в рамках одного запроса. Возможные значения:
income
— приход;income_return
— возврат прихода;outcome
— расход;outcome_return
— возврат расхода.
-
- taxation_types
-
Тип налогообложения. Можно указать несколько значений в рамках одного запроса. Возможные значения:
osn
— общая (ОСН);usn_income
— упрощенная (6% дохода);usn_income_wo_expenditure
— упрощенная (доход-расход);esn_agricultural
— единый сельскохозяйственный (ЕСХН);psn
— патент (ПСН).
-
- interval
-
Временной промежуток, по которому агрегировать данные. Возможные значения:
day
— сутки;week
— календарная неделя (с понедельника по воскресенье);month
— календарный месяц (с 1 по 29/30/31 число).
-
- orders
-
Способ сортировки данных в отчете. По умолчанию значения располагаются по возрастанию. Чтобы расположить значения в отчете по убыванию, используйте префикс
-
(например,-date
). Можно задать несколько способов сортировки. В этом случае применяться они будут последовательно в том порядке, в котором указаны в запросе.Возможные способы сортировки:
date
— по дате начала интервала;income
— по приходу (всеми способами расчета);income_return
— по возврату прихода (всеми способами расчета).cash
— по приходу с оплатой наличными;ecash
— по приходу с безналичной оплатой;checks
— по общему количеству чеков;checks_income
— по количеству чеков прихода;avg_receipt
— по среднему чеку прихода;outcome
— по расходу (всеми способами расчета);outcome_return
— по возврату расхода (всеми способами расчета).
Обязательный параметр.
* Обязательный параметр.
Общий формат ответа приведен ниже. В реальном ответе порядок следования элементов может отличаться, а некоторые элементы могут отсутствовать. Также в ответе могут находиться служебные параметры, которые не описаны в документе.
Формат ответа
{
"data": [
{
"end": "{string}",
"income_return": {
"prepaid": {float},
"cashTotal": {float},
"credit": {float},
"ecashTotal": {float},
"provision": {float},
"total": {float}
},
"date_to": "{string}",
"outcome": {
"prepaid": {float},
"cashTotal": {float},
"credit": {float},
"ecashTotal": {float},
"provision": {float},
"total": {float}
},
"date_from": "{string}",
"outcome_return": {
"prepaid": {float},
"cashTotal": {float},
"credit": {float},
"ecashTotal": {float},
"provision": {float},
"total": {float}
},
"start": "{string}",
"checks": {integer},
"income_avg": {float},
"checks_income": {integer},
"income": {
"prepaid": {float},
"cashTotal": {float},
"credit": {float},
"ecashTotal": {float},
"provision": {float},
"total": {float}
}
}
],
"full": {
"checks": {integer},
"income_return": {
"prepaid": {float},
"cashTotal": {float},
"credit": {float},
"ecashTotal": {float},
"provision": {float},
"total": {float}
},
"date_to": "{string}",
"outcome": {
"prepaid": {float},
"cashTotal": {float},
"credit": {float},
"ecashTotal": {float},
"provision": {float},
"total": {float}
},
"date_from": "{string}",
"outcome_return": {
"prepaid": {float},
"cashTotal": {float},
"credit": {float},
"ecashTotal": {float},
"provision": {float},
"total": {float}
},
"income_avg": {float},
"checks_income": {integer},
"income": {
"prepaid": {float},
"cashTotal": {float},
"credit": {float},
"ecashTotal": {float},
"provision": {float},
"total": {float}
}
},
"total": {integer}
}
-
- data
- Данные по продажам за один интервал времени.
-
- end
- Дата завершения последнего полного интервала в заданном периоде.
-
- income_return
- Данные по операциям с типом «income_return» (возврат прихода).
-
- prepaid
- Сумма по чекам с предоплатой (зачет аванса и или других платежей).
-
- cashTotal
- Сумма по чекам с оплатой наличными.
-
- credit
- Сумма по чекам с постоплатой (кредит).
-
- ecashTotal
- Сумма по чекам с безналичной оплатой.
-
- provision
- Сумма по чекам с оплатой встречным представлением (другой способ оплаты).
-
- total
- Полная сумма по чекам.
-
-
- date_to
- Дата завершения интервала аггрегации (включительно). Формат:
YYYY-MM-DD hh:mm:ss
.
-
- outcome
- Данные по операциям с типом «outcome» (расход).
-
- date_from
- Дата начала интервала аггрегации (включительно). Формат:
YYYY-MM-DD hh:mm:ss
.
-
- outcome_return
- Данные по операциям с типом «outcome_return» (возврат расхода).
-
- start
- Дата начала первого полного интервала в заданном периоде.
-
- checks
- Общее количество чеков.
-
- income_avg
- Средний размер чека прихода.
-
- checks_income
- Количество чеков прихода.
-
- income
- Данные по операциям с типом «income» (приход).
-
- full
- Данные по продажам за весь отчетный период.
-
- checks
- Общее количество чеков.
-
- income_return
- Данные по операциям с типом «income_return» (возврат прихода).
-
- date_to
- Дата завершения отчетного периода (включительно). Формат:
YYYY-MM-DD hh:mm:ss
.
-
- outcome
- Данные по операциям с типом «outcome» (расход).
-
- date_from
- Дата начала отчетного периода. Формат:
YYYY-MM-DD hh:mm:ss
.
-
- outcome_return
- Данные по операциям с типом «outcome_return» (возврат расхода).
-
- income_avg
- Средний размер чека прихода.
-
- checks_income
- Количество чеков прихода.
-
- income
- Данные по операциям с типом «income» (приход).
-
-
-
- total
- Количество интервалов в заданном периоде.
Коды ответа
Список кодов, которые поддерживаются в API ОФД см. в разделе Коды ответов и ошибки.
Пример запроса
Метод и адрес:
https://api.ofd.yandex.net/v1/docs/aggregations/sales
Заголовки:
x-yandex-key: 74f...e8ca
x-ofd-key: eka...b17eae
Content-Type: application/json
Тело:
{
"date_from": "2018-04-01",
"date_to": "2019-08-13",
"company_ids": [
"301"
],
"limit": 20,
"offset": 0,
"document_types": [
"receipt",
"receiptCorrection",
"bso",
"bsoCorrection"
],
"interval": "month",
"orders": [
"-date"
]
}
curl -X POST \
https://api.ofd.yandex.net/v1/docs/aggregations/sales \
-H 'Content-Type: application/json' \
-H 'x-ofd-key: eka...b17eae' \
-H 'x-yandex-key: 74f...e8ca' \ -d '{
"date_from": "2018-04-01",
"date_to": "2019-08-13",
"company_ids": [
"301"
],
"limit": 20,
"offset": 0,
"document_types": [
"receipt",
"receiptCorrection",
"bso",
"bsoCorrection"
],
"interval": "month",
"orders": [
"-date"
]
}'
Ответ:
{
"data": [
{
"income_avg": 70.0,
"income_return": {
"cashTotal": 0.0,
"provision": 0.0,
"ecashTotal": 0.0,
"prepaid": 0.0,
"total": 0.0,
"credit": 0.0
},
"checks_income": 5,
"end": "2018-07-31",
"outcome": {
"cashTotal": 0.0,
"provision": 0.0,
"ecashTotal": 0.0,
"prepaid": 0.0,
"total": 0.0,
"credit": 0.0
},
"checks": 5,
"income": {
"cashTotal": 350.0,
"provision": 0.0,
"ecashTotal": 0.0,
"prepaid": 0.0,
"total": 350.0,
"credit": 0.0
},
"date_from": "2018-07-06",
"outcome_return": {
"cashTotal": 0.0,
"total": 0.0,
"ecashTotal": 0.0,
"prepaid": 0.0,
"credit": 0.0,
"provision": 0.0
},
"date_to": "2018-07-25",
"start": "2018-07-01"
},
{
"income_avg": 63.1,
"income_return": {
"cashTotal": 0.0,
"provision": 0.0,
"ecashTotal": 0.0,
"prepaid": 0.0,
"total": 0.0,
"credit": 0.0
},
"checks_income": 10,
"end": "2018-06-30",
"outcome": {
"cashTotal": 0.0,
"provision": 0.0,
"ecashTotal": 0.0,
"prepaid": 0.0,
"total": 0.0,
"credit": 0.0
},
"checks": 10,
"income": {
"cashTotal": 630.0,
"provision": 0.0,
"ecashTotal": 0.0,
"prepaid": 0.0,
"total": 631.0,
"credit": 0.0
},
"date_from": "2018-06-09",
"outcome_return": {
"cashTotal": 0.0,
"total": 0.0,
"ecashTotal": 0.0,
"prepaid": 0.0,
"credit": 0.0,
"provision": 0.0
},
"date_to": "2018-06-20",
"start": "2018-06-01"
}
],
"full": {
"income_avg": 65.4,
"income_return": {
"cashTotal": 0.0,
"provision": 0.0,
"ecashTotal": 0.0,
"prepaid": 0.0,
"total": 0.0,
"credit": 0.0
},
"checks_income": 15,
"outcome": {
"cashTotal": 0.0,
"provision": 0.0,
"ecashTotal": 0.0,
"prepaid": 0.0,
"total": 0.0,
"credit": 0.0
},
"checks": 15,
"income": {
"cashTotal": 980.0,
"provision": 0.0,
"ecashTotal": 0.0,
"prepaid": 0.0,
"total": 981.0,
"credit": 0.0
},
"date_from": "2018-06-09",
"outcome_return": {
"cashTotal": 0.0,
"total": 0.0,
"ecashTotal": 0.0,
"prepaid": 0.0,
"credit": 0.0,
"provision": 0.0
},
"date_to": "2018-07-25"
},
"total": 2
}