Перейти к содержанию

Выставление счетов по контрактам

Служба, которая превращает контракты в счета-фактуры или счета клиентам — что именно, решает переключатель «Создать» в самом контракте. Она проходит по утверждённым контрактам, для каждого считает дату очередного счёта и создаёт все счета, приходящиеся на заданный период. Это та самая «абонплата, выставляющаяся сама» — только запускать её можно и руками, и по расписанию.

Где искать: Модули → Счета клиентам → Обслуживание → Выставление счетов по контрактам

Меню: Модули → Счета клиентам → Обслуживание → Выставление счетов по контрактам.

Разбор на примере

Окно службы

«Период» — главный параметр: до какой даты выставлять счета этого прогона. Служба создаёт счета за все ещё не выставленные периоды контракта, дата которых не позже конца «Периода», — и те, что должны были появиться раньше его начала, тоже. Если контракт ежемесячный, а период охватывает два месяца, будет два счёта сразу.

Остальные поля — сужение, все необязательные:

  • «Категория клиента» и «Классификация» — обработать только контракты клиентов этой категории или классификации;
  • «Клиент» — контракты одного клиента;
  • «Отдел» — контракты своего отдела;
  • «Контракт» — один конкретный контракт.

Кнопка «Выполнить» — прогон сейчас; «По расписанию» — поставить в расписание заданий. Типичный боевой режим — ежедневный прогон с периодом «сегодня»: тогда счета появляются ровно в рассчитанные даты. По расписанию период каждый раз сдвигается: длина та же, что при постановке, а заканчивается он днём запуска.

После прогона служба показывает итог «Обработано: …, пропущено: …, ошибок: …»; если часть периодов оставлена менеджеру — ещё строку «Периодов не выставлено, нужна проверка менеджера (см. задачи): …», а на каждую ошибку — строку «Контракт №…: причина».

Что она делает с каждым контрактом

  1. Берёт только утверждённые (OK) контракты, чей срок действия пересекается с периодом прогона, и в которых есть хоть одна строка.
  2. Считает дату очередного счёта от границы периода контракта: «до периода» — минус столько-то дней, «после периода» — плюс.
  3. Если дата не позже конца периода прогона, а документа за этот период ещё нет, — создаёт документ, выбранный в контракте переключателем «Создать» («Счета-фактуры» или «Счета клиентам»): строки и условия оплаты из контракта, в счёте-фактуре — ещё и срок оплаты по этим условиям, счёт продаж из контракта (пустой — из условий), а «Обновлять склад» — по настройке «Списывать склад по сч/ф». Документ не утверждён — провести его должны вы. Период уже покрыт, если есть документ, связанный с этим контрактом, с датой в пределах периода, — тогда служба его пропускает.
  4. Если связанного документа нет, но за период есть документ того же вида тому же клиенту, не связанный ни с одним контрактом и хотя бы с одним товаром контракта (похоже, бухгалтер выставил его руками), служба нового не создаёт: «Продавец» контракта (а если его нет — тот, кто запустил службу) получает задачу проверить этот документ. Повторный прогон новой задачи на тот же период не заводит.
  5. Пишет в контракт дату последнего счёта и сдвигает внутренний якорь на следующий период. Поэтому повторный прогон дубликатов не делает: всё, по что уже выставлено, пропускается.
  6. Связывает документ и контракт ссылками в обе стороны. Если какой-то из ранее созданных документов удалили — прогон заметит дыру и воссоздаст документ (по тому же правилу: ручной документ без связи не дублируется, а уходит менеджеру).
  7. Каждый контракт обрабатывается отдельно: ошибка в одном откатывает только его документы этого прогона, остальные контракты выставляются.

Типичные ситуации

  • «Обработано: 0», хотя контракты есть. По порядку: стоит ли в контракте OK; есть ли у него строки; пересекается ли срок действия с периодом прогона; не сузили ли вы прогон фильтром (клиент, отдел, категория); не покрыт ли период уже связанным документом и не оставлен ли менеджеру — тогда в итоге есть строка о проверке менеджера, а у него — задача.
  • Ждали счёт, а его нет. Посмотрите на дату: при «до периода» с N днями счёт за следующий месяц появляется за N дней до его начала — возможно, он просто ещё не «наступил». Расширьте период прогона и повторите.
  • Счетов слишком много. Период прогона охватил несколько периодов контракта — это штатно: служба довыставляет всё, что пришлось на даты до конца указанного периода, в том числе пропущенное раньше.
  • Счёт создался, но не проводится сам. Так и задумано: служба готовит документы, а утверждение оставляет человеку.
  • Отказ о регистре, общем с другой компанией. Если контракты ваша компания берёт в общее пользование у другой, служба откажет: счета по общим контрактам выставляет только компания, которой они принадлежат.

Рядом