Magento 2

Consultando no banco quantidade disponivel para Venda (estoque)

No Magento 2, a quantidade “reservada” na “Salable Quantity” é gerenciada principalmente pelos módulos MSI (Multi-Source Inventory). A “Salable Quantity” é a quantidade total disponível para venda, levando em consideração as reservas feitas por pedidos pendentes e outras operações que afetam o estoque.

Para consultar diretamente essas informações no banco de dados do Magento 2, você pode usar uma query SQL que acesse as tabelas relacionadas ao MSI. Aqui está um exemplo de uma query que pode te ajudar a verificar quantas unidades estão sendo reservadas para um determinado SKU:

SELECT 
    p.sku,
    SUM(sq.quantity - sq.stock_id) AS salable_quantity,
    SUM(sr.quantity) AS reserved_quantity
FROM 
    catalog_product_entity p
JOIN 
    inventory_source_item si ON p.sku = si.sku
JOIN 
    inventory_stock_item sq ON p.sku = sq.sku
JOIN 
    inventory_reservation sr ON sr.sku = p.sku
WHERE 
    p.sku = 'seu_sku_aqui'
GROUP BY 
    p.sku;

Vamos entender cada parte desta query:

  1. catalog_product_entity p: Esta tabela contém os produtos e seus SKUs.
  2. inventory_source_item si: Esta tabela contém informações de estoque para cada fonte (source) configurada no Magento.
  3. inventory_stock_item sq: Esta tabela contém a quantidade em estoque disponível para venda para cada produto.
  4. inventory_reservation sr: Esta tabela contém as reservas feitas no estoque, que afetam a “Salable Quantity”.

Passos para executar a query:

  1. Substitua 'seu_sku_aqui' pelo SKU específico que você deseja consultar.

  2. Execute a query em seu banco de dados Magento 2. Certifique-se de ter permissões adequadas para acessar e consultar essas tabelas.

Esta query somará a quantidade de reservas feitas (reserved_quantity) para o SKU especificado. A salable_quantity é calculada subtraindo a quantidade reservada (stock_id) da quantidade total disponível (quantity).

Se você precisar de ajustes ou uma análise mais detalhada, informe-se sobre a configuração específica do seu ambiente Magento e suas tabelas de banco de dados, pois algumas personalizações ou extensões podem afetar a estrutura das tabelas.

Post Recentes

Bloquear .env e .git no nginx: as regras que ainda deixam o arquivo vazar

Negar /.env no nginx parece resolvido até alguém pedir /wp-content/uploads/.env ou backup.sql. As regras que testei e os furos que…

13 horas atrás

Canonical errado no Yoast: corrigindo pelo filtro wpseo_canonical

O Search Console marca suas páginas 2, 3 e 4 como alternativas da página 1? Ajuste a tag canônica do…

16 horas atrás

Layout XML do Magento 2: remover bloco de módulo de terceiro

Um módulo de terceiro plantou um banner no topo da loja e você não quer desinstalar nada: tire o bloco…

1 dia atrás

Restaurar dump do Magento 2 em outro servidor: trocar a base_url no SQL

Importou o banco de produção e o site pula para o domínio antigo? Rode o UPDATE em core_config_data, limpe o…

2 dias atrás

Criar exceção customizada em PHP: quando estender Exception compensa

Seu catch trata pedido inexistente e banco fora do ar do mesmo jeito. Veja como criar exceção customizada em PHP…

3 dias atrás

DataProvider Magento 2: form do admin abre com campos vazios ao editar

O form do admin salva mas abre em branco na edição: veja o getData() indexado pelo id da entidade e…

4 dias atrás