Introdução

Este documento de procedimento operacional tem o intuito de instruir o Analista a realizar a migração do saldo entre estabelecimentos, utilizando a inserção de itens no orçamento via banco de dados.



Descrição


Para realizar a transferência ou venda de todo o saldo para  outro estabelecimento será necessário seguir os seguintes passo:


1. Dependendo do acordado com o cliente, será necessário criar um nova E/S na R117 para realizar esta movimentação.


Caso seja uma venda sem gerar financeiro será necessário desmarcar a opção gerar títulos, 



Validar qual será o tipo de preço utilizado na saída



1.1 Ao utilizar uma operação de transferência as configurações abaixo permitem que a entrada seja automática no estabelecimento de destino, sendo necessário apenas realizar a confirmação na R387, caso a empresa use a confirmação de entrada de nota fiscal 


Tipo E/S = Transferência Saída

Perm. Oper. Loja? Define se este tipo de entrada ou saída permite operações entre lojas com raízes de CNPJ diferentes.

  • Desmarcado: Se o estabelecimento de destino pertencer à mesma raiz de CNPJ (relação matriz e filial).

  • Marcado: Se o estabelecimento de destino possuir uma raiz de CNPJ diferente.

Gera nota de Entrada?  Sim, e selecionar qual será a E/S utilizada para entrada



Caso a opção Perm. Oper. Loja? esteja desmarcada e a raiz CNPJ do estabelecimento de destino não tenha relação de matriz e filial esse será o bloqueio apresentado.



2. Criar um orçamento na R419 informando a E/S criada para esta finalidade e inserir o estabelecimento de destino que pode ser a mesma raiz CNPJ ou não.



3. Inserir pelo menos um item no orçamento, pois os demais serão inseridos via banco de dados.



Nota: Se ao inserir o item no orçamento for apresentado a alerta abaixo, utilizar base de conhecimento Configuração Percentual Margem Mínima.


 


Obs.: as informações tributárias dos itens devem ser validadas com o cliente, bem como a série que será utilizada.


Nota: Caso a série utilizada na movimentação seja pedido  'PD', o ideal é realizar uma transferência e não uma venda. Isso porque, conforme as configurações de E/S no tópico 1.1, o lançamento da nota na R139 é automático. Caso contrário, o lançamento deverá ser manual, visto que a série 'PD' não possui XML. 


Obs.: Não inserir mais de 350 itens por nota, caso a quantidade seja maior, criar novos orçamentos.


4. Com o orçamento criado será necessário inserir os demais itens via banco, fazendo as devidas alterações no script, conforme necessário


Exemplo: Cód.: Estabelecimento, campos que usam custo de compra, reposição,  preço de venda de compra, código do vendedor, orçamento, informações tributárias.


