Оперативный платежный календарь таблица в эксель. Платежный календарь как инструмент финансового планирования

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

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

  • Прошлые календарные периоды - плановые и фактические остатки на начало дня соответствуют фактическим остаткам за предыдущий день, планируемый остаток на конец дня рассчитывается с учетом запланированных поступлений и платежей, а фактический - на основании данных о фактическом движении денежных средств;
  • Рабочий день - данные за рабочий день рассчитываются аналогично прошлым календарным периодам;
  • Будущие календарные периоды - для будущих календарных периодов доступны только значения запланированных сумм, расчет которых производится последовательно, на основании запланированных платежей и поступлений каждого дня, начиная с рабочей даты, отталкиваясь от планируемого остатка денежных средств на ее окончание. При этом следует учитывать , что если существует необходимость расчета будущих календарных периодов от фактических остатков рабочей даты (такая ситуация, например, может возникнуть в конце рабочего дня, когда точно известно, что поступлений и платежей сегодня больше не ожидается ) достаточно сдвинуть рабочую дату на один день вперед, что в свою очередь сместит текущий день в прошлый календарный период и позволит планировать движения и остатки будущих периодов от фактических данных текущего дня.

Ниже приведены примеры форм отчета "Платежный календарь"

Форма отчета "Платежный календарь"

Реквизиты отчета, обязательные для заполнения

Для формирования отчета необходимо заполнить следующие поля: период формирования платежного календаря, рабочую дату и организацию, по которой будет сформирован платежный календарь. При открытии формы отчета устанавливается период по умолчанию, при котором начальная дата рассчитывается от текущей даты минус два дня, а конечная дата - от текущей плюс семь дней. Таким образом, по умолчанию глубина просмотра платежного календаря составляет два дня, а горизонт планирования семь дней. Значение поля "Рабочая дата" устанавливается равным значению текущей системной даты. Значение данного реквизита должно находиться в интервале периода формирования отчета. Реквизит "Организация" при открытии формы отчета автоматически принимает значение основной организации из персональных настроек пользователя.

Доступные аналитические разрезы, возможности группировки строк и колонок

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

  • Вид денежных средств - обеспечивает группировку средств по видам: безналичные, наличные;
  • Вид денежного потока - обеспечивает группировку информации в соответствии с общей классификацией денежных потоков: расчеты с поставщиками, покупателями, сотрудниками, платежи в бюджет и т.п.
  • Статья движения денежных средств - обеспечивает детальную классификацию операций с денежными средствами ;
  • Контрагент - Контрагент, физическое лицо;
  • Договор , по которому производились расчеты.

Колонки отчета формируются только по периодам с детализацией по дням, изменение группировок по колонкам недоступно.

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

Дополнительная информация по использованию отчета

При вызове расшифровки данных, содержащихся в строке платежного календаря, будет открыт отчет "Карточка движения денежных средств" .

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

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

Введение

Предполагается, что читатель уже знает что такое платежный календарь и зачем нужен, в связи с этим далее будут обсуждаться только практические вопросы организации платежного календаря. Кроме того, желательно минимальное владение терминологией бюджетирования (понимание таких терминов как «бюджет», «лимитирование», «ЦФО»). Если все вышеперечисленное для Вас понятно, предлагаю определиться, а насколько вообще правилен поход, предусматривающий ведение платежного календаря в 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 обладает все-таки массой недостатков, и свою творческую энергию, возможно, лучше в таком случае направить на перевод платежного календаря в нормальную базу данных.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

