Skip to content
serpico.

Food manufacturing and online sales

A CRM for a Meat Producer's Marketplaces, Orders and Pricing

For a Lviv meat processing producer, we built a single dashboard that brings together feeds, orders, stock, shipping labels and prices from the client's own WooCommerce store and the MauDau and Rozetka marketplaces. The system now has 18 screens, 74 API routes, 6 roles and 5 scheduled automated jobs.

Client
Lviv meat processing producer
Region
Lviv, Ukraine
Timeframe
June 2026 - present
Tech stack
Next.js 16 · React 19 · Tailwind CSS v4 · Supabase · Vercel · WooCommerce · MauDau · Rozetka API · Нова пошта API · Claude API · Bitrix · 1С
screens in the dashboard
18
API routes
74
scheduled automations
5
roles with separate permissions
6
A CRM for a Meat Producer's Marketplaces, Orders and Pricing

Challenge

The producer sells in three places at once: its own WooCommerce online store and the MauDau and Rozetka marketplaces. Each channel has its own seller account, its own feed format, its own order statuses and its own rules for product categories and attributes.

As a result, the team spent time on routine work every day:

  • moving orders and statuses between seller accounts by hand;
  • tracking stock separately so as not to sell items that were out of stock;
  • creating Nova Poshta shipping labels outside the main system;
  • preparing product attributes and translations for listings manually;
  • having no shared view of which operators were processing orders and how quickly.

The client needed a single dashboard showing everything: feeds, orders from all channels, stock, shipping labels and prices. Access was a separate requirement. People with different responsibilities work in the system, so each person should see and change only what they need, and permissions can be granted only within the limits of one's own role.

Another task came up along the way: the company keeps its books in 1C and uses Bitrix, so orders and products had to be passed there using 1C item IDs, without manual matching.

What we did

We built a CRM tailored to the producer's processes on Next.js 16, React 19, Tailwind CSS v4 and Supabase, deployed on Vercel. Security is enforced at the database level through RLS policies, not just in the interface.

Integrations

  • WooCommerce: products and orders from the client's own store.
  • MauDau: product feed and order sync.
  • Rozetka: API integration, marketplace categories and feed.
  • Nova Poshta: shipping labels created right from the order card.
  • Claude API: translating and generating product attributes from XLSX files.
  • Bitrix and 1C: since October 2026, an orders and products API based on 1C item IDs.

Automations

Five jobs run on a schedule with no human involvement: product sync daily at 3:00 AM, order sync at 4:00 AM, price monitoring at 6:30 AM and 7:30 AM, and webhook processing every 5 minutes.

Roles

Six roles: super admin, admin, manager, operator, analyst and viewer. Each role can assign only a limited set of other roles, so a manager cannot grant admin rights to themselves or a colleague.

Team performance analytics

We added something off-the-shelf solutions usually lack: operator performance analytics against the shift schedule, a "last seen online" status and cancellation reasons grouped by the party responsible.

Results

Between June and October 2026, the system grew to 18 screens and 74 API routes, with 341 commits in the repository. The project is not frozen: we keep developing it as the business's needs evolve.

What changed for the team:

  • orders from WooCommerce, MauDau and Rozetka are collected in one place;
  • products, orders and prices update automatically on a schedule, with no manual exports;
  • Nova Poshta shipping labels are created in the same dashboard where the order is processed;
  • attributes and translations for listings are prepared from XLSX files using the Claude API;
  • since October 2026, orders and products can be passed to Bitrix and 1C using item codes;
  • the manager can see how operators work during their shifts and why orders are canceled.

We do not cite sales growth percentages, because the main value of this project is operational: fewer manual steps and a single point of control for all channels.

What makes this project special

Typical CRMs work well with a single store but poorly with several marketplaces, each with its own rules. This system is built specifically around the producer's process: from the feed and Rozetka categories to the shipping label and the handoff to 1C. Operator analytics against the shift schedule and cancellation reasons grouped by the party at fault give the manager answers that usually have to be pieced together from spreadsheets by hand. And enforcing permissions at the database level means that even a bug in the interface will not expose someone else's data to a user.

This CRM also became the foundation for the same client's next product, the Hurtom B2B system.

Published: · Updated:

Questions about this project

How much does it cost to build a marketplace CRM like this?

The price depends on the number of modules, marketplaces and integrations to connect. The biggest factors in scope are non-standard APIs, data exchange with accounting systems such as 1C, and the number of roles with different permissions. We give a precise estimate after reviewing your processes.

How long does it take to launch?

This project started in June 2026 and expanded gradually: as of October it has 18 screens and 74 API routes. We launch working modules in stages, so the team starts using the system before all the integrations are ready.

Which marketplaces and services can be connected?

In this case study, the integrations include WooCommerce, MauDau, Rozetka, Nova Poshta, the Claude API, and an API for Bitrix and 1C. Other services can be added if they have an API or support feeds or webhooks.

How is order and customer data protected?

Access is restricted at the database level through RLS policies in Supabase, not just by hiding buttons in the interface. The system has six roles, and each can grant only a limited set of permissions, so users cannot escalate their own access.

Can the CRM be connected to 1C?

Yes, since October 2026 this system has an orders and products API for Bitrix and 1C. Matching is done using 1C item IDs, so products do not need to be linked manually.

Who owns the code and who supports the system after launch?

We set the terms for code ownership and infrastructure access in the contract before work begins. We continue developing this CRM after launch, adding new modules and integrations as the client needs them.

More case studies

US Baby Food Brand: +546.7% Impressions in Google AI Features
GEO / AI SEOSEO audit

US Baby Food Brand: +546.7% Impressions in Google AI Features

A GEO project for an American plant-based baby food brand. In two months, impressions in Google AI features grew from 168,250 to 1,088,226, and the number of pages with valid structured data increased almost tenfold.

impressions in Google AI features
+546.7%
AI features' share of all impressions
3.4% → 26.1%
Read case study →
Online pharmacy: Google clicks up 10x in a year
SEO ServicesSEO audit

Online pharmacy: Google clicks up 10x in a year

A large drug catalog in a medical niche where Google is especially strict about quality. In a year, search clicks grew from 42 to 449 a month, impressions almost 9x, and the average position rose from 38.5 to 15.2.

Google clicks, August 2025 vs September 2026
10.7x
monthly Google impressions
1,251 → 11,039
Read case study →
Lviv Meat Processing Producer: SEO, Google Ads and a Rozetka Marketplace Launch
SEO ServicesLocal SEOGoogle Ads

Lviv Meat Processing Producer: SEO, Google Ads and a Rozetka Marketplace Launch

Our longest-standing client: a Lviv meat producer with a chain of branded stores. Since February 2024 we have handled SEO, Google profiles for the stores, Google Ads and Shopping, plus the move to marketplaces: a 426-product feed for Rozetka and a fix for a critical stock error.

average Google position, June 2025 vs June 2026
12.6 → 5.5
clicks in June 2026 vs June 2025
+28%
Read case study →

Want results like these?

Tell us about your goals and we'll estimate your project's growth potential.

Free consultation

Tell us about your project and we'll prepare a growth plan