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

Чтобы предприятие вовремя могло выполнять взятые на себя финансовые обязательства, следует избегать кассовых разрывов - недостатка денежных средств, необходимых для финансирования очередных расходов. Начиная с версии 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.

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

Шпаргалка по статье от редакции БУХ.1С для тех, у кого нет времени:

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

2. Доступ к Платежному календарю осуществляется по одноименной гиперссылке из раздела Руководителю в группе Планирование.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Зарплата

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

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

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

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

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

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

Введение

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

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

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

Отсутствие контроля ссылочной целостности – MS Excel не контролирует пользователей, если те хотят удалить значение какой-нибудь ячейки. Можно с этим косвенно бороться установкой защиты ячеек, или макросами, но проблема может проявится в любой момент;
  • Проблема с многопользовательским режимом работы – организовать некое подобие многопользовательского режима в MS Excel можно, если речь идет о двух-трех пользователях, но если пользователей будет больше лучше задуматься о базе данных;
  • Разграничение доступа и конфиденциальность – все пароли в MS Excel очень легко ломаются, при желании даже далекий от ИТ-индустрии человек сможет легко найти несколько таких способов в открытых источниках. Таким образом, к файлу доступ должен даваться только проверенным людям;
  • Повторный ввод данных – в отличии от 1С готовых обработок обмена между MS Excel и клиентом банка не существует, сделать конечно же можно, но дешевле будет доработать используемую Вами базу данных с тем, что бы вести платежный календарь в ней. Впрочем на небольших объемах операций использование обработок значительной экономии трудозатрат не дает;
  • Ограничение на размер базы – большой массив данных MS Excel не потянет, хотя для средних размеров фирмы возможностей MS Excel хватит.
Из всего вышесказанного можно сделать следующий вывод – использование MS Excel для организации платежного календаря допустимо при одновременном соблюдении следующих условий:
  • Объем платежных операций в день не превышает 20-30 документов;
  • С файлом работает не боле трех доверенных лиц;
  • У Вас нет функционала платежного календаря в используемом программном продукте для бухгалтерского или оперативного учета.

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

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

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

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

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

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

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

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

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

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

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

Полная же версия справочника статей ДДС пускай «обитает» на листе «Классификатор статей ДДС».

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Измерения следующие:

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

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

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

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

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

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

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

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

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

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

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

Действия:

Введение

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

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