Guía de configuración de ubicaciones Stokkap
Stokkap Connect uses a two-tier system to organise where your stock is stored: Location Types and Locations. This guide covers everything from initial setup to day-to-day management.
Location management (creating types, creating locations, reordering, and deleting) is done within the WordPress plugin admin. The Stokkap web app provides additional ways to assign locations to individual products - such as scanning, the product list edit button, and the product detail view - but the setup and configuration is handled in the plugin.
Understanding the two-tier system
Location Types are categories that describe the kind of place stock is stored. Think of them as labels: Shop, Warehouse, Supplier.
Locations are the specific named places within those categories. "Main Shop", "London Warehouse", "Acme Supplies Ltd" are all locations.
Un producto puede asignarse a varias ubicaciones del mismo tipo, como dos tiendas o varias estanterías de almacén. Use los tipos para agrupar ubicaciones similares; no necesita un tipo diferente para cada lugar.
Step 1 - Create location types
Navigate to your WordPress admin:
Stokkap → Location Types
Adding a type
- Enter a Label - the display name shown throughout the admin (e.g., "Shop")
- Optionally set a Slug - an internal identifier auto-generated from the label if left blank. Uses only lowercase letters, numbers, and underscores. The slug cannot be changed after creation, so choose carefully or leave blank to auto-generate.
- Set the Priority - this controls stock depletion order (explained in detail below). Lower numbers mean higher priority. The default auto-increments in steps of 10 (10, 20, 30...) to leave room for re-ordering later.
Click Add Location Type to save.
Slugs are permanent. Once a location type is created, its slug cannot be changed - even via CSV import. This protects existing locations and product stock meta that reference the slug. If you need a different slug, delete the type (only possible when no locations use it) and recreate it.
Real-world type examples
Here are setups for different kinds of stores:
Small independent shop:
| Tipo | Prioridad |
|---|---|
| Shop | 10 |
| Supplier | 20 |
Simple - sell from the shop first, fall back to supplier stock.
Multi-location retailer:
| Tipo | Prioridad |
|---|---|
| Shop | 10 |
| Warehouse | 20 |
| Supplier | 30 |
Shop floor stock sells first. When the shop is empty, warehouse stock is used. Supplier stock is the last resort.
Online-only business with multiple warehouses:
| Tipo | Prioridad |
|---|---|
| Almacén principal | 10 |
| Almacén de apoyo | 20 |
| Proveedor de envío directo | 30 |
Prioritise your main warehouse, overflow handles excess, suppliers fulfil the rest.
Retailer with shelved and displayed stock:
| Tipo | Prioridad |
|---|---|
| Exposición | 10 |
| Estantería | 20 |
| Trastienda | 30 |
| Supplier | 40 |
Sell displayed items first, restock from shelves, then back room, then fall back to supplier.
Container storage business (real customer example):
| Tipo | Prioridad |
|---|---|
| Zona de venta | 10 |
| Contenedor pequeño | 20 |
| Contenedor grande | 30 |
| Almacén de oficina | 40 |
| Supplier | 50 |
This customer uses container types to separate different physical storage areas. Stock is taken from the shop floor first, then small containers, then large containers, then back office reserves, and finally the supplier. Each container type can hold many location names describing exact positions.
Editing and deleting types
- Click Edit next to any type to change its label or priority. The slug remains fixed.
- Click Delete to remove a type. You can only delete a type that has no locations assigned to it. Reassign or delete its locations first.
Step 2 - Create locations
Navigate to your WordPress admin:
Stokkap → Locations
This page will not be available until you have created at least one location type.
Adding a location
- Enter a Name - the specific place (e.g., "Main Shop", "Birmingham Warehouse", "Acme Supplies Ltd")
- Select the Type from the dropdown
- Set the Priority - defaults to the type's priority, but can be overridden per location. This controls the order within the same type and across types.
Click Add Location to save.
Real-world location examples
Small independent shop with one supplier:
| Nombre de ubicación | Tipo | Prioridad |
|---|---|---|
| My Shop | Shop | 10 |
| Main Supplier | Supplier | 20 |
Multi-location retailer:
| Nombre de ubicación | Tipo | Prioridad |
|---|---|---|
| Manchester Store | Shop | 10 |
| Leeds Store | Shop | 10 |
| Central Warehouse | Warehouse | 20 |
| Acme Wholesale | Supplier | 30 |
| Budget Parts Ltd | Supplier | 30 |
Varias ubicaciones pueden compartir tipo y prioridad. Un producto puede tener existencias tanto en Manchester Store como en Leeds Store dentro del tipo Shop.
Warehouse with zone-based shelving:
| Nombre de ubicación | Tipo | Prioridad |
|---|---|---|
| Zone A - Electronics | Shelf | 10 |
| Zone B - Clothing | Shelf | 10 |
| Zone C - Homeware | Shelf | 10 |
| Returns Area | Shelf | 15 |
| Main Supplier | Supplier | 20 |
Un producto puede tener existencias en varias estanterías. Una ubicación llamada Returns Area sigue siendo vendible salvo que se haya creado expresamente como no vendible. Una prioridad de descuento menor solo retrasa su uso; no impide vender desde ella.
Container storage with position codes (real customer example):
| Nombre de ubicación | Tipo | Prioridad |
|---|---|---|
| Shop Front | Zona de venta | 10 |
| L/H/S/Shelf 1 | Contenedor pequeño | 20 |
| L/H/S/Shelf 2 | Contenedor pequeño | 20 |
| L/H/S/Rack 1 | Contenedor pequeño | 20 |
| R/H/S/Shelf 1 | Contenedor grande | 30 |
| R/H/S/Rack 1 | Contenedor grande | 30 |
| Back Office Store | Almacén de oficina | 40 |
| Wholesale Direct | Supplier | 50 |
Los códigos breves como L/H/S (lado izquierdo) o R/H/S (lado derecho), seguidos del número de estante o estantería, ayudan a encontrar los artículos. Un producto puede tener varias ubicaciones dentro de cada tipo de contenedor.
The locations table
Your locations are displayed in a table showing:
- Priority number
- Name
- Slug (shown as the meta key format
_st_stock_{slug}) - Type
- Status (Active/Inactive)
- Actions (Edit, Delete)
Arrastre las filas para cambiar la prioridad de descuento. Los pedidos usan las ubicaciones activas vendibles aptas de arriba abajo; las existencias no vendibles se omiten.
Editing a location
Click Edit next to any location. You can change:
- Name - rename the location at any time
- Type - reassign to a different type
- Priority - adjust the depletion order
- Activa — las ubicaciones ordinarias solo se pueden desactivar tras transferir o eliminar sus existencias. Las ubicaciones no vendibles no se pueden desactivar.
The slug cannot be changed after creation. The slug is generated from the original name and is used internally as the stock meta key. Renaming a location updates only the display name - all stock data remains intact because the slug stays the same.
La condición de venta se fija al crear la ubicación. Las ubicaciones existentes no se pueden cambiar de vendibles a no vendibles ni al contrario. Transfiera las existencias a una ubicación vendible cuando estén listas para venderse.
Deleting a location
Eliminar una ubicación borra el lugar en sí, no solo su asignación a un producto. Las ubicaciones no vendibles deben vaciarse antes de eliminarlas. También puede ser necesario resolver referencias u operaciones pendientes antes de permitir la eliminación.
Cuando esté vacía: confirme la eliminación tras resolver las referencias u operaciones restantes.
Para ubicaciones vendibles ordinarias con existencias: el diálogo de eliminación ofrece estas opciones. No permiten omitir las comprobaciones de las ubicaciones no vendibles:
- Download Report - Generates a text file listing every product at that location with its SKU, barcode, stock quantity, and product name. Use this to verify what will be affected before proceeding.
- Transfer & Delete - Choose a destination location from the dropdown. All stock is transferred to the destination in the background, then the location is deleted. Use this when moving stock to a new location (e.g., closing a store and moving inventory to your warehouse).
- Delete Without Transfer - Permanently removes the location and all associated stock data. This requires an extra confirmation checkbox: "I understand this will permanently lose X unit(s)". Only use this if the stock no longer exists physically.
Quitar la asignación a un producto es una acción independiente. Use una transferencia normal o masiva para mover la mercancía antes de eliminar una ubicación no vendible.
Ubicaciones no vendibles
Las ubicaciones no vendibles contienen existencias registradas que no están disponibles para la venta, como mercancía dañada, devoluciones pendientes de inspección o existencias pendientes de controles de calidad.
No vendible es una propiedad de cada ubicación, no un tipo de ubicación independiente. Tanto las ubicaciones vendibles como las no vendibles pueden pertenecer a Warehouse o Shop.
Activar y crear una ubicación no vendible
- Actualice Stokkap Connect a la versión 1.6.6 o posterior y use la última versión de la aplicación Stokkap.
- Abra Stokkap → Ajustes.
- Debajo de la tarjeta de ajustes Tipos de ubicación, busque Ubicaciones no vendibles y pulse Activar ubicaciones no vendibles.
- Abra Stokkap → Ubicaciones, cree una ubicación nueva y marque No vendible.
Las ubicaciones existentes siguen siendo vendibles. Activar esta función no cambia las existencias existentes.
La condición de venta se fija al crear la ubicación: las ubicaciones existentes no se pueden cambiar de vendibles a no vendibles ni al contrario. Una vez activada, la función no se puede desactivar desde Ajustes.
Para liberar existencias para la venta, transfiéralas a una ubicación vendible.
Flujos admitidos y limitaciones
Para productos ordinarios sin seguimiento por número de serie:
- Ver y ajustar: la edición de productos, Quick Lookup, Stock Control y Scan admiten cantidades no vendibles. Las ubicaciones muestran una etiqueta clara de clasificación No vendible.
- Mover existencias: las transferencias normales y masivas permiten mover existencias entre ubicaciones vendibles y no vendibles.
- Recuentos: las ubicaciones no vendibles se excluyen de los inventarios y de los recuentos por registro o masivos.
- Destinos no admitidos: las ubicaciones no vendibles no se pueden usar para existencias con números de serie, recepciones de compras ni activación masiva.
- Importaciones CSV: los flujos de importación admitidos no pueden crear ni modificar saldos no vendibles. Las importaciones ordinarias de existencias vendibles siguen funcionando.
- Informes y exportaciones: pueden mostrar las cantidades no vendibles y las etiquetas de ubicación. Las existencias no vendibles quedan excluidas de la valoración a precio de coste y de venta y no cuentan como existencias disponibles para la venta en los informes de existencias bajas o agotadas.
Reordering locations (drag and drop)
The locations table supports drag-and-drop reordering. Grab the handle on the left side of any row and drag it to a new position. The priority numbers update automatically when you drop.
Las existencias vendibles aptas se descuentan de arriba abajo. Los pedidos usan las ubicaciones activas vendibles por prioridad y pasan a la siguiente cuando hace falta. Las existencias no vendibles se omiten sea cual sea su prioridad.
This is the quickest way to adjust depletion order without manually editing priority numbers.
How priority and stock depletion works
Priority is the core concept that determines which location's stock is used first when a customer places an order.
The depletion cascade
Al recibir un pedido, Stokkap usa las ubicaciones activas vendibles aptas desde el número de prioridad más bajo (mayor prioridad) hasta el más alto. Las existencias no vendibles siempre se omiten:
Example: A customer orders 8 units of a product.
| Nombre de ubicación | Prioridad | Stock disponible | Acción |
|---|---|---|---|
| Main Shop | 10 | 3 unidades | Retirar 3 (quedan 0) |
| Warehouse | 20 | 10 unidades | Retirar 5 (quedan 5) |
| Supplier | 30 | 50 unidades | Omitido (pedido cubierto) |
Resultado: 3 unidades proceden de Main Shop y 5 de Warehouse. Las existencias de venta de WooCommerce disminuyen en 8.
Si se permiten pedidos pendientes y las existencias vendibles aptas no bastan, el faltante se asigna a la ubicación vendible apta con mayor prioridad. Las existencias no vendibles no pueden cubrir el faltante de un pedido pendiente.
Type priority vs location priority
Location types have a default priority that new locations inherit. You can override this on individual locations.
For most setups, keeping all locations of the same type at the same priority works well - the system processes them in the order they appear. If you need finer control (e.g., preferring one warehouse over another), give individual locations different priority numbers.
Smart Delivery add-on: zone-based priority overrides
With the Smart Delivery add-on (coming soon as a subscription), you can override the default type priority per WooCommerce shipping zone. This lets you change which location type is preferred based on where the customer is shipping to.
For example, your default priority might be Shop (10) > Warehouse (20) > Supplier (30). But for international orders, you could set it to Warehouse first because it is closer to the port. Each shipping zone can have its own priority order.
Smart Delivery also enables:
- Geolocation-aware depletion - Stokkap detects the customer's location automatically and applies the correct priority order before they even reach checkout.
- Delivery time messages - Show customers estimated delivery times on product pages based on which location would supply their order.
- Shipping rate filtering - Automatically show or hide shipping methods based on which location types will fulfil the order.
- Click-and-collect fulfilment - Orders using a click-and-collect shipping rate can be prioritised to deplete shop floor stock.
Bulk import & export (CSV)
Use the built-in CSV import and export tools when you need to create a lot of locations or location types at once - for example, 10+ locations, warehouse aisle-and-bin grids, or multi-store rollouts.
This is different from the product-stock CSV import described below in Assigning locations to products. This section creates and updates the locations and location types themselves; it does not assign product quantities to those locations.
Two separate CSVs
Stokkap uses separate importers for:
- Location Types - the categories such as Shop, Warehouse, Supplier, or Aisle M01.
- Locations - the actual places within those types, such as Main Shop, Central Warehouse, or M01-G01.
Create location types first, then import locations that reference those types.
Location Types CSV columns
| Columna | ¿Obligatorio? | Notas |
|---|---|---|
label |
Obligatorio | Nombre visible del tipo, como Warehouse o Aisle M01. |
slug |
Opcional | Identificador interno. Si está vacío, Stokkap lo genera a partir del nombre. Los slugs son permanentes tras su creación y no pueden modificarse después mediante una importación CSV. |
priority |
Opcional | Prioridad de consumo del stock. Los números menores se utilizan primero. Si está vacío, se aplica el comportamiento predeterminado de prioridades de Stokkap. |
Locations CSV columns
| Columna | ¿Obligatorio? | Notas |
|---|---|---|
name |
Obligatorio | Nombre visible de la ubicación, como Main Shop o M01-G01. |
type |
Obligatorio | Tipo de ubicación. Puede usar el slug o el nombre del tipo; la coincidencia no distingue entre mayúsculas y minúsculas. |
priority |
Opcional | Prioridad de consumo de esta ubicación. Si está vacía, se aplica la prioridad o el comportamiento predeterminado del tipo de ubicación. |
Duplicate detection and preview
For locations, duplicates are detected by name + type. If your CSV contains a location with the same name under the same type as an existing location, Stokkap treats it as the same location rather than creating a duplicate.
After you drop in a CSV, Stokkap shows an import preview table with a per-row status. Review this before importing so you can catch missing required columns, unknown types, duplicate rows, and invalid priority values.
Export existing data
Use Export existing before preparing a large import. The exported CSV gives you the current column structure and real examples from your store, so it is the safest starting point for edits in a spreadsheet.
From the Locations import card, you can also use the Export location types shortcut. This is useful when building a locations CSV because you can copy the exact type labels or slugs into the type column.
Worked example: 792 warehouse bins
Scenario: a warehouse with 8 aisles x 99 bays = 792 storage bins.
-
Create 8 location types, one per aisle: M01, M02, ... M08. You can create them through the UI or import a Location Types CSV:
label,priority Aisle M01,10 Aisle M02,20 ... Aisle M08,80 -
Generate the bay locations in a spreadsheet:
name,type,priority M01-G01,aisle_m01,10 M01-G02,aisle_m01,20 ... M08-G99,aisle_m08,990 - Save the spreadsheet as CSV, drop it into the import widget, review the preview table, then click Import.
Assigning locations to products
Location assignment within the plugin is available on the WooCommerce product edit screen and quick edit. The Stokkap web app offers additional ways to assign locations - including barcode scanning, the product list, and the product detail view.
Simple products (full edit)
- Open any simple product and go to the Inventory tab
- Tick Manage with Stokkap to enable multi-location stock management. This also enables WooCommerce's "Manage stock?" if it was not already enabled.
- The location stock section appears. Click Add location type... and select a type (e.g., "Shop")
- A row appears with a dropdown of all locations of that type. Select the specific location (e.g., "Main Shop")
- Enter the stock quantity
- Repita para otras ubicaciones, incluidas varias del mismo tipo.
- Los totales distinguen entre existencias vendibles, no vendibles y registradas. Solo las existencias de ubicaciones activas vendibles se usan como existencias de venta de WooCommerce.
Tip: On product edit screens, the Add location dropdown has a search box above it - type to filter through long location lists.
Pulse X junto a una fila para quitar la asignación de esa ubicación al producto. No hace falta guardar antes su cantidad a cero. Quitarla elimina su cantidad registrada de ese producto; no transfiere existencias ni convierte las no vendibles en vendibles. Use una transferencia cuando la mercancía se mueva físicamente. Transferir todas las existencias puede dejar una asignación con cantidad cero; quitarla es otra acción.
If you enable Stokkap on a product that already has WooCommerce stock (e.g., 50 units), a dialog appears asking where to assign the existing stock. Choose a location to transfer it, or start fresh with zero.
Simple products (quick edit)
For faster updates from the product list:
- Go to Products in WooCommerce
- Hover over a product and click Quick Edit
- The Stokkap section shows the same location type rows - adjust quantities or add/remove locations
- Click Update to save
Quick edit is ideal for day-to-day stock adjustments without opening the full product editor.
Variable products
For variable products, stock is managed per variation, not at the parent level. Open each variation's panel to see the same location type and stock fields as simple products. Each variation can be at different locations with different quantities.
Existencias vendibles, no vendibles y registradas
Las existencias de venta de WooCommerce proceden de ubicaciones activas vendibles. Las cantidades no vendibles siguen registradas por separado y quedan excluidas de las existencias de venta.
| Total | Significado |
|---|---|
| Existencias vendibles | Existencias en ubicaciones activas vendibles; se usan como existencias de venta de WooCommerce. |
| Existencias no vendibles | Cantidades registradas en ubicaciones no vendibles, excluidas de las existencias de venta. |
| Existencias registradas | Existencias vendibles más existencias no vendibles. |
Ejemplo: 10 vendibles + 4 no vendibles = 14 registradas. Las existencias de venta de WooCommerce son 10. Transfiera 2 unidades a una ubicación vendible: 12 vendibles + 2 no vendibles = 14 registradas. Las existencias de venta de WooCommerce son ahora 12.
Stokkap sincroniza automáticamente las existencias de venta de WooCommerce cuando cambian las cantidades vendibles aptas. Ajustar solo las existencias no vendibles no aumenta las existencias de venta.
Las ubicaciones inactivas no contribuyen a las existencias de venta de WooCommerce. Transfiera o elimine las existencias antes de desactivar una ubicación ordinaria; las ubicaciones no vendibles no se pueden desactivar.
Bulk setup and CSV import
There are three bulk workflows, each for a different job:
- Configuración masiva — activa la gestión con Stokkap para muchos productos. Use una ubicación vendible como destino de activación; las ubicaciones no vendibles no se admiten como destinos.
- CSV import for locations and location types - new in 1.4.9. Use the built-in CSV tools to create or update the locations and types themselves. See Bulk import & export (CSV) above.
- Importaciones CSV de existencias de productos — las importaciones ordinarias de existencias vendibles siguen siendo compatibles, incluidas varias ubicaciones del mismo tipo. Los flujos de importación admitidos no pueden crear ni modificar saldos no vendibles. Use la edición de productos, Quick Lookup, Stock Control o Scan para ajustar cantidades y las transferencias para moverlas. Los CSV de configuración anteriores crean o actualizan ubicaciones y tipos, no cantidades de productos.
Tips and best practices
- Start simple. Two types (Shop and Supplier) is enough for most small businesses. Add more as your needs grow.
- Use types for categories, locations for specifics. "Warehouse" is a type. "Birmingham Warehouse" is a location.
- Leave gaps in priority numbers. The auto-increment of 10, 20, 30 leaves room to slot in new types later without renumbering everything.
- Drag to reorder rather than editing priority numbers manually - it is faster and the numbers update automatically.
- Download the report before deleting a location with stock. Even if you plan to transfer, the report is a useful backup.
- Transfiera las existencias cuando mueva mercancía. Las transferencias normales y masivas admiten ubicaciones vendibles y no vendibles. Vacíe una ubicación no vendible antes de eliminarla.
- Slugs are permanent. Think of them as internal codes. The display name can be changed freely, but the slug sticks. If you make a mistake, delete the location and create a new one (transferring stock to the replacement).
- ¿Varias ubicaciones de la misma clase? Manténgalas en el mismo tipo. Un producto puede tener existencias en varias de ellas.