Техническое задание: POS-система на Google Таблицах

Общее описание

Необходимо разработать «тонкий клиент» учетной системы на базе Google Таблиц (Apps Script). В системе будут работать несколько мастерских, в каждой - несколько мастеров. Мастер выполняет услугу, данные автоматически записываются в лист смены с фиксацией времени, суммы дохода и автоматически рассчитанного расхода. Важно: каждая услуга уже содержит встроенную себестоимость, которую не нужно вводить отдельно.

Структура системы

Листы и вкладки

  • Лист сотрудника (личная вкладка мастера). Содержит кнопки типа «Добавить услугу» и выпадающие меню для выбора категории и конкретной услуги. При нажатии данные отправляются в лист смены.
  • Смены (отдельный лист повседневного учета) - одна смена = один день работы мастерской. На каждом листе отображаются: услуга, дата, сумма дохода, сумма расхода, себестоимость (столбец с формулой авторасчета), как результат: Доход = 250 ₽, расход = 22 ₽.
  • Каталог услуг - лист, в котором администратор хранит:
    • Категории (например, «Изготовление ключей»)
    • Услуги (например, «Английский ключ»)
    • Стоимость услуги для клиента
    • Себестоимость (непосредственный расход на услугу, закладка в цену)

Функционал

  • Добавление расхода с подписями - возможно добавить ручной расход (например, «Аренда», «Интернет») за смену.
  • Удаление/возврат - должна быть возможность отменить последнее действие (удалить запись из смены, вернуть взад).
  • Подведение итогов: общая сумма дохода и расхода по смене отображается непосредственно на листе смены.
  • Срезы статистики: возможность вывести сводки за Day — Week — Month, с разбивкой по категориям и по доходам/расходам.

Требования к настройкам

Администратор системы (заказчик) готов предоставить готовые списки всех категорий и услуг сразу перед разработкой. Дополнительно требуется функция редактирования любого пункта в каталоге: меняется название услуги, ее базовая стоимость, категория или привязка.

Модель работы

  • Натурально: нажимается кнопка «Добавить услугу» → последовательный выбор Категория → Услуга → цена заполняется автоматически, запись отправляется в «Смену» данного дня.
  • Рефлекс: за услугу фиксируется—например Иван из Мастерской 1: выпечка английского ключа в 14:23. Доход 250, минус 22 = 228 дохода очищенного.
  • Для прозрачного учета (поштучно) необходимо наличие тайм-штампа для каждой строчки (дата точная время).

Желаемая подача предложения

Прошу прислать вариант архитектуры файлов (имена листов, структуру скрипта) вместе с предварительным решением: каким образом запрограммировать прототип? Ответ или примеры аналогичных решений - строго конфиденциально.