• Online Stores

Online store of medical products and consumables

The development of an online store of medical products rests not on the design, but on the nomenclature: the manufacturer's article number, packaging, unit of measurement, expiration date of the batch. We are making such a store on OpenCart — a catalog with a filter by destination, a card for the article number and packaging, a checkout that serves both individuals and institutions with an invoice. We call the cost after a free price audit: the catalog "for 500 items" after the packaging is deployed is many times larger, and this is what drives the estimate.
See how it works
Price
after a free audit
Guarantee
30 days after project sign-off
Measured in a niche
2 live stores of medical products, measurement 07/31/2026
after a free audit
Price
30
Guarantee

days after project sign-off

2
Measured in a niche

live stores of medical products, measurement 07/31/2026

from 96 items in dental to 1,602 in wholesale
Distribution of catalogs
123
The cleanest sample sitemap

addresses, zero duplicates

364.7
The first response from the server

ms and 440.7ms are both OpenCart stores

103.2
HTML weight in the same niche

KB vs. 401.6 KB

25–45
Term

working days from the approval of the TK

50%
Conditions

advance payment, 2 rounds of edits, 30-day warranty period

What's included

Complete list of work and what you get as a result

  • Catalog with separation by purpose, manufacturer and packaging: the buyer reaches with a filter, not by flipping
  • Product card with fields for the manufacturer's article, packaging, unit of measurement and compatibility
  • Two checkout scenarios: retail customer and establishment with invoice and supporting documents
  • Price import from CSV or XML with mapping of your fields, updating prices and balances on a schedule
  • Payment: LiqPay, WayForPay, Privat24, monobank, cashless account, postpaid
  • Delivery: Nova Poshta with branch selection at checkout, Ukrposhta, courier, self-delivery
  • Technical SEO: CNC, canonical on variations of one position, unique title, site map without duplicates
  • JSON-LD micro markup: Store, Organization, Product, BreadcrumbList
  • Analytics: GTM, GA4, card view events, add to cart and purchases
  • Transfer: access, written instructions, passing the administration with the manager on a live order
When this service isn't right

What's not included — so there are no surprises at delivery

  • The description of properties and indications for use is the zone of your specialist, not the contractor's copywriter
  • Obtaining permits for the circulation of medical products
  • Filling the catalog manually beyond the agreed volume
  • Post-launch advertising and promotion
  • Hosting, domain, acquiring
Who it's for

Situations where this service delivers results

Scenario 1 of 4

Institutions order from you via messenger

The senior nurse writes a list of items in Viber, the manager looks for them in the price list, adds up the amount and makes a separate bill. The store transfers this work to the checkout: the institution itself collects the basket by articles and receives the document. The manager's time is really saved here, but it turns into money only if this time is redistributed somewhere.

We'll review your situation in a free audit

Free audit instead of price fork

A medical catalog is rarely simple: one item has the manufacturer's article number, size, packaging and expiration date, and the buyer can be both an individual and a VAT clinic. The amount of work can be seen from your data, not from our price - that's why we measure first.

What we measure

  • The structure of the nomenclatureHow many items and how many of them are variations of one product by size or packaging. This is where a catalog with "1,500 products" turns into 4,000 pages or vice versa.
  • Two types of buyer in checkoutDoes the current site close both the retail customer and the establishment that needs the account. In the wholesale store of medical spenders we measured, online payment was available, but there was no branch with an account for the institution.
  • Site map and duplicatesHow many records and how many of them are unique. In a niche dental store, we measured an exemplary case: 123 addresses, zero duplicates. This is rare - more often we see multiple duplication.
  • Recoil speedFirst server response and HTML weight. In this niche, we measured 440.7 ms at 103.2 KB and 364.7 ms at 401.6 KB, both stores on the same engine.
  • AnalyticsAre GA4 and Tag Manager standing, are the cart events being transmitted. In the dental store from our sample, there were no counters in HTML at all: no one measured conversions.
  • Legal blockAre there pages about returns, guarantees and terms of sale for medical products - without them, a store in this niche is vulnerable, regardless of design.

