Site for B2B: catalog, conditions, calculation request
Website development for B2B is not a showcase, but a working tool of the sales department: a catalog with articles and units of measurement, a page of the terms of cooperation and a calculation request form, from which the request goes to the manager and to the CRM. We collect on Next.js, if you need a catalog and applications, or on OpenCart, if you need a shopping cart and checkout. The term is 25–50 working days from the approved TK. We call the amount after a free analysis of the scenario: in B2B, the logic of prices and balances drives the estimate, not the number of screens.
we call after analyzing the script — it is free and lasts 3–5 working days
Cost
number of types of counterparties, price scheme, source of balances
What drives the estimate
1,848
Measured catalog of spare parts
cards and 138 categories, 1,992 addresses without a single duplicate
106
Measured catalog of equipment
items in two languages, first server response 351.4 ms
50%
Conditions
down payment, two rounds of design edits, 30 calendar day warranty
Who it's for
Situations where this service delivers results
Scenario 1 of 4
The sales department lives on the phone, and the website is two years behind the price
The counterparty calls with the question "do you have this", the manager opens the table and dictates the price. The site does not cancel this conversation - it changes its beginning: the person calls, already knowing the article number, volume and terms of payment. The difference is how many minutes it takes to find out and how many minutes it takes to reach an agreement.
We'll review your situation in a free audit
Scenario 2 of 4
A dealer, a wholesaler and a final customer go through the same catalog
Everyone has their own question for the same page: the dealer needs partnership conditions, the wholesaler needs a minimum batch and multiples, the end user just needs availability. We separate them with a page of conditions and a separate dealer section, so that the catalog does not try to talk to all three at the same time.
Scenario 3 of 4
The nomenclature is small, and they are looking for it by code, not by name
Spare parts, components, consumables — here the name of the item means nothing, the article number is important. In the catalog of spare parts for industrial sewing machines measured by us, there are 1,848 cards; it is impossible to find the desired one by scrolling through the categories, so the search by code becomes the main navigation, and not a field in the header.
Scenario 4 of 4
Your equipment is not bought in one click
A line, a machine, a complex - the decision on such a purchase matures in weeks and goes through a miscalculation for a specific production. The site does not need a shopping cart here, but characteristics, performance and a request form. The catalog of food production equipment measured by us works exactly like this: 106 items, calculation request and six calculation methods described on the terms page.
Cases
Tasks and results in numbers — all metrics measured by us
B2B catalog of spare parts and components for industrial sewing machines
Task
Make small inventory findable: A mechanic or supplier should be able to find a part by machine code or model in a minimum of steps. Plus, describe the calculation for FOP and non-payers of VAT, so that this issue does not eat up the first call.
Solution
Catalog with categories, selection by equipment model, technical diagrams and availability request form. Two language versions with correct hreflang. On the payment page, the scenarios are directly named: cashless without VAT, transfer to IBAN, payment after receipt at the carrier's warehouse - with an open note that post-payment is disabled during the war. Chat for short questions.
Result
Measurement 07/31/2026: 1,992 addresses in the site map without a single duplicate — 1,848 product cards and 138 categories. First server response 388.1ms, full load 419.5ms at 120.2KB HTML: third easiest markup among 16 sites measured. Defects found, which we show openly: Universal Analytics is still hanging in the code, disabled by Google on July 1, 2023, and no GA4 property at all - three years without data; zero blocks of structured data in the catalog of 1,848 items; robots.txt does not declare a sitemap, although it is working and complete.
B2B supplier of professional equipment for food production
Task
Show a line of equipment with performance and technical characteristics and collect requests for calculation: such equipment is not bought in a basket, it is selected for specific production.
Solution
A catalog site with a calculation request form, two language versions and a complete list of calculation methods on a separate page of conditions. Connected GTM, GA4 and call tracking, messengers in one click from the card.
Result
Measurement 07/31/2026: 106 items in two language versions — 230 addresses in the sitemap-index of four files. First server response 351.4ms, full HTML download 490.4ms at 297.6KB. The six payment methods on the shipping and payment page are the widest set among the sample projects measured. A fair limit: calls are tracked by call tracking, but it is impossible to measure their number from the outside, so we do not provide numbers for calls here.
What's included
Complete list of work and what you get as a result
Catalog for your nomenclature: categories, article numbers, units of measurement, minimum batch — the counterparty immediately sees what to count and from how many you ship
Search by article with code normalization: "A-1234/5" is found both when it is entered as "1234 5" and when it is entered as "a1234-5"
Cooperation conditions page: work procedure, documents, calculation with and without VAT — questions that otherwise eat up the first call
Calculation request form with specifications: the request goes to the manager in Telegram and CRM, not to the mailbox that is opened once a day
Dealer section: terms of partnership, application form, direct contacts of the sales department — so that a potential partner does not have to look for whom to write to
Import price and balances from a file or download the accounting system according to the schedule you set yourself
Availability status with a range instead of an exact quantity where there is no reliable source of balances yet - this is more honest than a ceiling number
Technical SEO: CNC for articles, canonical, unique title, site map without duplicates and declared in robots.txt
JSON-LD micro-markup: Organization, Product, BreadcrumbList, FAQPage — exactly what is actually on the page
Analytics: GTM and GA4 with calculation request, price download and messenger events
Transfer: accesses, written instructions for managers, guarantee of 30 calendar days after acceptance
When this service isn't right
What's not included — so there are no surprises at delivery
The office of the counterparty with personal prices and the history of shipments is a separate project
Two-way exchange with the accounting system is calculated separately
Copywriting of position descriptions and technical texts
Promotion, advertising and dealing with the dealer network after the launch
Process steps
Transparent stages with approval at every step
Total duration:25–50 days
1
Analysis of the scenario and TK
3-5 working days
We use questions to find out who buys from you, at what price, with what documents, and where the stock come from. A document is issued, according to which the estimate is calculated and the work is accepted.
2
Directory structure and prototype
4-6 working days
A tree of categories for the nomenclature, fields of the position card, a set of characteristics, a page of conditions, request forms and applications for partnership. We agree with the design — it is expensive to redo the structure after layout.
3
Design
5-9 working days
Home, category, position card, terms of cooperation, dealer section, forms. Here we fix the target weight of the page: in the B2B directories we measured, HTML weighs from 120.2 to 297.6 KB, and this is a noticeable difference on weak mobile.
4
Site assembly
7-13 working days
Layout, catalog, article search with a normalized code field, terms page, forms with transfer to CRM and Telegram, roles in the admin.
5
Price import and search validation
3-8 working days
Column mapping, test filling, reconciliation of the number of items in two ways, search run on real articles with separators, update schedule of prices and balances.
6
Integrations and analytics
2-5 working days
CRM, messengers, call tracking, GTM and GA4 with price calculation and download request events, JSON-LD, sitemap declared in robots.txt.
7
Testing, transfer, launch
1-4 working days
End-to-end processing of the application from the search to the card in the CRM, measuring the first response of the server and the weight of HTML, going through the administration process with your manager, transferring access.
Free B2B scenario analysis
A B2B site differs from a retail one not in appearance, but in what starts after clicking a button. This is where we begin the analysis: who is your buyer, how does he make decisions and what documents does he need to spend.
What we measure
How many types of buyers do you have?Dealer, wholesaler, end customer, tender department - everyone has their own scenario and expectations regarding the price. The number of types depends on whether a closed section with personal conditions is required.
How the price is arrangedA single price, levels of volume discounts or personal conditions according to the contract. Personal prices entail authorization — this is a different task in terms of complexity and a different deadline.
Where do the stock come from?From the accounting system, from the table or from the manager's memory. It is more expensive to show availability, which is not there, in B2B than in retail: there, a mistake is paid for by an interrupted shipment to the counterparty.
What the counterparty needs in the documentsInvoice, specifications, details, conditions with and without VAT. The catalog of spare parts measured by us directly mentions two scenarios on the payment page: cashless for FOP and non-VAT payers and payment after receipt at the carrier's warehouse.
Status of the existing site and priceHow many items, how many addresses in the site map, are there duplicates, how much is a category page paid for, or live counters. These measurements determine half of the estimate.
What you get
Schema of scenarios: who enters, what sees, what clicks, what gets next.
A breakdown of the price and structure of the catalog with a list of what is missing from the data.
Measurements of the existing site, if any, with a list of defects found.
A 40-minute conversation with you and the head of the sales department.
Timeline: 3-5 working days
Why is it free
Because in B2B, after analysis, half of the projects turn out to be not a site, but a task to organize the price and balances. It is fairer to say this before the contract than after.
What's next
Next is an estimate by stages with calendar dates. If it is clear that an exchange with the accounting system is needed first, and the site after it, let's call this order.
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.
Did not find your case?
Describe how it works on your side — we will tell you whether “Website development for a B2B company” fits and what it means in your situation. No brief and no call: one question, one answer.
What affects the price
Why two seemingly identical tasks are priced differently
How many types of contractors does the site serve?One type — one script, one terms page, one form. Four types mean four different paths through the same directory, and each must be thought through separately. This is the main multiplier in the estimate, and it is most often not mentioned at the start.
Price schemeThe only price is just a number on the card. Volume levels - table and rules. Personal contract pricing requires authorization, roles, and external pricing sources: that's another task and a separate estimate.
Source of residuesA file once a day costs little. Automatic exchange with an accounting system is a separate volume with its own term. Fair boundary: Exchange does not correct accounting. If the system re-sorts and undisplayed write-offs, the site will show inaccurate data quickly and accurately, and there is always a window between downloads.
The state of the price and characteristicsArticle, unit of measurement and multiplicity in separate columns — import per day. Characteristics glued together in one field or lying in a PDF with a picture are analyzed manually: this is a separate line of the estimate, and not a trifle along the way.
Cart and checkout or just a requestThe request form is made quickly. The cart pulls order statuses, shipping calculation, invoice generation, and end-to-end testing — a different order of work and a different platform underneath.
Language versionsThe second language is hreflang, separate URLs, and a duplicate sitemap. A fair boundary: translation is not an entry to the market - it also requires local payment, delivery and support.
Technologies & integrations
What we build on and what it connects to
Stack
Next.js, React, TypeScript — when the site is a catalog and applications without a shopping cart: pages are served from the server, the weight of HTML is kept small. Limitations: there is no box admin here, it must be done, and this is part of the work
OpenCart — when you need a shopping cart, order statuses, and checkout. Limitation: the price for a specific pair "counterparty - product" is not provided in the core, it has to be completed
PostgreSQL — catalog, articles, orders in one place
a separate normalized article field with its own index - without it, the search by code with hyphens and slashes does not work
nginx, HTTP/2
HTTPS + HSTS
Cloudflare is a cache and traffic filter. Limitations: Cache hides a slow backend, not cures it
Integrations
1C / BAS — nomenclature, prices, balances
KeyCRM
Uspacy CRM
Nova Poshta
non-cash payment with and without VAT
Google Tag Manager
GA4
Telegram bot for applications
JivoSite
Binotel - call tracking
A site with a catalog against the price in the mail and a profile on the site
How this option differs from the alternative
PDF price by mail + profile on siteOur approach
How a counterparty finds a positionchats with a manager or flips through a 40-page PDFsearch by article, in seconds and without you
Actuality of pricesthe file becomes outdated at the time of sending and lives in someone else's mail for yearsone source, updated by scheduled import
Working conditions and documentsare retold by voice every timea separate page, read before the first call
New counterpartiesonly those who already know your company namecome from a search by article number or item name
What can be measurednothing but the feeling of a managercalculation requests, price downloads, transitions to the messenger
Commission and rulessales commission and other people's display rulesyours, the site does not dictate conditions
What we need from you
We can't start without this — best to prepare in advance
1Price with article numbers, units of measurement and minimum lots in machine form: CSV, XML or offloading from accounting.
2Description of the terms of cooperation: from what amount do you work, what are the volume discounts, what are the shipping terms.
3The answer to one question: whether different prices are needed for different counterparties. Architecture and half the term depend on it.
4Access to the accounting system or an example of export from it, if there should be balances on the site.
5Payment details and conditions: with VAT, without VAT, post-payment, pre-payment, deferred payment.
6One person from the sales side with the right to confirm scenarios and terms without a meeting.
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
Is a shopping cart on a B2B website necessary or not?
Our recommendation is not to install at the first launch. The basket is justified where the price is fixed, and the range is repeated: a regular buyer types the order himself and does not wait for the manager. If each shipment is accompanied by an agreement on the volume, term and payment, the cart creates the illusion that the order will still go through the conversation, and you will pay for the checkout, statuses and end-to-end scenario testing. That's why we start with a miscalculation request, put an event on it in analytics, and after a few months we see what proportion of applications repeats the previous one. If it is large, we add a basket in the second stage, already knowing what it is for.
Each counterparty has its own contract price. how to show it on the website?
There are three options, and two of them are cheap. Showing a single price and agreeing on a discount in a conversation is the easiest way, but also the most frequent. Showing volume levels visible to everyone is a little more work, but you can see why they are getting a better price. Personal conditions for each contract require authorization, roles and sources of these prices from the outside: this is already a closed office, a separate project and a separate estimate. In debriefing, we name the difference in labor intensity between the three so that the decision is made with the number, not blindly.
Is it possible to withdraw balances to the site?
It is possible, if there is somewhere to get them. An error in availability in B2B costs more than in retail: the counterparty plans its schedule for your shipment, and the disruption hits its production. Therefore, we either pull up the balances from the account according to the schedule, or show the status in a range - "in stock", "on order", "in the manufacturer's warehouse". There is only one fair limit here: the exchange does not correct the account. If the system resorts and unrepresented write-offs, the site will show the inaccuracy quickly and accurately. And there is always a window between exports, in which a position can be booked twice.
Does searching by article really work or is it business as usual?
This is the most common failure in B2B catalogs, and it is done by hand. The standard search of most systems looks for a substring in the name: the counterparty enters "1234 5", and the database contains "A-1234/5" - there is no match, the issue is empty, the person leaves. We start a separate field of the normalized article: hyphens, slashes, spaces and a case are removed from it, and it receives its own index. The search query undergoes the same normalization before comparison. At the import stage, we will run real codes with separators - exactly the ones that your managers use. The limitation of this mechanism is simple: it helps someone who already knows the code. Those who are still choosing need categories and characteristics.
We have about two thousand items - is it real?
Yes, this is a work area. The parts catalog we measured holds 1,848 cards and 138 categories, has a first response time of 388.1 ms at 120.2 KB of HTML, and has 1,992 addresses in the sitemap without a single duplicate. Volume is almost never the problem here—data quality is. If the characteristics are glued together in one text field, the filter will not be collected from them either on two thousand items or on two hundred. That's why we don't look at how many lines you have, but what columns they have.
The manager calls us all the same - why the site then?
To call with the article number. The site in B2B saves not the manager, but the first five minutes of the conversation: the person comes, already knowing the position, volume and terms of payment. The second effect is more noticeable at a distance — new counterparties find you by the code of the part or the name of the equipment, and not by the name of the company, which they do not yet know. And immediately honestly about the measurement: the meter itself does not improve anything, it only lets you see. The data still needs to be read, and GA4 shows a trend, not an accounting truth — blockers and consent mode eat up some of the events.
How long will it take and what does the deadline depend on?
25-50 working days from approved TOR, seven stages: disassembly and TOR 3-5 days, structure and prototype 4-6, design 5-9, assembly 7-13, price import 3-8, integrations and analytics 2-5, testing and transfer 1-4. It is not the layout that takes the longest, but bringing the price to a look suitable for import — and it is this stage that almost everyone underestimates at the start. The second thing that pushes the deadline: agreeing on the terms of cooperation within the company, when it turns out that for three old customers there are rules that are not in any document.
Do you need a second language version?
Depends on who you are selling to. Both B2B directories we measured have two language versions, and in one of them the hreflang is set correctly — uk-ua, ru-ua and x-default. Technically, it is not difficult, but honesty is needed here: the translation of the interface is not an entry into a new market. The new market also requires local payment, local delivery, local support and local prices — the site closes only the first layer. If a second language is needed for the domestic market, that is one job; if for export, count it as part of a much larger project.
In response, there is a diagram of the scenarios, an analysis of the structure of the catalog with a list of what is missing in the data, and an assessment of the works by stages with dates. If the task turns out not to be a site, but to adjust the price, you will hear about it in the first email.
From measured casesMeasurement 07/31/2026: 1,992 addresses in the site map without a single duplicate
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.