Чтобы предприятие вовремя могло выполнять взятые на себя финансовые обязательства, следует избегать кассовых разрывов - недостатка денежных средств, необходимых для финансирования очередных расходов. Начиная с версии 3.0.43.152 в программе «1С:Бухгалтерия 8» появился «Платежный календарь», который не только помогает бороться с кассовыми разрывами, но и помогает оперативно управлять финансовыми потоками. В календаре могут отражаться сведения о поступлениях от покупателей и о запланированных оплатах поставщикам; о платежах в бюджет; о просроченных платежах; о денежных средствах, находящихся в пути между банком и кассой (например, при инкассации), и планируемых к поступлению по договорам эквайринга. Новая функциональность особенно полезна для малых и средних компаний, у которых отсутствует финансовый отдел или в штате нет финансового менеджера.

Новый функционал по планированию финансовых потоков

Для стабильной работы предприятия необходимо своевременное осуществление всех запланированных платежей. Для этого на момент выполнения платежа в кассе или на расчетных счетах организации должно быть достаточное количество средств. Ситуация, когда денежных средств временно не хватает, называется кассовым разрывом. В программе «1С:Бухгалтерия 8» редакции 3.0 для предотвращения кассовых разрывов предусмотрена новая функциональная возможность - (рис. 1).

Рис. 1. Форма платежного календаря

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

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

Разделы Платежного календаря

Отчет в «1С:Бухгалтерии 8» редакции 3.0 может включать в себя следующие разделы (при наличии соответствующих ситуаций):

  • Оплата от покупателей ;
  • Прочие поступления ;
  • Налоги и взносы ;
  • Платежи поставщикам;
  • Периодические платежи .

Рассмотрим, какая информация отображается в каждом из разделов.

Оплата от покупателей

В разделе Оплата от покупателей отображаются платежи, запланированные согласно документам учетной системы Счет покупателю , Реализация (акты, накладные) , Оказание производственных услуг , Передача ОС , Передача НМА . Напоминаем, что возможность указывать сроки уплаты в этих документах устанавливается в настройках функциональности. Для того чтобы пользователь мог отслеживать сроки ожидаемых оплат от покупателей, в разделе Главное - Функциональность на закладке Расчеты необходимо установить флаг Планирование платежей от покупателей.

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

Рис. 2. Помощник «Ожидаемая оплата от покупателей»

В форме помощника можно изменить срок оплаты одного или нескольких документов, предварительно выделив их курсором. По кнопке Изменить срок оплаты открывается форма ввода нового срока оплаты. Также срок оплаты документа можно изменить непосредственно в колонке Срок оплаты . Выделив строки в списке, можно отправить электронное письмо контрагенту с напоминанием об оплате. Письмо сформируется автоматически по кнопке Напомнить .

Прочие поступления

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

Налоги и взносы

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

Платежи поставщикам

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

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

В раздел включены платежи по выплате сотрудникам заработной платы. По клику на ячейке открывается меню, в котором можно выбрать нужное действие, например Выплатить или Свериться с ФНС по НДФЛ (рис. 3).

Рис. 3. Разделы «Налоги и взносы» и «Зарплата»

Периодические платежи

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

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

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

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

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

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

Что такое платежный календарь?

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

Составляющие платежного календаря

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

Что включает в себя часть о поступлении денежных средств?

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

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

Расходная часть: содержание и источники информации

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

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

Основные правила составления

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

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

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

Какие преимущества дает составление календаря?

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

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

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

  • остаток ДС на начало каждого дня;
  • поступление и списание ДС в течение каждого дня как суммарного потока, так и в разрезе управленческих статей их учета;
  • чистый денежный поток за день, как разность между поступлением и списанием ДС;
  • поступление и списание ДС нарастающим итогом за день;
  • суммарные обороты ДС за месяц по всем статьям управленческого учета.

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

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

Пример классического платежного календаря

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

В составе классического платежного календаря (рис. 21.1.) можно выделить три составляющих ДДС:

  • денежный поток от основной деятельности;
  • денежный поток от инвестиционной деятельности;
  • денежный поток от финансовой деятельности
  • с детализацией их на отдельные статьи.

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

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

Рис. 21.1. Пример классического платежного календаря

Задачи автоматизации формирования платежного календаря

