Qut Pay Сайт Кабинет База знаний Инструкции Документация API ҚАЗРУС
ГлавнаяБаза знаний → Справочник

Экспорт CSV и отчётность: как выгрузить счета

Обновлено: 2026-09-14 · Версия в Markdown

Коротко

Список счетов можно получить двумя способами: из раздела Счета в кабинете (ставите фильтры и выгружаете то, что видите) и через API (GET /api/v1/invoices с фильтрами по периоду и статусу). Данные одни и те же, разница только в удобстве.

Два правила, которые решают почти все проблемы: кодировка UTF-8 (если открыть файл в Excel двойным щелчком, будут иероглифы) и песочница отделена от боевого режима (тестовые счета в бухгалтерию не отдают).

Выгрузка из кабинета

Кабинет → Счета. Перед выгрузкой выставьте фильтры:

ФильтрЧто делает
ПоискПо идентификатору счёта, номеру заказа, описанию, телефону или имени клиента
Статусpending, paid, failed, expired, cancelled, refunded
РежимРежим организации: счета песочницы лежат отдельно от боевых
КассирЕсли ключ привязан к конкретному кассиру, в списке только его счета

После фильтрации список сохраняется в файл. Если период нужен точный (например, календарный месяц), удобнее взять API — там есть параметры from и to.

Выгрузка через API

GET /api/v1/invoices принимает все фильтры:

ПараметрЗначение
from, toНачало и конец периода (дата-время ISO)
statusОдин статус
externalOrderIdКонкретный номер заказа
searchПо идентификатору, номеру заказа, описанию, телефону, имени
limit, offsetНе больше 200 записей за запрос, остальное через offset

В ответе приходит список invoices и total — общее количество записей, подходящих под фильтр. Если total больше выданного, идите дальше страницами через offset.

Например, счета за август:

curl -s 'https://api.qut.kz/api/v1/invoices?from=2026-08-01T00:00:00%2B05:00&to=2026-08-31T23:59:59%2B05:00&limit=200' \
  -H 'X-API-Key: qp_live_…'

Полученный JSON превращаете в CSV любым удобным инструментом. Файл сохраняйте в UTF-8 — это единственное условие, при котором русские и казахские буквы отобразятся правильно.

Если ключ привязан к кассиру, в выгрузке будут только его боевые счета: Привязка API-ключа к кассиру.

Что означают колонки

Колонки повторяют поля счёта.

КолонкаСмысл
idИдентификатор счёта, inv_…
createdAtКогда счёт создан
paidAtКогда оплата подтверждена. У неоплаченного пусто
amountСумма в тенге
refundedAmountВозвращённая сумма, если возврат был
statusСтатус счёта
kindqr или phone
modelive или sandbox
descriptionОписание, которое видит покупатель
externalOrderIdВаш номер заказа
customerИмя, телефон, email — только то, что передали вы
receiptNumberНомер чека у оплаченного счёта

Как читать статусы:

СтатусЧто значит в отчёте
new, pendingОткрытый счёт, денег ещё нет
paidОплачен
cancelled, expiredЗакрыт, денег нет
failedПлатёж не прошёл
refundedОплачен, затем возвращён полностью
partially_refundedОплачен, часть возвращена

Как правильно посчитать выручку: paid, refunded и partially_refunded — все три означают оплаченный счёт, но из двух последних нужно вычесть возврат. То есть чистая выручка = сумма amount − сумма refundedAmount. Счета new и pending в выручку не входят.

Кодировка и Excel

Файл в UTF-8. При открытии двойным щелчком Excel пытается прочитать его в старой кодировке вашего компьютера — отсюда иероглифы. С самим файлом при этом всё в порядке.

Как открыть правильно:

  1. откройте в Excel пустую книгу;
  2. ДанныеПолучить данныеИз текста/CSV;
  3. выберите файл;
  4. в поле Кодировка файла (File Origin) поставьте 65001: Юникод (UTF-8);
  5. проверьте разделитель и нажмите Загрузить.

