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

Функционал:

1. Контроль посещаемости детей по группам.

  • – Ввод фамилий и др. данных детей в каждой группе,
  • – создание “календаря” занятий в соответствии с расписанием группы,
  • – отметки посещаемости детей (был, не был), отработки занятий (если не был по болезни).
  • – Наглядно видно кто оплатил за свои занятия, а кто “должник” (см. п.2)

Параллельно: хранение контактных данных родителей, отслеживание дней рождения, наличия необходимых документов (договоров и т.д.)

2. Ввод и контроль оплат за посещение детей.

  • – ввод оплат
  • – Напоминание о необходимости новой оплаты (заканчивается оплаченный ранее абонемент). Создание отчетов: вывод оплат по каждому ребенку (аналогично выборке в Экселе), Оплат по группе, оплат за период времени, отчет по должникам (если не было сдачи и т.п.).

3. Ввод расходов филиала (закупки, хоз.расходы, выдачи зарплаты и т.д.) с ведением текущего остатка (пришло, потратили, сумма в кассе сейчас)

4. Отметки о нагрузке (выходе на работу) педагогов с подсчетом з.п., исходя из стоимости часа работы.

5. Блок ведения статистики по входящим звонкам: откуда от нас узнали, считаем сколько всего звонков за день, сколько человек записалось на занятия, сколько из них пришли, сколько купили абонемент. Проценты записавшихся из позвонивших, пришедших из записавшихся, купивших из пришедших. С возможностью вывода отчета по администратору (работают посменно) и по филиалу. Подсчет наполняемости групп в %, наполняемости центра в %.

Техническое Задание

Программа по автоматизации учета для сети детских центров развития.

  1. Структура.

Программа должна работать с базой данных по сети.

Программа должна быть многопользовательской и иметь разграничение прав доступа. 1 группа – администратор. Работает только со своим филиалом, не имеет доступа к некоторым отчетам.

2 группа – менеджер. Имеет доступ ко всем филиалам, отчетам, и к области настроек (ввода необходимых переменных и т.п.).

Каждый из пользователей при входе в программу вводит логин и пароль, и в БД хранится информация о том, какие изменения кто делал (на случай, если будет необходимость найти виноватого в какой-либо ошибке).

Программа должна иметь понятный Windows-интерфейс, доступный непродвинутому пользователю. По-возможности, симпатичной (кнопочки, иконки и т.п.).

Исполнение на «открытой платформе», т.е. возможность надстроек различных функций и т.п. в будущем.

  1. Общее описание функций.

Программа должна иметь следующие блоки и решать следующие задачи:

  1. Контроль посещаемости детей по группам.
  • Ввод фамилий и др. данных детей в каждой группе,
  • создание “календаря” занятий в соответствии с расписанием группы,
  • отметки посещаемости детей (был, не был), отработки занятий (если не был по болезни).
  • Наглядно видно кто оплатил за свои занятия, а кто “должник” (см. п.2)

Параллельно: хранение контактных данных родителей, отслеживание дней рождения, наличия необходимых документов (договоров и т.д.)

  1. Ввод и контроль оплат за посещение детей. – ввод оплат

– Напоминание о необходимости новой оплаты (заканчивается оплаченный ранее абонемент).

Создание отчетов: вывод оплат по каждому ребенку (аналогично выборке в Экселе), Оплат по группе, оплат за период времени, отчет по должникам (если не было сдачи и т.п.).

  1. Ввод расходов филиала (закупки, хоз.расходы, выдачи зарплаты и т.д.) с ведением текущего остатка (пришло, потратили, сумма в кассе сейчас)
  1. Отметки о нагрузке (выходе на работу) педагогов с подсчетом з.п., исходя из стоимости часа работы.
  1. Блок ведения статистики по входящим звонкам: откуда от нас узнали, считаем сколько всего звонков за день, сколько человек записалось на занятия, сколько из них пришли, сколько купили абонемент. Проценты записавшихся из позвонивших, пришедших из записавшихся, купивших из пришедших.
  • возможностью вывода отчета по администратору (работают посменно) и по филиалу. Подсчет наполняемости групп в %, наполняемости центра в %.
  1. Подробное описание работы каждого блока.
  1. Контроль посещаемости детей по группам.

В настройках создаются группы и присваиваются им названия.

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

