gifts2017

Разрабатываем платежный календарь в MS Excel

Опубликовал Сергей Алферов (SunShinne) в раздел Управление - Практика учета

Данная статья посвящена быстрому и простому способу внедрения платежного календаря на платформе MS Excel. Разъяснены недостатки и достоинства подобного подхода по сравнению со старшими продуктами на основе той же 1С, например. Рассказано что сделать, как сделать и как этим потом пользоваться.

Введение

Предполагается, что читатель уже знает что такое платежный календарь и зачем нужен, в связи с этим далее будут обсуждаться только практические вопросы организации платежного календаря. Кроме того, желательно минимальное владение терминологией бюджетирования (понимание  таких терминов как «бюджет», «лимитирование», «ЦФО»). Если все вышеперечисленное для Вас понятно, предлагаю определиться, а насколько  вообще правилен поход, предусматривающий ведение платежного календаря в MS Excel? Существуют разные прямо-противоположенные мнения, т.к. здесь не все так просто. Попытаемся быть объективными. Если у Вас есть программный продукт, в котором Вы ведете оперативный или бухгалтерский учет, то скорее всего Вам лучше вести платежный календарь именно в этом продукте, даже если его функционал не вполне Вас удовлетворяет. Если речь идет об 1С, то, возможно, имеет смысл доработать ее с тем, чтобы вести платежный календарь в базе данных.  Но, как всегда, есть исключения из правил, о которых Вы сможете узнать в конце следующего блока статьи.

Плюсы и минусы использования MS Excel в качестве платформы для организации платежного календаря

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

1)      Отсутствие контроля ссылочной целостности - MS Excel не контролирует пользователей, если те хотят удалить значение какой-нибудь ячейки. Можно с этим косвенно бороться установкой защиты ячеек, или макросами, но проблема может проявится в любой момент;

2)      Проблема с многопользовательским режимом работы - организовать некое подобие многопользовательского режима в MS Excel можно, если речь идет о двух-трех пользователях, но если пользователей будет больше лучше задуматься о базе данных;

3)      Разграничение доступа и конфиденциальность - все пароли в MS Excel очень легко ломаются, при желании даже далекий от ИТ-индустрии человек сможет легко найти несколько таких способов в открытых источниках. Таким образом, к файлу доступ должен даваться только проверенным людям;

4)      Повторный ввод данных - в отличии от 1С готовых обработок обмена между MS Excel и клиентом банка не существует, сделать конечно же можно, но дешевле будет доработать используемую Вами базу данных с тем, что бы вести платежный календарь в ней. Впрочем на небольших объемах операций использование обработок значительной экономии трудозатрат не дает;

5)      Ограничение на размер базы - большой массив данных MS Excel не потянет, хотя для средних размеров фирмы возможностей MS Excel хватит.

Из всего вышесказанного можно сделать следующий вывод - использование MS Excel для организации платежного календаря допустимо при одновременном соблюдении следующих условий:

1)      Объем платежных операций в день не превышает 20-30 документов;

2)      С файлом работает не боле трех доверенных лиц;

3)      У Вас нет функционала платежного календаря в используемом программном продукте для бухгалтерского или оперативного учета.

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

Теперь несколько слов о нюансах, которые могут перевесить недостатки организации платежного календаря в MS Excell. Дело в том, что помимо собственно реестра  платежей и платежного календаря данный файл может еще выполнять дополнительные вкусные функции - например составление бюджетов и лимитирование платежей относительного бюджетов, а недостатки MS Excel по повторному вводу данных вполне можно компенсировать, организовав двухсторонний обмен с платежной подсистемой 1С. Дело в том, что если Вы собираетесь плотно работать с бюджетированием, то относительная эффективность MS Excel в сравнении со специализированных программными продуктами бюджетирования запросто может перевесить минусы использования MS Excel в качестве платформы платежного календаря.  Поэтому, рассматриваемый в настоящей статье пример сразу содержит в себе элементы бюджетирования, а именно лимитирование платежей (без этого не вижу практического смысла в использовании MS Excel для организации платежного календаря). Если у Вас есть в MS Excel система бюджетов, то настроив достаточно простыми формулами из нее трансляцию лимитов платежей в платежный календарь Вы получите дешевый, простой и эффективный инструмент бюджетирования. Теперь, прояснив плюсы и минусы платежного  календаря MS Excel, Вы сможете самостоятельно решить, использовать ли MS Excel для платежного календаря или нет. 