insert into t0124
select 
t0177.f0001idempresa as f0001idempresa  ,
1 as f0002idestab  , -- Alterar conforme necessário
1 f0120idorcamento  , -- Inserir número do orçamento após a criação na R419
row_number () over (partition by t0177.f0002idestab order by t0177.f0002idestab) + 1 f0124idsequenciaitem  ,
t0177.f0125iditem  as f0125iditem  ,
t0125.f0130idembalagemvenda f0130idembalagemvenda  ,
t0125.f0125nome f0124nomeitemvariavel  ,
t0177.f0177saldo f0124quantidade  ,
t0177.f0177saldo f0124quantidadepedida  ,
t0140.f0140valorcustoreposicao as f0124valorprecounitario, -- Alterar conforme necessário
t0140.f0140valorcustoreposicao as f0124valorprecotabela  ,  -- Alterar conforme necessário
0.00 f0124percdesconto  ,
100.00 f0124percdescontopermitido  ,
0.00 f0124valordesconto  ,
0.00 f0124valordescontocorpo  ,
0.00 f0124valorfrete  ,
0.00 f0124valorseguro  ,
0.00 f0124valoracrescimofinanceiro  ,
t0140.f0140valorcustoreposicao * t0177.f0177saldo as f0124valortotalitem  , -- Alterar conforme necessário
t0140.f0140valorcustoreposicao  f0124valorcustocompra  ,                     -- Alterar conforme necessário
t0140.f0140valorcustoreposicao f0124valorcustoreposicao  ,                     -- Alterar conforme necessário
60 f0115idcst  ,                                                             -- Alterar conforme necessário
t0140.f0108idcondicaoicms f0108idcondicaoicms  ,
t0140.f0140aliquotaicmssaida f0124aliquotaicms  ,
0.00 f0124valorbasecalculoicms  ,
0.00 f0124valoricms  ,
0.00 f0124valormargemicmssubstituicao  ,
0.00 f0124valorbasecalculoicmssubstituicao  ,
0.00 f0124valoricmssubstituicao  ,
0.00 f0124valorisentasicms  ,
(f0140valorcustoreposicao * 10) / 100 f0124valoroutrasicms  , -- Alterar conforme necessário
t0140.f0110idcondicaoipi f0110idcondicaoipi  ,                 -- Alterar conforme necessário
0.00 f0124aliquotaipi  ,
0.00 f0124valorbasecalculoipi  ,
0.00 f0124valoripi  ,
0.00 f0124valorisentasipi  ,
0.00 f0124valoroutrasipi  ,
0.00 f0124aliquotaiss  ,
0.00 f0124valorbasecalculoiss  ,
0.00 f0124valoriss  ,
0.00 f0124valorbasecalculoisssubstituicao  ,
0.00 f0124valorisssubstituicao  ,
0.00 f0124valorisentasiss  ,
0.00 f0124valoroutrasiss  ,
5928 f0082idcfop  ,         -- Alterar conforme necessário
1 f0078idvendedor1  ,         -- Alterar conforme necessário
null f0078idvendedor2  ,
0.00 f0124pesoliquido  ,
0.00 f0124pesobruto  ,
null f0124perccomissaovendedor1  ,
null f0124perccomissaovendedor2  ,
null f0124valorcomissaovendedor1  ,
null f0124valorcomissaovendedor2  ,
t0177.f0129iddeposito f0129iddeposito  ,
0 f0124itemoferta  ,
t0140.f0140valorcustoreposicao f0124valorprecotabelacalculado  , -- Alterar conforme necessário
0 f0124ipicompoebasecalculoicms  ,
null f0178idoferta  ,
53 f0356idcstipi  , -- Alterar conforme necessário
t0140.f0140valorcustoreposicao f0124valorcustocompraoriginal  , -- Alterar conforme necessário
t0140.f0140valorcustoreposicao f0124valorcustoreposicaooriginal  , -- Alterar conforme necessário
0.00 f0124quantidademontagem  ,
1 f0124confirmado  ,
t0177.f0177saldo f0124quantidadeconfirmada  ,
'C' f0124statusconfirmacao  ,
f0140valorcustoreposicao f0124valorcustomedio  , -- Alterar conforme necessário
0.00 f0124valortaxaadminfinanceira  ,
t0140.f0140valorcustoreposicao f0124valorprecotabelaoriginal  , -- Alterar conforme necessário
t0140.f0140valorcustoreposicao f0124valorcustomediooriginal  ,     -- Alterar conforme necessário
0.00 f0124perctriangulacao  ,
null f0124basecomissaovendedor1  ,
null f0124basecomissaovendedor2  ,
null f0124perccomissaoespecial  ,
null f0124valorcomissaoespecial  ,
null f0124tipocomissaoespecial  ,
0 f0124faturadoaparte  ,
1 f0002idestabvendedor1  , -- Alterar conforme necessário
null f0002idestabvendedor2  ,
null f0078idvendedor3  ,
null f0124perccomissaovendedor3  ,
null f0124valorcomissaovendedor3  ,
null f0124basecomissaovendedor3  ,
null f0002idestabvendedor3  ,
5928 f0082idcfoporiginal  ,
null f0124automatico  ,
t0140.f0523idcstpis f0523idcstpis  ,
t0140.f0140aliquotapis f0124aliquotapis  ,
t0140.f0140valorcustoreposicao * t0177.f0177saldo f0124valorbasecalculopis  , 
((t0140.f0140valorcustoreposicao* t0177.f0177saldo) * (t0140.f0140aliquotapis/100)) as f0124valorpis  , -- Alterar conforme necessário
null f0124aliquotaquantpissubstituido  ,
null f0124aliquotapissubstituido  ,
null f0124valorbasecalculopissubstituido  ,
null f0124valorpissubstituido  ,
t0140.f0524idcstcofins f0524idcstcofins  ,
t0140.f0140aliquotacofins f0124aliquotacofins  ,
t0140.f0140valorcustoreposicao * t0177.f0177saldo f0124valorbasecalculocofins  , -- Alterar conforme necessário
((f0140valorcustoreposicao * t0177.f0177saldo) * (t0140.f0140aliquotacofins/100)) f0124valorcofins  , -- Alterar conforme necessário
0 f0124cofinssubstituido  ,
null f0124aliquotaquantcofinssubstituido  ,
null f0124aliquotacofinssubstituido  ,
null f0124valorbasecalculocofinssubstituido  ,
null f0124valorcofinssubstituido  ,
0.00 f0124valoroutrosimpostos  ,
0.00 f0124valoroutrosimpostosfora  ,
null f0073idsupervisor1  ,  
null f0002idestabsupervisor1  ,
null f0124basecomissaosupervisor1  ,
null f0124perccomissaosupervisor1  ,
null f0124valorcomissaosupervisor1  ,
null f0073idsupervisor2  ,
null f0002idestabsupervisor2  ,
null f0124basecomissaosupervisor2  ,
null f0124perccomissaosupervisor2  ,
null f0124valorcomissaosupervisor2  ,
null f0073idsupervisor3  ,
null f0002idestabsupervisor3  ,
null f0124basecomissaosupervisor3  ,
null f0124perccomissaosupervisor3  ,
null f0124valorcomissaosupervisor3  ,
0.00 f0124valornaotributadoicms  ,
0.00 f0124valornaotributadoiss  ,
null f0124codigodebarras  ,
t0125.f0528idncmsh f0528idncmsh  ,
t0140.f0107idnaturezaitens f0107idnaturezaitens  ,
0.00 f0124percreducaoipi  , 
null f0555csosn  ,
null f0124aliquotacreditoicms  ,
null f0124valorcreditoicms  ,
null f0124perccargamedia  ,
0.00 f0124percreducaoicms  ,
0.00 f0124percreducaoicmssubstituicao  ,
null f0303idordemproducao  ,
1 f0124itemcompoenota  ,
t0125.f0126idunidademedida f0126idunidademedidatributavel  ,
1.00 f0124fatortributavel  ,
t0177.f0177saldo f0124quantidadetributavel  ,
t0140.f0140valorcustoreposicao  f0124valorprecounitariotributavel  , -- Alterar conforme necessário
1 f0124auto  ,
(t0140.f0140percentualimpostosfederal + t0140.f0140percentualimpostosestadual + t0140.f0140percentualimpostosmunicipal) as  f0124totaldeimpostositem  ,
t0140.f0140valorcustoreposicao f0124valorcustopersonalizavel  , -- Alterar conforme necessário
t0140.f0140valorcustoreposicao  f0124valorcustopersonalizaveloriginal  , -- Alterar conforme necessário
null f0124pedidocliente  ,
null f0124numeroitempedido  ,
t0140.f0140percentualimpostosfederal f0124totaldeimpostositemfederal  ,
t0140.f0140percentualimpostosestadual f0124totaldeimpostositemestadual  ,
t0140.f0140percentualimpostosmunicipal f0124totaldeimpostositemmunicipal  ,
null f0101idtabelapreco  ,
null f0002idestabordemproducao  ,
null f0124quantidadepneucareca,
null f0124valorunitariopneucareca  ,
t0125.f0558idcest f0558idcest  ,
null f0125iditembase  ,
null f0945idconjunto  ,
null f0124baseComissaoAdicional  ,
null f0124valorComissaoAdicional  ,
null f0124percentualComissaoAdicional  ,
null f0124identificadorNaOrdemDeServico  ,  
null f0129idDepositoDestino  ,
0.00 f0124aliquotaIcmsSubstituicao  ,
null f1145idDesoneracaoIcms  ,
0.00 f0124valorDesoneracaoIcms  ,
0 f0124subtraiValorDesoneracaoIcmsTotalNota  ,
null f0124despesasforanotaimportacao  ,
0 f0124deveAtualizarCustosNaRotina11  ,
null f0124creditosforanotaimportacao  ,
null f0124detalhesDaPoliticaDeMargem  ,
null f0125qtdeMaximaNaOs  ,
'' f0125itensRelacionados  ,
null f0124percicmsdif  ,
null f0124valoricmsdif  ,
null f0124valoricmsop  ,
null f0124valorDescontoPorCashback  ,
null f0124variacaoCambial  ,
1 f0078idVendedor4  ,
null f0124baseComissaoVendedor4  ,
null f0124valorComissaoVendedor4  ,
null f0124percComissaoVendedor4  ,
null f0073idSupervisor4  ,
13 f0002idEstabVendedor4  ,
null f0002idEstabSupervisor4  ,
null f0124baseComissaoSupervisor4  ,
null f0124valorComissaoSupervisor4  ,
null f0124percComissaoSupervisor4  ,
null f0124valorDescontoPortador  ,
1 f0124origemDestacouIcmsUfDestino  ,
1 f0124origemDestacouIcmsRetidoAnteriormente  ,
null f0124percentualReducaoBaseCalculoPis  ,
null f0124percentualReducaoBaseCalculoCofins  

