Проблемы со счетами

Не генерируются Счета/напоминания об оплате

Прежде всего, убедитесь, что в профиле клиента не стоит галочка напротив опции «Уведомления о просрочке» (Overdue Notices), которая предотвращает отправку уведомлений о просроченном счете.

Для отправки уведомлений необходимо наличие соответствующих Email шаблонов, поэтому убедитесь, что в меню Setup > Email Templates присутствуют шаблоны «Invoice Created» и «Overdue Notice».

Такие операции как: создание счетов, отправка напоминаний и модульные команды (остановка/удаление) обрабатываются ежедневным cron job в соответствии с настройками автоматизации. Если данные операции не выполняются, или выполняются только некоторые из них, то cron job работает некорректно.

Начните с проверки лога операций (Utilities > Logs > Activity Log) и убедитесь, что каждый день присутствуют записи о выполнении заданий Cron Job. Если все задачи были выполнены успешно, последней записью о выполнении крона за текущий день будет “Cron Job: Completed”.

  • Если в логах нет записей о выполнении крона, то вы его не настроили или настроили неправильно. Инструкцию по настройке крона можно найти здесь.
  • Если в логах присутствуют записи о выполнении крона, последней из которых является “Cron Job: Running Usage Stats Update”, то крон завис в процессе ежедневного подсчета статистики использования ресурсов. Как правило, эта ошибка вызвана тем, что в настройках WHMCS (Setup > Products/Services > Servers) активен старый сервер, который недоступен по сети. Для решения проблемы нужно удалить или отключить неактивный сервер. Как вариант, в настройках автоматизации (Setup > Automation Settings), можно вообще отключить функцию подсчета ежедневной статистики использования ресурсов.
  • Если в логах присутствуют записи о выполнении крона, но нет записи “Cron Job: Completed”, то выполнение крона было преждевременно прекращено на стороне сервера. Для решения этой проблемы нужно в файле php.ini (на вашем сервере) увеличить значение memory_limit до 64 или 128MB, которого должно быть достаточно для выполнения скрипта. Увеличив значение, проверьте, будут ли приходить уведомления об успешном выполнении крона в течение следующих нескольких дней.

Если после увеличения значения memory_limit крон так и не начнет корректно работать, убедитесь, что в настройках PHP вашего сервера включена опция отображения ошибок, затем включите в WHMCS отладочный режим и запустите крон вручную (откройте в браузере cron.php). На открытой странице должен отображаться код ошибки.

По приведенным ниже ссылкам можно найти наиболее распространенные ошибки:

Счета не выписываются

Счета могут не выписываться по разным причинам, к наиболее очевидным относятся: запрос на отмену услуги и соответствующие статусы продукта (отмененный, удаленный, мошеннический). Что касается доменных счетов, в первую очередь, нужно обратить внимание на опцию «Disable Auto Renew», которая блокирует создание счетов на продление доменов. Также проблемы создания счетов могут быть вызваны некорректной работой крона (этот вопрос рассмотрен выше).

Счет на определенную дату отдельно взятого продукта выписывается системой только один раз. При этом необходимо, чтобы дата следующего платежа (Next Due Date) была не позднее числа, получающегося прибавлением количества дней, заданных в настройках автоматизации (Setup > Automation Settings > Invoice Generation), к сегодняшнему числу. В противном случае счет не будет выписан.

Например, если сегодня 24 декабря, дата следующего платежа (Next Due Date) = 25 декабря, а в Invoice Generation установлено значение 1, то счет будет выписан сегодня. В случае же, если Next Due Date = 26 декабря или позже – счет сегодня не будет выписан.

Если проблема не связана ни с одной из перечисленных выше причин, скорее всего, счет был создан, но потом удален кем-то из сотрудников. В этом случае нужно проверить лог клиентского профиля на наличие записей об удаленных счетах или заказах. WHMCS никогда не выписывает несколько счетов на определенную дату для одного и того же продукта. Чтобы после удаления старого счета выписать новый, необходимо вручную сдвинуть значение Next Due Date в свойствах продукта на 1 день раньше или позже.

Двойные счета/пустые счета

Существует несколько проблем в счетах, обусловленных неправильной настройкой:

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

Эти проблемы вызваны тем, что крон был запущен дважды в одно и то же время, тогда как должен выполняться единственный раз в сутки. Чтобы локализовать проблему, проверьте лог операций (Utilities > Logs > Activity Log) и убедитесь, что у вас только одна запись “Cron Job: Completed” в день. Если таких записей несколько, проверьте настройки планировщика задач на сервере и избавьтесь от лишних команд обращения к cron.php.

К счетам не применяется налог

Если счет не содержит налог, то он не попал в установленную схему налоговых правил. В первую очередь, перейдите в меню Setup > Payments > Tax Rules и убедитесь, что активирована система налогов, а также включены необходимые опции по применению налога (Apply Tax). Если у вас проблема со счетами определенного продукта, убедитесь, что применение налога активировано в настройках самого продукта.

Во-вторых, убедитесь, что в профиле клиента не выбрана опция «Без налога» (Tax Exempt). Данная опция могла быть включена сотрудником вручную или автоматически при использовании модуля VAT Invoicing Addon Module.

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

Несколько счетов за одну и ту же услугу

Несколько счетов за одну и ту же услугу, но с разными платежными датами, могут быть созданы, когда дата следующего платежа услуги находится в прошлом. Такое бывает с услугами, которые были импортированы в систему с помощью «WHM/cPanel importer» или добавлены вручную без указания даты следующего платежа (Next Due Date), значение которой осталось 00/00/0000. Когда платежная дата находится в прошлом, WHMCS выписывает все счета за период с платежной даты по сегодняшнее число, чтобы клиент мог оплатить весь срок пользования услугой.

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