Собираем spendme
Продолжаю. Второй вечер. Заготовка уже была, а значит можн ковать.
Это приятная часть - контракт есть, значит можно сказать агенту "делай" и смотреть, как твоя идея воплощается в жизнь.
Когда агент закончил собирать техническую часть, операции за пол года из четырех банков лежали в одном списке: 1445 операций, семь счетов.
Впервые можно было спросить: сколько я потратил?
Спросил. И не поверил.
Пошел разбираться.
Разные форматы в выписках от банков - сама по себе не проблема. Например, у Яндекс Пэй сумма часто приходит без плюса и минуса, поэтому знак приходится вытаскивать из слов: «входящий» это плюс, «оплата» это минус. Пришлось повозиться с агентом.
В выписке Т-Банка уже есть колонка «Категория». Кажется, банк всё разметил за тебя.
Есть сильный соблазн отдать это агенту как готовый смысл: зачем справочник, если категория уже есть?
Если так сделать, то будешь долго и больно натягивать категории одного банка, на другие. А у них они свои :)
Поэтому сначала разбираем выписки и складываем в одно место. Для этого у нас есть парсер на входе.
Потом мы собираем единый справочник категорий по кодам мерчантов и менее явными признаками, например для оплат по СБП, по телефону или имени получателя.
Иначе будем писать все в переводы или расходы, даже переводы самому себе.
Вот как раз эта часть безбожно и врала: логистика денег считалась как траты. А все что касалось СБП - одной толстой категорией трат.
СБП переводы определяем по номеру телефона. Вот этот перевод это психолог, категория "здоровье".
Что бы починить проблему логистики денег, добавляем справочник своих счетов. Он позволяет траты отделить от логистики. Этот шаг был в контракте сразу после категорий.
Немного скучной инженерии: Сначала данные собираем, потом нормализуем. Потом обогащаем. Получаем проверяемый набор - понятно откуда и что пришло и как размечено.
Получаем приятный бонус - в случае правок, они применяются в одном месте и не надо следить за тем, что бы протащить их через всю машинерию и код.
По сути, справочник категорий - это единственное, что потребовало моего внимания за вечер. В контракте это было одним из ключевых этапов.
Код написан, справочник проверен. Наконец-то можно сделать то, ради чего все затевалось!
Спросить: А сколько я потратил ? :)
И получить правдивый ответ.
А доверие к цифрам,в продукте про деньги это главное.