Пошаговая инструкция
Поставка увеличивает складской остаток и одновременно хранит доказательство закупки. Важно заполнять ее как реальный документ: выбрать правильный склад, поставщика, продукт, количество, цену, налог и оплату только если деньги действительно списываются.
Сначала пройдите walkthrough. Точки показывают, куда нажимать; видео показывают раскрытие списков, загрузку инвойса, поиск продукта, ввод количества и цены, добавление строки, налог и оплату.
Что заполнять на этом экране
Список поставок
Как заполнять: Откройте Supplies и сначала проверьте, нет ли уже такого документа приемки.
Зачем: Дубликаты поставок удваивают складской остаток и ломают сверку с поставщиком.
Добавление поставки
Как заполнять: Нажмите Add, чтобы открыть форму Supply и получить новый документ приемки.
Зачем: Поставка должна создаваться как отдельный документ, а не как ручная правка остатков.
Дата поставки
Как заполнять: Проверьте дату документа. Если приемка была в другой день, укажите фактическую дату.
Зачем: Дата влияет на историю склада, отчеты закупок, налоги и сверку с поставщиком.
Склад
Как заполнять: Откройте список Storage и выберите склад, куда физически пришел товар.
Зачем: Именно этот склад получит увеличение остатка.
Поставщик
Как заполнять: Откройте список Supplier и выберите реального поставщика из справочника.
Зачем: История закупок, контакты, претензии и отчеты должны ссылаться на правильного поставщика.
Валюта
Как заполнять: Откройте список Currency и проверьте валюту счета поставщика.
Зачем: Суммы документа и финансовая операция должны быть в одной валюте.
Инвойс
Как заполнять: Нажмите Upload invoice и загрузите фото или файл счета.
Зачем: Инвойс подтверждает поставщика, товары, количество, цену и налог.
Выбор продукта
Как заполнять: Откройте Select product, введите название товара или ингредиента и выберите нужную строку.
Зачем: Только существующий продукт может корректно увеличить складской остаток.
Количество
Как заполнять: Введите количество в единице измерения, указанной у продукта.
Зачем: Количество напрямую увеличивает остаток на складе.
Цена
Как заполнять: Введите цену за одну единицу из счета поставщика.
Зачем: Цена нужна для себестоимости, закупочной истории и сравнения поставщиков.
Сумма строки
Как заполнять: Проверьте автоматический Total перед добавлением строки.
Зачем: Так проще поймать ошибку в количестве или цене до сохранения документа.
Добавить строку
Как заполнять: Нажмите Add после выбора продукта, количества и цены.
Зачем: Пока строка не добавлена, она не считается частью поставки.
Налог
Как заполнять: Введите налог из счета поставщика, если он есть.
Зачем: Налог нужен для финансовых отчетов и точной сверки общей суммы.
Оплата
Как заполнять: Включайте Payment только если поставка оплачена сразу или должна создать финансовую операцию.
Зачем: Приемка товара и оплата поставщику связаны, но это разные события.
Сумма оплаты
Как заполнять: Введите сумму оплаты, обычно subtotal плюс tax.
Зачем: Сверка финансов должна показывать, сколько реально оплачено поставщику.
Счет оплаты
Как заполнять: Откройте Settlement account и выберите кассу, банк или другой счет, с которого ушла оплата.
Зачем: Деньги должны списаться с правильного финансового счета.
Комментарий оплаты
Как заполнять: Добавьте короткий комментарий, например Оплата по инвойсу при приемке.
Зачем: Комментарий объясняет финансовую операцию, не смешивая ее с товарными строками.
Сохранение
Как заполнять: Нажмите Save после проверки склада, поставщика, валюты, инвойса, строк товаров, налога и оплаты.
Зачем: Только сохраненная поставка становится источником для склада, закупок, финансов и отчетов.
Проверка строки
Как заполнять: Вернитесь в список Supplies и проверьте сумму, налог, склад, поставщика и товары.
Зачем: Строка в списке подтверждает, что документ записан и загрузился обратно из базы.
Частые ошибки
- Сохранять поставку без добавленных товарных строк.
- Выбирать не тот склад и увеличивать остаток в неправильном месте.
- Выбирать не того поставщика или создавать дубль поставщика.
- Вводить количество в другой единице измерения, чем указано у продукта.
- Вводить итог инвойса как цену за единицу.
- Забывать налог, если он есть в счете поставщика.
- Включать Payment для неоплаченной поставки и случайно создавать расход.
- Выбирать неправильный счет оплаты.
- Загружать инвойс, но не сверять его с товарными строками.
- Править supplies напрямую в Supabase и не обновлять связанные маркеры загрузки.
Техническая таблица для AI-агентов
Этот блок расположен ниже пользовательской инструкции. Он нужен поддержке, автоматизациям и будущим AI-агентам, которые будут объяснять склад, закупки, финансы и причины расхождений.
| Поле | Хранится как | Назначение | Почему важно |
|---|---|---|---|
| ID поставки | supplies.id / SupplyStruct.ID | Уникальный идентификатор документа приемки. | Нужен для связи склада, инвойса, оплаты, отчетов, поддержки и AI-агентов. |
| Компания | supplies.company | Компания, которой принадлежит поставка. | Не дает документам одной компании попасть в складской процесс другой компании. |
| Дата поставки | supplies.date / SupplyStruct.Date | Дата и время приемки или учета счета. | Используется в истории склада, налоговом периоде, закупках и сверке поставщика. |
| Поставщик | supplies.supplier / SupplyStruct.Supplier | ID профиля поставщика из Firestore. | Связывает приемку с контактами, счетами, претензиями и историей закупок. |
| Склад | supplies.storage / SupplyStruct.Storage | Склад, куда пришли товары. | Определяет, где увеличится остаток. |
| Сотрудник | supplies.employee / SupplyStruct.Emplyy | Сотрудник или пользователь, который создал приемку. | Нужен для ответственности и аудита. |
| Валюта | supplies.currency / SupplyStruct.Currency | Валюта инвойса и строк поставки. | Финансовые отчеты и сверка требуют явной валюты. |
| Инвойс | supplies.images / SupplyStruct.Image[] | Загруженные изображения или файлы счета в Supabase Storage. | Доказывает количество, цены, налог и условия поставщика. |
| Строки товаров | supplies.items[] / SupplyStruct.Items[] | Список товаров или ингредиентов, принятых в поставке. | Склад увеличивается только по добавленным строкам. |
| ID строки | supplies.items[].ID | Уникальный ID строки поставки. | Позволяет ссылаться на конкретную строку при аудите и объяснениях. |
| Дата строки | supplies.items[].date | Дата движения товара внутри строки. | Сохраняет историю движения товара вместе с датой поставки. |
| Тип движения | supplies.items[].Type = + | Направление складского движения. | Поставка должна увеличивать склад; это не списание, не продажа и не перемещение. |
| Продукт | supplies.items[].Product | ID товара или ингредиента. | Это конкретная номенклатура, чей остаток увеличивается. |
| Количество | supplies.items[].Gross | Принятое количество в единице продукта. | Определяет новый складской остаток. |
| Единица | products.unit_of_measurement | Единица измерения продукта: kg, pcs, l и другие. | Без единицы число невозможно правильно интерпретировать. |
| Цена за единицу | supplies.items[].Price | Цена поставщика за одну единицу. | Используется для закупочной стоимости и маржинальности. |
| Сумма строки | supplies.items[].amount | Количество, умноженное на цену. | Формирует subtotal поставки и сверяется с инвойсом. |
| Налог | supplies.tax / SupplyStruct.Tax | Налог по счету поставщика. | Нужен для финансов, налогов и точного total. |
| Subtotal | supplies.amount | Сумма строк до налога. | Используется в списке поставок и закупочных отчетах. |
| Итого с налогом | supplies.amount + supplies.tax | Операционная сумма для сверки с инвойсом и оплатой. | Это итог, который менеджер сравнивает со счетом поставщика. |
| Переключатель Payment | Supply form switchCustomModel.yorN | Создавать ли финансовую операцию вместе с поставкой. | Позволяет принять товар без немедленной оплаты или сразу записать расход. |
| ID транзакции | supplies.transaction_id / SupplyStruct.Transaction | Связанная финансовая операция, если Payment включен. | Соединяет складскую приемку с расходом денег. |
| Сумма транзакции | transactions.amount | Оплаченная сумма поставщику. | Обычно равна сумме поставки с налогом, если оплата полная. |
| Счет списания | transactions.from_account | Финансовый счет, с которого оплачена поставка. | Касса, банк и другие счета должны сходиться в отчетах. |
| Комментарий транзакции | transactions.comment | Короткое объяснение оплаты. | Помогает понять расход без изменения товарных строк. |
| Категория транзакции | transactions.category = Supply | Финансовая категория оплаты поставки. | Отделяет закупки от зарплат, переводов, возвратов и других расходов. |
| Статус | supplies.status / SupplyStruct.Status[] | Статус или история документа поставки. | Может использоваться для согласований, аудита и будущей автоматизации. |
| Создано | supplies.created_at | Время записи документа. | Полезно для аудита и диагностики. |
| Кэш приложения | FFAppState().Supply | Локальный список поставок в интерфейсе. | После backend-правок приложение должно перезагрузить данные. |
| Маркеры обновления | company.loadproduct / loadstorage / loadsupplier / loadaccount | Timestamp-маркеры для перезагрузки связанных справочников. | При нативных изменениях форма должна увидеть продукты, склады, поставщиков и счета. |