Модуль расчёта зарплаты уже считал начисления, НДФЛ и взносы, но его результат не совпадал с тем, как бухгалтер привыкла работать в 1С. Схема там простая: 25-го числа аванс, 10-го числа следующего месяца остаток. Мы перестроили модуль под эту схему и добавили документ, которого не хватало, — платёжную ведомость.
Что было не так
Месяц делили на два расчёта, с 1-го по 14-е и с 15-го по 30-е, по листку на каждую половину. Отсюда две ошибки:
- аванс считался по отработанным дням и выходил около 45% оклада, а не оговорённые 40%;
- стандартный вычет на ребёнка (1 400 ₽) попадал в каждый листок, то есть предоставлялся дважды за месяц.
Как стало
Один расчёт на календарный месяц и один листок на сотрудника. Выплаты оформляются отдельными документами — платёжными ведомостями двух видов:
- Аванс — 40% оклада минус 13% НДФЛ, без вычетов. При подтверждении ведомости фактически выплаченная сумма записывается в листки, и окончательный расчёт уже знает, сколько отдано.
- Окончательный расчёт — сумма к выплате за месяц минус аванс. НДФЛ в ведомости — разница между налогом за месяц и налогом, удержанным с аванса.
У ведомости есть статусы «черновик → подтверждена → оплачена» и печатная форма. Взносы 30% и 0,2% начисляются на полную сумму, как и раньше. Вычет на ребёнка теперь предоставляется один раз в месяц, даже если листков всё же окажется больше одного.
Выплата через Сбербанк
Отправка зарплатного реестра в банк переехала с расчёта на ведомость: банку уходит ровно то, что выплачивается в этот раз. Odoo передаёт реестр в СберБизнес черновиком. Деньги уходят после подписи квалифицированной электронной подписью в самом банке — подписывать платежи за человека система не должна. Для бухгалтера написали инструкцию на 12 шагов: от создания расчёта до сверки с выпиской, с таблицей проводок и типичных ошибок. Например, если у сотрудника не указан счёт с БИК, отправка остановится и покажет список таких сотрудников.
Следующий шаг — больничные
Готово техническое задание на расчёт пособия по временной нетрудоспособности. Процент пособия зависит от страхового стажа на дату начала болезни: до 5 лет — 60% среднего заработка, от 5 до 8 лет — 80%, от 8 лет — 100%. Число лет стажа в карточке хранить неудобно, оно меняется каждый день. Поэтому в карточке будет «условная дата начала стажа»: дата приёма минус стаж до приёма. Дальше стаж на любую дату система посчитает сама.
Итог
Расчёт в Odoo совпадает с привычной бухгалтеру схемой: аванс ровно 40%, вычеты не задваиваются, а каждая выплата — отдельный документ, который можно распечатать и отправить в банк. Перед изменением сделана полная копия базы, сентябрьские листки пересчитаны по новой схеме.