На что ушли 400 часов
| Направление | Часы |
|---|---|
| HTTP-сервисы и API отчётности для аналитической платформы | 80 |
| Учёт ценных бумаг: амортизация, эффективная ставка, переоценка | 71 |
| Интеграции: полисная система, API налогового органа, банк-клиент | 53 |
| Зарплата, ГПХ, агенты, резервы | 52 |
| Учёт страховых операций | 48 |
| Остальное: расследования, отчёты, консультации | 96 |
За сухими часами - истории. Расскажем четыре, каждая начиналась одинаково: с фразы “что-то не так”.
История 1. “Не сходится” на сотни миллионов
По счёту страховых дивидендов не сходились остатки в разрезе класса страхования: сотни непарных строк, разрыв на сотни миллионов тенге. Внешне при этом всё было в порядке - обороты закрывались, документы проводились.
Причина оказалась крошечной: модуль проведения ставил в проводку контрагента и договор, а третье субконто - класс страхования - не заполнял, хотя значение в документе было. Причём неоднородно: в одном модуле счёт встречался восемнадцать раз, часть веток класс проставляла, часть - нет. Классическая страховая поломка: документ проводится, оборот сходится, а расхождение копится месяцами - и всплывает в отчётности регулятору.
Дальше повезло в хорошем смысле: выяснилось, что класс однозначно выводится из парного доходного счёта. Это означало, что накопленные остатки можно сопоставить автоматически - все 100 % пар, без ручного разбора. Работа заняла 48 часов в два этапа: сначала починили проведение (чтобы новое не копилось), потом закрыли историю - с предпросмотром корректировок, вне отчётного окна, после письменного согласования главбуха.
История 2. Ставка, зависевшая от количества нажатий “Заполнить”
Ежедневная амортизация премии по облигации не совпадала с эталоном бухгалтерии. Хуже того - результат менялся от числа нажатий кнопки: первое заполнение давало одну сумму, повторное - другую, а на следующий день расчёт уезжал в разы.
Причина: расчёт эффективной ставки опирался на текущее сальдо премии, которое сам же и менял после проведения. Каждое перезаполнение стартовало с новой точки. Процедуру заменили целиком: опора на первоначальную премию покупки, безусловный первый проход, никаких подстановок баланса. Приёмка честная - три последовательных дня расчёт совпадал с эталоном бухгалтерии до третьего знака, и повторное нажатие “Заполнить” больше ничего не меняло.
Подробный разбор этой истории - в отдельной статье.
История 3. Показатель, которого не существует вне отчёта
Аналитической платформе заказчика понадобилась “фактическая маржа платёжеспособности” - по запросу, на любую дату. Проблема: показатель жил только внутри интерактивного отчёта. Пока человек не сформировал форму - значения нет нигде.
Расчёт вынесли в код HTTP-сервиса: показатель считается “в моменте”, на дату запроса, без новых объектов в конфигурации и без требования кому-то что-то предварительно формировать. Отдельно выверили даты и округления - сервис совпадает с интерактивным отчётом копейка в копейку. Как это устроено - тоже разобрали отдельно.
История 4. Выписка на восемь тысяч строк “вешала базу”
Главный бухгалтер: банковская выписка не проводится, база висит для всех. Готовых версий было две - “документ слишком большой” и “это ваши доработки”, - и обе не выдерживали проверки: месяцем раньше документ большего размера проводился быстрее.
Вместо спора сделали замеры на тестовом контуре, отсекая версии по одной: удвоение проводок под МСФО 17 - 14 % времени, код модуля - доли процента, блокировки - ни при чём. Решающий эксперимент: 500 движений с одинаковой аналитикой записываются за 0,8 секунды, с реальной распределённой аналитикой - за 20,4. Причина - физическая запись движений по сотням уникальных субконто, и это свойство банковской выписки как таковой, а не чьих-то доработок.
Заказчик получил доказанную причину с таблицей замеров, рабочий обходной путь (дробление документа - зависимость линейная) и план точечной оптимизации. Главная ценность оказалась неожиданной: таблица “что мы проверили и почему это не оно” закрыла многомесячный спор между бухгалтерией и ИТ.
Почему это работает
Четыре месяца, 46 работ - и ни одна не была “сделайте по ТЗ”. Правила, которые сложились за это время:
- Замеры вместо версий. Доказательством служит таблица замеров или совпадение с эталоном бухгалтерии, а не “мы думаем, что дело в…”.
- Учётные решения принимает заказчик. Где вопрос не технический, а учётный - мы формулируем варианты с последствиями, выбор за главбухом.
- Массовые корректировки - только с предпросмотром, вне отчётного окна, после письменного согласования.
Как устроено сопровождение и сколько стоит - на странице 1С для страховых компаний: первый заход от 450 000 ₸, дальше абонемент на согласованное число часов, работаем по договору с актами.