В том же окне задайте колонкам телефона и номера заказа тип Текст — иначе Excel превратит длинные числа в 7,7051E+10 или срежет ведущий ноль.

Самый простой путь — открыть файл в Google Sheets или LibreOffice Calc: оба распознают UTF-8 сами. Подробный разбор проблем: Экспорт не открывается или неверный.

Передача в бухгалтерию

Если организаций несколько, отчётность у каждой своя: Несколько организаций в одном аккаунте.

Сверка с отчётом Kaspi Pay

Наш список и отчёт в кабинете Kaspi Pay — про разные вещи. У нас — счета, которые мы выставили, у Kaspi — движение по вашему счёту. Поэтому полное совпадение цифр не является нормой. Причины расхождений:

ПричинаПояснение
Kaspi сам определяет удерживаемую суммуПоступление в отчёте Kaspi может быть меньше суммы нашего счёта
Платежи мимо Qut PayНаличные, POS, счёт, выставленный вручную в приложении Kaspi — у Kaspi есть, у нас нет
Поздние оплатыДеньги могут прийти после закрытия счёта: Поздняя оплата
ВозвратыВ выписке Kaspi возврат идёт отдельной строкой, у нас он внутри счёта
Граница периодаСчёт, созданный под полночь, может быть оплачен уже следующим днём
Строки песочницыВ Kaspi их нет вообще
Несколько кассировЕсли ключ привязан к одному кассиру, в выгрузке только его счета

Порядок сверки: выставьте одинаковый период в обоих местах → возьмите из нашей выгрузки только paid, refunded, partially_refunded → вычтите возвраты → сравните с поступлениями за этот период в выписке Kaspi → остаток разницы ищите среди платежей, прошедших мимо Qut Pay.

Вопросы и ответы

Почему в выгрузке нет тиынов? У QR-счёта допускается не больше двух знаков после запятой, счёт на телефон идёт целыми тенге. Поэтому в части строк дробной части просто нет.

Можно ли выгрузить весь год одним запросом? Нет, за запрос отдаётся максимум 200 записей. Листайте через offset или разбейте период на месяцы.

Есть ли в выгрузке дополнительные данные о клиенте? Только то, что вы сами передали при создании счёта. Мы не собираем о покупателе ничего сверх этого.

Выгрузка вернула меньше строк, чем раньше. Статусы могли измениться (например, прошёл возврат), но сама строка не пропадает. Снимите фильтр по статусу и проверьте ещё раз.

Попадают ли счета песочницы в лимит тарифа? Нет, и в отчётность они попадать тоже не должны.

Связанные статьи

Экспорт не открывается или выглядит невернымВ выгруженном CSV вместо букв иероглифы, всё слиплось в одну колонку или не хватает счетов. Разбираем кодировку, разделитель, фильтры и как правильно передать выгрузку бухгалтеру.Когда и куда приходят деньгиДеньги приходят напрямую на ваш счёт Kaspi Pay в момент оплаты — у нас они не задерживаются. Плата за сервис не зависит от суммы платежа, это месячная подписка. Как вести сверку.Поздняя оплата — счёт закрыт, а деньги пришлиНа отменённый или просроченный счёт деньги могут прийти с опозданием. В этом случае событие invoice.paid приходит с меткой late: true. Что делать и как заранее подготовить к этому код.Несколько организаций в одном аккаунтеС одного номера можно вести несколько организаций. У каждой свой кассир, свои ключи, свои вебхуки и свой тариф. Тарифы не складываются — каждая платит за себя.Привязка API-ключа к кассируКогда в организации несколько проектов или точек, каждый ключ можно привязать к своему кассиру. Что видит привязанный ключ, чего не видит, почему нельзя удалить кассира и как настроить привязку в кабинете.

Остались вопросы? WhatsApp +77788813333 · kazprose@gmail.com
Написать можно и из кабинета: Поддержка.

Qut Pay — независимый сервис, не аффилирован с АО «Kaspi Bank». Kaspi и Kaspi Pay — товарные знаки их правообладателя.