Перейти к основному содержимому

Финансовые операции

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

Кому доступен раздел «Финансы»
РольДоступ к разделу «Финансы»
АдминистраторПолный доступ: просмотр, создание, редактирование, удаление, проводка, связывание.
РуководительПолный доступ (как у администратора).
КлиентТолько просмотр своих операций — тех, где контрагентом указан он сам: счета, выставленные ему, и его оплаты. Операции по его заявке с другим контрагентом (например, счёт перевозчика) ему не видны. Создавать, редактировать и проводить не может.
МенеджерРаздел не отображается.
КладовщикРаздел не отображается.

Дальше в статье у каждого действия указано, кому оно доступно.

Два измерения операции: направление и тип документа​

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

1. Направление (тип операции)​

  • Входящий — документ пришёл к компании: поступили деньги (оплата) или компании выставили счёт (компания должна).
  • Исходящий — документ ушёл от компании: ушли деньги (оплата) или компания выставила счёт (должны ей).

2. Тип документа​

  • Счёт — документ-начисление. Фиксирует обязательство: кто кому должен. Сам по себе денег по кассе не двигает.
  • Оплата — документ-движение денег. Фиксирует факт прихода или ухода денег через конкретный счёт/кассу.

Комбинация этих двух признаков задаёт смысл операции:

Тип документаНаправлениеБизнес-смысл
СчётВходящийНам выставили счёт — мы должны контрагенту (кредиторская задолженность).
СчётИсходящийМы выставили счёт клиенту — клиент должен нам (дебиторская задолженность).
ОплатаВходящийНам поступили деньги (например, клиент оплатил счёт).
ОплатаИсходящийМы заплатили деньги (например, оплатили услуги перевозчика).
Запомните главное

«Счёт» = обязательство, «Оплата» = деньги. От типа документа зависит, что именно изменится при проводке: баланс контрагента, баланс кассы или оба. Подробности — в статье Что значит «провести» операцию.

Из чего состоит операция​

ПолеЧто означает
НомерУникальный числовой идентификатор. Присваивается автоматически и не меняется.
Дата оплатыДата хозяйственной операции (срок/дата платежа). Не путать с датой создания записи. По этой дате считается старение долга.
Тип операцииВходящий или Исходящий — направление (см. выше).
Тип документаСчёт или Оплата (см. выше).
КонтрагентС кем рассчитываемся. Это либо клиент — пользователь системы, либо внешний контрагент из справочника. Заполняется ровно одно из двух.
СтатьяКатегория из справочника статей: «Перевозка», «Аренда склада», «Налоги» и т. п.
Счёт/кассаОткуда/куда идут деньги: расчётный счёт, касса, кошелёк. Выбирается при создании; его валюта становится валютой документа. Используется при проводке оплат (см. ниже).
Сумма и валютаДенежная величина и валюта операции. Валюту задаёт выбранный счёт-касса (отдельно её не выбирают). У счёта сумма складывается из услуг; у платежа вводится вручную.
Остаток (баланс документа)Сколько по документу ещё не закрыто связями. В таблице — колонка «Остаток». У счёта это «остаток к оплате», у платежа — «остаток к разнесению». У проведённого документа изначально равен сумме и уменьшается по мере разнесения (см. Разнесение платежей).
ОплаченСлужебный флаг. Выставляется автоматически: операция считается оплаченной, когда она проведена и её «баланс документа» равен нулю. Вручную не редактируется.
Связанное отправление / заявкаПривязка к конкретной перевозке — нужна для аналитики прибыльности.
ОснованиеСсылка на другую операцию-основание.
КомментарийСвободный текст.
ПроведеноГлавный флаг учёта (см. Что значит «провести»).
Контрагент — либо клиент, либо внешний

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

Детализация счёта по услугам​

У документа типа Счёт есть обязательная табличная часть с услугами — например: «Перевозка — 50 000 ₽» + «Страховка — 5 000 ₽». Каждая строка ссылается на услугу из справочника услуг, у строки указываются количество и цена, а сумма строки считается автоматически. Сумма счёта складывается из строк услуг (поле «Сумма» у счёта только для чтения).

Счёт без услуг сохранить нельзя

В счёте должна быть минимум одна услуга — иначе документ не сохранится (нулевую сумму завести нельзя). Услуги привязаны к валюте: в списке доступны только услуги той валюты, что у выбранного счёта-кассы. Справочник услуг ведут администратор и руководитель — см. Справочники → Услуги.

Цена и сумма — с НДС

