Skip to content

Locations

Settings › Selling › Locations lists the places your shop keeps stock, sells in person and hands over orders. See Locations for how they work.

Your main location

Every shop starts with one location, your main location, named after your shop. All your stock is held there. Open it to add its address, phone number and opening hours; nothing else needs setting up.

How do your orders reach customers?

The question at the top of the screen sets everything up for you:

  • I post everything from one place: your delivery options at checkout, nothing more.
  • … and customers can collect from me: checkout also offers free collection from your main location.
  • I have several warehouses or stores: stock is counted at each location. This is part of Badger Commerce Enterprise; without it the answer is shown but can't be chosen.
  • … and customers can collect from any of my stores: as above, and checkout also offers collection from each store ticked Customers collect orders here that has everything in the basket. Also Enterprise. See Click and collect from your stores.

Letting customers collect from you

Add your main location's address, then choose … and customers can collect from me. Product pages and the basket say collection is free, and checkout offers it. Your main location gets a store page at /stores/default (change it under Store page) with its address, opening hours and directions.

When an order is ready, open it and choose Ready for collection: the customer is emailed to come and collect it. When they have, choose Collected. In the fulfiller portal the same steps are Mark ready to collect and Customer has collected.

Store pages

Tick Show on your store pages on any location with an address to give it a page at /stores/<page address> with its address, opening hours and a directions link. With more than one, /stores lists them all.

