E-commerce Platform & B2B Portal Case 16

eStyle

We designed and built eStyle a custom WooCommerce platform that sells more than 3,600 electronics products to shoppers and business partners from one site, with products, prices and stock synced every hour from the eline ERP for the warehouse and both stores, and custom Monri payments with up to 24 installments.

ClienteStyle
IndustryRetail · Consumer Electronics
Timeline2 months
Last updated2026-10-27
AuthorKonzept team
TeamFedjaAlenAdnanAzra

We gave eStyle a custom e-commerce platform from the front end to the back end. A bespoke Sage theme on WooCommerce presents a deep electronics catalogue with a fast mega menu, instant search and clear variant choices. A custom integration with eStyle's eline ERP syncs about 7,000 products, their prices and their stock every hour, and shows how many pieces are in the central warehouse, in Sarajevo and in Mostar. Custom Monri plugins take card payments and installments from 2 to 24 months, and a B2B portal in the same shop gives approved partners net prices, quick orders by product code and their invoices as PDF.

Live site · viewport
estyle.ba
eStyle homepage with the Apple Authorized Reseller banner
01 / 03

The Challenge

eStyle is an electronics retailer with stores in Sarajevo and Mostar and an Apple Authorized Reseller for Bosnia and Herzegovina. It sells phones, computers, accessories, home appliances and smart-home devices from Apple, Samsung, Xiaomi, Dreame, Anker, UGREEN and many more, to two very different customers: people buying one phone for themselves, and shops and companies buying stock to resell.

Electronics punishes a shop that guesses. Until now, the team kept products, prices and stock on the website up to date by hand, while the real numbers lived in the eline ERP. A customer who orders a phone that is not in stock, or drives to Mostar for a model that is only in the Sarajevo store, does not come back. Prices depend on how people pay: cash, card or installments, and sale prices do not always apply to all three. Business partners need net prices, exact quantities and a fast way to order by code, and they cannot see retail pages full of banners when they work.

The brief: one platform for retail and wholesale, built on eStyle's real stock and payment rules. Make eline the single source for products, prices and stock, with no manual updates, and show true availability for every location. Make the price for each payment method clear before the cart. Give B2B partners a portal that works like a trade tool, without a second shop to maintain.

02 / 03

The Approach

We built from eStyle's operations outwards. Products, prices and stock live in the eline ERP, so the shop reads all of them from eline. Payments run through Monri, so the price rules for cash, card and installments are built into the shop, not explained in small print. Partners buy differently from shoppers, so they get their own tools in the same platform. Then we designed a storefront fast and clear enough to carry a catalogue of more than 3,600 products.

01

Hourly Sync with eline

We built a custom integration with eStyle's eline ERP. Every hour it brings about 7,000 products into WooCommerce with their data, prices and stock for three locations: the central warehouse, the Sarajevo store and the Mostar store. Nobody on the team updates the website by hand any more. Product cards say "Na stanju" only when eline has stock, the product page shows availability per store, and when stock reaches 0 the product changes to "Po narudžbi" with its own delivery time. When a variant runs out, the customer can leave an e-mail and get one notice when it is back.

02

Custom Monri Payments

Card payments run through Monri WebPay, with custom plugins we wrote for eStyle's rules. Every product shows two prices: the price for cash on delivery or payment in store, and the monthly amount on card installments, from 2 to 24. An installment calculator on the product page shows the monthly and total amount at once, and sale prices that apply only to cash are marked before the customer reaches the cart.

03

B2B in the Same Shop

Business partners register in the same shop with their company data, a 13-digit ID number, a 12-digit VAT number and a scanned certificate, and eStyle approves each account. Approved partners see net prices with VAT added in the total, exact piece counts for the warehouse, Sarajevo and Mostar, a quick-order form that takes product codes and quantities, and every invoice as a PDF. They pay by proforma invoice.

04

A Catalogue You Can Move Through