Стоит ли Вам продолжать читать эту статью?

Хочу также предупредить - целью статьи не является описание процесса разработки готового платежного календаря, который можно взять и начать использовать, ведь в таком случае  статья была бы не нужна, достаточно было бы взять прилагаемый файл. Да и это уже была бы не статья, а книга. Поэтому, цель статьи - показать методику и принципы создания платежного календаря, с учетом практических нюансов настройки таблиц и формул в MS Excel.  В рассматриваемом примере допущено несколько упрощений, с тем, что бы Вы смогли  легче и быстрее понять пример, но обещаю, если у Вас есть минимальные знания MS Excel и некоторое время для внимательного  изучения, то Вы сможете настроить под себя приведенный пример и  он будет работать.

Концепция настройки платежного календаря в MS Excel

Концепция следующая:

1)      Создаем на отдельных листах книги MS Excel ключевые классификаторы (статьи движения денежных средств и ЦФО, для рабочего примера еще могут понадобится например контрагенты, организации, банковские счета/кассы);

2)      Задаем соответствия между статьями ДДС и ЦФО;

3)      Создаем лист с бюджетом движения денежных средств (БДДС);

4)      Создаем лист с реестром платежей (этот лист и будет основным рабочим местом);

5)      Создаем лист с реестром увеличения лимитов (для сверхбюджетных заявок на расход денежных средств);

6)      Создаем лист с таблицей данных, которая будет собирать все необходимые для платежного календаря данные;

7)      Создаем сводную таблицу «Платежный календарь» - это, собственно, и есть Ваша цель;

8)      Для целостной системы еще хорошо создать отчет, показывающий выполнение бюджета движения денежных средств, не обязательно - но рекомендую.

Добавлю так же, что можно дополнительно настроить выгрузку платежных поручений в 1С, и загрузку из 1С факта об оплатах и остатках на счетах/кассах. Кроме того, можно настроить обмен справочников с 1С, особенно таких больших как контрагенты. Процесс творческий - но при избытке времени и ресурсов главное не увлекаться процессом отшлифовки, ведь MS Excel обладает все-таки массой недостатков, и свою творческую энергию, возможно, лучше в таком случае направить на перевод платежного календаря в нормальную базу данных.

Создаем классификаторы

На каждый классификатор создаем отдельный лист, в нашем случае это листы «Классификатор ЦФО» и «Классификатор статей ДДС».

 

Для облегчения себе дальнейшей работы с ссылками рекомендую сразу именовать элементы классификатора ЦФО без пробелов в следующем формате «NN_NNN». Это пригодится нам при увязке к ЦФО подведомственных статей ДДС.

Со справочником статей ДДС есть другой нюанс - во многих случаях полная версия классификатора не нужна, по полной версией понимается наличие групп и доходных статей. Иногда нужен просто список статей ДДС по выплатам. Для этих целей заведите еще дополнительный лист «СтатьиДДС_Выплаты»

 Полная же версия справочника статей ДДС пускай «обитает» на листе «Классификатор статей ДДС». После заполнения выплатных статей создайте именованный диапозон-список (вкладка «формулы»-«Присвоить имя»).

Значения в диапазон СтатьиДДС_Выплаты можно указывать ссылками с полного классификатора статей ДДС.

 

