Happy Woofs
Staff sign in
Shop admin · Happy Woofs

Welcome back

{{ staffLoginIntro }}

Password updated. Sign in with your new password.
{{ staffError }}

← Back to the shop

{{ staffDisplayName }}
{{ staffAvatarInitial }}

{{ staffGreeting }}

Here's how Happy Woofs is doing today.

{{ k.label }}
{{ k.value }}
{{ k.delta }}

Sales over time

{{ salesTotal }} {{ salesDelta }}
Last 14 days
Avg {{ salesAvg }} / day
Best {{ salesBest }} on {{ salesBestDay }}
{{ t.label }}
{{ b.label }}
{{ b.day }}

Top products

{{ t.imgEl }}
{{ t.name }}
{{ t.units }} sold
{{ t.revenue }}

Recent orders

{{ o.id }}
{{ o.customer }}
{{ o.date }}
{{ o.pay }}
{{ o.fulfil }}
{{ o.totalLabel }}

Orders

{{ ordersSyncError }}
Order
Customer
Date
Method
Payment
Fulfilment
Total
{{ o.id }} SUB
{{ o.customer }}
{{ o.date }}
{{ o.methodLabel }}
{{ o.pay }}
{{ o.fulfil }}
{{ o.totalLabel }}

Products {{ productCountLabel }}

{{ productSaveFlash }}
{{ selectionLabel }}
Product
Status
Inventory
Category
Price
{{ p.imgEl }}
{{ p.name }}
{{ p.sku }}
{{ p.status }}
{{ p.invLabel }}
{{ p.category }}
{{ p.priceLabel }}

Subscription boxes

Packing orders for paid cycles are at the top. Tick which treats can go in a monthly box further down. This is separate from Online Store build-a-box rules (those are one-off pick-and-mix boxes).

Boxes to pack

Paid monthly cycles. Open an order for customer picks and packing notes.

No monthly boxes to pack yet. When a customer pays, the cycle lands here.
Order
Customer
Date
Box
Status
Total
{{ o.id }}
{{ o.customer }}
{{ o.date }}
{{ o.boxLabel }}
{{ o.fulfil }}
{{ o.totalLabel }}

Treats in the monthly picker

{{ subEligibleCountLabel }}

Product
Category
Monthly box
{{ p.imgEl }}
{{ p.name }}
{{ p.sku }}
{{ p.category }}

{{ pd.name }}

{{ productSaveFlash }}

Details

Pricing

This product has variants, so the storefront shows "from" the lowest variant price.

Photos

Replace photos here; changes sync to the shop on this preview. Uploads are compressed so they fit in browser storage.

{{ ph.imgEl }} Main

Variants

No variants. Add one for each size or weight you sell, e.g. 100g, 250g, 500g.

Option
Price (£)
Stock

Status

Draft and archived products are hidden from the storefront.

When ticked, customers can add this treat to their monthly box picks. Saved to the live shop catalog (not browser layout only).

Inventory

Stock is held per variant above.

Category

Also show in

Customers

{{ customerCountLabel }}

{{ customerPageLabel }}
{{ customersSyncError }}
Customer
Location
Orders
Spent
Tags
{{ c.initials }}
{{ c.name }}
{{ c.email }}
{{ c.location }}
{{ c.orders }}
{{ c.spentLabel }}
{{ tag }}
{{ customerPageLabel }}

Trade customers

Wholesale accounts, order volume and applications to review.

{{ k.label }}
{{ k.value }}
{{ k.sub }}

Pending applications

{{ pendingCount }}
{{ a.initials }}
{{ a.company }} {{ a.location }} · applied {{ a.applied }}
{{ a.contact }} · {{ a.email }} · {{ a.estSpend }}
{{ a.note }}

Approved trade accounts

Account
Discount
Payment
Orders
Spend
Since
Status
{{ t.initials }}
{{ t.company }}
{{ t.contact }} · {{ t.ref }}
{{ t.tierLabel }}
{{ t.terms }}
{{ t.ytdOrders }}
{{ t.spendLabel }}
{{ t.creditLabel }}
{{ t.status }}

No trade accounts yet

{{ tradeEmptyHint }}

← All customers
{{ customer.initials }}
{{ customer.name }}
{{ customer.email }}
Orders
{{ customer.ordersLabel }}
Spent
{{ customer.spentLabel }}
Avg
{{ customer.avgLabel }}
Tags
{{ t.label }}
Their dogs
{{ d.name }}
{{ d.meta }}
Marketing
{{ consentError }}
Adds or removes them from the Happy Woofs mailing list. Only switch on when the customer has said yes.
Last order
{{ custMarketing.lastOrderLabel }}
Store credit
{{ custMarketing.creditLabel }}
Store credit
Last order
{{ custMarketing.lastOrderLabel }}
Account status
{{ custMarketing.status }}
Addresses

No delivery address on file yet. It will appear here after the customer places an order.

{{ ad.label }} · from latest order
{{ ad.line }}
{{ ad.city }}
{{ ad.postcode }}
Default
Payment methods on file
{{ pm.title }}
{{ pm.exp }}
Order history
{{ o.id }}
{{ o.date }} · {{ o.fulfil }}
{{ o.totalLabel }}
Notes
{{ n.text }}
{{ n.stamp }}
Timeline
{{ ev.text }}
{{ ev.when }}
Draft orders
Draft {{ d.id }}
{{ d.when }}
Merge duplicate customer

Orders, spend, tags and notes move onto this customer and the duplicate is deleted.

{{ custTradeError }}

Price lists

Wholesale catalogs you can assign to a trade company or to an individual location.