What you get

  • A document with numbers: the volume of the product range, the number of unique addresses, the first response from the server, the weight of HTML, the list of connected payments and deliveries.
  • The estimate of how many pages your price will give after unfolding the variations is the main multiplier of the estimate.
  • A list of technical findings that should be closed at the start, not after the start.
  • Talk for 30-40 minutes on this document.

Timeline: 2-4 working days from the moment we received the site address or price download

Why is it free

Because without it, we will not name a fair amount. The "by eye" assessment in this niche is missed most often: the difference between the price for 500 items and the same price, expanded by packaging, is multiple. An audit is cheaper for us than rewriting the estimate in the middle of the project. The document is yours in any case - even if we do not make the store.

What's next

After the audit, we name the cost and term by stages with dates. Then the contract, bill and act. If it becomes clear from the numbers that you do not need a new store now and it is enough to complete the existing one, we will say so.

Short form: your contact and site URL

  • Contract, act and 30-day warranty

    Every project gets a written contract: scope, deadlines, amount, acceptance procedure. After delivery — act and invoice, then 30 calendar days of warranty.

  • Sole proprietor & bank transfer

    The contractor is a registered sole proprietor. Payment by invoice with closing documents.

  • Rights & access — yours

    Code, design and materials transfer to you after full payment. Domain, hosting, repository and analytics are registered to you.

  • Client portal instead of email chains

    During the project you get access to a portal: contracts, invoices, acts and project status in one place.

  • European clients

    Among our work — projects for Norway, Bulgaria, Moldova and Spain.

  • Verifiable numbers

    Every case in the portfolio comes with a link to a live site and a technical measurement.

  • Audit first, then pricing

    There is no price list on the site intentionally: the scope of the same work differs multiples between clients.

  • We say "no" when unsure

    If the task isn't ours or the deadline is unrealistic — we tell you upfront.

What affects the price

Why two seemingly identical tasks are priced differently

  • How many pages will your price givePrime factor. A three pack position is either one option card or three addresses. In the measured wholesale catalog, 1,602 products gave 1,656 addresses, in the dental catalog, 96 products — 123 addresses.
  • The state of the characteristicsThe filter is collected from the price fields, not from the text of the descriptions. If the destination and packaging must be obtained from the description by hand, the import is stretched — and the deadline is missed more often than anything else.
  • Branch for the establishmentThis is not the "EDRPOU" field in the form: other price display rules, invoice, cover documents. A separate amount of work that makes sense only if institutions really buy from you.
  • Payment and deliveryEach method is a separate connection, testing and reconciliation point. It is not the number of logos that matters, but the ways in which your segment pays: for a narrow B2B it is one bill and nothing more.
  • Exchange with accounting systemUnilateral import is included in the work. Two-way exchange of balances and statuses is a separate task with a separate deadline and a constant maintenance cost after updates.
Cases

Tasks and results in numbers — all metrics measured by us

a niche store of dental materials with a content part

Task
Keep the material store and the content part for the professional community on the same site so that the audience enters the catalog, and the catalog remains compact and fast.
Solution
OpenCart by Cloudflare. The site map is made by the correct sitemapindex from four files — main, categories, products, information pages. Payment by cash on delivery at the Nova Poshta branch and by Visa and Mastercard cards, free delivery from UAH 5,000.
Result
96 products and 21 categories give exactly 123 addresses in the site map — zero duplicates. TTFB 440.7ms, full load 543.1ms, main HTML 103.2KB: the second lightest markup among the 16 sites we measured. Measured on 07/31/2026. Defects of the current state found: HTML has no counter at all - no GTM, no gtag, no pixel, so conversions are not measured at all; JSON-LD and microdata blocks are also zero.

wholesale supplier of medical consumables

