Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 2254 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado (editado)

Ola colegas!

 

um cliente tentou fazer uma nota NF-e modelo 55 de remessa para conserto com o tipo de pagamento sem pagamento, ai recebi das regras de negocio do acbr a rejeição 767 - somatório dos pagamentos diferente do total da nota fiscal
 e tambem essa  869 - valor do troco incorreto, olhando a nota tecnica  2016_002 v1.60 so fala dessa regra 767 para modelo 65 e esta riscada de vermelho, e tambem ela diz que quando o tipo de pagamento for sem pagamento codigo 90 não pode ter valor de pagamento tag vpag deve ser zero e sobre a rejeição 869 pelo que vejo ela não preve esse tipo de pagamento pois ela exige que total das forma de pagamento - vNF seja o valor do troco mas não apresenta a exceção do tipo pagamento 90 sem pagamento.

 

então não sei o que é correto e como estão fazendo esse tipo de nota,  se estão colocando o tipo de pagamento como 99 outros ou outro tipo de pagamento?

 

este tambem seria o caso das transferencias entre filiais ...

Editado por simons
Postado

Bom dia.

Também passei a receber essa rejeição para notas de devolução ou transferência quando o tipo vai sem pagamento.

Darlan Souza

Ninguém sabe tanto que não possa aprender e nem tão pouco que não possa ensinar.

  • Membros Pro
Postado (editado)

e mais, na verdade para finalidade de ajuste ou devolucao é obrigado ter o tipo pagamento codigo 90 sem pagamento ou seja para devolucao por exemplo isso ta no manual, teremos que ajustar essa validação.

Editado por simons
Postado

@simonspelas msg de rejeição tu estas informando valores no vPag com tPag = '90'.

 

Acabei de testar aqui uma nota sem pagamento e autorizou normal.

- <pag>
- <detPag>
     <indPag>0</indPag>
      <tPag>90</tPag>
      <vPag>0.00</vPag>
</detPag>
 </pag>
  • Membros Pro
Postado

não pode informar valor na tag vPag quando tPag = 90, o detalhe é que isso só é valido para Finalidade da nota Ajuste ou Devolucao, se a nota for finalidade normal ou complementar não pode informar tPag = 90 eu estou informando 99 - Outras.  Essa era minha duvida, como o pessoal do forum esta tratanto isso, pois penso que deveria tambem ser tPag = 90 - Sem pagamento, porém se olhar o manual não existe a regeição 767 que é a soma das formas de pagamento para esse caso mas a rejeição 869 que é referente ao troco sim, ou seja uma regra interfere na outra e não tem a exceção para essa ultima rejeição 869.

  • Membros Pro
Postado

acontece que voce deve atentar para o coidgo a seguir retirado do metodo validaregrasdenegocios   do arquivo que passei no anexo anteriormente:

 

    if (NFe.Ide.modelo = 65) and (NFe.infNFe.Versao < 4) then
    begin

      GravaLog('Validar: 767-NFCe soma pagamentos');
      fsvTotPag := 0;
      for I := 0 to NFe.pag.Count-1 do
      begin
        fsvTotPag :=  fsvTotPag + NFe.pag.vPag;
      end;

      if (NFe.Total.ICMSTot.vNF <> fsvTotPag) then
        AdicionaErro('767-Rejeição: NFC-e com somatório dos pagamentos diferente do total da Nota Fiscal');
    end
    else if (NFe.infNFe.Versao >= 4)
         and ((NFe.Ide.finNFe = fnNormal)
         or   (NFe.Ide.finNFe = fnComplementar)) then
    begin

      fsvTotPag := 0;
      for I := 0 to NFe.pag.Count-1 do
      begin
        fsvTotPag :=  fsvTotPag + NFe.pag.vPag;
      end;

      GravaLog('Validar: 767-Soma dos pagamentos');
      if (fsvTotPag < NFe.Total.ICMSTot.vNF) then
        AdicionaErro('767-Rejeição: Somatório dos pagamentos diferente do total da Nota Fiscal');

      GravaLog('Validar: 869-Valor do troco');
      if (NFe.Total.ICMSTot.vNF <> (fsvTotPag - NFe.pag.vTroco)) then
        AdicionaErro('869-Rejeição: Valor do troco incorreto');

    end;
 

