Частная школа принимает оплату через Kaspi, а долг в 1С гасится сам

Родители платили через Kaspi и раньше, но кто сколько должен, в 1С видно не было: долги вели в отдельной таблице, а бухгалтер каждый день вручную разбирал оплаты. Мы подключили 1С к Kaspi напрямую. Теперь родитель видит долг в приложении по ИИН ребёнка, а оплата сама гасит его в 1С и создаёт бухгалтерские документы.

~120учеников
100+оплат в месяц
3 неделидо работающего прототипа
1 минутаот оплаты до погашенного долга в 1С

Как было

Учёт школа ведёт в 1С:Бухгалтерии для Казахстана, редакция 3.0. Платежи разные: обучение каждый месяц, организационный взнос раз в год, вступительный — один раз. У каждого ученика своя сумма, бывают скидки, около 10% родителей платят частями, кто-то вносит сразу за год. Почти все платят через Kaspi.

  • Должники — в отдельной таблице. Отдельный человек вёл Google-таблицу долгов и будущих платежей и сверял её с кабинетом банка. В 1С было видно, сколько родитель заплатил, но не сколько должен был.
  • Каждый платёж разбирали руками. Назначение родитель набирал сам на телефоне и путал «обучение» со «взносом». Бухгалтер исправлял это перед загрузкой в 1С.
  • Предоплата ломала картину. Оплата за год целиком попадала в один месяц, и бухгалтер вручную делил её по месяцам. Два платежа в одном месяце давали переплату в нём и долг в следующем.
  • Родитель не знал точной суммы. Менеджеры напоминали об оплате, а потом отвечали на вопрос, дошли ли деньги.
  • Собственнику нужен был отчёт по учебным годам. Деньги за следующий год часто приходят весной текущего, поэтому фильтр по дате платежа не помогает. А отчёт нужен, чтобы обзванивать должников и видеть, кто уже внёс предоплату.

Почему не стали улучшать загрузчик

Раньше мы уже делали для этой школы загрузчик оплат Kaspi из Excel. Первая мысль была доработать его: подставлять год оплаты и счёт авансов. Это сняло бы часть ручной работы, но не главную причину ошибок — назначение платежа, которое пишет родитель.

Когда почти все платят через Kaspi, надёжнее, чтобы банк сам спрашивал у 1С, сколько и за что нужно заплатить.

«Обычно такие интеграции устойчивее и реже ломаются, чем загрузки из Excel. Потому что в Excel главный ломающий фактор — назначение платежа, которое родитель набирает на телефоне, а коварная автозамена правит по-своему»
Владиславруководитель проекта

Обсуждали и другой вариант: выставлять родителям счета в Kaspi и каждый день перевыставлять неоплаченные. В протоколе банка такого нет: долг запрашивает сам родитель по ИИН. Напоминания взяли на себя бесплатные push-уведомления Kaspi, а сумму для них банк берёт из 1С в момент рассылки.

Что сделали

Родитель платит по ИИН ребёнка

Родитель открывает в Kaspi услугу школы и выбирает ИИН ребёнка — Kaspi сам предлагает ИИН его детей, другой можно ввести вручную. Дальше он видит ФИО, класс и долг по каждой услуге и платит за одну или несколько, полностью или частично.

Экран услуги школы в приложении Kaspi: обучение 120 000 ₸, организационный взнос 50 000 ₸, кнопка «К оплате 170 000 ₸»
Так услуга школы выглядит в приложении Kaspi. Личные данные скрыты.

Как проходит платёж

Внутри это веб-сервис в 1С, к которому банк обращается по своему протоколу онлайн-оплаты образовательных услуг. Класс 1С берёт из папки, в которой лежит ученик, услугу — по артикулу. Повтор одного и того же платежа вторую запись не создаёт.

Путь платежа: от приложения Kaspi до погашенного долга

РодительВыбирает ИИН ребёнка в Kaspi
1СОтдаёт ФИО, класс и долгпо каждой услуге
РодительПлатитодну или несколько услуг, полностью или частично
1СЗаписывает платёж и сразу отвечает банкубанк ждёт ответа не дольше 15 секунд
1С, фоновое заданиеСоздаёт документыоплату, реализацию и входящее платёжное поручение
ИтогДолг в отчёте погашенв течение минуты после оплаты

Учёт долгов — рядом с бухгалтерией, а не внутри неё

Сначала хотели вести учебный год прямо в бухгалтерском учёте, чтобы отчёт давала типовая оборотно-сальдовая ведомость. Отказались: подгонять бухгалтерию под управленческий отчёт значит вмешиваться в работу бухгалтера. Ставить ради этого отдельную управленческую конфигурацию тоже не стали — пришлось бы перестраивать весь учёт.

Поэтому в той же базе появился отдельный контур для долгов, а бухгалтерские документы создаются из него автоматически.

Два контура в одной базе 1С:Бухгалтерии

Долги по учебным годам

Начисление долгакто, за какую услугу, за какой год и с какой даты должен
Оплатагасит долг, сначала за более ранние периоды; излишек становится авансом
Отчёт по оплатамдолги и оплаты по учебным годам и ученикам, возвраты отдельно

Бухгалтерия

Реализация услугсоздаётся из оплаты автоматически
Входящее платёжное поручениесоздаётся из оплаты автоматически
Комиссия банка1С считает сама, один документ за день

Если бухгалтер распроведёт или удалит свой документ, долг в отчёте от этого не изменится. Вводить одно и то же дважды не нужно.

