Ревизия: «Почему в отчете за май выручка 87к, а по транзакциям в апи_пеймент сходится только 82к?»

Расхождение между суммой в финансовом отчёте (87 000) и данными из API Payment (82 000) — разница в 5 000 — является типичной ситуацией при работе с платёжными системами. Причин может быть несколько, и для точной диагностики необходимо провести последовательную ревизию.

**1. Разные временные метки (timestamp vs settlement date)**
API Payment часто возвращает транзакции по дате создания или дате списания, тогда как бухгалтерский отчёт может учитывать дату зачисления на счёт (settlement). Транзакции, созданные в конце апреля, могут быть зачислены в мае — и наоборот. Проверьте, какой тип даты используется в каждом источнике.

**2. Статусы транзакций**
API Payment может возвращать только транзакции со статусом `succeeded`, тогда как в отчёт могут попадать транзакции в статусе `pending`, `processing` или даже `refunded`. Убедитесь, что фильтрация по статусам идентична в обоих источниках.

**3. Возвраты и чарджбэки**
Возвраты (refunds) и оспаривания платежей (chargebacks) могут учитываться по-разному. В отчёте они могут быть уже вычтены или, напротив, ещё не отражены, тогда как API возвращает «грязную» сумму без вычетов.

**4. Комиссии платёжной системы**
Часть разницы может составлять комиссия эквайера или платёжного агрегатора. Если отчёт показывает сумму до удержания комиссии, а API — сумму к зачислению (net amount), разница будет систематической.

**5. Мультивалютные транзакции**
Если есть платежи в иностранной валюте, курс конвертации в отчёте и в API может отличаться. Это особенно актуально при использовании курса ЦБ vs курса платёжной системы.

**6. Пагинация и лимиты API**
Техническая причина: при запросе транзакций через API могла быть не полностью обработана пагинация. Если API возвращает данные постранично (например, по 100 записей), и запрос был остановлен досрочно, часть транзакций просто не попала в выборку.

**7. Дублирующиеся или отсутствующие записи**
Возможно, в отчёт попали транзакции из другого источника (например, ручные корректировки, оффлайн-платежи, счета по договорам), которые не проходят через API Payment.

**Алгоритм сверки:**
— Выгрузите все транзакции из API за май с фильтром по `created_at` И по `settled_at`.
— Сравните количество записей и сумму по каждому статусу.
— Найдите транзакции, присутствующие в отчёте, но отсутствующие в API — и наоборот.
— Проверьте суммы возвратов отдельно.
— Убедитесь в единстве валюты и курса конвертации.

После этого расхождение в 5 000 будет локализовано и объяснено конкретной причиной.


Задайте вопрос нейросети

Не нашли ответ? Спросите ИИ — он подготовит развёрнутую статью.