Важный шаг - это привязка с ЦФО статей ДДС. Кроме того, что это правильный шаг с точки  зрения методологии управления предприятием посредством бюджетов, это еще значительно облегчит ввод данных по платежам и позволит сократить количество ошибок. Технически данная возможность организуется достаточно просто - на отдельном листе создается таблица, колонки которой именуются наименованиями ЦФО, а в строках вводятся соответствующие ЦФО статьи ДДС.

После этого ранее уже показанным способом (через присвоения имени диапазону) на каждое ЦФО создается свой именованный список.

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

Управление бюджетом (лимитами)

Для того, что бы контролировать текущие платежи на соответствие бюджету понадобятся две таблицы - «Бюджет ДДС» и «Увеличение лимитов». Создадим одноименные листы и разместим на них эти таблицы.

Для того, что бы ЦФО и периоды планирования не нужно было бы каждый раз впечатывать, можно добавить функционал выбора значений из списка. Покажем это на примере колонки «ЦФО» - выделяете заведомо большой диапазон ЦФО (для учебного примера достаточно и 20 строк, для рабочего примера нужно предусмотреть как минимум тысяч десять строк). После того как выделите диапазон на вкладке «Данные» в блоке кнопок «Работа с данными» нажмите на кнопку «Проверка данных», в открывшемся диалоговом окне в поле «Тип данных» выберите «Список», а в поле «Источник» впишите знак равно и наименование поименованного списка, в нашем примере это будет выглядеть так: =ЦФО.

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

Аналогичным образом следует настроить выбор в колонке «Период планирования»

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

Указав с поле источник не название списка, а функцию ДВССЫЛ(), возвращающую список по наименованию, мы сможем выводить для выбора только те статьи, которые относятся к данному ЦФО!

Если Вы хотите контролировать платежи на их соответствие бюджету (лимитирование платежей) - то перед Вами неизбежно встанет задача отражения факта увеличения лимитов. Для этих целей на листе «Увеличение лимитов» создайте таблицу, в которой будут поля регистрации (номер и дата), а также содержательные поля (ЦФО, Статья ДДС, Период планирования и сумма). Кроме того можно добавить произвольные поря, такие как «Причина увеличения лимита». Настройка выбора ЦФО, Периода планирования и Статей ДДС производится аналогично тому, как это мы сделали при разработке таблицы Бюджета ДДС.

Реестр платежей

Реестр платежей представляет собой таблицу, в которой следует регистрировать планируемые, осуществленные и аннулированные платежи. При наличии лимитирования платежей Вы сможете увидеть остатки по бюджету, а также настроить фильтр который предоставит Вам инструмент утверждения платежей на конкретную дату.

Вам следует наиболее ответственно подойти к дизайну (удобству) именно этой таблицы, т.к. с ней предстоит работать каждый день. Для того, что бы хотя бы немного продемонстрировать возможности MS Excel  в части удобства интерфейса в пример включен макрос, помогающий упростить выбор дат, ниже функционал макроса будет показан в действии, но сам текст кода Вы сможете посмотреть в примере, в статье подробно на этом останавливаться не имеет смысла - тем более, что даты легко можно вводить вручную.

В целях регистрации операций создайте колонки «Номер заявки», «Дата заявки», «Номер платежки» и «Фактическая дата оплаты». С точки зрения лимитирования платежей (бюджетирования) ключевыми колонками являются «ЦФО», «Статья ДДС», «Период планирования» и, конечно же, «Сумма». Колонка «Остаток бюджета если оплатим» должна быть расчетной - т.е. считаться автоматически для информирования пользователя о текущем состоянии бюджета. Колонка «Желаемая дата оплаты» необходима для удобства утверждения платежей (в рабочем варианте целесообразно добавить еще колонку «Крайний срок оплаты»). Для регистрации факта утверждения платежа добавьте колонки «Утверждена» и «Планируемая дата оплаты». Отфильтровав таблицу по параметрам «Оплачена»=ЛОЖЬ, «Утверждена»=ИСТИНА Вы получаете таблицу, в которой изменением планируемой даты оплаты можно сформировать платежный календарь. Добавив фильтр «Планируемая дата оплаты» = текущая дата Вы получите список платежей на сегодняшний день.

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

 

