Jump to content

dev botao

Erro Forma De Pagamento Da Nfc-E


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

Recommended Posts

  • Membros Pro

Caros Colegas,

 

Ao gerar o XML da NFC-e, na forma de pagamento esta sendo acrescentado uma varias formas com valores zerados, sendo que ja revisei o código e só mando quando o valor é maior que zero.

 

Trecho do meu código:

      if EVLR_Dinheiro.Value > 0 then
       begin
        pag.Add.tPag := fpDinheiro;
        pag.Add.vPag := A_Menu.Arredonda(EVLR_Dinheiro.Value);
       end;
      if (EVLR_ChequeAV.Value > 0) Or (EVLR_ChequeAP.Value > 0) then
       begin
        pag.Add.tPag := fpCheque;
        pag.Add.vPag := A_Menu.Arredonda(EVLR_ChequeAV.Value + EVLR_ChequeAP.Value);
       end;
      if EVLR_Cartao.Value > 0 then
       begin
        pag.Add.tPag := fpCartaoCredito;
        pag.Add.vPag := A_Menu.Arredonda(EVLR_Cartao.Value);
       end;
      if EVLR_CartaoDebito.Value > 0 then
       begin
        pag.Add.tPag := fpCartaoDebito;
        pag.Add.vPag := A_Menu.Arredonda(EVLR_CartaoDebito.Value);
       end;
      if EVLR_Crediario.Value > 0 then
       begin
        pag.Add.tPag := fpCreditoLoja;
        pag.Add.vPag := A_Menu.Arredonda(EVLR_Crediario.Value);
       end;
      if (EVLR_Convenio.Value + EVLR_Banco.Value)   > 0 then
       begin
        pag.Add.tPag := fpOutro;
        pag.Add.vPag := A_Menu.Arredonda(EVLR_Convenio.Value + EVLR_Banco.Value);
       end;

 

 

Código do XML

 

- <pag>
  <tPag>01</tPag>
  <vPag>0.00</vPag>
  </pag>
- <pag>
  <tPag>01</tPag>
  <vPag>3.00</vPag>
  </pag>
- <pag>
  <tPag>04</tPag>
  <vPag>0.00</vPag>
  </pag>
- <pag>
  <tPag>01</tPag>
  <vPag>2.97</vPag>
  </pag>

 

Agradeço pela atenção. O XML está em anexo.

 

Obrigado

 

  • Like 1
Link to comment
Share on other sites

  • Moderadores

Vc está chamando o add pra cada campo. Chame apenas uma vez.

with pag.Add do
 begin
   tPag := fpDinheiro;
   vPag := A_Menu.Arredonda(EVLR_Dinheiro.Value); 
 end;
djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.lambretinha.com.br
Link to comment
Share on other sites

  • 7 months later...
  • Moderadores

Caro colega

 

Tem como adicionar a opção fpDeposito?

 

Os tipos de pagamento para NFC-e são definidos por meio de nota técnica, então não é possível adicionar meios de pagamento que não os que são permitidos pelo SEFAZ.

No seu caso deveria utilizar o meio de pagamento Outros.

  • Like 1

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Link to comment
Share on other sites

  • 1 month later...

Boa tarde, eu sou novo aqui e estou tentando gerar uma NFC-e com duas formas de pagamento na mesma venda, exemplo Cartão de Crédito 30,00 e Cartão de Débito 50,00 mais não esta dando certo quando gera o XML da NFC-e segue abaixo alguns testes que fiz no Delphi, se alguém puder me ajudar agradeço.

with pag.Add do 
       begin
         tPag := fpCartaoCredito;
         vPag := 30;
         tPag := fpCartaoDebito;
         vPag := 50;
       end;
Passando da forma acima da um erro quando vai enviar a NFC-e dizendo que o somatorio das formas de pagamento não bate.
 