com minha mudança somente notas com finalidade devolucao ou ajuste poderao usar esse tpag = 90, se não colocar o valor na tag vPag que é oque diz a regra da NT v1.60 é que o problema acontecera em uma nota com finalidade Normal ou complementar, caso de transferencias, remessas etc. Ai é que esta o problema segundo a NT v1.60 não existe uma exceção para a rejeição 869 do troco, mas também não existe a rejeição validada pelo ACBrNFe numero 769....  as duas nesse caso são conflitantes, mesmo que retire a rejeição 769 e 869 acredito que não passaria na sefaz pela rejeição 869 do troco se a sefaz esta segundo o manual, até vou fazer um teste hoje retirando essa validação para ver se a sefaz ira validar ou não.

 

Postado

@simons to lendo a 1.60 aqui. Eu entendi de forma diferente o que tu disse em relação a NFe de ajuste, veja Pg 51

YA. Informações de Pagamento Obrigatório o preenchimento do Grupo Informações de Pagamento para NF-e e NFC-e. Para as notas com finalidade de Ajuste ou Devolução o campo Meio de Pagamento deve ser preenchido com 90=Sem Pagamento.

Óbviamente notas de ajuste e devolução são sem pagamento, mas finalidade normal, de remessa, envio, retorno etc tb são, e nesse caso entendo que deva ser informado tPag=90. Acabei de fazer um teste  vom uma cfop 5902 e passou com a mesma configuração.

- <detPag>
  <indPag>0</indPag>
  <tPag>90</tPag>
  <vPag>0.00</vPag>
  </detPag>
  • Membros Pro
Postado

Mas você usa o método validarregrasdenegocios? Pois finalidade normal levantaria rejeição se não tiver a tal vpag maior que zero, você olhou o código que postei acima?

  • Membros Pro
Postado

Segue me anexo sugestão de alteração para resolver essas questões do uso do tipo de pagamento 90 sem pagamento, agora é aguardar alguem avaliar e enviar para o repositório.

esse é o código alterado:

 

    if (NFe.Ide.modelo = 65) and (NFe.infNFe.Versao < 4) then
    begin
      GravaLog('Validar: 767-NFCe soma pagamentos');
      fsvTotPag := 0;
      for I := 0 to NFe.pag.Count-1 do
      begin
        fsvTotPag :=  fsvTotPag + NFe.pag.vPag;
      end;

      if (NFe.Total.ICMSTot.vNF <> fsvTotPag) then
        AdicionaErro('767-Rejeição: NFC-e com somatório dos pagamentos diferente do total da Nota Fiscal');
    end
    else if (NFe.infNFe.Versao >= 4)
         and ((NFe.Ide.finNFe = fnNormal)
         or   (NFe.Ide.finNFe = fnComplementar))
then
    begin
      fsvTotPag := 0;
      NFTPagSemPagamento:=false;
      for I := 0 to NFe.pag.Count-1 do
      begin
        fsvTotPag :=  fsvTotPag + NFe.pag.vPag;
        if NFe.pag.tPag = fpSemPagamento then
        begin
                NFTPagSemPagamento:=true;
        end;

      end;
      //se houver uma forma de pagamento na nota com TPag = 90 não pode validar a soma nem o troco da NFe
      if not NFTPagSemPagamento then
      begin

              GravaLog('Validar: 767-Soma dos pagamentos');
              if (fsvTotPag < NFe.Total.ICMSTot.vNF) then
                AdicionaErro('767-Rejeição: Somatório dos pagamentos diferente do total da Nota Fiscal');

              GravaLog('Validar: 869-Valor do troco');
              if (NFe.Total.ICMSTot.vNF <> (fsvTotPag - NFe.pag.vTroco)) then
                AdicionaErro('869-Rejeição: Valor do troco incorreto');
      end;

    end;