Для каждой группы в настройках указывается также:

  • расписание – дни недели (например: понедельник, среда, пятница) – эта информация будет использоваться для формирования календаря занятий
  • стоимость пробного занятия (может быть равна нулю – пусть тогда не ругается)
  • стоимость вступительного взноса
  • стоимость разового занятия
  • стоимость абонемента на 1 месяц
  • возможное количество детей в группе
  • месячный абонемент включает в себя ___ занятий
  • учитывать (по умолчанию) или не учитывать в статистике (будет понятно дальше по тексту)

При выборе группы попадаем в ее рабочую область. Примерная структура – в файле 1.

Нумерация строк – формируется автоматически по количеству детей в группе.

Даты занятий группы – формируется автоматически по расписанию занятий группы. Со своего первого оплачиваемого занятия ребенок начинает абонемент на X занятий

(число из настроек группы), и эти занятия отмеряются на календаре (из примера в файле – аналогично тому, как отложен месяц из 8 занятий):

Иванов Миша пришел на пробное занятие (п) 4 февраля, с 7 февраля купил абонемент на 8 занятий (отложено 8 клеточек, считая 7 февраля). Последнее оплаченное занятие выделено цветом – это обозначает, что следующее занятие уже не оплачено – пора платить. (К этому вернемся позже, пока достаточно, чтобы описать формирование календаря).

Кнопочка «добавить ребенка»:

Открывается окошко, где мы заполняем необходимые данные: o Фамилия и имя ребенка

o  Дата рождения

o ФИО мамы и телефон o ФИО папы и телефон

  • ФИО представителя (няня, бабушка) и телефон – название этого окна пусть будет тоже чистым полем. Будем сами вводить, например, «няня» и в соседнее окошко –

ее телефон. o Дом. адрес

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

Галочки: наличие договора, наличие первичной анкеты, наличие отзыва Сохраняем – ребенок появляется в группе.

Если какие-то данные (из первых восьми) не заполнены, то пусть будет какая-то индикация этого ребенка (например, его фамилия в списке группы будет красным цветом). То есть не ругаемся, если только нет анкеты или отзыва.

Когда необходимая информация добавлена – индикация пропадает.

При двойном клике по ребенку – открывается окошко с его данными. Если что-то поменяли, то переспросить действительно ли хотим сохранить изменения.

В каждой группе сделать «отчет недостающей информации». При нажатии на эту кнопочку вылезает список типа:

Иванов Миша Нет договора

Нет телефона папы

Смирнова Катя Нет первичной анкеты Нет имени мамы Нет отзыва

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

  1. Еще отдельный отчет «нет договора» по всем детям филиала.

Здесь и везде: отчеты с возможностью экспорта в файл (doc, xls) и вывода на печать.

Статус ячейки занятия

Каждая ячейка таблицы (пересечение строки с фамилией ребенка и даты) – одно занятие. У этой ячейки мы должны иметь возможность менять статус. Например, кликаем по ячейке правой кнопкой мыши, и в появившемся меню выбираем из:

  • Был (ребенок присутствовал на занятии) – в ячейке появляется «+»
  • Не был. Появляется буква «н» на белом (стандартном) фоне таблицы.
  • Не был по болезни. Появляется буква «н» на сером фоне ячейки.
  • Отработал (занятия, пропущенные по болезни, у нас отрабатываются в другое время. Было бы еще здорово придумать куда удобно вписать дату отработки этого занятия). – пусть в ячейке отображается «+», остается серый фон, как-то вводится и потом видно дату отработки. Например, как делается примечание к ячейке в Экселе. В крайнем случае можно прям в ячейку вместо + ставить просто дату отработки. Как ты видишь решение этого вопроса?
  • Не числился (обозначает, что в это время ребенок еще не был в зачислен в группу. Аналогично Смирновой Кате из файла 1 – она не была 4, 7 и 11 февраля, а начала заниматься с 14 февраля) – при выборе красим ячейку в салатовый цвет.
  • Установить бронь (обозначает, что ребенок должен оплатить лишь 50% стоимости абонемента, он не будет ходить, а мы будем держать ему место) – красит ячейку в зеленый цвет.

Отображаемый период времени

В рабочей части таблицы должен отображаться текущий месяц и будущий месяц. Предыдущие месяцы пусть будут спрятаны под рукой (например, «+» с возможностью развернуть, и «-» – свернуть).

Закончившийся месяц автоматически уходит в свернутые с сохранением всех отметок (+,-, даты, синие клеточки и т.п.)

Отображение срока оплаты абонемента и вступительного взноса

Последнее оплаченное занятие красится в синий цвет.

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

Вступительный взнос платится после 1 месяца занятий.

