← Back to blog
PHP MySQL B2B Case Study 19.04.2026.

How we built the ABOS B2B web catalogue from scratch - case study

Custom PHP MVC architecture, advanced filters, quoting system with PDF generation and a complete admin panel - all without a single line of WordPress. This is how ABOS was built.

Project background

ABOS d.o.o. is a Croatian B2B company selling industrial equipment to distributors and business buyers across the region. Their problem: the existing catalogue was a static PDF sent via email. Buyers could not search, filter, or directly send inquiries. The ordering process was chaotic - emails, phone calls, Excel spreadsheets.

The task: build a complete B2B web catalogue that automates the process from search to quote submission.

Technical challenges

The ABOS catalogue has over 400 SKUs divided into 15 categories with up to 30 filterable attributes per category. Standard e-commerce plugins cannot cover this - each category has different attributes (e.g. pumps filter by flow rate, pressure and medium; valves by DN, PN and material).

Additionally, ABOS does not sell directly - they send quotes. The buyer collects products in an "inquiry cart" (not an order), and the system automatically generates a PDF quote with prices, terms and delivery timeline.

Architectural solution

I chose a custom PHP MVC architecture written from scratch - no framework, no WordPress, no off-the-shelf CMS. The reason is simple: ready-made solutions would require so many customizations that they would end up more expensive and slower than custom code.

Results

After launching the ABOS catalogue:

  • Inquiry process reduced from 3-5 days (email-phone-Excel) to under 5 minutes
  • Weekly inquiry count increased by +100% as the entry barrier was eliminated
  • Admin team saves 2-3 hours weekly on manual inquiry processing
  • Page load: under 1.2s even with 400+ SKUs in the catalogue

If you have a similar B2B challenge - let's talk.

Have a similar project?

Describe what you need and we'll get back within 24h.

Get in touch →