ACBrNFeNotasFiscais.pas

Postado (editado)
4 horas atrás, simons disse:

Mas você usa o método validarregrasdenegocios? Pois finalidade normal levantaria rejeição se não tiver a tal vpag maior que zero, você olhou o código que postei acima?

Essa nota foi autorizada pelo SEFAZ.

Numa nota com CFOPs 5902 e 5124 somente parte da nota é pago.

 

Por exemplo se a cfop 5902 for 300,00 e a 5124 100,00.

Teremos uma tPag 15 por exemplo com vpag 100,00 e uma tpag 90 com valor zero senao a nota é rejeitada.

 

Editado por Daniel Port
  • Curtir 1
  • Membros Pro
Postado

sim, mas o caso que estou fazendo é para notas com somente uma forma de pagamento e essa com tpag = 90 - sem pagamento, nesse caso o acbr rejeita por causa do teste que passei acima, então para resolver isso fiz a alteração.

Postado

Mas foi justamente o que eu disse mais acima.

Fiz notas de devoluçao, remessa, beneficiamento e diversas delas sem pagamento e autoriza sem alteraçao alguma.

Acho que o problema é o que tu estas informando para gerar a nota.

  • Moderadores
Postado
Em 27/08/2018 at 15:02, juniobelmiro disse:

Estou com o mesmo problema, na 3.10 estava funcionando perfeitamente da seguinte maneira:

Improvável, no layout 3.10 não era permitido informar pagamentos na NFe.

15 minutos atrás, juniobelmiro disse:

Alguma novidade?
Ainda o acbr ta travando minha devolução sem pagamento.

Anexe o XML para análise.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

  • Membros Pro
Postado (editado)
Em 27/08/2018 at 16:02, juniobelmiro disse:

Estou com o mesmo problema, na 3.10 estava funcionando perfeitamente da seguinte maneira:

Capturar.PNG

 

Em 27/08/2018 at 16:02, juniobelmiro disse:

Estou com o mesmo problema, na 3.10 estava funcionando perfeitamente da seguinte maneira:

Capturar.PNG

Você está preenchendo as seguintes propriedades para forma de tPag 90 dessa forma abaixo?

with pag.Add do

begin

tPag := fpSemPagamento;  
sFormaPgto := 'Sem pagamento';

vPag := 0

end;

Editado por Fernando Di Pace
  • 2 semanas depois ...
Postado (editado)

Ao emitir uma NFe com tpag 90, o acbr acusa os seguintes erros: '767-Rejeição: Somatório dos pagamentos diferente do total da Nota Fiscal' e '869-Rejeição: Valor do troco incorreto'. 

Tem que ser incluindo nessas verificações o tpag, se o mesmo for igual 90 o valor da vpag não será igual ao valor da nota.

Favor verificar se a alteração teria algum impacto negativo. 
Para o caso que eu tinha, funcionou.

ACBrNFeNotasFiscais.pas

Editado por Eduardo N. Teodoro
  • Obrigado 1
Postado

Eduardo,

Passe por isso ontem, ao fazer uma nota que não tem pagamento. A versão anterior funcionava normal. De repente passou a dar erro de validação.

Essa sua solução achei boa. Vamos ver se o pessoal coloca no SVN
Vou fazer mais uns testes.

Wanderson

  • Curtir 1
  • Moderadores
Postado
1 hora atrás, Eduardo N. Teodoro disse:

@BigWings, Boa tarde, 
Você como moderador poderia me dizer se essa alteração é viável para o SVN? 

Desde já agradeço a atenção.

Analisando o código não encontrei base nas notas técnicas que suportassem a lógica usada.

Subi para o svn minhas próprias correções de acordo com a NT para as validações.

Favor atualizar os fontes e proceder com os testes.

 

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

  • Este tópico foi criado há 2254 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.