An online store estimate breaks down into seven blocks: analysis and catalog structure, design, front-end work with programming, the catalog with product pages, checkout with payment and shipping, integration with accounting, content loading and launch. The total depends on how many of these blocks are built around your catalog and how many arrive ready-made. Page count, the number owners ask about first, explains little here.
The figures here are our own rates for improvements, integrations and support.
What an estimate is made of
Agencies name the lines differently, but the work behind them is the same. Keep this list in front of you when you compare two proposals where one total is several times the other. Usually the cheaper one is silent about half the rows.
| Line item | What it covers | What pushes the price up |
|---|---|---|
| Analysis and structure | Product range review, catalog structure, page list | Number of categories and product types |
| Design | Prototypes, mockups of home page, category, product page, cart | Originality of mockups, custom blocks |
| Front-end and programming | Mockups turned into a working site, CMS, mobile layout | Number of page templates |
| Catalog and filters | Attributes, variants, search, filtering, sorting | Complexity of attributes, depth of filters |
| Orders and payment | Cart, checkout form, shipping cost, payment providers | Number of payment and delivery options |
| Integrations | Exchange with accounting, CRM, carriers, marketplaces | Depth of exchange, quality of the other side’s API |
| Content and launch | Product upload, texts, testing, move to the live domain | Size of the product range, condition of your data |
Fixed price or hourly billing
A fixed price works when the scope is written down and frozen: the page list, the integrations, the number of templates. You know the total in advance, and the agency carries the risk of a bad estimate. Hourly billing fits work that cannot be counted up front: improvements to a live store, small edits, catalog growth. Our rate for such work is $25/hr, with a report on every task.
On a large project both models live side by side. The base store is priced as a fixed sum against a written spec, and requests that come up along the way become tasks billed by the hour.
Why the same brief comes back with different numbers
Comparing bottom lines without a breakdown tells you little. The gap comes from decisions that rarely get said out loud.
- Project base. One agency adapts a proven theme to your brand, another draws every screen from scratch. Both routes work, but their cost and timelines can differ several-fold.
- Catalog depth. A store with a hundred simple products and one with ten thousand SKUs and variants are systems of different complexity, even when the pages look alike.
- Content loading. Some agencies include product upload in the estimate, others hand that job to you without mentioning it.
- Testing. Payment checked with real transactions, orders placed from a phone, behavior on a weak connection. This line easily disappears from a cheap proposal, and your customers are left to find the bugs.
Before we take the estimate apart line by line, here are the budget tiers we build stores at.
| Tier | Timeline | Budget |
|---|---|---|
| Ready-made template | 2โ4 weeks | from $1,500 to $3,000 |
| Custom design | 2โ3 months | from $3,000 to $6,000 |
| Laravel store | 3โ4 months | from $6,000 to $7,000 |
| Enterprise | from 4 months | from $8,000 |
The exact figure comes after a conversation about the catalog, integrations, and content. Examples of the stores we have built and a form to request a quote are on the e-commerce website development page.
Design and prototype
Mockups are preceded by a prototype, a wireframe of the pages without colors and photos. It shows where the buy button sits and what a product page displays on a phone. Edits at this stage cost a few hours; the same edits after coding cost days.
Then comes the choice between a ready-made theme and an original design. A theme saves a sizable share of the budget and gives a predictable result, with two limitations: your store will resemble others on the same theme, and custom blocks have to be coded by hand. An original design removes those limits and adds to the schedule. We covered this choice in our article on ready-made versus custom online stores.
The minimum set of mockups is the home page, a category, a product page, the cart and checkout. Every extra template becomes its own line in the estimate.
Catalog and product page
The most labor-intensive part of a store. Here you decide whether a shopper finds the right item quickly or leaves for a competitor.
Attributes and filters
A filter works only when product attributes are filled in consistently. If color is written twenty ways across a thousand product pages, no filter can rescue that. Bringing attributes to one format is a separate job, and the worse your price list, the longer it takes.
Platform choice affects this too. We compared the two most common engines in our article on OpenCart vs WooCommerce, and that choice feeds straight into what filters and price list imports will cost.
Variants and unusual products
Simple products with one price are quick to build. Complexity comes when a single product page hides several real items with their own stock levels and prices.
- Sizes and colors with separate stock tracking per combination
- Products sold by weight or by length, priced from quantity
- Made-to-order items showing a lead time instead of availability
- Separate retail and wholesale prices shown after a customer signs in
Each item here adds work in the catalog, in the cart and in the exchange with accounting. If any of it describes your business, say so at the first meeting; otherwise, you end up paying the difference mid-project. What to do with the people who reach the cart and do not buy is covered separately in our article on abandoned cart recovery.
Cart, payment and shipping
Checkout
The checkout page is where a store loses the most money. Every extra field reduces the number of completed orders. In an estimate this line looks modest, but the work behind it is substantial: field validation, address suggestions, a saved cart, the email to the customer, the alert to your manager, order statuses in the admin panel.
Guest checkout is budgeted separately, because shoppers dislike creating accounts for one purchase. What works is an order placed in a single form.
Payment and delivery
Every payment method is a separate connection with a contract, test transactions and a refund check. Delivery is the same.
- A payment gateway with cards, Apple Pay and Google Pay
- Installments, which shoppers often look for in higher-priced categories
- Cash on delivery with verification of the pickup address
- Picking a carrier branch or parcel locker inside the order form, standard in many markets
- Invoicing for business buyers, with the document generated automatically
Count how many of these your customers really need. Stores often connect everything available, pay for each setup, then see orders arrive through one familiar method.
Integration with accounting and services
The line that says “integration with your accounting system” can mean two days of work or two months. The difference is which data travels and in which direction.
One-way exchange or full synchronization
A one-way exchange exports products, prices and stock levels from accounting to the site on a schedule. A dedicated module or an API connection costs from $500 to $2,000 with us and takes a week of work upward.
Full synchronization is heavier: orders from the site land in accounting, statuses and shipping documents come back, stock gets reserved, and data survives while the other side is unavailable. We build this on Laravel with background queues, starting at $3,000 and reaching $8,000 depending on the business logic, with a timeline from a month. A targeted improvement to an exchange already running on a live store comes to $300 to $1,000.
What to find out before you budget an integration
- Whether your accounting software has an open API and whether your license includes it
- Who holds the access credentials and whether your accounting vendor will work alongside the developer
- Which side is the source of truth for stock, the site or the warehouse
- How often the exchange runs, once a day or right after every order
- What the store does when the accounting system stops responding
The answers move the price of an integration more than anything else in the estimate. An agency that quotes a number without asking them is guessing.
Content, testing and launch
Content loading is the most common reason a launch date slips. Products have to be uploaded, attributes normalized, photos prepared, category texts written. Importing from a price list handles part of it; the rest stays manual.
Agree on who loads the content before work starts. The “we will do it ourselves” option saves a line in the estimate and regularly stretches the project by months, because in peak season your manager has no time. We wrote about realistic timelines in our article on how long website development takes.
Before opening, there is a round of checks that cannot be skipped:
- A test order through every payment and delivery method, with a real payment
- Emails to the customer and the manager checked for delivery and for spam folders
- Catalog behavior on a phone over a weak connection
- Redirects from the old addresses if the store is moving from another platform
- Analytics tracking, with completed orders set up as conversions
Lines that get left out
These rows are rarely visible in a proposal and almost always paid for later. We added them up month by month in the breakdown of running costs of an online store after launch.
- Hosting and domain. A store needs a server that holds up under the catalog and seasonal traffic spikes, and the cheapest plan fails there.
- Paid modules. Filters, price list imports and admin panel add-ons often carry an annual license, and that expense belongs to your company.
- Photos and texts. Product photography and category descriptions are a budget of their own, without which a store looks empty.
- Data migration. Customers, order history and reviews from the old store move over by hand or by script, a noticeable amount of work.
- Store email. Order emails have to reach people, so the domain needs correct settings before the first sale.
Support after launch is often forgotten too: platform updates, backups, security, small edits and new blocks for promotions. We bill one-off requests at $25/hr. A technical plan with 20 working hours a month for updates, backups, monitoring and edits costs $400/mo, a package of 40 hours $800/mo, and 80 hours $1,600/mo. What each option includes is on our project support and development page, and the first steps after opening a store are covered in our article on what to do with your website after launch.
The factors that shape the price of any website, not only a store, are collected in our article on what determines the cost of website development.
Conclusions
A store estimate is read line by line. If a proposal gives one number and three words of description, ask for the breakdown: how many mockups, which filters, which payment methods, how deep the accounting exchange goes, who fills the catalog. Over a year, the proposal with rows spelled out is usually cheaper.
Three things move the total the most: catalog complexity, depth of integration with accounting, and the condition of the data you plan to upload. Design is what everyone notices, and it does affect the total, but variants and stock synchronization can raise it even more.
We have built more than eighty online stores and work with OpenCart, WooCommerce and Laravel. We price projects by the line so you see what you pay for. Describe your product range and the software you keep inventory in on our e-commerce website development page, and we will prepare a preliminary estimate by item.