Da forma embaixo fica errado no XML pois adiciona 3 formas de pagamento.
         pag.Add.tPag := fpCartaoCredito;
         pag.Add.vPag := 30;
         pag.Add.tPag := fpCartaoDebito;
         pag.Add.vPag := 50;
 
        XML
       <pag>
         <tPag>03</tPag>
         <vPag>30.00</vPag>
      </pag>
      <pag>
        <tPag>04</tPag>
        <vPag>00.00</vPag>
      </pag>
       <pag>
        <tPag>01</tPag>
        <vPag>50.00</vPag>
      </pag>
      
    O valor de 50,00 que é Cartão de Debito fica na forma de pagamento Dinheiro mais eu não adicionei a forma de pagamento Dinheiro.   
 
Edited by carlos vilanova
Link to comment
Share on other sites

  • 2 years later...

ola pessoal, segundo o manual, a tag 'pag' so deve ser usada para NFC-e, mas estou enviando uma NF-e e esta dando rejeicao nessa tag:

Element '{http://www.portalfiscal.inf.br/nfe}pag' cannot be empty according to the DTD/Schema.

 

estou usando ACBrNFe e enviando NF-e para o estado do MT. nao achei na net dizendo alguma coisa q seja obrigatorio essa tag para NFe no MT. alg tem algum link ou alguma dica?

Analista de Sistemas

Control Fácil Sistemas

MultiWare Tecnologia

TW Speed Telecom

Link to comment
Share on other sites

  • Moderadores
7 horas atrás, joemil disse:

ola pessoal, segundo o manual, a tag 'pag' so deve ser usada para NFC-e, mas estou enviando uma NF-e e esta dando rejeicao nessa tag:

O grupo de pagamentos passou a ser obrigatório na NFe 4.0.

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

Projeto ACBr

 

 

Link to comment
Share on other sites

  • 4 weeks later...

eu faço dessa forma

if RDINHEIRO.Value >= Total.ICMSTot.vNF THEN
      begin
      with pag.Add do //PAGAMENTOS apenas para NFC-e
       begin
           tPag := fpDinheiro;
           vPag := RoundTo(Total.ICMSTot.vNF,-2);
          end;
      END;

      if RDINHEIRO.Value < Total.ICMSTot.vNF then
          BEGIN
          if rdinheiro.Value >0 then
           begin
            with pag.Add do
            begin
              tpag:=fpDinheiro;
              vpag:=RoundTo(rdinheiro.Value,-2);
            end;
          END;
          END;

            // Crediario da loja
        if RCREDIARIO.Value >0 THEN
        begin
       with pag.Add do //PAGAMENTOS apenas para NFC-e
       begin
           tpag:=fpCreditoLoja;
           vPag:=RoundTo(Total.ICMSTot.vNF - rdinheiro.value - rcartaocred.value - rcartaodeb.value - rchequeav.value,-2);
         end;
       end;


       if rcartaocred.value >0 then
       begin
           with pag.Add do
           begin
             tpag:=fpCartaoCredito;
             vpag:=RoundTo(Total.ICMSTot.vNF - rdinheiro.value - rcrediario.value - rcartaodeb.value - rchequeav.value,-2);
           end;
       end;


       if rcartaodeb.Value >0 then
       begin
           with pag.Add do
           begin
             tpag:=fpCartaoDebito;
             vpag:=RoundTo(Total.ICMSTot.vNF - rdinheiro.value - rcrediario.value - rcartaocred.value - rchequeav.value,-2);
           end;
       end;

              // meio cheque avista
       if rchequeav.Value >0 then
       begin   //4
       with pag.Add do //PAGAMENTOS apenas para NFC-e
       begin
           tpag:=fpCheque;
           vPag:=RoundTo(Total.ICMSTot.vNF - rdinheiro.value - rcrediario.value - rcartaodeb.value - rcartaocred.Value,-2);
         end;
         end;

Link to comment
Share on other sites

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

The popup will be closed in 10 seconds...