Under Store page on the location form:

  • Page address sets the end of the URL (blank: the location's code).
  • Content blocks from picks the stereotype whose blocks (banners, FAQs, photos) appear on the page. Leave it on the site default to use Store page stereotype from Settings › Orders, so every store page looks alike.
  • Open and edit blocks opens the page with the inline editor, to add blocks for this store only.

With two or more store pages, /stores is also a store locator: shoppers can type a town, postcode or store name to narrow the list, or press Use my location to see the nearest stores first with how far away each is. Their browser asks them first, and their location is only used to sort the list. To have a store show a distance, give its address a latitude and longitude. Stores without them still appear, after the others.

Nothing links to /stores until you add it. Put it in a menu, or add the Store Locator block to a page or your footer: it shows your first few stores (three unless you change Stores shown) with the same search and Use my location, and a link to the full list. It shows nothing while you have no store pages, so it is safe to add before your stores are set up. Store pages are listed in your sitemap.

Adding a location

Choose Add location and give it:

  • a name, and a code: a short name with lower-case letters, digits and hyphens, such as leeds. Stock is recorded under the code, so it can't be changed later;
  • what happens there: whether it sells in person, ships web orders, takes collections, or appears on your store pages;
  • its address and opening hours. Leave a day empty when it's closed;
  • for a till, its Stripe Terminal location, from your Stripe dashboard's Terminal locations.

Several stock locations: Badger Commerce Enterprise

On Enterprise, a location can also hold stock of its own, counted separately from your main location. Then turn on Multiple stock locations under Settings › Orders › Fulfilment to start selling it. Until you do, stock is only read from your main location, and the Locations page says so. On other plans the "Holds stock" box is locked and the page explains what Enterprise adds.

Closing a store for now, and holiday hours

The Status card at the top of a location's page closes it for now: give a reason (customers see it on the store page) and, if you know it, when it opens again; it reopens by itself then. While it is closed no web orders are sent from it or collected there. Open again now undoes it. Store staff can do the same from Store today in the fulfilment portal or from the POS app.

Holiday and special hours lists dates with different hours: tick Closed all day or give the times, and add a note such as "Boxing Day". Clear a row's date to remove it. The store page shows the next fortnight's special hours.

Courier collection

The Courier collection card sets when the courier last collects each weekday (leave a day empty when nothing is collected) and how long an order takes to pick and pack. Together they set the location's dispatch cut-off: with a 17:00 collection and 60 minutes, orders in by 16:00 are sent that day (never later than closing time). Delivery options with a delivery promise count their dates from here. A location that has never set it is treated as collected Monday to Friday at 17:00. See Delivery promise.

Daily capacity (Enterprise)

On Badger Commerce Enterprise, the Capacity card limits how many click and collect and ship-from-store orders a location takes a day. Set the usual limit for each weekday (blank is no limit) and changes for particular dates (the shortest change wins where they overlap). Turn on Store capacity limits under Settings › Orders › Fulfilment to start using them. A store full today is offered for collection from its next day with room ("Ready from Wednesday 15 October"), and orders go to stores with room. The card shows the next two weeks' bookings, and the Locations list shows today's load. See Store operations for how orders are routed.

Collection and delivery slots (Enterprise)

The Collection & delivery slots card lets customers choose a time: collection windows at this store, and delivery windows for your own vans. For each, add windows per weekday (from, to, and how many orders each takes), a lead time (a window stops taking orders this long before it starts) and how many days ahead customers can book (7 unless set, up to 14). The Store delivery service area lists where the vans go, one postcode start per line after the country code (GB LS1). Store delivery is offered through a delivery option whose How it's delivered is Store delivery (own vans). Slots are used once Store capacity limits is on. See Collection and delivery slots.

Removing a location

Your main location can't be removed. To remove another, turn Active off and save, then choose Remove location from the … menu. Any stock records under its code are kept, but nothing reads them.

Stock at each location

With Multiple stock locations on (Badger Commerce Enterprise), a product's Stock tab shows a row for each active location that holds stock, your main location first:

  • In stock: the units on the shelf there. Change any of them and save the product. At your other locations only the figures you changed are written, so orders they took while you were editing aren't overwritten.
  • Safety stock: units that location keeps back from online sale, set on the location itself.
  • Sellable online: what's left to sell on the website after the safety stock.

Count stock for this product still applies to the whole product: switched off, your main location doesn't count it and it never sells out. Only your main location can leave stock uncounted.

A product with variants lists each variant's stock at every location on its Stock tab; open a variant to change it. The Stock column on the Variants tab is your main location's. The product list's stock badges add up every stock location.

Without Multiple stock locations, the Stock tab is the single Quantity in stock field. If your plan includes it, you have stock recorded at another location and the switch is off, the tab says so in one line with a link back here.

"Low" in the product list, and "only N left" on the listing cards of the Atelier, Depot, Pop and Spec themes, use Low stock threshold (low-stock-threshold, default 5) from Settings.

Stock at each location can also be read and set through the REST API (GET /v1/admin/inventory/{skuId}/locations, PUT /v1/admin/inventory/{skuId}/locations/{code}; see the API reference) and the MCP inventory tool's byLocation action.

Card readers and Stripe Terminal

A location that Sells in person has its Badger POS tills on a Stripe Terminal location: the card readers registered to that Stripe location are this location's readers. The Point of sale card on the location's page links the two.

  • Create Stripe Terminal location. Shown once the location is saved, sells in person and isn't linked yet. It makes a Terminal location on your Stripe account from the location's saved name and address, and records its id here. Stripe needs a first address line, a town or city, a two-letter country code and (almost everywhere) a postcode; US, Canadian and Australian locations also need a state or province, taken from County, state or region. When something is missing the card says what to add instead of showing the button.
  • Use an existing Stripe location. Already have one, made in the Stripe Dashboard? Paste its tml_... id into the field and save. Each Stripe location can belong to one location only.
  • Update on Stripe. Once linked, sends the saved name and address to Stripe. Save your changes to the form first: the button uses what is saved, not what is typed.
  • Card readers. A linked location lists the readers registered to it, with their name, model, the end of the serial number and whether Stripe last saw them online. Register new readers in the Stripe Dashboard, against this Stripe location. If Stripe can't be reached the list is replaced by a note; the rest of the page still works.

Nothing is sent to Stripe when a location is saved, imported or copied between sites: only these buttons create or change a Stripe Terminal location. A site export leaves the Stripe location id behind, so an imported site starts unlinked and each store is linked again on the new site's own Stripe account.

Stripe Terminal locations belong to one mode. A location made while the shop used Stripe in test mode isn't visible once the shop switches to live (and the other way round); the card says so, and the location needs linking again (clear the id, save, then Create Stripe Terminal location). The site must have a Stripe account connected (Payments) before any of this works.