Web · Node.js · Parsing · MoySklad · ERP/CMS · Automation
Datagon — price parsing and matching
Internal Datagon web service: competitor price parsing, catalog sync from Bitrix/Webasyst, smart SKU matching, and export to MoySklad. Live — p.datagon.ru.
About the client
Datagon (p.datagon.ru) is a panel for e-commerce teams: which competitor, which SKUs, which prices, what’s in stock for us and them, which pairs are matched, what’s ready for MoySklad. Stack — Node.js + Express, MySQL, Cheerio; UI on ArchitectUI. Nearby in the ecosystem — Titlo SEO platform (titlo.ru), a different product.
The pain they came with
Competitor prices were collected by hand or with scripts and no panel: no queue, no history, no “our catalog ↔ their card ↔ inventory” link. Errors showed up already in accounting.
-
Competitor prices by hand
Without a queue and selectors each site is a separate script. Retries and failures aren’t visible in one place.
-
Catalog drifts from inventory
Products in Bitrix/Webasyst and positions in MoySklad live apart — need sync and explicit matches.
-
SKU matching
Auto-search by SKU and title similarity yields candidates; without confirm/reject in the UI, junk goes into accounting.
How we guided them
We built a panel and API around parsing and inventory: queue → results → own products → matching → MoySklad, plus a health dashboard and background workers.
- 01
Competitor projects: sites, CSS selectors, URL queue with batch processing
- 02
Price and stock parsing (Axios + Cheerio), results and re-runs
- 03
“My sites”: connect to Bitrix/Webasyst DBs, sync my_products
- 04
Smart matching: SKU + title similarity, confirm in the UI
- 05
Export to MoySklad (API), orders/sales, purchasing
- 06
Queue dashboard, workers, Docusaurus docs, cookie/legal
In plain speak
Brief jargon — without the fog. How we explained each step to the client.
URL queue
Competitor pages line up and process in batches — you see what’s done and where errors are.
Matching
The system suggests a pair “our product ↔ competitor card”; a manager confirms or rejects.
My sites from the DB
The catalog pulls from Bitrix or Webasyst directly — not copy-paste from Excel.
Export to MoySklad
Confirmed data goes to inventory via API, not a manual import.
What we did, step by step
Each step is a concrete change. Meaning on the left, screen on the right.
Dashboard
Queue summary, global sync, MoySklad and matching status, CPU/RAM load, quick actions.
Product matching
Run settings, SKU/title mode, competitor pick, batches and pauses, resume from where it stopped.
Panel login
p.datagon.ru — service auth. Docs and legal pages for guests.
More frames from the project
Not a gallery for its own sake — a few screens that complete the picture.
Where we landed
A working Node.js parsing and matching panel: queues of tens of thousands of URLs, tied to Bitrix/Webasyst and MoySklad. Site: p.datagon.ru. SEO tools in the same ecosystem — see the Titlo case.
What they got
- Competitor price parser · 60k+ URL queue
- SKU/title matching · confirm in the UI
- Catalog sync from Bitrix / Webasyst
- Export and accounting in MoySklad
- Node.js + Express + MySQL · ArchitectUI
- Live p.datagon.ru
In numbers
Need a price parser or catalog ↔ inventory link?
We’ll build the queue, matching, and export — like Datagon.
Other projects
Similar cases and neighbouring directions
15,000+ products in catalog
VILMED
VILMED storefront improvements
We run a large medical-equipment store on Bitrix: sticky header and smart search, catalog and product-card UX, SEO filters, ERP sync, composite/Brotli, and shell cleanup. Live — vilmed.ru.
View case →
55,000+ SKUs in the catalog
KosmaMed (formerly MedMarket)
KosmaMed online store
We run a large medical-equipment store on Bitrix: MedMarket→KosmaMed rebrand, domain migration with 301s, speed (no RAND, composite, WebP), MoySklad/ERP/carriers. Live — kosmamed.ru.
View case →
~1,900 SKUs in the catalog
Oftalmag
Oftalmag online store
We run an ophthalmology-equipment store on Bitrix (enext): Heine/KaWe/Riester catalog, “request a price”, city picker, personal-cabinet SEF. Live — oftalmag.ru.
View case →