Отдельного поля НДС в операции нет: налог определяется счётом-кассой, на который выставлен документ, и выделяется из суммы, а не начисляется сверху. Строка «50 000 ₽» при ставке 22% — это 40 983,61 ₽ без НДС и 9 016,39 ₽ налога. Ставка — пример; берётся та, что стоит у счёта.

Разложение «без НДС / НДС / всего» появляется в печатной форме счёта; там же оно берётся для электронной накладной. Как задаётся режим и ставка — Налоговый режим и ставка НДС.

У документа типа Оплата (Платёж) табличной части по услугам нет — его сумма вводится вручную.

Позиция счёта по тарифу​

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

Кнопка доступна везде, где редактируется табличная часть счёта: в мастере создания операции (шаг «Услуги»), в окне создания счёта из заявки и в карточке счёта в режиме редактирования.

Что подставляется в строку:

Поле строкиОткуда берётся
УслугаУслуга, указанная в самом тарифе (выпадающего списка нет — какая именно услуга добавится, видно в подсказке кнопки).
КоличествоВес или объём заявки: фактическое значение, если оно проставлено, иначе заявленное. При включённом у тарифа объёмном весе берётся бо́льшая из величин «физический вес» / «объём × коэффициент».
ЦенаСтавка тарифа, пересчитанная на одну единицу и сконвертированная в валюту счёта.
СуммаКоличество × цена.
Считает сервер, а не браузер — и по замороженным условиям

Сумма считается по снимку условий тарифа, зафиксированному в заявке в момент выбора тарифа, а не по текущему состоянию справочника: правка прайса не меняет уже выставленные счета. Курс валюты берётся на дату документа (поле «Дата платежа»), а не на сегодня. При сохранении счёта сервер пересчитывает строку заново и сохраняет вместе с ней применённый курс и его дату — чтобы позже можно было объяснить, откуда взялась сумма.

Когда кнопка недоступна — подсказка называет причину:

ПодсказкаЧто делать
«Сначала выберите заявку в счёте»Заполните поле «Заявка» на шаге «Детали».
«В заявке не выбран тариф»Откройте заявку и выберите тариф.
«Не удалось определить услугу тарифа»Тариф недоступен для чтения вашей роли (справочник тарифов доступен менеджеру и выше).
«Валюта услуги тарифа (EUR) не совпадает с валютой счёта (RUB)»Валюта услуги должна совпадать с валютой счёта; валюта самой ставки может быть любой — она конвертируется. Выберите счёт-кассу в нужной валюте или заведите тариф с услугой в этой валюте.

Ещё несколько отказов приходят после клика: «Позиция по этой услуге уже есть в счёте» (дважды одну услугу по тарифу не добавить), а также сообщения расчёта — «в заявке не заполнен вес/объём», «не задан курс EUR на …». Полный список — в разделе Расчёт отправки.

Пересчёта задним числом нет

Изменился фактический вес заявки, курс валюты или сама ставка в справочнике — уже добавленная позиция не меняется. Документ первичен. Нужна другая сумма — исправьте строку вручную либо удалите и добавьте заново (в непроведённом счёте).

Подробно вся цепочка «тариф → заявка → счёт» описана в разделе Тариф в заявке и счёте.

Жизненный цикл операции​

  1. Создание — операция появляется в списке со статусом Не проведено. На балансы не влияет.
  2. Проводка — операция признаётся состоявшейся; пересчитываются балансы (см. Что значит «провести»).
  3. Разнесение (для пары Счёт ↔ Платёж) — платёж закрывает счёт полностью или частично; уменьшается остаток обоих документов (см. Разнесение платежей).
  4. Отмена проводки («распроводка») — балансы откатываются, операция снова становится черновиком.
  5. Редактирование / удаление — возможны только пока операция не проведена (см. раздел ниже).

Создание операции​

Доступно: администратор, руководитель. Клиент создавать операции не может.

Нажмите «Добавить финансовый документ» в левом верхнем углу раздела — откроется пошаговый мастер. Набор шагов зависит от типа документа:

  • Счёт: Основное → Детали → Услуги → Файлы → Итог.
  • Платёж: Основное → Детали → Файлы → Итог (без шага «Услуги»).

Если в компании настроены дополнительные поля, между «Файлами» и «Итогом» добавится шаг «Доп. инфо».

Шаг 1. Основное​

  • Тип документа — Счёт или Платёж.
  • Тип операции — у счёта: «Входящий» / «Исходящий»; у платежа: «Приход» / «Расход».
  • Дата платежа — срок/дата операции.
  • Счёт / касса — выберите счёт-кассу. Его валюта автоматически станет валютой документа — отдельно валюту выбирать не нужно.