The mega menu opens categories and top brands in one panel and follows the pointer as it moves toward the panel, so the menu does not switch category by accident. Search opens from every page with ⌘K. Product cards carry the brand, a one-line spec, the price, the monthly installment and the stock state, and variant pickers mark every memory and colour combination that is not available.

05

Stores in the Journey

eStyle sells from two stores as well as online, so the stores are part of the shop. The header lets the customer choose her store, the product page shows availability in Sarajevo and Mostar, and the cash price applies to payment on delivery or in store. A customer can check the shelf before she leaves the house.

06

Custom, Fast and Accessible

We built the storefront as a custom Sage theme on Acorn, with Tailwind, Alpine.js and a Vite build, on WordPress and WooCommerce behind Cloudflare. Menus, dialogs and pickers handle keyboard focus and the Escape key. Delivery, payment, warranty, returns and legal pages share one help hub with an update date on every page, and analytics and marketing cookies stay off until the customer agrees.

01 / Stock

One source of truth, synced every hour

In electronics, availability and price are part of the product. A phone that is in stock today is worth more to a customer than the same phone in two weeks, and a model that sits in the Sarajevo store is no use to a customer in Mostar. eStyle runs its business in eline, its ERP: products, prices and stock for the warehouse and both stores. The website did not read any of it. The team kept products, prices and stock up to date on the shop by hand.

With thousands of products and prices that change often, manual updates always fall behind. We built a custom integration that makes eline the only source of truth. Every hour it syncs about 7,000 products from eline into WooCommerce: product data, prices and stock for three locations, the central warehouse (VP), the Sarajevo store (SA) and the Mostar store (MO). The shop no longer keeps its own version of the numbers. It shows what eline says.

Not every product in the ERP belongs on the shop. The sync brings in all of them, and the ones that are not ready for sale arrive as drafts. The team publishes a product when its photos and content are ready, so more than 3,600 products are on sale today and the rest wait without anyone typing them in.

Stock in every place the customer looks

Product cards say "Na stanju" only for products that eline has in stock. On the product page, availability is shown per store, and the customer can pick her store and see if the model she wants is on the shelf there. Each variant has its own stock, so a phone in black with 128 GB can be available while the same phone in blue with 256 GB is marked "Nije dostupno".

The decision: no dead ends

When eline reports 0 pieces, the shop does not hide the product. It switches the product to "Po narudžbi" with its own lead time, and offers "Javi mi kad stigne": the customer leaves an e-mail and gets one notice when the product is back. A missing product becomes a future order instead of a lost visit.

B2B partners see more detail. Where retail customers see a stock state, approved partners see exact piece counts for the warehouse, Sarajevo and Mostar, because a shop that resells eStyle stock needs to know if there are three pieces or thirty.

  • Hourly sync of about 7,000 products, prices and stock from the eline ERP
  • Stock for the central warehouse, Sarajevo and Mostar, per variant
  • "Po narudžbi" at 0 pieces, with a back-in-stock e-mail
Samsung Galaxy A17 product page with variant stock and both prices
Variant picker and store availability on mobile
02 / Payments

The right price for every way to pay

Electronics customers in BiH pay in three ways: cash to the courier, cash or card in the store, and card in installments. eStyle's prices depend on that choice, and some sale prices apply only to cash. A shop that shows one price and changes it at checkout loses the customer's trust on the last step.

We built custom Monri plugins for eStyle on top of Monri WebPay, the card gateway, so the payment rules live in the shop instead of in the small print. Every product card shows the price for cash on delivery or payment in store, and next to it the monthly amount on card installments: "ili od 79,13 KM/mj. · 24 rate".

An installment calculator on every product

On the product page the customer chooses the number of installments, from 2 to 24, and sees the monthly amount and the total at once. A 1,699 KM robot vacuum becomes a monthly figure before she has opened the cart. When a sale price does not apply to cards or installments, the product says so in one line: "Akcijska cijena ne važi za plaćanje karticom i na rate."

The decision: honest totals