У модели ДенежныеПотоки присутствует существенный недостаток - невозможность просмотра проводимых операций в разрезе одного банковского дня при достаточном количестве введенных записей о проводимых операциях в исходную таблицу на рабочем листе ИсхДанные. Для этой цели введите в состав модели рабочий лист ПК с платежным календарем (рис. 21.2.). Непосредственные задачи автоматизации формирования платежного календаря:

  • автоматически определить наименования приходных и расходных статей операций с наличностью и ввести их в графу Наименование, учитывая при этом принадлежность их либо к приходной либо к расходной составляющей платежного календаря;
  • на основании введенного номера месяца, за который формируется платежный календарь, произвести выборку операций с наличностью только за этот месяц;
  • определить номер года, за который проводится формирование платежного календаря и сформировать даты каждого дня в формате Excel;
  • провести суммирование потоков операций с наличностью за каждый день по каждой статье платежного календаря и ввести эту сумму в платежный календарь на пересечении строки с наименованием этой операции и столбца с указанием этого номера дня месяца, в котором проведена операция;
  • определить сумму ежедневных поступлений и расходования денежных средств, а также чистый денежный поток за день;
  • определить с начала месяца по нарастающей суммы поступлений и расходования денежных средств;
  • провести окончательные итоговые расчеты платежного календаря.

Рис. 21.2. Рабочий лист ПК с созданным платежным календарем и числовым примером за февраль месяц

Создание платежного календаря

Таблица непосредственно платежного календаря расположена в области ячеек С6:AI83. Строки 12:29 календаря выделены для формирования постатейно данных поступивших денежных средств, а строки 32:79 - для списанных.

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

Формирование наименований статей платежного календаря

Для формирования наименований статей платежного календаря предназначена подпрограмма ФормированиеСтатейКалендаря (рис. 21.3.). Статьи формируются на основании наименований операций, введенных в исходную таблицу на рабочем листе ИсхДанные. Причем, если наименование операции присутствует в исходной таблице, но не проводилась в месяце, за который формируется платежный календарь, эта статья будет все равно присутствовать в календаре. Это объясняется необходимостью унификации платежных календарей за любой период времени. Смысл такой унификации заключается, прежде всего, в наглядности, или желании человека искать вещи на привычном для него месте. Например, в одном месяце предприятие вело активную финансово-хозяйственную деятельность и статей расхода, по которым проводились операции, было 50, а в другом месяце всего 10, и в календаре отражены только статьи с проводимыми операциями. Руководитель, положив на стол два листа бумаги с распечатанными платежными календарями, больше времени потратит на поиск идентичных статей в этих таблицах, чем непосредственно на анализ содержащейся информации и принятие решений.

В подпрограмму входят на две других процедуры: ввод формул выбора наименований статей поступления (ДоходнаяЧасть) и статей списания денежных средств (РасходнаяЧасть). Сама же подпрограмма осуществляет только вставку выбранного текста наименований статей непосредственно в календарь.

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

Если нет необходимости в постоянном обновлении наименования статей при формировании платежного календаря, то тогда выполнение этой подпрограммы можно не производить, поставив перед ее именем в рассматриваемой далее подпрограмме ЗаполнениеПлатежногоКалендаря (рис. 21.5.) знак примечания.

Рис. 21.3. Подпрограмма ФормированиеСтатейКалендаря для формирования наименования статей поступления денежных средств

Формирование наименования статей поступления денежных средств

Прежде чем приступить к записи макроса ДоходнаяЧасть, введите формулы в ячейку ВА12:

=ЕСЛИ(ИсхДанные!I10=0;"";ЕСЛИ(ИсхДанные!H10=1;ИсхДанные!C10;0))

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

И в ячейке ВВ12 формула:

=ЕСЛИ(BA12=BA13;0;BA12)