То есть: ребенок покупает абонемент, ходит по нему 1 месяц (это обычно 4, 8, 12 или 20 занятий, в зависимости от того, занимается он 1, 2, 3 или 5 раз в неделю), потом он оплачивает абонемент на новый месяц и вступительный взнос, ходит еще месяц, а потом оплачивает только абонементы.

Таким образом, с момента начала занятий конкретного ребенка первый месяц оканчивается красной клеточкой, а потом все время синей.

После ввода оплаты создается новая синяя клеточка, но «старая» сохраняется.

Красные и синие клеточки могут «передвигаться» в ручную. Изначально выставляются автоматически как указано выше, но в каждом конкретном случае администратор может ее перенести. Например, сделать в изменении статуса ячейки «снять синий флаг», «установить синий флаг».

Удаление ребенка из группы

Бывает, что кто-то ходит, ходит и уходит. Такого ребенка нужно удалить из группы (2 раза переспросить перед удалением), но сохранить все данные о нем в архиве, чтобы можно было найти по фамилии, посмотреть все его данные, оплаты и т.д.

Возможность вывода архива (списка ушедших) – погруппно, т.е. архив ведется свой для каждой группы.

Запись на пробное занятие.

По телефону дети записываются на пробное занятия.

В окошке группы делаем отдельный фрейм «пробное занятие». Например, под общим списком группы.

Там кнопочка «Записать на пробное занятие». Окошко: фамилия и имя ребенка, ФИО и телефон взрослого, возраст ребенка, дата пробного занятия.

Сохраняем – появляется в списке (в хронологическом порядке по дате занятия по возрастанию).

Затем можем менять статус ребенка (и давать команду):

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

Еще небольшой фрейм в правом нижнем углу: «Дни рождения в этом месяце»:

… и список детей из этой группы, у кого день рождения в этом месяце с указанием даты (в хронологическом порядке без учета года). У кого уже прошел – можно не показывать.

  1. Все напоминалки (оплаты, дни рождения, наличие договоров и т.п.) – только для детей из списка группы. Для архивных – не надо.
  1. Ввод и контроль оплат за посещение детей.

Выбираем ребенка в группе, жмем кнопочку «ввести оплату» – открывается окошко с автоматически заполненными полями: сегодняшнее число, фамилия и имя ребенка, название группы, сумма платежа (берется из настроек ребенка (именно ребенка, а не группы), но может быть изменена (если предоплата)).

Вид оплаты – наличная (по умолчанию) или безналичная. Оплата брони – нет (по умолчанию), да

Оплата вступительного взноса – нет (по умолчанию), да

Окошко для комментария.

Сохранить – переспрашиваем, что проверили правильность заполнения, сохраняем. Предусматриваем возможность редактирования введенного платежа (но права менеджеру).

Формирование отчетов:

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

o  отчет по должникам (если не было сдачи, предоплаты и т.п. – вывод фамилий,

названий групп и сумм долга)

o оплат за период времени (с …. по …. включительно) o безналичные оплаты

Отчеты можно создавать по выбранной группе или по всем детям филиала. Добавлять строку «итого». Возможность печати отчета.

В отчетах следующая информация: – Дата платежа

  • ФИ ребенка
  • Название группы
  • Сумма платежа (либо сумма долга, если это отчет по должникам. Сумма долга = цена – абонемента этого ребенка минус оплаченная сумма).
  • Дата последнего оплаченного занятия
  • нал/безнал
  • указать, если бронь
  • Комментарий (если есть).
  1. Безналичная оплата снимает с ребенка долг (идет как обычная оплата), но не учитывается в кассе при расчетах (т.к. деньги туда не поступали) – это уже в п.3 поймем…

PPS. Если оплата за бронь, то не учитывать долг ребенка по этому платежу (он платит меньше, чем стоимость абонемента, а то ему всегда будет долг считаться).

PPPS. Учесть, что перед вторым месяцем занятий ребенок должен заплатить за абонемент + вступительный взнос.

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

  1. Блок учета расходов филиала.

Делаем по календарным месяцам.

Входящий остаток – остаток денег с конца предыдущего месяца

  • доход – собранные в кассу деньги (по датам)
  • расход – потраченные деньги (по датам с указанием типа расходы – см.ниже) Остаток в кассе (сумма доходов минус сумма расходов) – для сверки Исходящий остаток (для переноса в следующий месяц в качестве входящего остатка). Для примера см. файл 2 (пароль: zvezda).

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

Например, в окошке:

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

В отчете предусмотреть возможность фильтра расходов по типам (как выборка в Экселе) с суммированием. Т.е. получится, что за месяц на хоз.расчеты – столько, на зарплаты – столько и т.д.