We chose to show the difference between payment methods rather than hide it. The customer sees both prices on the card, the rule on the product page and the final amount before she confirms. The payment page explains Monri WebPay, the accepted cards, PCI DSS Level 1 and currency conversion in plain language.

Cash on delivery stays one tap away, with no extra fee. B2B partners pay by proforma invoice, with the payment reference on the document.

  • Custom Monri WebPay plugins for cards and 2–24 installments
  • Cash and installment price on every product card
  • Cash-only sale prices marked before the cart
Sale products with cash prices and monthly installments
Sale grid and the 2 to 24 installments block on mobile
03 / B2B

A trade portal inside the shop

A large part of eStyle's business is wholesale: shops and companies that buy electronics to resell or to equip their teams. They need different prices, different information and a different way to order. Many retailers solve this with a second system, which means two catalogues, two stock feeds and twice the maintenance.

We built the B2B portal into the same WooCommerce shop with B2BKing, and shaped it around how eStyle works with partners. A company registers with its name, address, a 13-digit ID number, a 12-digit VAT number and a scanned certificate. The form asks for exactly 13 and 12 digits, and eStyle approves every account before it sees trade prices.

What a partner gets

Approved partners see net prices, with VAT added in the total, across the full catalogue. They see exact piece counts for the warehouse, Sarajevo and Mostar from eline. A quick-order form takes product codes and quantities and puts everything in the cart at once, so a long reorder is one form, not a list of searches. Every invoice is in the account as a PDF.

The decision: one catalogue, two views

Retail and wholesale read the same products, the same stock and the same content. The difference is the view: who sees which price, which stock detail and which payment method. Partners pay by proforma invoice, and their delivery terms are agreed with their sales contact. When eStyle adds a product, both markets get it at once.

  • B2B registration with ID and VAT validation and approval
  • Net prices, exact stock per location, quick order by code
  • Invoices as PDF and payment by proforma
eStyle B2B partner registration with company and tax details
B2B partner benefits on mobile
04 / Catalogue

3,600 products, three clicks deep

eStyle sells more than 3,600 products across eight categories, from Apple and Samsung phones to UGREEN chargers, Dreame robot vacuums, Insta360 cameras and SONOFF smart switches. Most customers arrive knowing roughly what they want. The catalogue has to get them there fast, and it has to help them compare once they arrive.

We designed the navigation for that job. The mega menu opens all categories and the top brands in one panel. It tracks the direction of the pointer, so moving diagonally toward a subcategory does not switch the panel to another category on the way. The keyboard works the same way: arrow keys move through categories, Escape closes the menu and focus returns to where it was.

Search from anywhere

Search opens from every page, and from the keyboard with ⌘K. A customer who knows the model types it; a customer who knows only the brand reaches the brand page in one step.

Product cards that answer first

Each card carries the brand, a one-line spec such as "USB Type C · Strujni (šuko)", the price, the monthly installment and the stock state. Products with variants show the colours and memory options on the card, and the product page marks every combination that is not available. The homepage adds featured brands, best sellers and sale items, and the Apple Authorized Reseller status sits at the top.

The decision: structure over banners

We built categories, brands and product attributes as structured data rather than hand-made landing pages. eStyle can add a brand or a category and it appears in the menu, the filters and the listings without design work.

eStyle mega menu with categories and top brands
Category listing with stock states and monthly prices on mobile
05 / Help

Every rule in one place

Electronics comes with questions after the sale: warranty, service, returns and complaints. In BiH these are also legal duties with fixed deadlines.

We built one help hub with one sidebar. Delivery, payment methods, complaints and warranty, returns, terms, privacy, cookies, about and FAQ sit side by side, and on mobile they collapse into a single page picker. Each page shows the date it was last updated.

Written for the customer, correct for the law

The pages are short and plain. The delivery page states the 12 KM cost, 1–2 working days for stock items and same-day dispatch before 14 h on working days. The warranty page explains where a product is repaired, the 45-day repair limit before a replacement and how time in service extends the warranty. The returns page states the 15-day withdrawal right. Each rule carries the reference to the BiH consumer protection law where it applies.