from t0177 

inner join t0125 on
  t0177.f0125iditem = t0125.f0125iditem and
  t0177.f0001idempresa = t0125.f0001idempresa
inner join t0140 on
  t0177.f0125iditem = t0140.f0125iditem and
  t0177.f0001idempresa = t0140.f0001idempresa and
  t0177.f0002idestab = t0140.f0002idestab


 where t0177.f0002idestab = 1 -- Alterar conforme necessário
  and f0177saldo > 0  and t0140.f0107idnaturezaitens = 2  


Após a inserção dos itens no orçamento será necessário alterar o valor total do orçamento.


Na R419 clicar em VIS, verificar a soma da coluna valor total 




Alterar o valor via banco de dados, usando o script modelo abaixo


update t0120 set
f0120valortotalorcamento = 58289.32 -- Inserir valor da coluna valor total 
where f0120idorcamento = 506 and f0002idestab = 1 -- Informar o orçamento estabelecimento


Após a alteração conferir o valor 




5.   Ao realizar a inserção dos itens e alterar o valor do orçamento, clicar em fechar a venda para emitir a nota 'PD' ou NF-e


6. Com a nota já emitida, constando na R232, será necessário realizar a entrada pela R139 e  confirmação na R387, caso a base esteja configurada para realizar confirmação de nota fiscal de entrada


Vídeo: BC Migração de Saldo entre Estabelecimentos Via Banco de Dados 


7. Após a realizar a entrada da nota, deverá validar o saldo emitindo o R301, caso o saldo não tenha sido atualizado executar o reprocessamento de estoque na R228, apenas para clientes que utilizam o controle de estoque antigo.


Para validar qual tipo de controle de estoque o cliente está utilizando R29 parâmetro 1283, caso valor e e ativo estejam SIM, cliente utiliza novo controle.




Atenciosamente,

Bruno Coelho