Šape loyalty club

A loyalty PWA with e-računi and Klaviyo - points, coupons, and push in one ledger

For pet shop Šape we built a WordPress/WooCommerce loyalty plugin: a PWA at /sape-klub/, a Šape points ledger, barcode coupon generation, sync with e-računi and Klaviyo, and web push notifications.

Situation

Šape runs a webshop and physical tills. Customers expect one points club - whether they buy online or in store - and a simple way to turn those points into a discount at the till or in the shop.

Bottleneck

Off-the-shelf loyalty plugins or SaaS tools cannot cover every customer wish. We can. ERP flow: e-računi invoices, POS, and WooCommerce orders must land in the same ledger without duplicates. The marketing list (Klaviyo) needs points state, and the customer needs an app-like UI with push - not just an admin table.

What we built

A custom plugin with a PWA shell (manifest, service worker, bottom nav): points balance, progress to the next discount tier, time-limited barcode coupons, transaction history, and FAQ. Dual API: e-računi poll/webhook with idempotent writes, plus Klaviyo profiles and loyalty attributes. WooCommerce earn on completed orders, extra-Šape promotions, email registration verify, and Web Push (VAPID) for earn, coupons, and broadcast.

Outcome

In a few steps a customer sees their Šape balance, generates a coupon, and scans the barcode at the till; shop and POS share one balance. Marketing gets synced loyalty attributes in Klaviyo, and ops get one admin for users, transactions, ERP sync, push, and logs.

Continue our chat?