ЦФО и Периоды планирования настройте выбором из одноименных диапазонов, выбор статей ДДС настройте из подчиненных списков точно так же, как это было показано в разделе, посвященном БДДС. Наверное наиболее сложным моментом является расчет остатков по бюджету после заявки. Для этого следует воспользоваться отличной функцией СУММЕСЛИМН().

 

Формула должна «вытащить» по связке ЦФО-СтатьяДДС-ПериодПланирования бюджет ДДС (основной лимит с листа «Бюджет ДДС»), добавить к нему дополнительный лимит с листа «Увеличение лимитов» и отнять все ранее утвержденные суммы в таблице «Реестр платежей» по данным ЦФО-Статье ДДС-Периоду планирования, включая и текущую строку. Как именно пользоваться данной формулой можно почитать в «хелпе» MS Excel - там все вполне понятно расписано.

Платежный календарь

Платежный календарь подразумевает график поступлений денежных средств, выплат, и остатков по периодам (обычно дням). В MS Excel для графического представления платежного календаря идеально подходит инструмент «сводная таблица», ниже приведен пример того, что мы должны получить «на выходе».

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

Дата - по этой дате будут группироваться колонки

Вид - возможно четыре значения - начальный остаток, приход, расход и конечный остаток.

Показатель - для вида «Расход» это статья ДДС, для других видов показатель дублирует сам вид (начальный остаток, приход и конечный остаток).

Контрагент - сюда будут выводится контрагенты по планируемым расходам.

Предлагаемый пример предполагает, что начальный входящий остаток и планируемые приходы пользователем будут вносится вручную (поля выделены желтым). Остальные поля будут расчетными. Перед началом конструирования таблицы определитесь на какой временный горизонт планирования денежных потоков в разрезе дней Вы будете опираться. Мной было выбрано 9 календарных дней. Первые строки, соответствующие горизонту планирования, должны быть фиксируемыми. На каждый день я создаю три строчки, с начальным остатком, приходом и конечным остатком, далее такие же строчки на следующую дату и так вплоть до окончания горизонта планирования.

Расходную часть разместите под фиксированными блоками. Эти данные будут динамически меняться в зависимости от того, что Вы внесли в таблицу «Реестр платежей».

Теперь немного о формулах. Первые две строки, относящиеся к первому дню планирования, заполняются вручную. Это начальный остаток и планируемый приход. В рабочем варианте входящий остаток целесообразно настроить так, что бы он рассчитывался исходя из реальных кассовых остатков, с учетом денег в пути (подойдет таблица, периодически подгружаемая из той же 1С). Поле приход содержит прогнозируемую сумму денежных средств, поступление которых Вы ожидаете на первую дату. По приходу то же самое касается и остальных фиксированных строк - вопрос о том, что ставить в прогнозируемый приход решается для каждого  предприятия отдельно. Специфика розничных сетей позволяет составить календарные профили прогнозируемых поступлений, у проектных организаций график поступлений составляется индивидуально по каждому акту/этапу и т.д.

 

Все фиксированные даты горизонта планирования, начиная со второй, должны содержать формулы расчета начального и конечного остатка. Здесь так же придется воспользоваться функцией СУММЕСЛИМН().

 

Принцип формулы расчета конечного остатка простой - берем начальный остаток рассчитываемой даты (равен конечному остатку предыдущего дня), добавляем прогнозируемый приход и отнимаем все суммы расхода, которые функцией СУММЕСЛИМН() отобраны по текущей дате в блоке содержащем расходную часть.

Как пользоваться разработанным платежным календарем.

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

 

Допустим Вас не устраивает текущий график, например Вы хотите избежать кассового разрыва 16 октября - переходите в таблицу «Реестр платежей», меняете планируемую дату оплаты заявки (которая на 600 тыс.руб.) допустим на 18 октября.

