Search or scan a product Β· view Denham Court + Garage stock Β· update Garage count
Build 2026-10-14-invoice-line-discount
Inventory
Amazon
The autopilot already does price fixing/maximizing, quantity sync and new-listing creation automatically every 30 min. These are manual overrides for one-off situations β forcing an immediate change instead of waiting for the next cron cycle, or a correction outside the autopilot's normal logic.
Catalog maintenance
Import Denham Court stock
Reads a "Product Variant (product.product)" export (columns: Internal Reference, Barcode, Free Quantity, Sales Price). Matches by SKU first, then Barcode, and sets the Denham Court quantity in Shopify from Free Quantity only β no fallback to any other column β except a Free Quantity of 5 or less, which is treated as not genuinely sellable and zeroed (Garage isn't subject to this β it's physically counted by hand and always counts in full, even at 0 or 1). Rows missing a Free Quantity value are skipped and reported. Garage is never touched by this import. Draft products in Shopify are matched but skipped entirely (no quantity or cost change) β only active/archived products are touched. Also syncs each item's cost (Sales Price × 0.8 × 1.10) to Shopify's own cost field, so the Buy Box autopilot's cost floor / margin cap / loss check always match what's shown here. A matched row with no real Sales Price (blank or $0) gets its product archived automatically β a product with no known cost shouldn't stay live β and its Amazon quantity zeroed if it's linked to a listing. An archived product with a real price in today's sheet gets reactivated automatically, unless another active product already shares its exact barcode (a genuine duplicate), in which case it's left archived. An archived product that's missing from today's sheet entirely but still has real Garage stock also gets reactivated (same duplicate-barcode check applies) β Denham Court itself stays at 0 for it (Excel says nothing), but Garage's own quantity still makes it sellable via the combined Amazon total.
Build 2026-10-14-invoice-line-discount
Scan Buy Box status
Checks Amazon Buy Box status for the currently filtered/sorted list below (use the filters above to narrow scope first). Amazon rate-limits this to about one product every 2.2 seconds, so large scans take a while β feel free to close this panel and keep browsing; it keeps running and caches results as it goes.
Buy Box results are shared to every device via Shopify β but a write can occasionally fail (rate limits) and get stuck only on this device. Use this to push any such results through.
Daily Amazon Sync
Runs on your full catalog β any filters/search are cleared first. Each stage below runs completely (and shows its own progress/log) before the next one starts, so there's no guessing whether a step is done. This does not run Scan Buy Box β Amazon can take hours to reflect a price change in the live Buy Box, so scanning right after this would just show stale results. Run Scan Buy Box separately, later.
β Sync price & quantity to Amazon
β List missing products on Amazon
β Fix Buy Box pricing
Bulk sync price & quantity to Amazon
Pushes each product's current Shopify Selling price and Denham Court quantity only to its existing Amazon listing, for the currently filtered/sorted list below. Resolves the Amazon SKU via override β barcode match β Shopify SKU. Amazon allows about 4-5 requests/second, so this is much faster than the Buy Box scan. Denham Court quantities under 2 are treated as 0 for marketplace purposes (usually damaged stock or a miscount). Garage stock is never counted toward Amazon β it isn't auto-deducted by any sale, so it's only ever assigned via the per-order "Fulfilled from" picker on the Sales tab.
Bulk sync log
Bulk list on Amazon
For the currently filtered/sorted list below: tries to sync each item to its existing Amazon listing first, exactly like Bulk Sync. Only when that fails because there's no existing listing under your account β but the ASIN/barcode does resolve to a real product already in Amazon's catalog β does it create a new offer (Condition: New) under the Shopify SKU, using Shopify's Selling price (or your Amazon price override) and Denham Court quantity only (Garage isn't counted β see the Bulk Sync note above). Items whose barcode/ASIN doesn't match anything in Amazon's catalog at all can't be auto-listed β Amazon requires a full new-product submission for those, which this doesn't do.
Bulk list log
Fix Buy Box pricing
For the currently filtered/sorted list below: finds every item currently marked Losing Buy Box from your last scan, and prices it 1¢ below the current Buy Box holder's landed price (accounting for your own shipping cost if any), then pushes that price to Amazon as a sticky Amazon price override β Shopify's Selling price is never touched. No margin floor β this will undercut even below cost if that's what it takes to win, so review the list first. Buy Box status itself only updates on the next Scan Buy Box, not immediately after this.
Fix Buy Box log
Bulk ASIN lookup
For the currently filtered/sorted list below: finds every item with a barcode (or Amazon barcode override) but no ASIN yet, looks it up in Amazon's catalog by barcode, and saves the resolved ASIN straight to the product β the same lookup as the "π Look up ASIN from barcode" button on a single product, just run over the whole list and auto-saved. Items whose barcode doesn't match anything in Amazon's catalog are skipped and reported.
Bulk ASIN lookup log
Maximize winning price
For the currently filtered/sorted list below: finds every item currently winning Buy Box (from your last scan) where a higher-priced competitor is known, and raises your price to 5% below that competitor's landed price β capturing more margin while still comfortably winning. Only ever raises price, never lowers it; items where 5% under the competitor is still below your current price are left alone. Items with no known competitor at all (you're the only offer) can't be calculated and are skipped β there's no reference price to work from. Capped so net margin (after commission and the shipping estimate below) can never exceed the max margin set in Sales tab settings β protects against a wildly overpriced competitor pushing your price absurdly high. Pushed as a sticky Amazon price override β Shopify's Selling price is never touched. Buy Box status itself only updates on the next Scan Buy Box (or the auto-recheck).
Maximize price log
Create missing products
Excel rows from your last import that had no matching Shopify product. Pick one to look up on Amazon and create a draft β nothing is created until you confirm.
New product draft
Manage Denham Court sync
Products are synced by default. Uncheck any you don't want the Excel import to touch β saved permanently per product.
Autopilot already syncs this item's price and quantity to Amazon automatically. Use this only to force an immediate change instead of waiting for the next cron cycle.
Sync price & quantity to Amazon
List on Amazon
Denham Court
synced daily from supplier sheet β read only
β
Garage
tap to edit
Amazon
from last Buy Box scan β edit to sync a specific qty
Total available
β
Saving updates only the Garage location in Shopify β that part is immediate. Denham Court's own quantity is Excel-only and never includes Garage. Amazon's quantity (Denham Court + Garage combined) picks up this new Garage number automatically within the next Buy Box autopilot cycle (~30 min) β no Excel import needed for that.
Review extracted invoice
Payment confirmation email
Review before sending β nothing goes out until you tap Send.
New invoice
DescriptionQtyPriceDisc %Total
Orders by channel & status
Pending = not yet fulfilled Β· Shipped = fulfilled, order still open Β· Completed = order closed.
Net profit by sale
eBay, Kogan & Bunnings orders (synced into Shopify via Omnivore) plus Amazon orders (fetched directly from Amazon, with real settled commission & shipping cost) β all matched to Excel cost price. The Amazon % below is only used as a fallback estimate for orders Amazon hasn't settled yet. Shipping cost for eBay/Kogan/Bunnings is manual β enter it per order once you know it.
Used by "Maximize Winning Price" (Sync tab) to cap how far it'll raise a price when a competitor is very expensive:
Used by the autopilot to keep Shopify's own (direct-website) selling price above a minimum margin β cost + this commission % + this flat postage, then this margin % on top. Raises a price that's fallen below this floor; never lowers one that's already above it.
A flat postage cost is a much bigger fraction of a cheap item's price than an expensive one's β so below this cost cutoff, a lower postage figure is used instead (commission % and margin % stay the same either way):
Business
Company details
Shown in the header of every customer invoice you create.
Amazon Autopilot
Listing issues
Scans every product linked to Amazon (has an ASIN saved) for content-policy issues Amazon has flagged on the listing β e.g. a suppressed description, image, or attribute. These block a listing from being BUYABLE (so it silently drops out of the Buy Box entirely) and can't be fixed by the autopilot or this app β they need manual correction in Seller Central. This is a diagnostic scan only; nothing here is changed automatically.
Listing issues scan log
Autopilot reports
Every 30 minutes this automatically: re-verifies recently-changed items against Amazon, prices losing items 1¢ under the competitor, raises uncontested winning items to 5% under the next competitor (capped at your set margin), pushes quantity updates to already-listed items whenever Denham Court or Garage has changed β Amazon quantity is always Denham Court + Garage combined, re-read fresh every run, so a manual Garage edit reaches Amazon within this same ~30-min cycle without waiting for an Excel import (Excel import no longer needs its "push to Amazon" box ticked either), checks new barcodes against Amazon's catalog to auto-create listings priced at your margin cap (also catches products that already have an ASIN saved β e.g. from a Bulk ASIN Lookup β but were confirmed never actually listed, so nothing gets stuck in permanent limbo), raises any currently-listed item selling below cost + shipping + commission up to breakeven (no markup added β Buy Box fix/maximize handle restoring a normal margin afterward), pulls down any item priced over your margin cap even with zero competitor data (e.g. sole-seller listings), raises any sole-seller item priced well under the margin cap back up toward it (competing against Prime/cross-border sellers goes down to breakeven instead β see the Buy Box fix step), raises Shopify's own direct-website price whenever it's fallen below your cost + commission % + postage + margin floor (set below β this price has no other protection at all, since Excel only ever syncs cost, never price, so nothing else ever catches it drifting thin as cost rises; only ever raises, never lowers a deliberately higher price), and works through the whole listed catalog a slice at a time on a rolling basis so Buy Box data never goes stale just because an item hasn't recently changed β all Amazon price moves capped at 15% per run to avoid tripping Amazon's Fair Pricing checks, bounded by a breakeven floor on the Buy Box fix step, and a per-item cooldown so nothing gets re-touched before Amazon's had a chance to reflect the last change. Excel import also auto-creates genuinely new Shopify products from unmatched rows (pulling title/image from Amazon when the barcode matches), priced at whichever is higher of your cost + margin cap or 20% over Amazon's current Buy Box price (when the barcode resolves to a real Amazon listing) β so a daily Excel upload is the only manual step needed.
Omnivore (eBay / Kogan / Bunnings)
Category audit
Read-only β Omnivore's API has no way to set a marketplace's category directly (confirmed live: changing the internal category didn't change eBay's category, even though the product visibly re-synced). Per-marketplace categories are controlled by mapping rules inside Omnivore's own dashboard. This just shows where things stand, so you know what to go fix there.
Marketplace issues
Scans every marketplace-linked product for a live error flag (e.g. "No inventory"), plus recent orders sitting in a failure, hold, or quarantined state β states Shopify has no concept of, so these are otherwise only visible by logging into Omnivore directly.