которая вступает в свои полномочия после замены содержимого диапазона ячеек ВА12:ВА5002, содержащих первую формулу на определенные ею значения и последующую их сортировку (по убыванию не считая первую строку строкой заголовка). После сортировки значений, текст одинаковых наименований статей будет содержаться только в смежных ячейках. Тогда эта формула, сравнив значения в двух смежных ячейках, при идентичном тексте возвратит значение 0, а при несовпадении - текст наименования статьи в ячейке находящейся выше. Таким образом, из всех ячеек, содержащим одинаковый текст наименования статьи во всем массиве данных будет выбрана только одна.

Для записи подпрограммы выполните следующие действия после начала записи макроса:

  • выделите область ячеек ВА12:ВА22 и нажмите клавишу F2, после чего комбинацию клавиш Ctrl+Enter;
  • не перемещая табличного курсора, скопируйте выделенный диапазон в буфер обмена и произведите вставку в тот же диапазон, вызвав диалоговое окно Специальная вставка, в котором активизируйте переключатель Значения;
  • не перемещая табличного курсора, выполните сортировку выделенного диапазона по убыванию нажав кнопку Сортировка по убыванию на Стандартной панели инструментов. Таким образом, весь имеющийся список операций, связанных с поступлением наличности соберется в верхней части выделенного диапазона, причем в убывающем алфавитном порядке;
  • выделите область ячеек ВВ12:ВВ22 и повторите все описанные действия;
  • остановите запись макроса и, открыв Редактор Visual Basic, произведите редактирование выделяемых диапазонов ячеек, заменив их адреса на ВА12:ВА5002 и ВВ12:ВВ5002, а также отредактируйте текст кода VBA и введите примечания.

Рис. 21.4. Макрос ДоходнаяЧасть

Формирование наименования статей списания денежных средств

При создании макроса РасходнаяЧасть нет необходимости повторять все действия, выполненные при записи предыдущего. Скопируйте макрос ДоходнаяЧасть в Редакторе Visual Basic и заменив имя отредактируйте его, что заключается в замене ссылки на ячейку с I10 при вводе формулы в диапазон ячеек ВА:

""=IF(ИсхДанные!R[-2]C[-44]=0, ......"

""=IF(ИсхДанные!R[-2]C[-43]=0, ...."

Это относительная система ссылок и указывает на то что столбец I находится 44-м, а столбец J 43-м слева по отношению к столбцу ВА, в ячейки которого вводятся формулы.

Заполнение платежного календаря суммами ежедневных оборотов денежных средств

Подпрограмма ЗаполнениеПлатежногоКалендаряПоДатам (рис. 21.5.) состоит из трех составляющих:

  • подпрограммы ФормулыЗаполненияПлатежногоКалендаря непосредственно для ввода формул, производящих расчет;
  • цикла For-Next для последовательного ввода рассчитанных ежедневных оборотов ДС по каждой статье в платежный календарь;
  • очистки содержимого области с введенными формулами промежуточных расчетов.

Критериями при выборе данных служат:

  • номер месяца, введенный в ячейку D2 перед началом вычислений;
  • номер дня выбранного месяца, вводимого циклом For-Next с помощью переменной X в ячейку ВА1, и при выполнении подпрограммы изменяющего значение от 1 до31;
  • наименование статьи управленческого учета, сформированных ранее в платежном календаре в диапазоне ячеек С12:С79.

Рис.21.5. Подпрограмма ЗаполнениеПлатежногоКалендаряПоДатам

Формулы расчета ежедневных оборотов денежных средств

Для ввода формул определения ежедневных оборотов денежных средств запишите макрос ФормулыЗаполненияПлатежногоКалендаря, предварительно введя следующие формулы. В ячейке ВА10 формула:

=ЕСЛИ(МЕСЯЦ(ИсхДанные!D10)=$D$2;ЕСЛИ(ДЕНЬ(ИсхДанные!D10)=$BA$1;ИсхДанные!C10;0);0)

которая сначала определяет, соответствует ли номер месяца в дате, находящейся в ячейке D10 рабочего листа ИсхДанные номеру месяца, введенному в ячейку D2 рабочего листа ПК. При выполнении этого условия проверяется следующее условие - соответствует ли номер дня месяца этой даты номеру дня месяца, вводимого в ячейку ВА1 рабочего листа ПК. При выполнении этих условий формула возвращает наименование проводимой операции, введенной в ячейку D10 рабочего листа ИсхДанные. В противном случае формула возвращает значение 0.

Формула в ячейке ВВ10:

=ЕСЛИ(BA10=0;0;СУММ(ИсхДанные!I10:J10))

проверяет результат вычисления формулы в ячейке ВА10. Если результат не равен нулю, то формула суммирует значение поступления и списания денежных средств по этой операции, содержащихся в ячейках I10:J10 рабочего листа ИсхДанные. Суммирование значений доходных и расходных статей объясняется тем, что в ячейках I10:J10 значения одновременно содержаться не могут. Это должно обязательно учитываться при формировании таблицы на листе ИсхДанные, ведь иначе такая запись не будет иметь никакого смысла.

Формула в ячейке ВС12:

=СУММЕСЛИ($BA$10:$BA$5000;$C12;$BB$10:$BB$5000)

суммирует обороты движения денежных средств в области ячеек ВВ10:ВВ5000 за номер дня месяца, введенного в ячейку ВА1 и при условии, что текст наименования статьи в ячейке С12 идентичен тексту наименования статьи в области ячеек ВА10:ВА5000.

Запись макроса заключается в последовательном вводе этих формул в диапазоны ячеек BC12:BC79, ВА10:ВА5000 и ВВ10:ВВ5000.

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

Цикл заполнения платежного календаря ежедневными оборотами движения денежных средств

Основным элементом автоматического заполнения платежного календаря ежедневными оборотами ДДС является цикл For-Next. Последовательность выполняемых циклом операций в подпрограмме ЗаполнениеПлатежногоКалендаряПоДатам (рис. 21.5.) следующая:

  • предварительно переменной Row (номер строки) присваивается значение 12, что соответствует номеру строки, с которой начинает формироваться текст наименований статей управленческого учета;
  • задается выполнение циклов от 1 до 31, что соответствует максимальному количеству дней в месяце;
  • переменной Х присваивается значение равное его предыдущему значению, увеличенному на единицу. Значение Х не было задано и в начале выполнения цикла оно будет равно нулю;
  • текущее значение переменной Х присваивается ячейке ВА1 (номер дня месяца), по которой будет производиться выборка данных ранее введенными формулами в диапазоне ячеек ВА10:ВА5000;
  • задается перерасчет введенных формул;
  • копируется содержимое диапазона ячеек BC12:BC79, формулы которых возвращают различные значения при изменении значения ячейки ВА1;
  • определяется ячейка в рабочей области платежного календаря с адресом на пересечении номера строки (Row) и номера столбца, равного значению 3 (столбцы А:С), увеличенному на значение переменной Х. Строка кода VBA Cells(Row, 3 + X). В эту ячейку производится вставка значений скопированного диапазона BC12:BC79. Переменная Х с каждым циклом увеличивается на единицу и происходит с каждым циклом переход на одну ячейку правее - D12. E12, F12, G12 и т.д. Переменную Row в этой подпрограмме можно не использовать, а просто указать значение 12, но так нагляднее.

Ввод дат и сальдо на начало дня

Задачей макроса КалендарьДатыСальдо (рис. 21.7.) является ввод формул:

  • определения номера года, в котором может находиться вводимый в ячейку D2 номер месяца;
  • даты, за которую производятся ежедневные расчеты в платежном календаре;
  • остатков денежных средств на начало каждого дня.

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

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

Несмотря на кажущуюся сложность, задача довольно проста и определяется одной формулой, по критериям: заданный временной диапазон и значение номера месяца. Формула определения номера года в ячейке D3:

=ЕСЛИ(ИЛИ(ГОД(МИН(СуммПотоки!B3:B200))=ГОД(МАКС(СуммПотоки!B3:B200));МЕСЯЦ(МИН(СуммПотоки!B3:B200))

в первом аргументе функции ЕСЛИ функция ИЛИ проверяет два условия:

  • равен ли максимальный год в области дат на рабочем листе СуммПотоки минимальному номеру года в том же диапазоне. Простыми словами - будет ли в этом интервале встреча Нового года?;
  • больше или равен минимальный номер месяца в этой же области дат номеру месяца в ячейке D2.

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

Формула формирования даты в ячейке D6:

=ЕСЛИ(ЕОШ(СЦЕПИТЬ(D7;".";$D$2;".";$D$3)*1);0;СЦЕПИТЬ(D7;".";$D$2;".";$D$3)*1)

с помощью функции СЦЕПИТЬ соединяет в единое целое день (ячейка D7), месяц (ячейка D2) и год (ячейка D2). Алгоритм вычислений таких формул описан в главе 7. Цикл заполнения платежного календаря предполагает, что в месяце 31 день. Следовательно, как в нашем примере, если формировать календарь за февраль, в котором 28 дней, то, в этом месяце, начиная с 29-го числа, будет возвращаться значение ошибки #ЗНАЧ. Поэтому функцию СЦЕПИТЬ в первом аргументе функции ЕСЛИ проверяет функция ЕОШ, которая при обнаружении ошибки возвратит значение ИСТИНА. В таком случае функция ЕСЛИ возвратит значение 0, в противном - значение даты в формате Excel, созданной функцией СЦЕПИТЬ.

По этой дате формулой в ячейке D9 определяется остаток денежных средств на начало дня, используя остаток денежных средств в таблице денежных потоков на рабочем листе СуммПотоки:

=ЕСЛИ(ЕНД(ВПР(D6-1;СуммПотоки!$B$3:$E$200;4;ЛОЖЬ));0;ВПР(D6-1;СуммПотоки!$B$3:$E$200;4;ЛОЖЬ))

Основная функция поиска данных формулы - функция ВПР. При отсутствии даты в диапазоне поиска, для устранения возвращаемого формулой значения ошибки, в первом аргументе функции ЕСЛИ применена функция ЕНД. А функция ЕСЛИ выбирает - при отсутствии даты, возвращает значение 0, в противном случае значение остатка денежных средств на заданную дату, найденное функцией ВПР.

Запись макроса КалендарьДатыСальдо заключается в последовательном вводе этих формул в ячейки D3, D6:AH6 и D9:AH9 и последующем редактировании кода VBA после записи макроса.

Рис. 21.7. Подпрограмма КалендарьДатыСальдо

Итоговые расчеты платежного календаря

Подпрограмма КалендарьИтоговыеРасчеты (рис. 21.8.) довольно проста и заключается во вводе всех суммирующих формул в соответствующие диапазоны ячеек. В заключение подпрограмма выделяет весь рабочий лист и заменяет формулы на значения, после чего вводит в ячейку С1 формулу определения текущей даты и времени.

Рис. 21.8. Подпрограмма КалендарьИтоговыеРасчеты

Полный цикл заполнения платежного календаря

Для того чтобы все операции по заполнению платежного календаря происходили автоматически, напишите подпрограмму ЗаполнениеПлатежногоКалендаря (рис. 21.9.). Эта подпрограмма состоит из имен записанных ранее макросов, выполняющих заданные им процедуры расчетов. Для запуска макроса на выполнение создайте кнопку Заполнение платежного календаря (рис. 21.2.) и назначьте ей созданную подпрограмму.

Рис. 21.9. Подпрограмма ЗаполнениеПлатежногоКалендаря

Полный цикл расчета денежных потоков

Для полного расчета всей модели от перерасчета данных на листе ИсхДанные до расчета кредитной линии и заполнения платежного календаря запишите подпрограмму ПолныйРасчетДенежныхПотоков (рис. 21.10.), которая осуществляет весь цикл расчетов, описанный в главах создания модели ДенежныеПотоки. Запуск подпрограммы на выполнение поручите кнопке Полный расчет денежных потоков (рис. 21.2.).

Рис. 21.10. Подпрограмма ПолныйРасчетДенежныхПотоков полного расчета модели денежных потоков

Подпрограмма перепоручает созданным ранее процедурам УточненныйРасчетКредитнойЛинии (рис. 20.12.) и ЗаполнениеПлатежногоКалендаря (рис. 21.9.) выполнение всего цикла вычислений с момента перерасчета таблицы на листе ИсхДанные до заполнения платежного календаря. Кроме этого подпрограмма дополнена сервисными функциями:

  • таймером, фиксирующем время выполнения всего цикла расчета;
  • диалоговым окном, всплывающем при окончании вычислений;
  • сворачиванием окна Excel на все время выполнения вычислений и последующем восстановлении его на весь экран по завершению выполнения подпрограммы.

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

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

X = Application.Round((Timer - X), 0)

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

Создание диалогового окна с помощью функции MsgBox

О возможности создания в Excel пользовательских диалоговых окон с помощью Редактора Visual Basic было написано в главе 5 (рис. 5.16.). Рассмотрим создание и применение диалогового окна с помощью функции MsgBox. Функция MsgBox выводит на экран диалоговое окно, содержащее сообщение и устанавливает режим ожидания нажатия кнопки пользователем.

Синтаксис функции:

MsgBox(prompt[, buttons] [, title] [, helpfile, context])

содержит следующие основные именованные аргументы:

  • prompt - обязательный аргумент. Это строковое выражение, отображаемое как сообщение в диалоговом окне. Максимальная длина строки prompt составляет приблизительно 1024 символов и зависит от ширины используемых символов.
  • buttons - необязательный аргумент. Это числовое выражение, представляющее сумму значений, которые указывают число и тип отображаемых кнопок, тип используемого значка, основную кнопку и модальность окна сообщения. Для получения справки по этому аргументу поместите курсор на эту функцию и нажмите клавишу F1 для вызова справки Редактора Visual Basic. Значение этого аргумента по умолчанию равняется 0.
  • title - необязательный аргумент. Это строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот аргумент опущен, в строку заголовка помещается имя приложения, например, Microsoft Excel.

В нашей подпрограмме в строке кода VBA:

MsgBox "Полная продолжительность расчета - " & X & " секунд(а/ы)", 0, "Модель прогнозирования движения денежных потоков"

у функции MsgBox имеются следующие аргументы:

  • prompt - отображаемое текстовое сообщение, содержащее текст - Полная продолжительность расчета, затем значение переменной - X и текст - секунд(а/ы);
  • buttons - присвоено значение 0, что говорит о том, что количество отображаемых кнопок одно - отображается только кнопка OK;
  • title - текстовое выражение, отображаемое в строке заголовка диалогового окна: Модель прогнозирования движения денежных потоков.

Рис. 21.11. Созданное диалоговое окно Модель прогнозирования движения денежных потоков для отображения времени расчета модели и показывающее окончание проведения расчетов

Сворачиванием окна Excel на все время выполнения вычислений

Полный цикл расчета модели может длиться более одной минуты, и для того чтобы это не утомляло глаза при расчете параметров кредитной линии, применялось отключение обновления экрана (рис. 20.12.). Более эффективный способ - сворачивание окна Excel на время выполнения процедуры вычисления. Поэтому допишите две строчки кода VBA. В начале подпрограммы:

Application.WindowState = xlMinimized

и в конце:

Application.WindowState = xlMaximized

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

Итоги

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

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

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

Регистрация ООО