Skip to content

Marcas de Artículos

¿Para qué sirve?

Las marcas permiten etiquetar cada artículo con el fabricante o la línea comercial (por ejemplo Osram, Bosch, Stanley). Sirven para buscar, filtrar y agrupar el inventario más allá del nombre del producto o la categoría contable.


Por qué importa

  • Búsqueda más rápida: encontrás todo lo de una marca sin depender del texto largo del nombre del artículo.
  • Reportes coherentes: podés agrupar ventas o stock por marca cuando la operación lo exige.
  • Catálogo ordenado: categoría ≠ marca; la combinación describe mejor qué vendés.

Gestionar el catálogo de marcas

Los usuarios con rol Admin o Owner pueden crear, editar y desactivar marcas desde Configuración → Config Inventario → Marcas (/settings/brands).

Crear una marca

  1. Ir a Configuración → Marcas y hacer clic en + Nueva Marca.
  2. Ingresar el nombre (obligatorio). El nombre debe ser único dentro de la organización.
  3. Guardar. La marca queda activa de inmediato y ya es seleccionable al editar artículos.

Editar una marca

  1. En la lista, hacer clic en el ícono de lápiz de la marca que querés modificar.
  2. Cambiar el nombre y guardar. El cambio se refleja en todos los artículos que ya tenían esa marca asignada.

Desactivar una marca

  1. Hacer clic en el ícono de desactivar (círculo con línea roja) de la marca.
  2. Confirmar. La marca queda inactiva: ya no aparece en el desplegable de edición de artículos, pero los artículos que la tenían asignada conservan el dato histórico.

Las marcas desactivadas no se eliminan. Esto preserva el historial de artículos y reportes pasados.

Buscar marcas

Usá el campo de búsqueda en la parte superior de la lista. La búsqueda es insensible a mayúsculas, acentos y espacios: escribir bosch, Bösch o BOSCH devuelve el mismo resultado. La lista completa se carga al abrir la página y el filtro opera localmente sin roundtrips al servidor.


Ver artículos de una marca

Desde la lista de marcas, hacé clic en el ícono de lista (tres líneas) de cualquier marca para ir a su página de detalle (/settings/brands/[id]). Allí verás:

  • Nombre y estado de la marca en el encabezado.
  • Total de artículos asignados.
  • Listado paginado de todos los artículos de esa marca (10 por página), con SKU, precio, stock total, categoría y estado.
  • Buscador: filtrá dentro de los artículos de esa marca por nombre, SKU u otros campos. La búsqueda va al servidor y es insensible a acentos y mayúsculas; se activa a partir de 2 caracteres con un debounce de 300 ms para no saturar la base de datos mientras escribís.

Asignar o cambiar la marca de un artículo

  1. Abrí Inventario y seleccioná el artículo para ir al detalle.
  2. Tocá el botón flotante de editar (ícono lápiz).
  3. En el formulario, localizá el campo Marca y elegí una opción en el desplegable (podés limpiar el campo para quitar la marca).
  4. Guardá los cambios.

Dónde ves la marca en pantalla

  • En la franja bajo el título del detalle de un artículo: junto al SKU y la categoría aparece el ícono de marca y el nombre (o un guión si no hay marca).
  • En Atributos rápidos, si el artículo tiene marca asignada, verás una tarjeta Marca con el nombre.
  • En la lista de artículos de la marca (desde Configuración → Marcas), que muestra todos los artículos agrupados con paginación.

Errores comunes

  • No aparece ninguna opción en "Marca" al editar un artículo: en tu organización aún no hay marcas activas o no tenés permisos para verlas. Verificá en Configuración → Marcas que haya marcas activas.
  • Una marca recién creada no aparece en la lista: refrescá la página o verificá que no haya un filtro de búsqueda activo que la excluya.
  • La marca no coincide con el texto del nombre del artículo: el nombre puede incluir texto comercial histórico; la marca formal es el campo Marca guardado en el sistema.

Para el equipo técnico

RutaComponenteDescripción
/settings/brandsBrandsSettings.tsxLista CRUD de marcas con búsqueda cliente (NFD) y paginación Ant Design
/settings/brands/[id]BrandAssetsView.tsxArtículos de una marca: paginación Relay cursor (10/pág) + búsqueda servidor FTS
/inventory/[id]AssetDetailPage.tsxDetalle de artículo; incluye selector de marca

Decisiones de diseño relevantes:

  • asset_brands en el schema GraphQL es un graphene.List (sin límite Relay), igual que warehouses. El resolver devuelve el queryset completo filtrado por organización y ordenado por nombre, escalando sin tope a cualquier cantidad de marcas.
  • El campo totalAssetsCount en AssetBrandType se resuelve desde una anotación Count('assets') aplicada en resolve_asset_brands. Esto elimina el problema N+1: en lugar de un SELECT COUNT(*) por cada marca, se usa un único GROUP BY en SQL. El assets { totalCount } en la query ASSET_BRANDS fue reemplazado por totalAssetsCount por este motivo.
  • La búsqueda dentro de los artículos de una marca (BrandAssetsView) usa paginación Relay cursor (first / after) con PAGE_SIZE = 10 y aplica el mismo pipeline FTS + trigram + unaccent que el resto del inventario.
  • La búsqueda en la lista de marcas (BrandsSettings) es client-side con normalización NFD, lo que cubre acentos y mayúsculas sin roundtrip al servidor. Es adecuado porque la lista completa ya está cargada en memoria.

Ver también