Products
Synced — 22 products

Welcome back

Live overview of your UK operation. Click a card to drill in.

Orders

Synced from Shopify, Amazon, and eBay. Profitability is computed locally from your supplier costs + fees + VAT + postage cost (where set).

Courier Issues

Late, lost, and damaged parcels — auto-detected from Evri tracking, or flagged manually from an order's Fulfilment tab. Resolve an issue here or from the order itself.

Import / Export

All bulk CSV ingest and export tools in one place. Each card describes its expected CSV layout before you pick a file.

Imports

Master CSV
Bulk add/update products from the master spreadsheet. Creates rows for new SKUs and updates fields on existing ones.
Storefeeder export
Sync products from the Storefeeder catalogue export. Matches by SKU; never creates rows that don't already exist locally.
Amazon listings
ASIN, title, MF + FBA SKUs and prices. Matches by Product SKU. A -FBA suffix on the Listing SKU marks the row as FBA.
Amazon tracking numbers
Associates carrier tracking numbers with Amazon MFN orders. Export from your carrier software (Evri, Royal Mail, etc.) or Amazon Seller Central. Required columns: order_id, tracking_number. Optional: carrier.
Example: 205-1234567-1234567, H12345678901234567, Evri — carrier auto-detected from tracking format if omitted.
Website (Shopify) listings
Listing ID, Product ID, Listing SKU, Name, Listing Price, Compare At, Meta Title/Description, Tax Class, HS Code, Country. Matches by Product SKU.
eBay listings
Listing ID, Product ID, Listing SKU, Listing Price. Matches by Product SKU.
Channel prices
Selling prices for Website / eBay / Amazon by SKU. Matches existing products only — never creates new ones.
Storefeeder IDs
Stamp Storefeeder Product IDs onto local rows by SKU. CSV needs an SKU column and an ID (or Storefeeder ID) column.
Chubby Pre-Packing recipe
Update CPP recipe fields from a CSV exported below. Columns: SKU, Product Packaging, Made From SKU, % Used, Label, Labour (mins). Matches by SKU; "Made From SKU" is resolved to a product ID automatically.

Bulk delete

Bulk delete by SKU
Delete every product whose SKU appears in the uploaded CSV. Useful for trimming orphans flagged by Import Storefeeder. Destructive — cannot be undone.

Exports

Export changes
Drop a CSV of every product field that's changed since the last export into the Storefeeder Changes folder. Same as the topbar button — duplicated here for discoverability.
Full CSV
Download the entire catalogue as a CSV — all products, all fields. Useful for backups and bulk edits in a spreadsheet.
Custom Export
Build a CSV with a custom column layout — save reusable templates for different downstream tools (Storefeeder, Shopify CSV, etc).
Chubby Pre-Packing recipe
Download all CPP products with their recipe data — Name, SKU, Product Packaging, Made From SKU, % Used, Label, Labour (mins). Re-importable via the Import card above.

Courier Integration

Generate and test shipping labels and manage API credentials.

Label Generator

E
Evri
Routing API v4 · Basic auth · REST/XML
Checking…

Delivery Address

Parcel Details

RM
Royal Mail
Click & Drop API · OAuth2
Label API — coming soon
D
DPD
DPD API · Basic auth
Label API — coming soon

API Credentials

Live status of courier API credentials stored in /home/chubby/app/.env on the server.

