Documentation
Everything you need to install, configure, and run your WirePulse store.
Getting Started
Installation Store Templates Admin Dashboard Image GuidelinesProducts & Catalog
Managing Products AI Product Photographer Collections & Categories Product Types & AttributesContent
Articles & Guides BlogOrders & Sales
Orders Draft Orders Discounts & Promotions Dynamic Discount Rules Gift CardsInventory & Logistics
Multi-Warehouse Suppliers Purchase Orders Inventory Transfers Fulfillment Returns (RMA) Back-in-Stock Alerts Stock Forecasting Inventory CapitalMarketing & CRM
Customer Segments Abandoned Cart Recovery Product Feeds Reviews & Ratings Affiliates & Referrals Smart Recommendations Subscriptions Customer TimelineB2B / Wholesale
Company Accounts Price Lists Pay on AccountAI Features
AI Autopilot AI Shopping Assistant AI Descriptions & SEO Smart Pricing Engine Visual Search Customer Lifetime Value Demand Forecasting Smart Bundles Return PredictorStorefront
Collaborative Shopping Multi-Storefront Themes Page Builder A/B Testing Customer Portal Analytics Store Health ScoreDeveloper
REST API Embedded Checkout Webhooks Plugin System Test Coverage Store SettingsLicensing
Plans & Pricing Activating Your License Configuration Verification & GatingInstallation
Get WirePulse running locally in under 5 minutes.
Requirements
- PHP 8.4+ with common extensions (mbstring, xml, curl, sqlite3/mysql)
- Composer 2.x
- Node.js 20+ & npm
- SQLite (development) or MySQL 8+ (production)
- Flux UI Pro v2 license — purchase at fluxui.dev
Quick Start
git clone https://github.com/kwhorne/wirepulse.git
composer install
npm install && npm run build
cp .env.example .env and set your Stripe keys, mail driver, and AI provider key.
php artisan key:generate && php artisan migrate --seed
php artisan wirepulse:create-admin
composer run dev — visit http://localhost:8000
5 Languages Included
WirePulse ships with full translations in English, Norwegian, German, French, and Spanish — covering admin, storefront, customer portal, emails, and release notes. Set APP_LOCALE=de in your .env file.
Store Templates
Launch a fully configured store in seconds. Free tier.
Free tier — Store Templates are available to all stores. No Pro license required.
One-Click Store Setup
Choose an industry template and get products, collections, brands, URLs, and a matching storefront theme — all created instantly. Replace sample products with your real catalog and you're selling.
Fashion & Apparel
Rose theme · 10 products, 6 collections
Electronics & Tech
Midnight theme · 8 products, 6 collections
Food & Gourmet
Forest theme · 6 products, 5 collections
Home & Living
Mint theme · 6 products, 5 collections
Sports & Outdoor
Ember theme · 6 products, 5 collections
B2B / Wholesale
Ocean theme · 6 products, 5 collections
Tip: Use templates for demos — install any template in 10 seconds. For production, install the closest match and replace with real products. The collections and theme give you a head start.
Admin Dashboard
Your command center for managing the store.
Dashboard
Revenue stats, order counts, inventory alerts, and restocking predictions at a glance.
Products
Create, edit, and organize your product catalog. AI-powered descriptions and SEO.
Collections
Hierarchical category system with parent/child relationships. Powers storefront navigation.
Orders
View and manage customer orders — line items, addresses, totals, payment status.
Customers
Customer database with order history, addresses, and group assignments.
Settings
Staff, themes, product types, currencies, payment methods, taxes, shipping, and more.
Image Guidelines
Automatic processing, recommended sizes, and best practices.
Automatic Processing
When you upload product images, WirePulse automatically:
- Resizes to max 1200×1500px (maintaining aspect ratio)
- Converts to WebP format (25-35% smaller than JPEG)
- Compresses at 85% quality (virtually invisible loss)
Upload JPEG, PNG, GIF, or WebP — the system converts everything to WebP automatically.
| Usage | Size | Ratio | Notes |
|---|---|---|---|
| Product image | 1200 × 1500 px | 4:5 | Ideal size. Auto-resized if larger. |
| Minimum upload | 800 × 1000 px | 4:5 | Smaller may look blurry on retina. |
| Hero banner | 1920 × 1080 px | 16:9 | For Page Builder hero modules. |
| Collection icon | 400 × 400 px | 1:1 | Square icons for category cards. |
Why 4:5? Industry standard used by Shopify, ASOS, and Zalando. Shows more of the product than square, looks premium, and matches Instagram portrait format.
Managing Products
Create, edit, and organize your product catalog with the tabbed editor.
Creating a Product
Product Editor Tabs
Product Information — Name, description, AI generator, pricing with cost price and DG%, and inventory.
Variants — Add, edit, and remove variants. Each has its own SKU, stock, pricing.
Related Products — Cross-sell ("You might also like") and up-sell ("Upgrade your choice") links.
Shipping & Dimensions — Weight, length, width, height per variant for shipping calculations.
SEO — URL slug, meta title, meta description with AI generation and live Google preview.
Data Quality Score
The header badge shows how complete your product data is across 12 data points. Click to see missing fields.
Pricing
Each variant has three price fields:
Price — Selling price including VAT. What the customer pays.
Compare-at — Original price. Shows strikethrough and discount badge on storefront.
Cost Price — Your purchase price (ex. VAT). Used for margin calculation. Never shown to customers.
Tip: Use ⌘K to quickly search and jump to another product while editing. Works by name or SKU.
AI Product Photographer
Turn any photo into a professional studio shot. Pro feature.
Pro feature — AI Product Photographer requires a Pro or Enterprise license.
Background Removal
Upload any photo — even a smartphone shot. Click "Enhance" and the AI removes the background, places the product on white, resizes to 1200×1500, and converts to WebP. Studio quality in one click.
AI Photo Prompt
No photo? Enter your product name and the AI generates a detailed prompt for image generation tools (Midjourney, DALL-E, Stable Diffusion). Describes lighting, angle, background, and composition.
How It Works
Setup
Add REMOVE_BG_API_KEY=your-key to .env. Free tier: 50 images/month. The AI prompt generator uses your existing AI provider.
Tip: Use your smartphone near a window for good natural light. The background doesn't matter — AI removes it. Process your top 20 products first for maximum storefront impact.
Collections & Categories
Organize products into browsable categories with hierarchical nesting.
Collections appear in storefront navigation and can be nested — e.g., "Electronics > Laptops > Gaming Laptops". Products can belong to multiple collections. Create them at Collections → Create Collection.
Brands
Assign brands to products. Appears as a filter on product listing pages.
Tags
Flexible labels for internal organization. No hierarchy, shown on product pages.
Attributes
Standardized product fields like Material or Weight Class, organized in groups.
Product Types & Attributes
34 configurable attributes across 6 groups. Each type controls which fields appear in the editor.
General
Short description, technical description, features, material, color, warranty
Food & Beverage
Nutrition facts, ingredients, allergens, storage instructions
Textile & Apparel
Care instructions, fabric, size guide, fit, season, gender, 72 care label icons
Electronics
Technical specs, power supply, connectivity, battery life, certification
Furniture & Home
Assembly required, max load, room type, style
Sports & Outdoor
Activity type, weather rating, skill level, capacity
Tip: When you change a product's type in the sidebar, the Attributes tab updates automatically. Manage types at Settings → Product Types.
Articles & Guides
Lightweight content with direct product linking. Free tier.
Free tier — Articles & Guides are available to all stores, no Pro license required.
How It Works
Write a buying guide like "How to Choose the Right Tent" and link it to products in your catalog. Readers see the article content with live product cards showing current prices and stock status. Rich text editor, featured image upload (drag-and-drop), SEO fields with AI generation, and sortable product linking.
Rich Content
Markdown/rich text body, excerpt, featured image with drag-and-drop upload.
Product Linking
Search and link products. Readers see live prices, stock status, and clickable cards.
AI SEO
One-click AI generation of meta title and description with live Google preview.
Tip: Use articles for buying guides and seasonal roundups. "Best Running Shoes for Winter 2026" with 8 linked products converts better than a collection page because you're adding editorial expertise.
Blog
Professional blogging with categories, tags, scheduling, and analytics. Pro feature.
Pro feature — The Blog requires a Pro or Enterprise license.
Categories & Tags
Organize posts by category (one per post) and tags (multiple). Readers filter by category in the sidebar or by tag via URL.
Scheduled Publishing
Set a future publish date. The post is saved but invisible until the scheduled time — then goes live automatically.
Featured Posts
Toggle to highlight a post at the top of the blog in a large card format.
Reading Time
Auto-calculated from word count (200 wpm). Shown on listings and post pages.
View Tracking
Each visit increments a counter. See which posts perform best in the admin.
AI SEO
One-click AI generation of meta title and description with live Google preview.
Blog Storefront
/blog — Featured post hero, post grid with covers, category sidebar, tag filtering, pagination.
/blog/{slug} — Full post with cover, category + tag links, author, date, reading time, views, Markdown body, linked product cards, OG article meta.
Product Linking
Both articles and blog posts can link to products. Linked products appear below the content as product cards with live prices and stock — bridging content marketing and commerce.
Tip: One quality post per week beats daily posts with no strategy. Use scheduling to write in batches. Always link 2-5 products per post. Use the AI SEO generator on every post for consistent, optimized metadata.
Orders
Lifecycle from checkout to fulfillment.
Checking out
Payment confirmed
Shipped/fulfilled
Stock is deducted when payment is confirmed, not when the order is created — abandoned checkouts don't lock inventory. Each order has a unique reference code (e.g., WP-A3K9M2X1). Click any order to see line items, addresses, payment info, and tax breakdown.
Draft Orders
Create orders manually for phone orders, B2B quotes, or custom requests.
Creating a Draft Order
Tip: Draft orders are essential for B2B and phone sales. Payment links expire after 7 days. Use custom line items for consulting fees, installation, or negotiated pricing.
Discounts & Promotions
Coupon codes with usage limits, date ranges, and priority rules.
Tip: For storefront sale displays, use the compare-at price on individual products instead of creating a discount code — it's more visible to browsing customers.
Dynamic Discount Rules
Automatic discounts that apply without coupon codes when conditions are met.
E.g., 10% off orders over 1000 kr.
E.g., 100 kr off orders over 500 kr.
E.g., free shipping on orders over 499 kr.
Multiple rules can stack — e.g., "10% off over 500 kr" and "Free shipping over 499 kr" both trigger on the same order. Configure at Settings → Discount Rules with optional date ranges and priority ordering.
Gift Cards
Digital gift cards with balance tracking, split payment at checkout, and transaction ledger.
How It Works
Issue: Marketing → Gift Cards → enter value & optional expiry → unique XXXX-XXXX-XXXX code generated.
Redeem: At checkout, customer enters the code. Full coverage = instant payment. Partial coverage = remaining charged via Stripe.
Refund: If Stripe session expires after applying a gift card, the balance is automatically refunded.
Tip: Issue gift cards as refunds instead of cash — money stays in your ecosystem and drives repeat purchases. Set 12-month expiry.
Multi-Warehouse / Locations
Multiple inventory locations with per-variant per-location stock tracking.
Main storage. Products shipped to customers.
Physical retail. Ship-from-store or BOPIS.
Third-party logistics partner.
Stock is tracked per variant per location. The storefront shows the aggregate total. Configure at Settings → Locations. When an order is paid, stock is allocated from available locations — split across multiple fulfillments if needed.
Suppliers
Track your vendors, their products, cost prices, and lead times.
Each supplier has contact details, currency, and configurable lead time. Suppliers are linked to product variants via a pivot table that stores supplier-specific SKUs, cost prices, minimum order quantities, and a "preferred supplier" flag.
Supplier-Variant Link
Supplier SKU — The vendor's own product code.
Cost Price — What you pay per unit. Auto-fills on purchase orders.
Minimum Quantity — Min units per order from this supplier.
Preferred — Mark one supplier per variant for restocking suggestions.
Tip: Link your top bestsellers to suppliers first. When stock alerts fire, you'll immediately know who to reorder from and at what cost.
Purchase Orders
Order from suppliers, track incoming stock, and receive goods into your warehouse.
Creating
Sent to supplier
Some received
All received
Creating a PO
Receiving Goods
Open the PO, enter received quantities per line, click "Receive Items". Stock is added to the destination location immediately. Supports partial deliveries — receive what arrived, leave the PO open for the rest.
Incoming Stock
When a PO is marked as "Ordered", the system sets an "incoming" count on each variant's inventory level at the destination. This is visible in the product editor — helping you see stock on hand vs. stock in transit, preventing double-ordering.
Tip: Create POs as Draft when you decide to reorder — even before contacting the supplier. Use the stats dashboard (Draft/Ordered/Partial/Received counts) to manage your procurement pipeline.
Inventory Transfers
Move stock between locations with tracked ship/receive flow.
Transfer stock between any two locations. Select source, destination, product variant, and quantity. Ship deducts from source and sets "incoming" on destination. Receive adds stock at destination. Each transfer gets a unique reference (TRF-XXXXXXXX).
Tip: Use transfers to balance inventory across locations. If your warehouse is overstocked but your store is running low, create a transfer instead of manual adjustments — it keeps both stock counts accurate and shows incoming at the destination.
Fulfillment
Split fulfillment from multiple locations with ship/deliver tracking.
On Order Details, create fulfillments manually or let the system auto-allocate. Ship with optional tracking number/URL. Mark as delivered when the customer receives the package. Uses fulfillment.created and fulfillment.shipped webhook events.
Returns (RMA)
Customer self-service returns with 30-day window, admin workflow, and automatic gift card refunds.
Customer Flow
Customer opens a completed order in their portal → clicks "Request Return" → selects items, quantities, and reason → submits. Tracks status at /app/returns.
Admin Flow
Review at Sales → Returns → Approve/Reject → Mark as Received → Process Refund (gift card automatic or original method manual). Inventory is restocked on refund.
Webhook Events
return.requested
return.approved
return.refunded
Back-in-Stock Alerts
Automatic email notifications when out-of-stock products are restocked.
Stock Forecasting
Predictive restocking alerts based on 30-day sales velocity.
The dashboard analyzes sales over the past 30 days and predicts when each variant will run out. Alerts appear in the amber panel if less than 30 days of stock remain.
Inventory Capital
See where your money is tied up. Find dead stock, slow movers, and ROI per product.
How It Works
Click "Run Analysis" and the system calculates the capital value (stock x cost price) of every product, its sales velocity, days of stock remaining, 90-day ROI, and time since last sale. Products are classified as Healthy, Excess, Slow, or Dead — then displayed with a visual capital distribution bar showing where your money sits.
Product Classifications
Selling regularly, reasonable stock levels. Keep stocked.
180+ days of stock at current demand. Reduce reorders.
60+ days since last sale, declining velocity. Price reduction needed.
90+ days since last sale or never sold. Clearance or write off.
Metrics Per Product
Each product shows: capital tied up, stock count, cost/retail price, margin %, units sold (30d/90d), daily velocity, days of stock remaining, 90-day ROI, and days since last sale. Sort by highest capital, lowest ROI, slowest velocity, or most days of stock to find your worst performers.
Smart Pricing Link
Every non-healthy product links directly to Smart Pricing for AI-recommended price adjustments. A 10-20% price reduction on dead stock is often enough to restart movement and recover capital.
Tip: Run monthly as a financial review. The Dead Stock Value is your most actionable number — a 20% clearance sale that recovers 80% of cost beats holding inventory for 6 months hoping it sells at full price. Fill in cost prices on all products for accurate results.
Customer Segments
Dynamic segments that auto-recalculate hourly based on purchase behavior.
VIP
Spent > 5,000 NOK total. Your most valuable customers.
First-Time Buyers
Exactly 1 order. Target with welcome offers.
At Risk
Last order > 90 days ago. Re-engagement candidates.
Big Spenders
AOV > 1,000 NOK. Target with premium products.
Custom Segments
Build conditions with: Total Spent, Order Count, Last Order Days Ago, Avg Order Total, Registered Days Ago, Customer Group. Use Match ALL or Match ANY logic. Preview matches before saving.
Abandoned Cart Recovery
Automatic email recovery for carts abandoned 1+ hours, with up to 3 reminders.
How It Works
Tip: Recovery runs automatically every 15 minutes — no setup needed beyond a mail driver. Industry average recovery rate is 5-10%. Monitor at Marketing → Abandoned Carts.
Product Feeds
Auto-generated feeds for Google Shopping, Meta, TikTok, and Pinterest. Regenerated every 4 hours.
Google Shopping
XML feed for Google Merchant Center. Includes all required g: fields.
Meta Commerce
JSON catalog for Facebook Shop and Instagram Shopping.
TikTok
JSON catalog for TikTok Ads Manager product catalog.
XML feed for Pinterest Business catalog ingestion.
Create at Marketing → Product Feeds. Each feed gets a public URL at /feeds/{slug}.xml or .json. Submit the URL to the ad platform. Feeds regenerate automatically every 4 hours.
Reviews & Ratings
Customer reviews with 1-5 star ratings, verified purchase badges, and admin moderation.
Star Ratings
Customers rate products 1-5 stars. Average rating and review count displayed on product pages and product cards in listings.
Verified Purchase
Reviews from customers who bought the product get a "Verified Purchase" badge automatically — detected from order history.
Moderation Queue
All reviews start as "pending". Admins approve or reject before they appear on the storefront.
What Customers See
Product page — Average star rating, total review count, rating breakdown (5★ to 1★ with progress bars), individual reviews with stars, title, body, author, and "Verified Purchase" badge.
Product cards — Star rating and review count shown below the product name in collection pages, search results, and homepage grids.
Write a Review — Click to expand form: clickable star selector, name, email, optional title, review text. One review per customer per product.
Admin Moderation
At Marketing → Reviews: 3 KPI cards (Pending, Approved, Rejected), status filter, and review cards with Approve/Reject/Delete actions. Each review shows stars, status, verified badge, full text, author info, and a direct link to the product.
SEO: Google Rich Snippets
Products with approved reviews automatically include AggregateRating JSON-LD structured data. Google can show star ratings directly in search results — significantly improving click-through rates.
Tip: Moderate reviews within 24 hours — fast approval encourages more submissions. Even 3-star reviews build trust; a mix of ratings looks more authentic than all 5-stars. Aim for 5+ reviews per product for meaningful conversion impact.
Affiliates & Referrals
Partner with influencers and track commission on every sale they generate.
Unique Codes
Each affiliate gets a unique code (e.g., SARAH20) that customers enter at checkout. The code can also give the customer a discount.
Auto Commission
When a customer uses an affiliate code and pays, commission is calculated automatically — percentage of order or fixed amount.
Full Tracking
See orders generated, commission earned, and pending payouts per affiliate. Approve and mark as paid from the admin.
How It Works
Commission Flow
Order paid
Admin confirms
Affiliate compensated
Linking Codes to Discounts
One code can serve two purposes: PARTNER20 gives the customer 20% off (Discount) AND the affiliate 10% commission. Create the Discount first, then link it when creating the Affiliate. The customer sees a discount, you track the referral — everyone wins.
Tip: Start with 2-3 influencers in your niche. Wait 30 days before approving commissions to account for returns. Even 5% commission with a 10% customer discount is profitable if affiliates bring new customers you wouldn't reach otherwise.
Smart Recommendations
"Customers who bought this also bought…" based on co-purchase analysis.
A nightly command (recommendations:generate) analyzes 90 days of orders. Products frequently bought together get a co-purchase score. On product pages, recommendations are shown in priority order:
1. Manual cross-sell — always wins if set.
2. Co-purchase data — sorted by score.
3. Same brand/type fallback — for new products with no orders.
Tip: Manually set cross-sell on your top 20 bestsellers to bootstrap recommendations. After 50+ orders, the system handles it automatically.
Subscriptions
Recurring orders with 5 frequency options and customer self-service.
Customers subscribe from a completed order → choose frequency → system auto-generates orders on schedule. B2B customers get instant processing with invoices. B2C customers receive a Stripe payment link.
Weekly
7d
Bi-weekly
14d
Monthly
30d
Bi-monthly
60d
Quarterly
90d
Customer Self-Service
At /app/subscriptions: change frequency, update quantities, pause, resume, or cancel. Admins manage all subscriptions at Sales → Subscriptions.
Webhook Events
subscription.created
subscription.order_generated
subscription.cancelled
Customer Timeline
A unified view of every customer interaction — orders, reviews, returns, abandoned carts — in one chronological timeline. Mini-CRM built into e-commerce.
How It Works
Open any customer and the Timeline tab shows their complete story: a snapshot with CLV segment, total orders, spend, returns, and reviews — then a vertical timeline of every interaction in reverse chronological order. No more switching between Orders, Reviews, and Returns to piece together a customer's history.
Customer Snapshot
Champion, Rising Star, Loyal, At Risk, or Lost — at a glance
Total orders and lifetime revenue from this customer
Return count — immediately visible if above zero
Count and average star rating across all products
Critical, High, Medium, or Low — from CLV analysis
How many times they left items behind
Timeline Events
- • Orders — Reference, status, total. Color-coded by status. Clickable link to order detail.
- • Reviews — Product name, star rating (★★★★☆), title or excerpt. Amber for 4-5★, red for 1-2★.
- • Returns — Order reference, return status, reason. Clickable link to return detail.
- • Abandoned Carts — Item count, cart value. Orange for abandoned, green if recovered.
- • Account Created — Registration date. Always the last event in the timeline.
Use Cases
- • Customer support — See full history before responding. "Last order 3 days ago, 2-star review yesterday, open return."
- • VIP management — Champions with 12 orders and 5-star reviews deserve personal attention.
- • Win-back decisions — At Risk with high-value history and no returns? Worth a campaign. Frequent returner? Maybe not.
- • Fraud patterns — 5 orders and 4 returns? The timeline makes it instantly visible.
Tip: Make the Timeline your default starting point when looking at any customer. The snapshot gives you the full picture in 2 seconds. Before sending a re-engagement campaign, check the timeline — an "At Risk" customer with 3 returns and a 1-star review is very different from one who simply hasn't ordered in a while.
Company Accounts
B2B wholesale with registration, payment terms, credit limits, and approval workflow.
Name & Registration — Organization number and VAT number for invoicing.
Payment Terms — Net 0, 15, 30, or 60 days.
Credit Limit — Maximum outstanding invoice balance. Orders exceeding the limit are blocked.
Approval — Only approved companies can use "Pay on Account".
Users — Multiple employees linked with roles: Admin, Buyer, or Viewer.
Price Lists
Customer-group-based price overrides with priority, date ranges, and quantity breaks.
Pricing Resolution Order
1. Active price lists for the user's customer group (highest priority first)
2. Price list entries matching variant, currency, and minimum quantity
3. Customer group price in the prices table
4. Base price (no customer group)
Supports quantity breaks — e.g., kr 80 when buying 10+, kr 60 when buying 50+.
Pay on Account
Approved B2B customers checkout on credit with automatic invoicing.
Approved companies with payment terms and sufficient credit see "Pay on Account" at checkout. Order is placed immediately, invoice generated with due date. Stock decremented and fulfillments created. Overdue invoices flagged daily.
AI Autopilot
Autonomous orchestration engine that connects Smart Pricing, A/B Testing, Demand Forecasting, and CLV into self-acting automation rules.
Pro feature — AI Autopilot requires a Pro or Enterprise license.
Auto-Pricing
Automatically applies high-confidence pricing suggestions. Configure min confidence, max change %, and allowed signals. Prices update without manual approval.
Auto-Complete A/B Tests
Ends running A/B tests when statistically significant using a two-proportion Z-test. Configurable significance level (90/95/99%) and min impressions.
Auto-Purchase Orders
Creates draft POs when demand forecast shows critical/high urgency. Groups by preferred supplier with cost prices and lead times. You review and approve.
Auto Win-Back Campaigns
Generates unique WINBACK-XXXXXXXX discount codes for at-risk/lost customers from CLV data. Configurable discount %, validity, and usage limits.
How It Works
- All four rules are disabled by default — nothing runs until you turn it on.
- Toggle rules on/off, adjust thresholds inline, click "Run" or wait for the 15-minute schedule.
- Cooldown system prevents over-action per entity (configurable per rule).
- Activity Log records every action with snapshot data for full auditability.
Tip: Start with one rule. Enable Auto-Pricing (high confidence, max 10%) and monitor for a week. Auto-Complete A/B Tests is safest to enable immediately. For Auto-Purchase Orders, link suppliers to variants with cost prices. For Auto-Campaigns, set cooldown to 720 min (12h). Review the activity log weekly.
AI Shopping Assistant
Conversational commerce — search, buy, and checkout through natural language chat.
Conversational Commerce
Customers can complete purchases entirely through the chat — no page navigation needed. "I need 3 blue t-shirts" → AI adds to cart → shows total → "Ready to checkout?" → provides checkout link. WhatsApp-style shopping.
Enable in 4 Steps
Search Products
Natural language search: "winter jackets under 2000 kr", "Nike shoes on sale"
Product Details
"Tell me about the Deluxe Widget", "Is this in stock?", "What sizes?"
Add to Cart
"Add 2 of the cashmere sweater", "Put that in my cart" — validates stock and adds.
View Cart
"What's in my cart?", "How much is my total?" — shows items + checkout link.
Track Orders
"Where is WP-ABCD1234?" — returns status, total, and tracking info.
Example Shopping Flow
Architecture
Powered by Laravel AI SDK with tool-calling. Five tools: SearchProducts, GetProductDetails, AddToCart, GetCartSummary, TrackOrder. Uses the cheapest model. Cart counter updates in real-time when AI adds items.
Tip: Conversational commerce works best with clear product names and accurate stock. Customers who shop via chat have higher conversion rates — the AI handles questions and objections in real-time.
AI Descriptions & SEO
Generate product descriptions and SEO metadata with one click.
AI Description Generator
On the product editor, enter keywords (e.g., "waterproof, lightweight, hiking, breathable") and click Generate. The AI creates a professional description with paragraphs and feature bullet points. Always review before publishing.
AI SEO Generator
On the SEO tab, click "Generate with AI" to auto-create optimized URL slug, meta title, and meta description. Review the live Google search preview before saving.
Tip: The more specific your keywords, the better the result. The AI writes in the same language as your input — write in Norwegian for Norwegian descriptions.
Smart Pricing Engine
AI-powered pricing optimization based on sales velocity, stock, and margins. Pro feature.
Pro feature — Smart Pricing requires a Pro or Enterprise license.
Increase
High demand + low stock → raise price to capture value. Typical: +5-15%.
Decrease
Low velocity + high stock → lower price to move inventory. Typical: -5-20%.
Hold
Healthy velocity and margin → no change needed.
How It Works
The AI analyzes each product's 30-day and 90-day sales velocity, stock on hand, days of stock remaining, cost price, and current margin.
Each suggestion includes a signal (increase/decrease/hold), confidence level (high/medium/low), suggested price with percentage change, a short reason, and detailed analysis.
Click "Apply Price" to update the live price instantly. Admin approval is always required — no prices change automatically.
Safety
Never suggests below cost price. Changes under 3% are filtered out. Runs weekly (Monday 04:00) or on-demand. Full audit trail of who applied which suggestion.
Tip: Start with weekly reviews. Focus on high-confidence suggestions first. Even a 5% increase on top sellers significantly boosts margin. Fill in cost prices for better recommendations.
Visual Search
"Shop the Look" — upload a photo or describe what you see, AI finds matching products. Pro feature.
Pro feature — Visual Search requires a Pro or Enterprise license.
Image Upload
Customer uploads a photo (Instagram screenshot, magazine clipping, friend's outfit). AI analyzes color, material, category, and style — then matches against your catalog.
Text Description
"Black leather jacket with silver zippers" or "minimalist wooden side table". AI matches against product visual profiles.
How It Works
1. Run visual-search:index to generate visual profiles (color, category, style, keywords) for all products.
2. Customer uploads an image → AI describes it → matches against product profiles using full-text search with color/category/style boosting.
3. Up to 12 matching products shown as a standard product grid with prices.
Storefront
Available at /visual-search. Drag-and-drop image upload with preview, text search alternative, AI loading spinner, and product grid results. Purple-themed "Shop the Look" design.
Tip: Especially powerful for fashion, home decor, and lifestyle stores where customers know what something looks like but not what it's called. Link to Visual Search from your navigation for maximum discovery.
Customer Lifetime Value
AI-powered customer segmentation and churn prediction. Know which customers to nurture, reward, or win back.
How It Works
Click "Run Analysis" and the AI examines every customer's complete purchase history — total revenue, order count, average order value, purchase frequency, time between orders, and recency. It then classifies each customer into a segment, assesses churn risk, predicts future lifetime value, and recommends a specific action.
Customer Segments
Every customer with at least one order is classified into one of six segments:
Top customers by revenue and frequency. High spend, recent activity.
New customers with strong growth signals — increasing AOV or frequency.
Consistent repeat buyers. Moderate-to-high value, reliable pattern.
Under 2 orders, joined recently. Early in the customer journey.
Previously active but frequency has dropped. Growing order gap.
No orders in 90+ days with declining frequency. Needs win-back.
Churn Risk Assessment
Independent of segment, each customer gets a churn risk level: Critical (very likely to leave), High (warning signs), Medium (stable but quiet), or Low (healthy, active). Filter by risk level to prioritize outreach.
AI Recommendations
Each customer profile includes a tailored action recommendation. Examples:
- • "Send 10% discount code to 47 At Risk customers"
- • "Invite to VIP program — 8 months of consistent high-value orders"
- • "Win-back campaign with 20% discount — no activity in 120 days"
- • "Product recommendation email — rising AOV suggests willingness to spend more"
Dashboard Overview
The dashboard shows four key metrics at the top: total analyzed customers, total predicted CLV (your future revenue potential), average CLV per customer, and at-risk revenue (how much you could lose without intervention). Below that, six clickable segment cards let you filter instantly. Each customer card shows predicted CLV, revenue, AOV, purchase frequency, recency, and the AI's analysis with recommended action.
Tip: Focus on "At Risk" first — a simple 10% discount email to drifting customers costs nothing but can recover thousands in revenue. Run the analysis monthly to keep segments fresh. The "At Risk Revenue" number tells you exactly how much is at stake.
Demand Forecasting
AI-powered inventory predictions that go beyond simple averages. Know what to reorder, how much, and by when.
How It Works
Click "Run Forecast" and the AI analyzes each product's sales history across 5 time windows (7d, 14d, 30d, 60d, 90d), day-of-week patterns, seasonal context, incoming stock from open purchase orders, and supplier lead times. It predicts demand for the next 14, 30, and 90 days — then calculates exactly when you'll run out and what to reorder.
Five Urgency Levels
≤ 7 days to stockout. Immediate reorder needed.
≤ 14 days. Order now to avoid gaps.
≤ 30 days. Plan a reorder soon.
30+ days of stock. Monitor.
90+ days. Consider promotion or price cut.
What the AI Considers
- • Sales trends — 30d vs 90d velocity. Accelerating demand → higher forecast.
- • Day-of-week patterns — Weekend spikes factored into upcoming demand.
- • Seasonal events — Easter, Black Friday, Christmas detected within 30 days.
- • Incoming stock — Open purchase orders reduce stockout urgency.
- • Supplier lead time — Reorder deadline accounts for delivery delays.
AI Recommendations
Each product gets a specific, actionable recommendation:
- • "Order 200 units within 14 days to avoid stockout before Easter"
- • "Demand is accelerating +25%. Increase next order by 30%"
- • "90+ days of stock at current pace. 15% discount to move inventory"
Each card links directly to "Create Purchase Order" for one-click reordering.
Schedule
Runs automatically every Monday at 05:00, or on-demand via the dashboard. Works best with 90+ days of order history, preferred suppliers with lead times set, and active purchase orders for incoming stock tracking.
Tip: Focus on Critical and High urgency first — these are products that will cost you sales. The Overstock view is equally valuable: it shows capital tied up in slow-moving inventory. Run forecasts more frequently as seasonal peaks approach — demand patterns shift quickly around holidays.
Smart Bundles
AI analyzes purchase patterns and suggests product bundles that customers already buy together. Increase AOV without guessing.
How It Works
Click "Find Bundles" and the AI scans 180 days of order data, finding product pairs that customers frequently buy together. It calculates the co-purchase rate (how often products appear in the same order), suggests a customer-friendly bundle name, recommends a discount percentage (5-20%), and explains why the bundle makes sense. Accept → the bundle is created as a draft. Publish → it appears on product pages and at checkout.
What You See
How often these products are bought together. 30%+ is excellent, 15%+ qualifies.
AI-recommended 5-20%. Higher rates justify bigger discounts.
Customer-friendly name like "Complete Skincare Set" or "Home Office Essentials".
High (strong data, 50+ co-purchases), Medium, or Low.
Workflow
- • Find Bundles → AI generates up to 20 suggestions ranked by co-purchase rate
- • Accept → Creates a draft bundle with products, prices, and discount calculated
- • Publish → Bundle goes live on product pages and checkout
- • Track → See how many times each bundle has been purchased
- • Dismiss → Reject suggestions that don't fit. Won't be suggested again
Where Bundles Appear
Published bundles show as "Frequently Bought Together" on the product pages of included products (with combined price and savings), and as upsell suggestions at checkout when the cart contains a bundle product. Both placements are configurable per bundle.
Tip: Start with high-confidence suggestions — they have the strongest data. Even a 10% bundle discount on products customers already buy together can increase AOV by 15-25%. Run the analysis monthly as purchase patterns evolve. Start conservative with discounts (5-10%) and increase if bundle adoption is low.
Return Predictor
AI predicts which orders are likely to be returned before the customer receives the package. Intervene early, reduce return costs.
How It Works
Click "Analyze Orders" and the AI scans all orders from the last 30 days. For each order, it examines the items, quantities, customer return history, product categories, discount usage, and address patterns — then assigns a return probability (0-100%) and risk level with a specific proactive recommendation.
Risk Factors
Same product in different sizes — likely "try and return" behavior
Previous returns and return rate (30%+ is flagged)
Higher risk on first orders, especially high value
Clothing/shoes: 20-30% return rate vs electronics: 5-10%
Four Risk Levels
- • Critical (60%+) — Send personal email with sizing guidance
- • High (35-60%) — Include personalized note in package
- • Medium (15-35%) — Follow up 3 days after delivery
- • Low (<15%) — Standard fulfillment, no action needed
Self-Improving Accuracy
The system tracks actual outcomes — whether predicted high-risk orders were actually returned. Once 10+ outcomes are recorded, the dashboard shows prediction accuracy percentage. This feedback loop helps you understand how reliable the predictions are for your specific product mix and customer base.
Tip: Focus on Critical and High risk orders — a 5-minute personal email to a customer who ordered 3 sizes of the same shirt can prevent a return that costs shipping both ways plus restocking. Even preventing 10% of predicted returns saves thousands in reverse logistics annually.
Multi-Storefront
One backend, multiple storefronts. Different domains, themes, languages, currencies, and pricing — shared catalog and inventory.
How It Works
Create multiple storefronts in Settings → Storefronts. Each storefront gets its own domain, language, currency, customer price group, sales channel, and theme. When a visitor hits a storefront domain, the middleware automatically applies that storefront's configuration — locale, prices, theme, and product visibility. Inventory and the product catalog are shared across all storefronts.
Per-Storefront Configuration
Custom domain per storefront (e.g., b2b.yourstore.com, store.de)
5 languages: English, Norwegian, German, French, Spanish
Override the default currency per storefront
Assign a customer group for B2B or wholesale pricing
8 built-in themes — each store can look completely different
Restrict which products/collections appear on each storefront
Common Setups
- • B2B + B2C — Consumer store with retail prices, wholesale store with B2B price group. Same catalog, different pricing.
- • Multiple countries — store.de (German, EUR), store.no (Norwegian, NOK), store.com (English, USD).
- • Brand stores — Different theme and restricted catalog per brand.
- • Outlet — Separate storefront for clearance items with distinct look and restricted products.
Shared Resources
All storefronts share the same product catalog, inventory, customer database, and admin panel. A sale on one storefront reduces stock on all others. Orders are tagged with the storefront's sales channel for per-store revenue reporting. One admin team manages everything from a single backend.
Tip: Start with B2B + B2C — the most common and fastest to set up. Inventory is always shared, so you never oversell. Link each storefront to a different sales channel to see per-storefront revenue in analytics.
Themes
8 built-in color themes with light/dark mode support.
Professional blue
Natural green
Warm orange
Creative purple
Soft pink
Deep indigo
Bold red
Fresh emerald
Page Builder
Visual drag-and-drop editor with 55+ modules including 9 e-commerce modules.
Editor Layout
Left panel — Module library. Drag modules into your page.
Center canvas — Your layout with 1-4 column rows.
Right panel — Settings for the selected module.
E-Commerce Modules
E-commerce modules pull live data from your catalog. Data is cached for 5 minutes.
A/B Testing
Test storefront variations and measure which converts better. Pro feature.
Pro feature — A/B Testing requires a Pro or Enterprise license.
How It Works
Create a test with two variants (A = control, B = test). Traffic is split automatically — each visitor is assigned a variant that sticks for the session.
Use the @ab('handle') Blade directive to show different content per variant. Impressions are tracked automatically, conversions via a simple service call.
The admin dashboard shows real-time results: impressions, conversions, conversion rates, and uplift ("+23% better"). Declare a winner with one click.
Blade Directive
@@ab('hero-cta')
@@else
@@endab
CTA Buttons
Text, color, size. Often the highest-impact test.
Hero Banner
Headline, image, subtitle. First thing visitors see.
Pricing Display
"Was 999 Now 749" vs "25% Off". Position of compare-at.
Admin Dashboard
Side-by-side variant comparison with conversion rates, progress bars, and uplift calculation. Draft → Running → Completed lifecycle. One-click "Declare Winner" to end the test.
Tip: Run one test at a time. Let it collect 1,000+ impressions per variant. Start with CTA button tests — easiest to implement, highest impact. Use 50/50 split for fastest results.
Customer Portal
Self-service account at /app with B2B-adaptive features.
My Account
/app
Dashboard with greeting, order count, total spent, and recent orders.
My Orders
/app/orders
Full order history with details, totals, and fulfillment tracking.
My Addresses
/app/addresses
Manage shipping/billing addresses. Set defaults for faster checkout.
Subscriptions
/app/subscriptions
Change frequency, update quantities, pause, resume, or cancel.
Company (B2B)
/app/company
Org number, VAT, payment terms, credit limit, outstanding balance.
Invoices (B2B)
/app/invoices
Invoice list with status, due date, and amount tracking.
Tip: The portal adapts automatically — when you link a user to a company, the B2B features (Company, Invoices) appear instantly.
Analytics
Visual analytics with charts, KPIs, and period-over-period comparison.
Revenue
Total revenue from completed/processing orders.
Orders
Order volume with trend indicator.
New Customers
Customer acquisition over period.
Avg Order Value
AOV with period-over-period change.
Recovery Rate
Abandoned cart recovery percentage.
Top Sellers
Top 10 bestselling products by units sold.
Charts
Revenue Over Time (line), Orders Over Time (bar), AOV (line), Customer Acquisition (dual-line with B2B highlight), Cart Recovery (stacked bar). All interactive with hover tooltips.
Store Health Score
Like Google Lighthouse for e-commerce. Audits your store and scores it 0-100 with actionable fixes.
How It Works
Click "Run Audit" and the system scans every published product across six dimensions: images, descriptions, SEO, pricing, stock, and catalog completeness. You get an overall score (0-100) with a letter grade (A-F), category breakdowns with progress bars, a prioritized issues list, and AI-generated top 3 actions to improve your score.
Six Categories
Missing images, single-image products, no primary image flag
Missing or very short descriptions (<50 chars)
Missing URL slugs, meta titles, meta descriptions
Variants without prices, missing cost prices
Purchasable variants out of stock, low stock (≤5)
Products not in collections, no brand, missing SKU
Grading Scale
AI Actions
After scoring, the AI generates a 2-3 sentence summary of your store's state and the top 3 most impactful actions — ordered by impact. Example: "Add images to 14 products (Images score jumps from 60 to 90). Write meta titles for 10 products. Add descriptions to 3 products." Use these as your improvement to-do list.
Tip: Run the audit after every catalog update. Fix critical issues first — products without images or prices are invisible or unbuyable. Aim for Grade B (75+) as your baseline. The fastest improvement comes from batch-fixing high-count issues in one session.
REST API
Token-based API (Laravel Sanctum) with 12 resource endpoints, filtering, includes, and cursor pagination.
Authentication
Create tokens at Settings → API Tokens. Include header: Authorization: Bearer YOUR_TOKEN. Rate limit: 60 req/min (120 req/min for admin tokens).
Endpoints
GET/POST /api/v1/products GET/POST /api/v1/orders GET/POST /api/v1/customers GET/POST /api/v1/collections GET/POST /api/v1/brands GET/POST /api/v1/tags GET/POST /api/v1/discounts GET /api/v1/currencies GET /api/v1/channels GET /api/v1/dashboard/stats GET /api/v1/inventory
Filtering & Includes
GET /api/v1/products?filter[status]=published GET /api/v1/products?include=variants,brand,media GET /api/v1/orders?filter[status]=processing
Token Abilities (Scopes)
products:read
products:write
orders:read
orders:write
customers:read
customers:write
collections:read
collections:write
dashboard:read
inventory:read
Embedded Checkout
Sell products on any website with a single line of HTML. No redirect needed.
How It Works
Add a single script tag to any external page, then use the <wirepulse-buy> web component to embed a product card or buy button. Customer clicks "Buy Now" → Stripe Checkout opens in a new tab → payment completes → order appears in your admin panel with the referrer URL.
Two Layouts
Full card with image, name, price, stock status, quantity selector, and "Buy Now" button. Perfect for landing pages and sidebars.
<wirepulse-buy product="123">
Inline buy button with price. Perfect for blog posts and partner pages where you want a lightweight CTA.
<wirepulse-buy product="123" layout="button">
Widget Options
product — Product ID (required)
variant — Specific variant ID for multi-variant products
quantity — Default quantity (default: 1)
theme — light or dark to match the host page
layout — card (default) or button
Technical
Pure vanilla JavaScript — no dependencies. Renders inside Shadow DOM for complete CSS isolation. CORS-enabled public API with 60 req/min rate limiting. Orders tagged with source: embed and the referrer URL for attribution tracking. Works on any website: WordPress, Webflow, Squarespace, static HTML, or any CMS.
Tip: Embed buy buttons in blog posts to turn content into a sales channel. Partner sites can sell your products on their pages without needing access to your store. Check order source in the admin to see which embed placements drive the most revenue.
Webhooks
21 events with HMAC-SHA256 signing, automatic retries, and delivery log.
Setup
Settings → Webhooks → "Add Webhook" → enter endpoint URL → select events → Test → Save. Retries: 3 attempts with backoff (10s, 1m, 5m).
Available Events (21)
order.created
order.updated
order.status_changed
product.created
product.updated
product.deleted
customer.created
customer.updated
inventory.changed
cart.abandoned
fulfillment.created
fulfillment.shipped
invoice.created
invoice.paid
subscription.created
subscription.order_generated
subscription.cancelled
return.requested
return.approved
return.refunded
stock.back_in_stock
Signature Verification
Each payload is signed with HMAC-SHA256. Verify the X-WirePulse-Signature header against your webhook secret.
$payload = file_get_contents('php://input');
$expected = hash_hmac('sha256', $payload, $secret);
if (hash_equals($expected, $signature)) {
// Webhook is authentic
}
Plugin System
Hook-based architecture with 4 extension points.
Plugin Structure
plugins/my-plugin/
├── manifest.json # Plugin metadata
└── src/
└── MyPluginServiceProvider.php # Registration logic
Extension Points (Hooks)
admin.sidebar.items — Add custom menu items to the admin sidebar
product.editor.tabs — Add custom tabs to the product editor
checkout.after_payment — Run logic after payment confirmation
api.routes — Register additional API endpoints
Example Registration
$manager = app(PluginManager::class);
$manager->registerHook('admin.sidebar.items', fn () => [
'label' => 'My Feature',
'icon' => 'star',
'route' => '/wirepulse/my-feature',
]);
Test Coverage
WirePulse ships with 1,140+ Pest tests completing in ~20 seconds. Run php artisan test --compact before every deployment.
| Area | Coverage | Details |
|---|---|---|
| API Controllers | 100% | All 14 endpoints — CRUD, auth, validation, filtering, includes |
| Customer Portal | 100% | All 9 Account components — rendering, access control, actions |
| Models | 100% | 79 models — fillable, casts, relationships, business methods |
| Services | ~83% | 24 services — fulfillment, inventory, invoicing, shipping, feeds, B2B |
| Shipping Calculators | 100% | FlatRate, FreeShipping, WeightBased, LocalPickup |
| Feed Generators | 75% | FeedManager, Google Shopping (XML), Meta Commerce (JSON) |
Tip: Tests use Pest with factories and RefreshDatabase for full isolation. When adding features, find a similar test nearby and follow the pattern — API tests in tests/Feature/Api/, models in tests/Feature/Models/, services in tests/Feature/Services/. For memory-intensive runs: php -d memory_limit=512M vendor/bin/pest --compact.
Store Settings
Complete configuration reference.
Staff
Admin access management. Toggle admin privileges per user.
Product Types
Define types and configure which attributes appear for each.
Currencies
Exchange rates, decimal places, symbols. Mark one as default.
Channels
Sales channel configuration for multi-platform selling.
Languages
5 languages included: English, Norwegian, German, French, Spanish. Full translations for admin, storefront, portal, emails, and release notes.
Taxes
Tax classes, zones, and rates. Configurable VAT/GST per region.
Shipping
6 providers: Flat Rate, Free Shipping, Weight-Based, Bring, Postnord, Local Pickup.
Locations
Warehouses, stores, 3PL. Per-location inventory tracking.
API Tokens
Sanctum tokens with scoped abilities. Rate limited 60/min.
Webhooks
21 events, HMAC-SHA256 signed. Retry with backoff.
Plugins
Enable/disable installed plugins from the plugins/ directory.
Discount Rules
Automatic discounts without coupon codes.
AI Settings
Toggle AI Shopping Assistant. Requires AI provider API key.
Pages
CMS pages with visual Page Builder. Draft/publish workflow.
Themes
8 color themes with instant storefront switching.
Plans & Pricing
WirePulse is open source and free to use. Pro and Enterprise tiers unlock advanced features.
Community
FreeProducts, variants, collections, cart, Stripe checkout, single warehouse, discount codes, Page Builder, themes, REST API, webhooks, and plugin system.
Pro
$99/monthEverything in Community, plus: multi-warehouse, abandoned cart recovery, gift cards, product feeds, AI Shopping Assistant, AI descriptions & SEO, returns/RMA, discount rules, recommendations, analytics, draft orders, back-in-stock alerts.
Enterprise
$299/monthEverything in Pro, plus: B2B company accounts with payment terms, price lists with volume pricing, pay on account (invoicing), recurring subscriptions, stock forecasting, dynamic customer segments.
Purchase your license at wirepulse.org/pricing. After checkout, your license key appears on your dashboard.
Activating Your License
Get up and running with your Pro or Enterprise license in minutes.
.env file:
WIREPULSE_LICENSE_KEY=your-uuid-license-key-here
php artisan license:verify to verify manually at any time.
Configuration
License settings in config/license.php.
Environment Variables
# Your license key from wirepulse.org WIREPULSE_LICENSE_KEY= # License server URL (default: https://wirepulse.org) WIREPULSE_LICENSE_SERVER=https://wirepulse.org # Cache TTL in hours (default: 24) WIREPULSE_LICENSE_CACHE_TTL=24
WIREPULSE_LICENSE_KEY
Your UUID license key. Leave empty for Community (free) mode.
WIREPULSE_LICENSE_SERVER
The license server URL. Only change this for self-hosted license servers.
WIREPULSE_LICENSE_CACHE_TTL
Hours to cache the verification result. Default 24. Lower values mean more frequent checks.
Verification & Feature Gating
How WirePulse verifies your license and enables features.
Daily Verification
A scheduled command (license:verify) runs daily and contacts the license server at POST /api/v1/verify. The server validates the key and returns the tier (free/pro/enterprise) and expiry date. Results are cached locally.
Manual Verification
php artisan license:verify # Output (valid): # License valid — Tier: pro, Expires: 2027-03-30 # Output (no key): # License invalid or not configured — running in free/community mode.
Graceful Degradation
License verification never blocks your store. If the license server is temporarily unreachable:
1. WirePulse uses the last known valid result from cache.
2. If no cache exists, the store runs in Community (free) mode.
3. When the server is reachable again, the next verification updates the cache automatically.
Admin Banner
A small banner at the top of the admin panel indicates your license status:
Managing Your Subscription
Log in at wirepulse.org/app to view your license key, manage your subscription via Stripe (upgrade, downgrade, cancel), and download invoices. Tier changes take effect on the next license verification.
Tip: If you downgrade from Enterprise to Pro, Enterprise-only features (B2B, subscriptions, segments) are disabled but your data is preserved — upgrade again and everything is restored.
Quick Reference
Scheduled Commands
segments:recalculate
Hourly
carts:process-abandoned
Every 15 min
feeds:generate
Every 4 hours
invoices:check-overdue
Daily
subscriptions:generate-orders
Daily
recommendations:generate
Daily 03:00
license:verify
Daily
Database Schema (65+ tables)
Ready to get started?
WirePulse is open source and free to use. Clone, install, and start selling.