С даты начисления родитель видит долг в Kaspi и получает push от банка. Начисления можно один раз завести на весь учебный год — в нужную дату родитель сам увидит долг. Кнопка «Даты + месяц» копирует начисления на следующий месяц, чтобы не править даты в сотнях строк, а будущие суммы внутри года всегда можно поменять.

Документ «Начисление долга» в 1С: учебный год 2026–2027, список учеников, услуга «Обучение», сумма и дата
Документ «Начисление долга». Имена учеников скрыты.

У сотрудника, который отвечает за оплаты, раньше не было доступа в 1С. Мы сделали ему отдельный профиль: только начисления, отчёт, ученики, услуги и раздел Kaspi.

Банку отвечаем сразу, документы создаём следом

Kaspi ждёт ответа не дольше 15 секунд, а создать за это время несколько документов 1С получается не всегда. Поэтому сервис только записывает платёж и сразу отвечает банку, а документы по расписанию создаёт фоновое задание. Все обращения банка остаются в журнале: если с документами что-то пойдёт не так, их можно пересоздать.

Журнал транзакций Kaspi в 1С: номер транзакции, сумма, ИИН, услуга и время оплаты
Журнал транзакций Kaspi в 1С. ИИН скрыты.

Комиссия банка считается в 1С

Размер комиссии Kaspi по API не передаёт, поэтому раньше она попадала в учёт только с выпиской. Теперь 1С считает её сама и отражает одним документом за день. Ставка и правило округления вынесены в настройки: если банк их поменяет, программу дорабатывать не придётся.

Новые ученики и оплаты из других банков

Новый родитель может оплатить взносы по ссылке ещё до того, как ребёнка завели в 1С. Ученик появится в базе сам, в папке «Новые ученики», — имя и класс потом заполняют вручную: о плательщике банк передаёт только ИИН.

Какие услуги родитель видит, даже когда долга нет (обучение, взносы, лагерь), ответственный за оплаты настраивает сам, без программиста.

Перевод из другого банка тоже гасит долг: бухгалтер создаёт оплату на основании платёжки, а 1С находит ученика по ИИН в назначении. Услугу и год 1С подставляет, только если они однозначны, — иначе деньги «за обучение» могли бы незаметно уйти на другую услугу. Поступления без оплаты отчёт показывает отдельным списком.

С чем столкнулись

Собрать всех участников

«Главная загвоздка была в том, чтобы собрать всех воедино: узнать у Kaspi про API, у хостера сервера — про HTTPS, у бухгалтера — какие документы ему нужны, у ответственного за платежи — как он сейчас ведёт учёт. И придумать, как переложить всё это на логику 1С, чтобы никто не пострадал»
Владиславруководитель проекта

Прототип был готов через три недели. Столько же ушло на то, чтобы открыть банку доступ к базе на сервере школы. Теперь эту часть мы берём на себя с самого начала.

Не провести один платёж дважды

Бухгалтер может по-прежнему загружать отчёт Kaspi, и платёж, который уже пришёл онлайн, не должен задвоиться. Сопоставлять по номеру транзакции не вышло: в онлайн-запросе и в выписке у одного платежа разные номера. Перешли на ИИН, сумму и точное время — и однажды время разошлось на секунду. Специалисты Kaspi подсказали, что в выписке и в запросе время означает разные события.

Сейчас 1С сверяет по каналу оплаты, ИИН, сумме и дню, строго один к одному: даже две одинаковые оплаты одного родителя в один день находят каждая свою пару.

Перед тем как давать банку доступ, мы проверили собственную разработку и покрыли её автотестами, которые прогоняем при каждой доработке.

Чего решение не делает

  • Долг обновляется не мгновенно, а в течение минуты. Если запросить его сразу после оплаты, родитель увидит прежнюю сумму. Жалоб на это не было.
  • Новых учеников, которые заплатили до того, как их завели в 1С, нужно переименовать и разложить по классам вручную.
  • Переводы из других банков онлайн не приходят: их бухгалтер, как и раньше, вносит по выписке.
  • Банку нужен доступ к вашей 1С. При переезде базы на другой сервер доступ нужно настроить заново. Если открыть его нельзя совсем, подойдёт загрузчик выписки.

Что получилось

  • Родитель видит долг по каждой услуге в Kaspi и платит полностью, частями или вперёд. Если есть долг, раз в месяц Kaspi присылает напоминание.
  • Оплата сама находит ученика, услугу и учебный год, бухгалтерские документы создаются автоматически.
  • Долги и оплаты по учебным годам видны в одном отчёте. Таблица должников больше не нужна.
  • Отчёт Kaspi бухгалтер больше не разбирает — кроме оплат из других банков и возвратов.
  • Kaspi стал основным способом, которым школа принимает оплату.
Отчёт по оплатам в 1С: долги, оплаты, возвраты и остаток долга по учебному году 2026–2027
Отчёт по оплатам: долги и оплаты по учебному году и ученикам.

Кому подойдёт

  • Школам, детским садам, вузам, колледжам, кружкам и курсам, которые получают регулярные платежи и сверяют их вручную.
  • Тем, кому нужно видеть долги по месяцам, семестрам, учебным годам или абонементам, а не по дате платежа.
  • Тем, кто ведёт должников в отдельной таблице, потому что в 1С:Бухгалтерии их не видно.

Хотите так же?

Подключение под ключ — 990 000 ₸. За один бесплатный созвон скажем, получится ли с вашей 1С.