Task
Sell ​​consumables, protective equipment, diagnostic equipment and rehabilitation products to clinics, hospitals and pharmacy chains.
Solution
Store on OpenCart, one language version (uk), mobile viewport. Online payment by WayForPay and card, delivery by Nova Poshta, Google Ads advertising tag, communication via Viber, Telegram, WhatsApp and Instagram.
Result
The site map is an index of five files: 1,602 products, 32 categories, 17 manufacturers, 4 information pages and the main page, totaling 1,656 addresses. TTFB 364.7ms, full HTML load 501.3ms at 401.6KB, HTTP 200 and valid HTTPS. Measured on 07/31/2026. A defect was found: there is no structured markup on the main page at all - for the medical catalog, these are lost extended snippets.

Did not find your case?

Describe how it works on your side — we will tell you whether “Development of an online store of medical products” fits and what it means in your situation. No brief and no call: one question, one answer.

Process steps

Transparent stages with approval at every step

Total duration:25–45 days

  1. Brief and terms of reference

    3-5 working days

    We analyze the assortment, types of buyers, the list of payments and deliveries. The output is a TK, based on which the estimate is calculated and the work is accepted.

  2. Directory prototype and structure

    3-5 working days

    Tree of categories by purpose and manufacturer, set of characteristics for the filter, card fields, two checkout scenarios. We agree to the design.

  3. Design

    5-9 working days

    Home, category, card, cart, checkout. Here we fix the target weight of the page: in this niche we measured 103.2 KB and 401.6 KB on one engine.

  4. Assembly of the store

    7-11 working days

    Theme layout, catalog, filter, shopping cart, two checkout branches, admin roles, payment, shipping, returns, and terms of sale pages.

  5. Import directory

    3-7 working days

    Mapping of price fields, decisions on each group of packaging — options or separate cards, test filling, comparison of the number of cards using two methods.

  6. Integrations and analytics

    2-4 working days

    Payment, Nova Poshta with branch selection, GTM and GA4 with cart events, JSON-LD Product and BreadcrumbList, site map without duplicates.

  7. Testing, transfer, launch

    2-4 working days

    End-to-end run of both order scenarios — retail and establishment with invoice, TTFB measurements and HTML weights, admin walkthrough with your manager.

Technologies & integrations

What we build on and what it connects to

Stack

  • OpenCart 4.x is set by default: this is a branch that is being developed
  • OpenCart 3.x — when a module critical to you exists only under this branch; honest minus: the trio is getting old
  • OCFilter or similar — filter by characteristics; risk: combinations produce addresses, so we cover them with canonicals and robots
  • PHP, MySQL, nginx, HTTP/2 - the box holds directories for several thousand items without separate engineering
  • HTTPS + HSTS — encrypts the channel and nothing more: the certificate does not save from outdated PHP or CMS hacking
  • Cloudflare - cache and TLS; the cache does not treat slow requests to the database, it hides them

Integrations

  • LiqPay
  • WayForPay
  • Privat24
  • monobank
  • non-cash payment with and without VAT
  • postpaid
  • Nova Poshta
  • Ukrposhta
  • Meest Express
  • Google Tag Manager
  • GA4
  • Google Ads
  • Viber
  • Telegram
  • JivoSite
Your store against the price in the file and cards on the site

How this option differs from the alternative

Prices for the establishmentprice levels and the bill right in the checkout
Finding the right positionfilter by purpose, manufacturer and packaging
Demand dataGA4 events: what was watched, what was put in the basket, where it was dropped
Commissionno — only hosting, domain and acquiring
What do you control?cards, fields, prices, display rules — everything is in your database
What we need from you

We can't start without this — best to prepare in advance

  1. Price in CSV or XML: manufacturer article, name, packaging, price, balance, category, characteristics for the filter.
  2. Photo of goods from 800 px on the long side; for products of the same type, a photo of the manufacturer is sufficient.
  3. The list of characteristics by which the buyer really chooses - they will become the filter.
  4. Access to hosting and domain or agree to choose hosting for you.
  5. Texts about payment, delivery, returns and terms of sale are legally your zone.
  6. One person on your side with the right to approve the catalog and layouts.