Loading…
% Products pricing below this are flagged as alerts
Include: Name width 240px
NameSKUSupplierCostTotal shipped costWeightShip methodWebsite priceMargineBay priceMarginAmazon MF priceMarginAmazon FBA priceMargin
Feldy Golden Food Balls for Wild… FELDGB6 Feldy Fare $1.56 $5.66 600g Royal Mail Tracked 48 $2.998.1%$7.99-0.7%$7.99-7.4%$8.99-35.5%
Feldy Golden Food Balls for Wild… FELDYGB40 Feldy Fare $7.35 $12.04 5000g Amazon Shipping $13.9932.4%$19.9912.0%$19.998.0%$20.99-21.9%
Feldy Premium Fat Balls for Wild… FELDPBALLS40 Feldy Fare $6.72 $11.29 5000g Amazon Shipping $12.9932.9%$19.9916.5%$19.9912.5%$20.99-17.5%
Feldy 25 High Protein Chicken Gr…Z FELD25BALL Feldy Fare $8.50 $12.12 5000g Amazon Shipping $12.9932.0%$18.9923.1%$18.9916.7%$18.99-14.1%
Feldy Chicken Pecker Treat Balls…Z FELDCPGAR Feldy Fare $2.52 $6.35 600g Royal Mail Tracked 48 $4.9929.0%$8.9916.3%$8.998.2%N/A
Feldy Chicken Pecker Balls - 6 P…Z FELDBALLS6 Feldy Fare $2.20 $6.03 600g Royal Mail Tracked 48 $4.4928.7%$7.759.1%$7.750.5%$7.99-32.8%
Feldy Hanging Chicken Pecker Blo…Z FELDY125 Feldy Fare $4.50 $8.34 1250g Royal Mail Tracked 48 $6.9923.6%$9.993.4%$9.99-4.4%$10.99-24.0%
Feldy Chicken Pecker Treat Balls…Z FELDCPSEA Feldy Fare $2.40 $6.23 600g Royal Mail Tracked 48 $4.9930.3%$8.9917.6%$8.999.5%N/A
Feldy Hanging Chicken Pecker Blo…Z FELD125-SEA Feldy Fare $4.50 $8.33 1250g Royal Mail Tracked 48 $6.7522.0%$10.9911.1%$10.993.6%$11.49-19.3%
Feldy Chicken Pecker Treat Balls…Z FELDCPBERR Feldy Fare $2.40 $6.23 600g Royal Mail Tracked 48 $4.9930.3%$8.9917.6%$8.999.5%N/A
Feldy Hanging Chicken Pecker Blo…Z FELD125-GAR Feldy Fare $4.50 $8.33 1250g Royal Mail Tracked 48 $6.7522.0%$10.9911.1%$10.993.6%$11.49-19.3%
Feldy Game Keeper Hanging Holdin…Z FELDYGAME6 Feldy Fare $11.30 $14.87 6000g Amazon Shipping $17.9934.5%$22.9922.2%$22.9916.1%$26.991.2%
Feldy Hanging Chicken Pecker Blo…Z FELDY3500 Feldy Fare $7.50 $11.07 6000g Amazon Shipping $11.9934.2%$18.9928.6%$18.9922.2%$18.99-12.9%
Feldy 25 Premium Fat Balls For B… FELDPBALLS25 Feldy Fare $4.58 $9.12 5000g Amazon Shipping $8.9929.1%$14.9911.3%$14.996.7%$15.99-32.4%
Feldy Golden Chicken Pecker Ball…Z FELDBALLS40 Feldy Fare $10.70 $13.92 5000g Amazon Shipping $15.9932.9%$19.9917.2%$19.9910.9%N/A
Feldy Golden Food Balls for Wild…Z FELDBALLS150 Feldy Fare $28.15 $31.37 13000g Amazon Shipping $38.9927.6%$41.9912.2%$41.996.7%$43.99-9.2%
Feldy Premium Fat Balls for Wild…Z FELDPBALLS150 Feldy Fare $21.00 $24.22 13000g Amazon Shipping $28.9927.7%$32.9913.5%$32.997.8%$34.99-12.3%
Feldy Hanging Chicken Pecker Blo…Z FELDPECK6 Feldy Fare $11.30 $14.52 6000g Amazon Shipping $16.9933.2%$22.9923.7%$22.9917.6%$23.99-7.5%
Feldy Chicken Treat Seed Block 1…Z FELDCT1 Feldy Fare $5.25 $9.09 1000g Royal Mail Tracked 48 $7.9923.6%$11.9911.1%$11.993.8%$12.49-17.2%
Feldy Chicken Grazer Block 1.25K…Z FELDGB-125 Feldy Fare $4.30 $8.14 1250g Royal Mail Tracked 48 $6.7523.7%$10.9912.9%$10.995.3%$11.49-17.6%
Feldy Afternoon Delight Fruit Tr…Z FELD-ADFRUIT Feldy Fare $7.80 $11.23 2200g Amazon Shipping $12.9936.9%$16.9920.8%$16.9914.2%N/A
Feldy Afternoon Delight Veggie T…Z FELD-ADVEG Feldy Fare $7.50 $10.93 2200g Amazon Shipping $12.9938.6%$16.9922.5%$16.9916.0%N/A
Showing 22 of 22 products
Promotions

Type in a product or load one from the Products tab, then play with the selling price, quantity and discounts to see how profit and margin respond.

Read-only — edit in the General tab
When a sale price is set and active, calculations and export use the sale price. The regular price exports as Compare At Price.
Total weight:

Product details

Set fee structures for each sales channel. All margin calculations across the app update instantly when you change these.

