Pular para o conteúdo principal

StockPurchase (Ordem de Compra)

O StockPurchase representa uma ordem de compra de produtos junto a fornecedores.

Descricao

A ordem de compra controla o processo de aquisicao de produtos, desde a solicitacao ate o recebimento, com geracao automatica de contas a pagar e entrada de estoque.

Dados

Informacoes da Compra

CampoTipoObrigatorioDescricao
referenceTextoAutoNumero da ordem
statusSelecaoSimStatus da compra
dateDataSimData da ordem
expected_dateDataNaoPrevisao de entrega
received_dateDataAutoData do recebimento
notesTextoNaoObservacoes

Valores

CampoTipoDescricao
subtotalMonetarioSoma dos itens
discountMonetarioDesconto total
shippingMonetarioFrete
other_costsMonetarioOutros custos
totalMonetarioTotal da compra

Status

StatusDescricao
draftRascunho
pendingAguardando aprovacao
approvedAprovada
orderedPedido enviado ao fornecedor
partial_receivedParcialmente recebida
receivedTotalmente recebida
canceledCancelada

Relacionamentos

Pertence a

EntidadeObrigatorioDescricao
AccountSimConta do petshop
StoreSimFilial
ProviderSimFornecedor
UserSimUsuario responsavel

Possui

EntidadeDescricao
PurchaseItemsItens da compra
PurchaseReceivingsRecebimentos
FinancialTransactionsContas a pagar
StockInvoicesNotas fiscais

PurchaseItem

Dados

CampoTipoDescricao
sale_product_idReferenciaProduto
quantityDecimalQuantidade solicitada
received_quantityDecimalQuantidade recebida
unit_costMonetarioCusto unitario
discountMonetarioDesconto do item
totalMonetarioTotal do item
statusSelecaopending, partial, received, canceled

Ciclo de Vida

Fluxo de Compra

Aprovacao

Regras de Aprovacao

CondicaoAcao
Valor ate XAprovacao automatica
Valor acima de XRequer aprovador
Fornecedor novoRequer aprovador

Alcadas

Pode-se configurar alcadas de aprovacao por valor:

ValorAprovador
Ate R$ 1.000Gerente de loja
R$ 1.000 a R$ 5.000Diretor
Acima de R$ 5.000Proprietario

Recebimento

PurchaseReceiving

Cada recebimento registra:

CampoTipoDescricao
dateDataData do recebimento
invoice_numberTextoNumero da NF
itemsArrayItens e quantidades recebidas
notesTextoObservacoes

Recebimento Parcial

Permite receber quantidades parciais:

Ordem: 100 unidades
Recebimento 1: 60 unidades (status = partial_received)
Recebimento 2: 40 unidades (status = received)

Divergencias

TipoTratamento
Quantidade menorAjustar ordem ou aguardar restante
Quantidade maiorRecusar excedente ou ajustar ordem
Produto erradoRecusar e solicitar troca
AvariaRegistrar e solicitar credito

Geracao de Estoque

Ao Receber

Para cada item recebido:

StockTransaction tipo "entry"
quantity: quantidade_recebida
unit_cost: custo_unitario
reference: ordem_compra

Atualizacao de Custo

O custo do produto pode ser atualizado:

OpcaoComportamento
ManterMantem custo atual
AtualizarUsa custo da compra
MediaCalcula novo custo medio

Geracao Financeira

Ao Receber

Gera transacao financeira:

FinancialTransaction
type: expense
status: pending
value: total_recebido
due_date: conforme condicao de pagamento
provider_id: fornecedor

Condicoes de Pagamento

CondicaoVencimento
A vistaData do recebimento
30 dias30 dias apos recebimento
30/60/90Gera 3 parcelas

Sugestao de Compra

Baseada em Estoque Minimo

Sistema sugere compra quando:

estoque_atual <= estoque_minimo

Quantidade Sugerida

quantidade = estoque_maximo - estoque_atual

Ou baseada em:

  • Historico de vendas
  • Sazonalidade
  • Lead time do fornecedor

Cotacao

Processo de Cotacao

  1. Criar solicitacao de cotacao
  2. Enviar para fornecedores
  3. Receber propostas
  4. Comparar precos
  5. Selecionar melhor oferta
  6. Gerar ordem de compra

Comparativo

FornecedorPrecoPrazoFreteTotal
Fornecedor AR$ 1007 diasR$ 20R$ 120
Fornecedor BR$ 9514 diasR$ 30R$ 125

Integracao com NF-e

Importacao de XML

Ao receber NF-e do fornecedor:

  1. Importar XML
  2. Vincular a ordem de compra
  3. Validar itens e quantidades
  4. Confirmar recebimento

Conciliacao

Sistema compara:

  • Produtos da ordem vs NF
  • Quantidades
  • Valores
  • Impostos

Validacoes

CampoRegra
provider_idObrigatorio
itemsMinimo 1 item
dateObrigatorio

Validacoes de Item

CampoRegra
productObrigatorio
quantityMaior que zero
unit_costMaior que zero

Relatorios

RelatorioDescricao
Compras por periodoTotal comprado por periodo
Compras por fornecedorRanking de fornecedores
Itens mais compradosProdutos mais adquiridos
Evolucao de precosHistorico de precos

Permissoes

AcaoDescricao
CriarCriar ordem de compra
EditarAlterar ordem
AprovarAprovar ordem
ReceberRegistrar recebimento
CancelarCancelar ordem