Skip to content Skip to footer
We are hiring in person in Lviv, at the Optima Plaza Business Center. Please contact us only via office@guildofmarketing.ua. Any other contacts are not from us.
We are hiring in person in Lviv, at the Optima Plaza Business Center. Please contact us only via office@guildofmarketing.ua. Any other contacts are not from us.

We are hiring in person in Lviv, at the Optima Plaza Business Center. Please contact us only via office@guildofmarketing.ua. Any other contacts are not from us.

ENEY product card with the decoration pricing module
ENEY
E-commerce · B2B promotional products

Real-Time Decoration Pricing Engine for ENEY

A multi-variable pricing formula turned into a self-service step in the cart — 4,367 products, 9 decoration methods, live on OpenCart since July 2026.

Key results
4,367 products priced by the module, not a shortlist of bestsellers
9 decoration methods, up to 5 print zones each
Client

ENEY calls itself Ukraine's #1 promotional-merchandise supplier — 4,367 products, two offices in Lviv and Kyiv, in-house decoration across nine techniques. Buyers priced decoration by emailing a rep for every quote.

Objective

To build a self-service pricing step that lets any buyer see the decoration cost — quantity, colors, technique, print zone — without a rep, across all 4,367 products.

Industry:E-commerce
Location:Ukraine
Development time:2 months
Cooperation period:June–July 2026
Services used
Custom Module Development Site Design OpenCart PHP MySQL
Project Team
PROJECT MANAGER · BACKEND DEVELOPER · FRONTEND DEVELOPER
What we built

Key features

Live price on the product page

Three buttons on every product: Decoration, Artwork, Quote. The buyer sets a quantity and the item-plus-print total recalculates in place — quantity tiers, color count, and per-technique cost, all at once.

Price list from an Excel file

The price list changes two or three times a year. An admin uploads the new spreadsheet and it's live — no developer, no deploy, no ticket.

Two decorations on one product

A logo on the side and text on the base are two different jobs at two different prices. The buyer adds both to the same item and sends the whole thing to the cart in one motion.

Nothing drops out of the catalog

A product without artwork uploaded yet opens as a plain table of techniques and prices instead of hiding — the buyer still sees a price and can still order. At 4,367 products, that's not a minor case.

The change

From email thread to self-service

// Before
// After
[1] Asking
The buyer emailed a rep to ask what decoration would cost.
The buyer clicks Decoration on the product page and sees the price.
[2] Quoting
A rep calculated cost per quantity, per color, per technique, by hand.
The formula runs in the module — quantity tiers, color markups, mounting and firing costs included.
[3] Artwork
Files and print-zone details went back and forth over email.
The buyer picks a zone on the artwork diagram and uploads the file inside the flow.
[4] Ordering
The order was assembled manually, outside the store.
The cart receives the quantity, the SKU and price per decoration, and the artwork file.
[5] Price updates
A new price list meant a new round of manual recalculation.
An admin uploads an Excel file two or three times a year. That's the whole process.
// The product

What it looks like today

The buyer picks a quantity on the product page and clicks Decoration. A live total shows up before checkout — quantity tiers, colors, and technique costs already worked in.

[1]

Live price on the product page: quantity in, decoration price out, straight into the cart.

[2]

Price list from an Excel file: an admin uploads a new spreadsheet in the backend — no developer, no deploy.

Products still waiting on artwork show a plain price table instead of disappearing — at 4,367 products, that's not a minor case.

Screenshot: decoration calculator on the product page

The pricing calculator on the product page. The buyer sets a quantity, picks a decoration, and sees the total before adding it to the cart.

// Behind the scenes

In the admin: upload the price list from Excel, switch techniques on per product, set up to five print zones, upload artwork. New products get pushed in automatically, with a manual override for the ones that need a human decision.

Admin screenshot: price list import from Excel, print zones
eney.com.ua
Don't take our word for it — open a product and click Decoration.
See it live →
Under the hood

Technical challenge

ENEY didn't come with a wish list — they came with a formula. The job was pressure-testing logic that already lived in a spreadsheet and in one person's head.

The formula
Why doesn't this fit an "option price" field?

Setup cost divides across the run, so per-unit price drops as quantity rises. Every extra color carries two separate markups, not one — that's why it doesn't fit the field every platform ships with, OpenCart included, and why ENEY was still pricing it by hand.

The structure is here; the coefficients stay in ENEY's price list.

Price =setup cost ÷ quantity + markup per extra color
    +per-unit print cost + its own color markup
    +mounting cost
    +firing cost, for anything through a kiln
// DESIGN DECISION
01
The data model
What happens to a product with no artwork yet?

Product → available techniques → up to five print zones each → an artwork file with zones marked A, B, C. The easy answer for an unfinished product is to hide it. We didn't: it opens as a price table, no zone diagram, still orderable.

02
The integration
How does a new module join a live purchase flow?

It launches from the product page carrying the SKU and the quantity already picked, and hands back to the cart the updated quantity, the SKU and price for every decoration, and the artwork file itself. No rebuild, no new platform.

03
Beyond the original scope
What changed along the way?

Import and export got added partway through. The table view and a few fields changed shape as real products moved through. And the third button — Quote — wasn't in the original spec, which only asked for a price inside the cart.

What this makes possible

If your price depends on more than one variable, it can leave the spreadsheet.

Quantity, material, technique, the spot on the product — when that logic lives in one manager's head, this is the kind of problem we like taking apart. It's what 4imprint and the ASI distributor network solve with dedicated pricing software; we built ENEY's inside their existing store, and they own the code outright.

The process that shipped this wasn't invented for a case study. It's the same fixed-scope approach we now sell as a two-week, $3,500 Scoping Sprint — and $7,500 for two months lines up with what two of those sprints cost. How it works →

Want a pricing calculator like this for your store?

One call. Tell us what your pricing actually depends on, and we'll tell you honestly whether it's a two-week scope or a bigger conversation.

Book a 20-minute scoping call Curious how the $3,500 Scoping Sprint works? →
Guild of Marketing team at the office
Book a free consultation

office@guildofmarketing.ua

Naukova Street 7A, Lviv