Price list
Adjustment
Custom prices
Assigned to
{{ p.name }}
{{ p.note }}
{{ p.discount }}
{{ p.custom }}
{{ p.companies }}
← All price lists

{{ plName }}

{{ plDiscountLabel }} · {{ plProductCount }} products in the catalog
Details

Every product gets the percentage off unless you set a fixed price for it below.

Assigned to
{{ u.company }} {{ u.detail }}
Not assigned to any account yet.

Assign this list from a trade account, either for the whole company or per location.

Fixed prices for this list
{{ r.name }} {{ r.baseLabel }} → {{ r.listLabel }}
Product
Retail
List price
Saving
{{ o.name }}
{{ o.baseLabel }}
{{ o.saveLabel }}
No fixed prices yet. Everything follows the percentage above.
← All trade accounts
{{ tradeDetail.initials }}
{{ tfCompany }}
Account {{ tradeDetail.ref }}
Orders YTD
{{ tradeDetail.ordersLabel }}
Spend
{{ tradeDetail.spendLabel }}
Avg order
{{ tradeDetail.avgLabel }}
Credit used {{ tradeDetail.creditLabel }}
Account details
Trading terms
Collection only
Locations & buyers
Buyers
Catalog & tax
{{ tradeError }} Delete this trade account? They keep their login and go back to retail prices.

Discounts

Code
Type
Used
Status
Ends
{{ d.code }}
{{ d.summary }}
{{ d.used }}
{{ d.status }}
{{ d.ends }}

Code usage by month

Paid orders that used each discount code. Use this to pay brand ambassadors. Order value is what the customer paid.

{{ discMonthLabel }}

Loading this month…

{{ discUsageErrorText }}

No paid orders used a discount code in {{ discMonthLabel }}.

Code
Times used
Order value
Discount given
{{ u.code }}
{{ u.uses }}
{{ u.orderValue }}
{{ u.discountValue }}

Orders using {{ discUsageCodeLabel }}

Date
Order
Customer
Order value
Discount
{{ r.date }}
{{ r.orderNo }}
{{ r.customer }}
{{ r.orderValue }}
{{ r.discountValue }}

Till

Sell at markets and stalls. Every sale takes stock off the same numbers as the website.

{{ queueLabel }}. They are saved on this device; stock and orders update when you sync.
Tap a treat to start a sale.
{{ l.name }}
{{ l.unitLabel }} each
{{ l.qty }}
{{ l.lineLabel }}
{{ tillCountLabel }} {{ tillTotalLabel }}
Change
{{ changeLabel }}
{{ tillError }}
{{ tillDone.num }} · {{ doneTotalLabel }}
{{ doneLine }}
Change to give: {{ doneChangeLabel }}
Held offline - sync when you get signal.
Today at the stall
Cash{{ takingsCash }}
Card{{ takingsCard }}
Total · {{ takingsCount }}{{ takingsTotal }}

Sales

Mark products down on the storefront. Shoppers see the reduced price with the old one struck through, no code needed.

✓ {{ bannerFlashText }}

Banner across the top of the site

Write your own words. It shows on every page, above the logo.

{{ bannerStateLabel }}
Colour
How it looks
{{ bannerText }}{{ bannerCta }} →
Type your banner words above and they'll appear on the site.
{{ x.name }} {{ x.offLabel }} {{ x.status }}
{{ x.scopeLabel }} · {{ x.countLabel }}
{{ x.dateLabel }} · {{ x.audience }}
{{ x.switchLabel }}

{{ saleTitle }}

What goes on sale
{{ r.mark }}
{{ r.name }}
{{ r.cat }}
{{ r.priceLabel }}
{{ r.saleLabel }}
Search above to pick the products you want to mark down.
Trade accounts already get their wholesale discount, so sales normally apply to retail only.
When this sale is live, customers cannot apply discount codes at checkout. Turn off only if you want codes to stack on sale prices.
{{ saleCountLabel }} {{ saleError }}

Online store

Drag a category to reorder your storefront navigation, or drag a product to change where it sits in its category.

Build-a-box rules (one-off picker)

This is the one-off treat box on the shop (stars and excludes). Monthly subscription boxes are under Subscription boxes in the sidebar. Comma-separated. Save writes to the live shop so every visitor sees the same picker. Starred products (★) are limited to one per box. Excluded names never appear in the picker.

{{ treatBoxSaveFlash }}

Fan favourites

Comma-separated product names for the homepage Fan favourites belt. List order is the belt order. Separate from Build-a-box starred treats.

⠿ {{ g.chevron }} {{ g.name }}
{{ g.countLabel }}
No products yet. Move one here with the "Move to" menu on any product.
⠿
{{ it.imgEl }}
{{ it.name }}
also in {{ c }}
{{ it.priceLabel }}

Content

{{ contentIntro }}

{{ contentSaveFlash }}

Photo (optional)

Shows on the news card and at the top of the full article. Landscape photos work best. JPG or PNG.

{{ p.imgEl }}

{{ quizResultsCount }} completed {{ quizResultsLabel }}

Date Dog Age Sensitivities Size Shopping for
{{ q.date }} {{ q.dogName }} {{ q.age }} {{ q.sensitivity }} {{ q.size }} {{ q.purpose }}
No quiz results yet

When a customer finishes the treat quiz on your shop, their answers appear here. Results sync from the live shop, so you can review them on any device after signing in.

Settings

{{ s.title }}
{{ s.desc }}
›

{{ settingsDetail.title }}

{{ f.label }}
{{ f.hint }}

Add customer

{{ refundConfirmTitle }}

{{ refundConfirmBody }}

{{ dTitle }}

Add product