РазработкаЗащита оплатыПодробнее
- Доработки в рамках пакета бесплатны.
- Если вы не ответите в течение 3 дней после сдачи, работа будет принята автоматически.
При оплате деньги резервируются и переходят сервису, только когда вы примете работу.

Пример результата
Сводный отчёт в Excel из ежемесячных продаж 9 магазинов
Как его запускают
python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO Папка: sales/2026-10, найдено файлов: 9
2026-11-02 09:14:03 INFO shop-01.csv: 1284 строки
2026-11-02 09:14:04 INFO shop-02.xlsx: 967 строк
2026-11-02 09:14:04 WARN shop-07.csv: пропущены 3 строки без цены (строки 88, 412, 913)
2026-11-02 09:14:05 INFO Готово: 10 412 строк -> report-2026-10.xlsx (листы «Продажи» и «Итоги»)
Настройки, а не код
Названия столбцов каждого магазина лежат в settings.ini. Новый магазин или переименованный столбец — это одна строка там:
[columns]
date = Дата, Дата продажи, День
product = Товар, Наименование, Название
quantity = Кол-во, Количество, Шт
price = Цена, Цена за шт
Фрагмент кода
def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
"""Читает файл одного магазина и даёт столбцам названия из отчёта."""
table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
renamed = {}
for name, variants in columns.items():
found = next((c for c in table.columns if c.strip() in variants), None)
if found is None:
raise ReportError(f"{path.name}: нет столбца «{name}» (искали: {', '.join(variants)})")
renamed[found] = name
table = table.rename(columns=renamed)[list(columns)]
table["shop"] = path.stem
return table
Файлы: ZIP-архив с merge_sales.py (310 строк), settings.ini, requirements.txt и README: как установить Python, как запустить скрипт и что значит каждое сообщение в журнале. Клиент запускает скрипт на своём компьютере.
Клиент: небольшая сеть из 9 магазинов канцтоваров. Каждый магазин присылает продажи за месяц в CSV или Excel, и названия столбцов у всех немного разные. Задача: скрипт, который читает все файлы из папки, приводит столбцы к одному виду и сохраняет один отчёт в Excel: все продажи и отдельный лист с итогами по магазинам.
Клиент и все данные вымышлены.
Об услуге
Google Merchant Center умеет читать товары прямо из Google Таблицы, но только со своими полями: id, title, description, link, image_link, availability, price с кодом валюты, brand, gtin и так далее. Этот скрипт Google Apps Script берёт вашу таблицу товаров, устроенную так, как удобно вам, и собирает отдельный лист «Фид» в нужном формате: пишет цены как 1990.00 RUB, превращает «В наличии» или 0 в слова, которые принимает Merchant Center, укорачивает названия до его ограничения длины и, начиная со «Стандарта», выписывает строки без ссылки, картинки или цены ещё до отправки. Лист «Фид» вы подключаете в Merchant Center сами. Сведения берутся из вашей таблицы и должны совпадать с сайтом; Google проверяет каждый товар, поэтому одобрение не может пообещать никто.
Что входит
- Что вы получитеАрхив ZIP с кодом Apps Script и README, где показано, как подключить его к таблице и добавить лист «Фид» в Merchant Center; код также виден на странице заказа.
- Поля Merchant Centerid, title, link, image_link, price, availability и другие
- Ваша таблица без измененийФид собирается на отдельном листе
- Принимаемые значенияЦены с валютой, наличие его словами
- Проблемы до отправкиНачиная со «Стандарта», строки без обязательных полей выписываются
- Понятный кодС комментариями, поле легко добавить потом
Порядок работы
- 1ТаблицаВы присылаете столбцы таблицы товаров, страну и валюту магазина
- 2КодМы пишем скрипт и инструкцию по установке
- 3ПроверкаВы собираете фид и подключаете его в Merchant Center
- 4ПравкиВы просите правки в рамках пакета и присылаете текст ошибки, если она есть
Что нужно от вас
Названия столбцов таблицы товаров и 10-20 строк (из настоящего каталога или выдуманных), страна и валюта продаж, как показано наличие (числом, «В наличии», «Да» или «Нет»), и есть ли у товаров размеры или цвета отдельными строками. Бренды и штрихкоды (GTIN), если есть, сведения о доставке и налогах, если Merchant Center просит их в фиде, и есть ли у вас доступ к таблице на редактирование в вашем аккаунте Google.
В брифе мы спросим:
- Как выглядит ваша таблица товаров?
- Где вы продаёте?
- Есть ли у товаров варианты?
Сравнение пакетов
| Пакеты | ЭкономЛист с фидом16 $ | СтандартФид с настройками33 $ | БизнесПрограмма для фида67 $ |
|---|---|---|---|
| Срок | 1 день | 2 дня | 3 дня |
| Доработки | 1 | 2 | 3 |
| Код | до 150 строк | до 400 строк | до 1000 строк |
| Файлов кода | 1 | до 3 | до 8 |
| Файл настроек | Нет | Да | Да |
| Понятные ошибки и журнал работы | Нет | Да | Да |
| Параметры запуска и инструкция для запуска по расписанию | Нет | Нет | Да |
| Инструкция по установке и запуску (README) | Да | Да | Да |
| Язык | Google Apps Script | Google Apps Script | Google Apps Script |
| Заказать Эконом | Заказать Стандарт | Заказать Бизнес |
Защита оплаты
Вы оплачиваете заказ сразу, но деньги переходят сервису только за принятую работу.
- Фиксированная ценаЦена пакета не меняется после оплаты.
- Деньги резервируютсяПри оплате сумма только резервируется. Сервису она переходит, когда вы примете работу.
- Проверка перед сдачейКаждый результат проходит проверку качества, прежде чем попасть к вам, и вы видите его на странице заказа до приёмки.
- Бесплатные доработкиПросите изменения в рамках брифа столько раз, сколько предусмотрено пакетом.
- Приёмка через 3 дняЕсли в течение 3 дней после сдачи вы не примете работу и не попросите изменений, она будет принята автоматически. Если после сдачи вы напишете в чат заказа, заказ подождёт; ответив, мы можем начать отсчёт 3 дней заново и сообщим об этом в чате.
- Переделка или полный возвратЕсли результат не соответствует брифу и доработки не помогли или срок превышен больше чем вдвое, напишите в чат заказа: мы переделаем работу или полностью вернём деньги.
Вопросы и ответы
Мои товары одобрят?
Этого мы обещать не можем: Google проверяет каждый товар по своим правилам, включая ваш сайт и его условия. Скрипт приводит фид к формату Merchant Center и показывает недостающие поля, а сведения ваши.
Merchant Center сам обновляет фид?
Merchant Center может забирать фид из Google Таблицы по своему расписанию. Скрипт пересобирает лист «Фид» по кнопке или, по инструкции «Премиума», по триггеру по времени перед этим.
Может он брать товары из моего Shopify или WooCommerce?
Это предложение собирает фид из Google Таблицы. Если товары в магазине, сначала выгрузите их в таблицу; загрузка через API магазина это отдельная задача.
Вы получите доступ к Merchant Center?
Нет. Скрипт вы подключаете к своей таблице, а фид добавляете в своём аккаунте Merchant Center. Мы никуда не заходим.
Не нашли ответ?