Снова обновляете сводную таблицу с платежным календарем и она перемещает оплату 600 тыс.руб. на 18.10 и пересчитывает начальные и конечные остатки денежных средств!

Все просто и эффективно!

P.S.:
Картинка к анонсу - известный календарь Майя, который то ли заканчивается, то ли не заканчивается в 2012 году. Но что примечательно, само его наличие ясно дает понять, что уже древние люди занимались темой календарей. Платежных календарей, правда у Майя точно не было, потом что у них был военный коммунизм и не было денег, но, уверен, что будь у них капитализм, то сейчас мы бы находили при раскопках глиняные платежные календари :) 

 

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Ярослав Радкевич (WKBAPKA) 08.11.11 22:59
2. leraks1 leraks1 (leraks) 09.11.11 11:17
Дешево не всегда хорошо, хотя красиво!
3. Сергей Алферов (SunShinne) 09.11.11 12:14
Постарался объективно объяснить, почему на 1С лучше, и когда можно и так - на коленке в Экселе. Хотя аудитория здесь, конечно, не целевая... но данная статья важна в контексте планируемых в дальнейшем работ, так что пусть будет на инфостарте.
kirmancino; +1 Ответить
4. Дмитрий Шмонин (Qsko) 09.11.11 12:57
Большое спасибо за статью! Мне как раз нужна была подобная инструкция для создания в Excel схожей вещицы, но не платежного календаря, а для отчета оператора. Времени сидеть колупать мануалы как обычно не хватает, а тут всё, что надо собрано.
5. Вячеслав Петрович (kozlovvp) 09.11.11 13:29
Спасибо за статью! Вот обязательные курсы бы сделать для топ менеджеров наших), что бы они понимали "откуда что" и "как нужно", а то приходится им на пальцах объяснять)))) они знают только одну систему - РОЗ (Распил, Откат, Занос)
6. Александр М (Fruit83) 09.11.11 22:36
Нужная вещь. Спасибо за данную публикацию.
7. Сергей Алферов (SunShinne) 10.11.11 08:54
[5] Ну сделаем не обязательные курсы )))
8. Андрей Кузнецов (bellaform) 22.11.11 09:15
замечательная статья!
Попутно показаны хорошие приемы работы в Excel.
9. Kirill Kazakevich (kirmancino) 09.12.13 16:27
Полезный материал, хотя я считаю, что в екселе делать каждый классификатор на отдельных листах - некрасиво и нерационально.
10. Сергей Алферов (SunShinne) 09.12.13 18:04
(9) kirmancino, для пользователей так понятнее
kirmancino; +1 Ответить
11. Виталий П (VSKIF) 22.12.13 21:28
12. Гость 10.08.15 17:19
Жаль что сам файл ексель не приложен не видно многих значений на скринах
PowerBoy; +1 Ответить
13. Oleg Герасимюк (oleg5264) 29.08.15 15:30
У кого получилось сделать по данному мануалу?
Примерчиком не поделитесь?
14. Артем Титеев (a_titeev) 29.08.15 15:49
Классная статейка :) Покажу экономистам - пусть изучают...
15. Наталья Прокудович (natajke) 28.06.16 12:54
Хочу сказать огромное спасибо за эту статью. Календарь по мануалу действительно получился рабочий, а я узнала и научилась применять много полезных фишечек в excel. Конечно, простоват, но для учета платежей нам достаточно.

Привязала дополнительно разграничение прав доступа, курс доллара и учет овердрафта, стало просто шикарно. Еще осталось как-то примудрить туда учет по двум компаниям...)

Никогда не думала, что excel - настолько мощная штука, а без вас бы и не узнала! Благодарю.

16. Алан Гозюмов (wolfalan) 17.08.16 18:22
17. Сергей Алферов (SunShinne) 18.08.16 10:27
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа