Pular para o conteúdo principal

SaleProduct (Produto)

O SaleProduct representa um produto vendavel no sistema, com controle de precos, estoque e impostos.

Descricao

Produtos sao itens fisicos que podem ser vendidos no PDV. Cada produto possui configuracoes de preco, estoque e impostos por filial, suportando operacao multi-loja.

Dados

Identificacao

CampoTipoObrigatorioDescricao
nameTextoSimNome do produto
barcodesArray[Texto]SimCodigos de barras (EAN-8 a EAN-14)
referenceTextoNaoCodigo de referencia interno
provider_referenceTextoNaoCodigo do fornecedor
item_idNumeroAutoID sequencial por conta

Categorizacao

CampoTipoObrigatorioDescricao
stock_category_idReferenciaSimCategoria de estoque
stock_subcategory_idReferenciaNaoSubcategoria
manufacturer_idReferenciaNaoFabricante/Marca
provider_idReferenciaNaoFornecedor principal
pet_speciesArrayNaoEspecies compativeis
pet_sizesArrayNaoPortes compativeis
stock_tagsArrayNaoTags para busca

Caracteristicas Fisicas

CampoTipoDescricao
weightDecimalPeso em kg
cubic_weightDecimalPeso cubico
heightDecimalAltura em cm
widthDecimalLargura em cm
lengthDecimalComprimento em cm
pack_idReferenciaUnidade de embalagem

Conteudo

CampoTipoDescricao
descriptionHTMLDescricao completa
short_descriptionHTMLDescricao curta
specsHTMLEspecificacoes tecnicas
photosArrayFotos do produto

Opcoes

CampoTipoDescricao
fractional_saleBooleanoPermite venda fracionada
similar_productsArrayProdutos similares
complementary_productsArrayProdutos complementares

Relacionamentos

Pertence a

EntidadeObrigatorioDescricao
AccountSimConta do petshop
StockCategorySimCategoria
StockSubcategoryNaoSubcategoria
ManufacturerNaoFabricante
ProviderNaoFornecedor

Possui (Embarcados)

EntidadeDescricao
SalePricesPrecos por loja
SaleTaxesImpostos por loja
SaleStocksEstoque por loja

SalePrice (Precos)

Dados

CampoTipoObrigatorioDescricao
costMonetarioSimCusto de aquisicao
retail_priceMonetarioSimPreco de venda
wholesale_priceMonetarioNaoPreco atacado
marginDecimalCalculadoMargem de lucro (%)
markupDecimalCalculadoMarkup (%)

Calculo de Margem

margin = ((retail_price - cost) / retail_price) * 100

Calculo de Markup

markup = ((retail_price - cost) / cost) * 100

Interatividade

Ao alterar um valor, outros sao recalculados:

AlterouRecalcula
costmargin, markup
retail_pricemargin, markup
marginretail_price, markup
markupretail_price, margin

Precos Promocionais

Dados

CampoTipoObrigatorio
min_dateDataSim
max_dateDataSim
final_priceMonetarioSim

Regras

  1. Validade: min_date ate hoje ate max_date (periodo valido)
  2. Apenas uma promocao ativa por vez
  3. Sistema usa preco promocional automaticamente

Exemplo

Preco normal: R$ 50,00
Promocao: R$ 39,90 (01/12 a 31/12)
No periodo: cliente paga R$ 39,90

Descontos Progressivos

Dados

CampoTipoDescricao
min_quantityDecimalQuantidade minima
max_quantityDecimalQuantidade maxima
final_priceMonetarioPreco nesta faixa

Exemplo

1-5 unidades: R$ 50,00
6-10 unidades: R$ 45,00
11+ unidades: R$ 40,00

SaleTax (Impostos)

Dados

CampoTipoDescricao
tax_cstReferenciaCST ICMS (regime normal)
tax_csosnReferenciaCSOSN (Simples Nacional)
ncmTextoNCM (8 digitos)
cestTextoCEST
tax_lawReferenciaLei do ICMS
tax_pis_cofins_aliquotReferenciaAliquotas PIS/COFINS

Regimes Tributarios

RegimeCampo Usado
Normaltax_cst
Simples Nacionaltax_csosn

Obrigatoriedade

CampoRegra
ncmSempre obrigatorio
tax_cstSe regime normal
tax_csosnSe Simples Nacional
cestSe CST exige (cest_required)

SaleStock (Estoque)

Dados

CampoTipoDescricao
stockDecimalQuantidade atual
min_stockDecimalEstoque minimo
validity_controlBooleanoControle de validade

Estoque Total

produto.stock = soma de todos SaleStock do produto

Alerta de Estoque Baixo

Se stock <= min_stock: alerta

Controle de Lotes (Batches)

Quando Habilitado

Se validity_control = true, cada lote tem:

CampoTipoDescricao
batchTextoIdentificador do lote
quantityDecimalQuantidade total
current_quantityDecimalQuantidade disponivel
sold_quantityDecimalQuantidade vendida
validity_dateDataData de validade

Calculo

available_quantity = quantity - sold_quantity

Validacao

soma(lotes.quantity) <= stock

Movimentacoes de Estoque

Tipos

TipoDescricaoEfeito
entryEntrada+stock
exitSaida-stock
inventoryInventarioAjuste
transferTransferenciaMove entre depositos

StockTransaction

Cada movimentacao registra:

CampoDescricao
quantityQuantidade
signal_quantityQuantidade com sinal
new_unit_costCusto unitario
average_costCusto medio resultante

Custo Medio

Calculo

custo_medio = (estoque_atual * custo_antigo + nova_qtd * novo_custo) / estoque_total

Exemplo

Tinha: 100 un x R$ 10 = R$ 1.000
Entrou: 50 un x R$ 12 = R$ 600
Total: 150 un
Custo medio: R$ 1.600 / 150 = R$ 10,67

Multi-Loja

Estrutura

Cada produto tem dados por loja:

Produto: Racao Premium
- Loja Centro: preco R$ 50, estoque 100
- Loja Sul: preco R$ 48, estoque 80
- Loja Norte: preco R$ 52, estoque 50

Replicacao

Opcao de replicar precos/impostos para todas as lojas:

FlagEfeito
replicate_pricesCopia precos para todas as lojas
replicate_taxesCopia impostos para todas as lojas

Validacoes

CampoRegra
nameObrigatorio
barcodesObrigatorio, 8-14 digitos, unico na conta
provider_referenceUnico na conta (se informado)
stock_category_idObrigatorio

Escopos de Busca

FiltroDescricao
searchNome, codigo de barras, NCM, referencia
manufacturerPor fabricante
stock_categoryPor categoria
stock_subcategoryPor subcategoria
pet_specie_idsPor especie

Integracao com PDV

Busca por Codigo de Barras

  1. Usuario digita codigo
  2. Sistema busca produto
  3. Adiciona ao carrinho com quantidade informada

Preco Aplicado

Ordem de prioridade:

  1. Preco promocional (se ativo)
  2. Desconto progressivo (se quantidade aplicavel)
  3. Preco de varejo

Permissoes

AcaoDescricao
CriarCadastrar novo produto
EditarAlterar dados do produto
ExcluirRemover produto
Ver estoqueVisualizar estoque
Ajustar estoqueFazer entradas/saidas
Alterar precosModificar precos
Alterar impostosConfigurar impostos