Валюту документа задаёт счёт-касса

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

Шаг 2. Детали​

  • Контрагент — клиент-пользователь системы или внешний контрагент из справочника (ровно один).
  • Статья — категория из справочника статей.
  • Сумма — у платежа вводится вручную; у счёта поле «Сумма (из услуг)» только для чтения и складывается из строк услуг (шаг 3).
  • Основание — только у платежа: ссылка на счёт, который этот платёж закрывает (см. Разнесение платежей).
  • Заявка и Отправление — привязка к перевозке для аналитики. Если выбрать заявку, поле «Отправление» блокируется (подставляется отправление заявки).
  • Комментарий — свободный текст.

Шаг 3. Услуги (только для счёта)​

Добавьте услуги кнопкой «Добавить услугу»: выберите услугу, укажите количество и цену — строка посчитает сумму, внизу будет «Всего». Сумма счёта = сумма всех строк. Нужна минимум одна услуга (см. Детализация счёта по услугам).

Рядом есть вторая кнопка — «Добавить по тарифу»: она добавляет строку, посчитанную системой по тарифу заявки (количество, цена и сумма подставляются автоматически). См. Позиция счёта по тарифу.

Шаг 4. Файлы​

Перетащите или выберите файлы (сканы счёта, акта, платёжки). Можно создавать папки. Ограничения: до 50 файлов, до 50 МБ на файл; форматы PDF, DOC, DOCX, XLS, XLSX, JPG, JPEG, PNG, WEBP, HEIC, HEIF.

Шаг 5. Итог​

Сводка по документу и два способа сохранить:

  • «Создать» — сохранить как черновик (Не проведено): на балансы не влияет, можно потом отредактировать и провести.
  • «Сохранить и провести» — сохранить и сразу провести (см. Что значит «провести»).
Создание «на основании»

Платёж удобно создавать прямо из счёта: правый клик по счёту → «Создание на основании» → Платёж. Откроется мастер с уже заполненными полями (контрагент, основание, сумма = остаток к оплате счёта, заявка/отправление, комментарий) — останется проверить и сохранить. Аналогично из платежа можно создать счёт. После проводки такого платежа система сразу предложит разнести его по счёту — см. Разнесение платежей.

Защита от случайных дублей при создании

Чтобы повторный клик по «Сохранить» или сетевой сбой не создали два одинаковых документа, при создании используется механизм идемпотентности. Повтор того же запроса вернёт уже созданную операцию, а не сделает дубль. Подробнее — в разделе «Идемпотентность».

Разнесение платежей по счетам​

Доступно: администратор, руководитель.

Платёж не закрывает счёт «сам по себе» по контрагенту — нужно явно указать, какой платёж гасит какой счёт. Это и есть разнесение (связь платёж ↔ счёт). При разнесении уменьшаются «Остаток к оплате» счёта и «Остаток к разнесению» платежа на сумму связи.

Разнесение ≠ проводка

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

Способ 1. Сразу после создания платежа на основании счёта​

Если вы создали платёж на основании счёта и нажали «Сохранить и провести», система покажет окно «Связать документы?»: счёт (с остатком к оплате) → платёж (с остатком к разнесению), поле «Сумма связи» (по умолчанию — максимально возможная, не больше меньшего из остатков) и кнопки:

  • «Связать» — разнести платёж на счёт на указанную сумму.
  • «Пропустить» — оставить платёж нераспределённым (разнести можно позже).

Платёж, созданный вручную без основания, такого окна не вызывает.

Способ 2. Из карточки документа​

Откройте документ (двойной клик в списке):

  • В карточке платежа — вкладка «Связанные счета» → «Связать документ»: в списке непогашенные счета этого контрагента.
  • В карточке счёта — вкладка «Связанные платежи» → «Связать документ»: в списке платежи этого контрагента с нераспределённым остатком.

Укажите сумму связи и подтвердите. Ненужную связь можно удалить — остатки вернутся.

Правила разнесения​

  • Связываются документы одной компании, одной валюты и одного контрагента, и оба должны быть проведены.
  • Сумма связи ≤ остатка к оплате счёта и ≤ остатка к разнесению платежа.
  • Когда «Остаток к оплате» счёта дошёл до нуля — счёт помечается «Оплачен».
  • Один платёж можно разнести на несколько счетов, и несколько платежей — на один счёт.
  • При отмене проводки счёта или платежа все его связи распускаются, а остатки документов возвращаются.
Непогашенные счета попадают в отчёты

Пока счёт не закрыт полностью (счёт не оплачен или платёж не разнесён), его незакрытый остаток учитывается в дебиторке и отчётах по просрочке. Подробнее — Дебиторская задолженность.