If something is missing — let us know, we'll help you gather it or do it as a separate task.

FAQ

Most frequently asked questions — with concrete answers

We have a clinic, not a store - why do we need a catalog?

To sell what you already sell locally: consumables, care products, related products. The catalog works as a price list that does not need to be sent manually — the patient or colleague opens the page, sees the availability and places the order. At the same time, the volume can be modest: in the dental store we measured, there are 96 products in 21 categories, and the content part for the professional community lives nearby.

What to do with buyers of two types — an individual and an institution?

We breed them in the checkout, and not in two different sites. The individual pays by card or postpaid; the institution chooses a non-cash payment, specifies details and receives an invoice. In the wholesale store of health care providers we measured, there were WayForPay and card payment, and there was no separate branch for the institution - applications from hospitals had to be completed manually through messengers. A fair margin: the checkout bill is the first step, not the entire purchase; the contract, postponement and availability under volume remain with you.

In the price list, each item has several packages — are they separate products?

Depends on what your buyer is looking for. If packaging is a choice inside the card, we make options: one page, several options, canonical on the main one. If each packaging has its own manufacturer's article number and it is searched for separately, we make separate cards. Our recommendation: do not deploy variations to separate addresses "just in case". Every extra card is also content that someone has to maintain, and empty almost identical pages in the index make things worse, not better.

How long will development take?

25-45 working days from TOR approval: brief and TOR 3-5 days, prototype 3-5, design 5-9, build 7-11, import catalog 3-7, integrate 2-4, test and transfer 2-4. The main risk of the term is not our speed, but the state of the price: if the characteristics for the filter have to be obtained from the descriptions by hand, the import stage is stretched.

Will the store be visible in the search?

We do not promise items - this is not something that can be promised honestly. We close the technical part: CNC, canonical on variations, unique title, site map without duplicates, JSON-LD. This is how clean work looks like in this niche: 96 products and 21 dental store categories give exactly 123 addresses in the sitemap without a single duplicate. And separately: the sitemap does not raise items and does not guarantee indexing - it only makes the page exist for the bot.

How to measure that the store is working?

At the start, we install GA4 and Tag Manager and transmit the events of viewing the card, adding to the cart, and purchasing. It's not self-evident: the dental store we measured had no counter in HTML—no GTM, no gtag, no pixel. No one, including the owner, knows the conversion of such a store. There is also a limit: GA4 shows a trend, not the accounting truth — blockers and the consent mode cut off part of the data, so the numbers must be deliberately reconciled with the cash register.

Who will update balances after launch?

Your manager via admin or automatic price import on a schedule - daily or hourly, depending on how fast the balances are moving. Two-way exchange with the accounting system is a separate task, it is evaluated after the audit together with the rest. And immediately about the limit: the exchange does not correct the account, and between exports there is always a window during which a position can be bought twice.

Who will write product descriptions?

Technical fields — article number, packaging, unit of measurement, compatibility — are filled by importing from your price list. But the properties and indications for use are written by your specialist. We do not invent them and do not copy them from other people's sites: in the medical assortment, an error in the description is more expensive than any design, and the seller, not the contractor, is responsible for it.

Send a price quote or website address - we'll measure for free.

In response, you will receive a document with numbers: how many pages your catalog will give, what with the characteristics, what with the site map and speed. After that, we name the cost and term by stages. If you don't need the store right now, you will hear it in the first email.

From measured cases96 products and 21 categories give exactly 123 addresses in the site map

View cases
  • Reply within 2 hours
  • No commitment
  • We work under a contract

There is no price list on the site on purpose: the same work differs several times over between two clients, and a “from” figure explains nothing in that case. First a free audit — we count your pages, duplicates and speed — then we name the sum and the deadline and fix both in the contract.