The decision: the same answer everywhere

Product pages carry a delivery and payment tab with the same rules, so a customer reads the same answer on the product, in the help hub and in the FAQ. The phone number 063 399 599 and the opening hours are on every page for anything the pages do not answer.

Cookie consent follows the same idea: necessary cookies for the cart, login and security; analytics and marketing only with the customer's permission.

eStyle help hub with the payment methods page
Help hub page picker on mobile
06 / Build

Custom from the theme to the integrations

A shop that reads live stock from an external system and applies payment rules per product cannot be held together by a theme from a marketplace and a stack of plugins. We built eStyle as a custom platform, with only the plugins that earn their place.

The storefront is a custom Sage theme on Acorn, so templates use Laravel's Blade. The interface is styled with Tailwind CSS, interactive parts such as the mega menu, variant pickers, installment calculator and store picker run on Alpine.js, and the assets are built with Vite. Underneath run WordPress and WooCommerce, with B2BKing for the trade accounts and MailerLite for the weekly sale newsletter. The site is served through Cloudflare.

Integrations we own

The eline ERP integration and the Monri payment plugins are custom code we wrote for eStyle, not generic add-ons. They follow eStyle's rules: three stock locations, stock per variant, cash and card price tiers, installments from 2 to 24 and proforma payment for partners. When a rule changes, we change it in one place.

The decision: accessible by default

We built every interactive part to work with a keyboard and a screen reader. Menus and dialogs move focus to where it belongs and return it on close, Escape closes what it should, and image galleries announce how many photos there are and which one is showing. Animations are short and use transform and opacity, so the shop stays smooth on mid-range phones.

  • WordPress, WooCommerce, Sage, Acorn, Tailwind, Alpine.js, Vite
  • Custom eline ERP integration and Monri plugins
  • B2BKing, MailerLite, Cloudflare
eStyle homepage on the custom Sage theme
Search results for iPhone on mobile
03 / 03The Results
Mega menu with categories and top brands
eStyle homepage on mobileSamsung Galaxy A17 product page on mobile
Variant picker, installments and store availability on mobileMobiles and tablets category on mobile
Categories and best sellers on the mobile homepageB2B partner registration on mobile
01 / 04
Team
  • Fedja
  • Alen
  • Adnan
  • Azra
2 months · 6 services
Product page with cash and installment prices and variant stock
Outcome

Retail and wholesale on one platform, with stock and prices customers can trust.

B2B partner registration with company details
Result 01

No More Manual Updates

About 7,000 products, their prices and stock for the warehouse, Sarajevo and Mostar sync from eline every hour, so the team no longer updates the website by hand and "Na stanju" means a product can ship in 1–2 working days.

Result 02

Prices Before the Cart

Every product shows the cash price and the monthly installment up front, and cash-only sale prices are marked, so the total at checkout is the one the customer expected.

Result 03

Up to 24 Installments

Custom Monri plugins turn a 1,699 KM robot vacuum into a monthly amount on the product card, which puts high-value electronics within reach without a trip to the store.

Result 04

One Platform, Two Markets

Retail customers and approved B2B partners buy on the same site, from the same catalogue and stock, so eStyle runs one shop instead of two.

Result 05

Faster Trade Orders

Partners order by product code and quantity, see exact piece counts per location and download every invoice as a PDF, without calling a sales rep for each order.

Result 06

A Catalogue That Scales

More than 3,600 products across eight categories and dozens of brands sit in one structure, so a new brand or category is content work, not a rebuild.

Next Project

AC Dismantling

Website & Headless CMS View case study
AC Dismantling — project preview

Does your shop know what is on the shelf?

If your stock lives in an ERP and your customers buy in more than one way, let's build a shop that tells them the truth, from availability to the final price.

Thank you. Your message has been received.
Your message could not be sent. Please try again.