Фильтры и поиск​

Список операций можно отбирать по:

  • Типу операции — входящие / исходящие.
  • Типу документа — счета / оплаты.
  • Статусу проводки — проведено / не проведено.
  • Статусу оплаты — оплачено / не оплачено.
  • Дате оплаты — диапазон.
  • Контрагенту, статье, счёту/кассе, валюте.
  • Отправлению, заявке, основанию, автору.

Глобальный поиск работает по всем полям; есть отдельный поиск по комментарию.

Таблица настраивается «под себя»

Как и в Заявках/Отправлениях: колонки можно менять местами, скрывать/показывать (кнопка «Колонки» внизу), менять и сохранять их ширину, сортировать и фильтровать по значениям. Массовое выделение строк показывает суммарные значения по выбранным операциям в разрезе валют и типов документов (счета/платежи).

Детальный просмотр операции​

Двойной клик по строке открывает карточку операции. В шапке — номер, тип («Входящий счёт» / «Исходящий счёт» / для платежа «Поступление» / «Списание») и статус проводки. Состав вкладок зависит от типа документа:

  • Счёт: Документ · Связанные платежи (появляется только у проведённого) · Услуги · Файлы.
  • Платёж: Документ · Связанные счета (только у проведённого) · Файлы.

На вкладке Документ у проведённого документа показан блок суммы:

  • у счёта — «Оплачено X (Y%)» и «Остаток к оплате»;
  • у платежа — «Разнесено X (Y%)» и «Остаток к разнесению».

Внизу карточки — кнопка «Отменить проводку» (у проведённого), вверху — иконки отмены проводки, редактирования (недоступно для проведённого) и закрытия.

Действия из таблицы​

Контекстное меню (правый клик)​

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

  • Редактировать (недоступно для проведённого — сначала отмените проводку).
  • Удалить (помечено «недоступно» для проведённого или связанного документа).
  • Провести операцию / Отменить проводку.
  • Создание на основании → Создать счёт или Платёж на основании выделенного документа (откроется мастер с предзаполненными полями).

Быстрая смена срока оплаты​

Срок оплаты и комментарий можно изменить без отмены проводки. Нажмите на значение в колонке «Срок оплаты до» — откроется окно «Изменить срок оплаты» с полями «Срок оплаты до» и «Комментарий».

Единственная правка для проведённого документа

Это единственное изменение, разрешённое у проведённого документа: меняются только дата оплаты и комментарий. Остальные поля у проведённого недоступны (сначала отмените проводку). Доступно ролям администратор / руководитель.

Редактирование​

Доступно: администратор, руководитель.

Двойной клик по строке открывает карточку операции.

Проведённую операцию редактировать нельзя

Пока операция проведена, её поля редактировать запрещено — система вернёт ошибку «Невозможно редактировать проведенную финансовую операцию. Сначала отмените проводку.» Исключение — быстрая смена срока оплаты и комментария.

Правильный порядок: отмените проводку → внесите изменения → проведите заново. Автоматического «перепроведения» при редактировании нет — балансы откатываются именно на шаге отмены проводки.

Удаление​

Доступно: администратор, руководитель. Удаление необратимо.

Удалить можно только операцию, которая удовлетворяет двум условиям:

  1. Не проведена. Проведённую операцию удалить нельзя — будет ошибка «Невозможно удалить проведенную финансовую операцию. Сначала отмените проводку.» Автоматического отката проводки при удалении не происходит — сначала распроведите вручную.
  2. Не служит основанием стоимости перевозки. Если счёт привязан к этапу перевозки как стоимость (Т5/Т6), сначала уберите эту связь — иначе будет ошибка «Невозможно удалить документ: на него ссылается «Стоимость перевозки (Т5/Т6)». Сначала уберите эту связь.»

При удалении операции также удаляются её прикреплённые файлы.

Удаление вместо сторно

Удаление стирает запись из истории. Для исправления уже сданной отчётности используйте корректировку новой операцией (сторно), а не удаление старой.

Идемпотентность (защита от дублей)​

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

Что это даёт пользователю:

  • Повторный одинаковый запрос (двойной клик, повтор после таймаута, нестабильная сеть) не создаёт дубликат — возвращается результат первого запроса.
  • Если по тому же ключу прислать другие данные, система это распознает и вернёт ошибку конфликта (код 409) вместо тихой перезаписи. Это защищает от незаметного искажения данных.

На практике: если при сохранении «подвисло» — можно безопасно повторить, лишней операции не появится.

Что дальше​