Еще: мы помимо услуг немного продаем товары (книжки, детские диски). Это же тоже надо учесть в кассе.

Тогда делаем еще базу товаров (названия, количество и цену), и возможность «ввести оплату», выбрав товар, количество, а цена сама подставится.

Ну и учет товаров за одно: изначально было столько-то, когда продано – вычитается, когда завозим новое – добавляем, отчет по движению и остатку за период времени (по каждому товару отдельно).

И туда же – за период продано столько-то единиц на такую-то сумму (по всем товарам в сумме)

  1. Отметки о нагрузке (выходе на работу) сотрудников с подсчетом з.п.

В настройках создаем базу педагогов – ФИО, дата рождения, телефон дом, моб., стоимость часа – такая-то (отдельно в будни и выходные).

Администратор может залезать в базу педагогов и видеть все кроме стоимости часа. Стоимость часа будет вводить и видеть только менеджер.

Программа формирует таблицу по календарным месяцам (подобно группам детей, только вместо ФИ ребенка – ФИ педагога, даты – все дни месяца, сворачиваемость/разворачиваемость прошедших месяцов).

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

Щелкаем по педагогу, открывается окошко со списком существующих групп, выбираем (можно несколько) групп, и ставим цифирку «часов за день» (может быть нецелым), и если надо вводим комментарий (типа «отпросилась из группы 2 на пол-часа пораньше).

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

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

Все с возможностью вывода на печать.

Еще в базе педагогов сделать кнопочку «показать дни рождения» – когда нажимаем видим окошко, где перечислены педагоги с указанием дня рождения в хронологическом порядке без учета года (то есть хронология в пределах дня и месяца).

Еще будем считать з.п. администраторов. В базе указываем оклад каждому из них и % от выручки. По итогам месяца считаем з.п. по формуле оклад + % от выручки = з.п.

  1. В каждой формуле оставить возможность что-то прибавить или отнять (доначислить, типа премии, удержать, типа штрафа или налога). Пусть в настройках, например, вводится в формулу (оставить окошки + ____ – ____). В отчете по педагогу отображается строками:

«Удержано: (вставляется цифра) «Начислено: (вставляется цифра) Итого…

  1. Блок учета звонков и статистики.

В базе создадим варианты источника звонков (Интернет, журнал, знакомые и т.д.)

Каждый новый день будет автоматически формироваться новое рабочее поле, где перечислены введенные в базу варианты, число напротив каждого варианта, и кнопочки +, -, которые будут прибавлять или убавлять единицу к этому числу.

Ниже еще один вопрос: сегодня записалось на пробное занятие: (число, кнопочки + и -). Затем: сегодня пришли на пробное занятие: (число, кнопочки + и -).

Затем: сегодня купили абонемент: (число, кнопочки + и -).

Желательно авто-сохранение сделать (вообще на всю программу, кстати).

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

При смене даты день «закрывается» – все цифры фиксируется.

Менеджер за выбранный промежуток времени может вывести отчет, где будет отображаться:

  • Количество звонков по каждому виду рекламы
  • Общее количество звонков
  • Сколько человек записалось на пробное занятие
  • Сколько человек пришли на пробное занятие
  • Сколько человек купили абонемент
  • Процент записавшихся из позвонивших за период времени
  • Процент пришедших из записавшихся за период времени
  • Процент купивших абонемент из пришедших за период времени

И вариации этого отчета – с выборкой по администратору (при входе в программу мы ведь узнаем кто работает). Выбираем администратора и смотрим статистику только по его результатам.

И еще отчеты: подсчет наполняемости групп в %, наполняемости филиала в %.

БД знает сколько в каждой группе максимальное возможное число детей, а сколько на данный момент записано в группу. Делим одно на другое, умножаем на 100 = процент наполненности группы, среднее арифметическое процентов наполненности всех групп = процент наполненности филиала.

В этой статистике не учитываем группы, помеченные флагом «не учитывать в статистике» в свойствах группы.

Отчет «наполенность групп» – выводит список всех групп с указанием количества зачисленных в них детей. В соседнем столбике пишем цену группы, в соседнем – произведение этих чисел. И суммируем в «итого» первый и последний столбики (сумма количеств детей и расчетная сумма выручки).

  1. Контроль ошибок

Отчет «вывод нестандартных цен» (это детей, у которых менялась стоимость абонемента относительно цены, указанной в свойствах группы) – чтобы не дать там лишнюю скидку и т.п.

Скрины

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36