Amazon

Each product picks its Amazon category in the Edit modal (Pet Supplies by default). FBA fulfilment fees are still auto-calculated per product weight — see the FBA fee schedule below.

eBay

Chubby AUS (Website)

AUS Wholesale

Confirm these fee assumptions once real wholesale orders are flowing — currently mirrors the Chubby AUS website's payment processing rate as a starting point.

Amazon FBA fee schedule

Drop a supplier PDF invoice. Each line item is matched to a product (by supplier SKU, your SKU, or fuzzy name match). Cost differences are flagged so you can mark them permanent (updates the cost; click through to update selling price) or temporary (saved as a sale cost with optional sale website price; profit numbers re-run automatically).

Drop a PDF here or click to choose
Server-side parsing via pdfplumber. Max 25MB.

Each courier has its own rules and surcharges. Edit any value, then click Save rates — every product's profit/margin updates instantly.

Postcode zones & rate cards

Override the default carrier rate for specific postcode areas (Highlands, Islands, Northern Ireland, Channel Islands, etc.). The orders tab uses this to compute accurate per-order postage; the Shopify checkout endpoint (coming in Phase 2) will use the same data so checkout quotes match what we actually pay.

Test a postcode:
Type a postcode to test the zone matcher.
Royal Mail routing rule: RM has no out-of-area surcharges. Orders under 2kg to any surcharge zone should ship via Royal Mail rather than the surcharged carrier — that's an operational practice for now (orders calc reads the carrier Shopify reports). Phase 2's Shopify CarrierService will encode this rule so the customer-facing checkout quote uses RM for sub-2kg orders to surcharge zones.

Zones

Each zone is a named group of postcode prefixes, scoped to a specific carrier (or carrier-agnostic for the catch-all default). Prefixes accept single codes (BT, IV1) or numeric ranges (IV1-39, AB31-AB38). The same postcode can belong to different zones for different carriers — e.g. PO30 is "Isle of Wight" for DPD but bundled into "Isle of Man" for EVRI. A postcode that matches no zone for the chosen carrier falls into the default zone.

Rate overrides per zone

Each row: for a given zone + carrier + weight band, what does it actually cost us? Surcharge adds to the carrier's base computed rate (e.g. EVRI's +$2.20 to Highlands). Flat replaces the base rate entirely (e.g. DPD's $10.23 to Highlands).

Free shipping thresholds (per zone)

For each zone, the order-value threshold above which the customer pays nothing for shipping. Leave blank or 0 if no free-shipping offer applies in that zone. Note: this is the customer-facing price, not what we pay the carrier — we still pay our cost.

Delivery method mappings

Zero-cost (or fixed-cost) delivery types — Local Delivery, Collection, Click & Collect, etc. Each row maps a friendly label to one or more Shopify shipping codes / keywords (comma-separated) and a cost. Orders whose shippingLine title or code contain any of the listed keywords resolve automatically. You can also set a delivery type manually per order from the Order Actions bar.

Per-unit cost lists for the packaging types you can pick on each product. Product packaging is what holds the product (tubs, bags). Shipping packaging is what wraps it for despatch (mailers, boxes). Edit any value and click Save packaging.

$ per minute
Changing this updates all pre-pack costs when you click Save packaging.

Master lists used by the product Edit modal's dropdowns. Click any section header to collapse / expand — the state persists between visits.

Ask anything about the business — product data, orders, courier issues, marketing ideas, website/menu structure. Claude can pull live data to answer, and can propose product edits (single or bulk) for you to review and apply below — it never saves anything on its own. Results include everything (variations, archived, discontinued) unless you ask to narrow it down. Examples: "products missing a weight", "how many orders did we ship last week", "put all Fallen Fruits products on a 10% sale", "suggest a new collection structure for the website".

Pick exactly the columns you want and export to CSV. Save a column set as a template to re-run it later. Templates are stored on the server so they survive across devices.

Filter (optional, JS expression)
Sort by
Direction
Include: Available helpers: h.webMargin(p) h.margin(p,'ebay') h.ebayMultibuyBeatsSingle(p)
Columns

People who can sign in to the app. Everyone has full access. Deactivating a user kicks them out immediately (sessions dropped) and stops them logging back in until reactivated. To rotate a password, click Reset password.

Users
Email (Resend)
Sends transactional email (2FA codes, alerts, etc). Requires one-time setup on the droplet — see DEPLOYMENT_RUNBOOK.md "Email setup".