Контракты
Есть продажи разовые: заказ — отгрузка — счёт. А есть отношения, которые длятся месяцами: абонентское обслуживание, аренда, поддержка. Выписывать каждый месяц один и тот же счёт руками — работа, которую система умеет делать сама. Контракт — это документ, в котором записано, что́ вы предоставляете клиенту регулярно, за сколько и с каким ритмом выставлять счета. Дальше служба выставления создаёт счета-фактуры по расписанию, а контракт помнит, до какого момента клиенту уже выставлено.
Где искать: Модули → Счета клиентам → Регистры → Контракты
Реестр живёт в модуле Счета клиентам. Не путайте с соседними Договорами: там — реестр соглашений как документов (номер, срок, сумма, статус), без всякой автоматики. Контракт же — рабочий механизм, из которого рождаются счета.
Разбор на примере

В журнале — номер, утверждение, дата заключения, срок действия и клиент. В демо-компании один контракт: №1 с ООО «Строитель», на год — с 01.02.2027 по 31.01.2028.

Контракт №1: ООО «Строитель», ежемесячное абонентское обслуживание парка электроинструмента за 3 000 грн.
В шапке — номер, клиент и название; «OK» установлен, и это важно: служба берёт в работу только утверждённые контракты. Условия оплаты живут на вкладке «Условия оплаты» — из них посчитается срок оплаты каждого созданного счёта. Там же переключатель «Создать»: «Счета-фактуры» (так по умолчанию) или «Счета клиентам» — что именно будет выписывать служба. Валюта — внизу окна.
В таблице — предмет контракта: услуга «Абонентское обслуживание электроинструмента», количество 1, цена 3 000. Строки устроены как в счёте: код из справочника товаров, описание, количество, цена, скидка. Именно эти строки служба скопирует в каждый созданный счёт — с теми же ценами, скидками и кодами НДС, без пересчёта по прейскуранту. То есть счёт будет таким, каким вы описали его здесь.
Вкладка «Условия» — сердце контракта

Карточка не зря открывается сразу на этой вкладке: здесь определяется ритм.
«Дата начала» и «Дата конца» — срок действия контракта. Периоды служба отсчитывает от даты в поле «Дата начала»; контракт без даты конца считается бессрочным. Две границы, о которых стоит знать:
- Первый прогон выставляет всё прошлое. Нижней границы у службы нет: она выпишет счета за все периоды от даты начала, которые уже наступили. Месячный контракт, заведённый с датой начала год назад, получит за первый прогон счета за весь этот год. Только если за период клиенту уже выписан счёт с товаром контракта (вручную, без привязки к контракту), служба вместо нового счёта ставит задачу менеджеру.
- Конец срока обрывает выставление. Периоды, которые начинаются позже более ранней из заполненных дат — «Дата конца» или «Дата отмены», — служба не выставляет; период, который начинается ровно в день конца, ещё выставляется. В примере ниже (предоплата за 5 дней, конец 31.01.2028) счёта за февраль 2028-го не будет. Сумму последнего периода пропорционально дням не уменьшают.
Снять «OK» можно и раньше — тогда контракт исключён из выставления целиком.
«Период выставления счёта» — единица (Дней или Месяцы) и «Длительность». В примере «Месяцы» + 1: счёт раз в месяц. «Дней» + 14 означало бы каждые две недели, «Месяцы» + 3 — ежеквартально.
«Выставление счёта» — как датировать счёт относительно границ периода: «До начала периода» с полем «Дней» = 5 — за пять дней до начала очередного периода (предоплата: счёт за февраль появится 27 января); «После оконч. периода» — через столько дней, сколько стоит в поле «Дней», после конца периода (постоплата): при месячном периоде с 1 февраля 2028-го и «Дней» = 5 счёт получит дату 5 марта. «Дней» = 0 — счёт ровно в первый день периода («до начала») или в последний («после оконч.»).
«Дата посл. счета» заполняет сама служба: это её память о том, по какую дату клиенту уже выставлено. Пока контракт новый — поле пустое.
Остальные вкладки — заготовка будущего счёта
Большинство полей нижних вкладок служба переносит в каждый счёт, который выпишет по контракту, — но не все. Заполнять их не обязательно, но если у клиента особые условия — задать их лучше здесь один раз, чем править потом каждый счёт.
- «Условия доставки» — условия и способ доставки, прейскурант, счёт продаж, матрица скидок, ставка НДС, объекты аналитики и комментарий переносятся в счёт; «Маршрут» — нет. Прейскурант и матрица скидок работают, когда вы вписываете товар в строки самого контракта: подставляют туда цену и скидку. В счёт цены идут уже из строк, как есть: изменился прейскурант — переоцените строки контракта;
- «Условия оплаты» — условия оплаты, продавец и телефон переносятся; «Офиц. серийный номер» и Email — нет;
- «Адрес сч/ф.» и «Адрес дост.» — куда выставлять и куда везти. Оба устроены одинаково: код адреса из карточки клиента, тип, страна, область, город, улица, дом, этаж, квартира, а внизу — «Представление»: полный текст адреса, который собирается из этих полей сам. Выбор клиента заполняет обе вкладки его основными адресами. Если вкладку «Адрес дост.» оставить пустой, в счёт пойдёт адрес счёта;
- «Партнеры» — поставщик и контактное лицо — остаются в контракте: в счёт они не переносятся.
Адрес доставки в счетах-фактурах, созданных службой, проверяйте. Служба раскладывает его по полям счёта со сдвигом: в поле «Город» попадает название клиента, в поле «Улица» — город, в поле «Дом» — улица, а «Тип адреса» и «Представление» берутся из адреса счёта контракта. Страна, область, этаж и квартира встают на свои места. Область и код адреса счёта в счёт-фактуру не переносятся. В счетах клиентам адрес доставки встаёт на свои места.
Как это работает
- Вы описываете контракт: предмет в строках, ритм на вкладке «Условия», ставите OK.
- Служба выставления счетов (вручную или по расписанию) проходит по утверждённым контрактам и для каждого считает дату очередного счёта.
- На каждую дату, попавшую в период прогона, создаётся счёт-фактура (или счёт клиенту — по переключателю «Создать»): строки — из контракта, дата — рассчитанная, в счёте-фактуре срок оплаты — из условий оплаты. Документ создаётся неутверждённым: проверить и провести его — ваша работа.
- В контракте обновляются «Дата посл. счета» и внутренний якорь следующего периода — поэтому повторный прогон за тот же период дубликатов не создаёт.
Вот счёт, который служба создала из контракта выше, — обратите внимание на дату 27/01/2027 (за 5 дней до начала февраля) и строку, скопированную из контракта:

Связь со счетами
Каждый созданный счёт привязывается к контракту ссылкой — в карточке контракта через меню связей видны все его счета, а в счёте — из какого контракта он родился. Удалили счёт по ошибке — следующий прогон службы заметит пропуск и воссоздаст его.
Рядом
- Выставление счетов по контрактам — служба, которая делает счета
- Договоры — реестр соглашений без автоматики
- Счета-фактуры — что именно создаётся из контракта
- Условия оплаты — откуда берётся срок оплаты счёта