Square POS can count stock for every item and variation, lower it with each sale and show what is left at the counter. How far it goes depends on the Square plan: basic counts are part of the free plan, while stock intake, purchase orders and cost reports come with Square Plus. This guide covers the setup, the daily routine and what to do when the same stock is also sold online.
Can Square track inventory?
Yes. Each item, and each variation of an item such as a size or colour, can have its own stock count per location. When tracking is on, a sale at the register lowers the count and a refund can put the item back. Tracking is off by default and is switched on item by item.
Turning on stock tracking
In Square Dashboard:
- Open Items & services (on some accounts Items & inventory) → Items → Item library.
- Select the item and open the Inventory section.
- Switch on Track stock, enter the current quantity and save.
- For items with variations, switch on Advanced stock tracking so each variation has its own count.
For a large catalog, the item library can be exported, the quantities filled in a spreadsheet and the file imported back. Square accepts .xlsx and .csv files for this.
Adding and adjusting stock
In the Square POS app, stock is changed from More → Items → All items → item → Price and inventory → Stock on hand. Every change asks for a reason, which keeps the history readable. Square lists reasons such as:
- Stock received: a delivery from a supplier.
- Inventory re-count: the shelf was counted and the number is replaced.
- Damage, Theft, Loss: stock that left without a sale.
- Restock return: a returned item that can be sold again.
Using the right reason matters later: a re-count replaces the number, the others add or subtract. Mixing them up is a common cause of counts that drift for no visible reason.
Low-stock alerts
A low-stock threshold is set per item in Square Dashboard (Items → Actions → Update low stock alert). Square sends one email per location with the items below their threshold, 90 minutes after the location's closing time. It is a daily summary, not an instant warning, so fast-selling items need a threshold with enough margin for a day of sales.
Free vs Plus vs Premium
Square's US pricing page lists inventory features by plan. Prices are per location per month, as of October 2026.
| Plan | Price | Inventory features listed |
|---|---|---|
| Square Free | $0 | Items and SKUs, sales reports; per-item stock tracking (Square's help center describes it without a plan requirement) |
| Square Plus | $49 | Inventory management and stock intake, vendors and purchase orders, cost of goods sold and inventory reports, barcode labels, multi-location stock |
| Square Premium | $149 | Everything in Plus, plus transfer orders between locations and cross-location returns |
Card processing also differs by plan: in person 2.6% + 15¢ on Free, 2.5% + 15¢ on Plus and 2.4% + 15¢ on Premium; online 3.3% + 30¢ on Free and 2.9% + 30¢ on the paid plans. Purchase orders live under Items & services → Inventory management → Purchase orders and need Plus or Premium.
For a single shop that only needs correct counts and a daily low-stock email, the free plan is often enough. Plus pays off when deliveries are booked against purchase orders, or when the cost of goods is needed in reports.
Selling the same stock online
The counts in Square only cover what Square sees. How the website stays in step depends on where it runs:
- Square Online, Square's own website builder, uses the same item library: for items with tracking on, online orders and register sales update the same counts.
- WooCommerce keeps its own stock. Without a connection, a sale at the counter does not lower the stock on the website, and the last item can sell twice. The official WooCommerce Square extension syncs stock on a schedule, in one direction chosen as the "system of record". Two-way, real-time options are compared in Square plugins for WordPress compared.
Whatever connects the two, the habits above still apply: correct adjustment reasons and unique SKUs in Square make every sync more reliable. The full setup is in How to sync Square inventory with WooCommerce.
For developers: the Square Inventory API
- Adjustments and physical counts are written with
POST /v2/inventory/changes/batch-create; counts and history can be read per location. - The
inventory.count.updatedwebhook fires after register sales, Dashboard edits, deliveries, re-counts, transfers and API changes, with up to 100 counts per notification. The receiving endpoint has to answer within 10 seconds. - Transfers between locations use a separate Transfer Order API.
StockEven uses this webhook to apply counter sales to WooCommerce within seconds, and sends WooCommerce sales back to Square as adjustments rather than overwriting the count.
Sources
- Square for Retail pricing (US)
- Square processing fees
- Set up inventory tracking · Basic inventory management
- Create inventory alerts · Purchase order management
- Square Inventory API · Inventory webhooks
Square is a trademark of Block, Inc. WooCommerce is a trademark of Automattic Inc.
StockEven syncs stock both ways within seconds. Free up to 50 products.