ZeusAutomacao / DFe.NET

Biblioteca para Geração de NFe(2.0, 3.10 e 4.0) e NFCe(3.10 e 4.0) e consumo dos serviços necessários à sua manutenção, conforme descritos em http://www.nfe.fazenda.gov.br/portal/principal.aspx
GNU Lesser General Public License v2.1
752 stars 472 forks source link

Dúvidas: NFCe - emissão de contingência #530

Closed Guaze closed 7 years ago

Guaze commented 7 years ago

Uma dúvida de negócio.

Ao enviar uma NFCe para a RF, retorno um erro qualquer. Fico com uma NFCe de status diferente de 100 e imprime de modo contingência.

Eu devo ajustar o erro e enviar novamente.

Onde?

1) No xml uma vez que já tem a chave de acesso.

2) Ou nos dados da venda no meu sistema e enviar novamente.

Se eu fizer a 2° opção com que fica a situação daquela chave de acesso criada no 1º envio.

Um pouco de código fonte.

try { //Gerar a nota fiscal. nfe = nfceUtilities.GerarNFCe(this.Venda);

                        //Enviando a NFCe para Receita Federal
                        NFe.Servicos.Retorno.RetornoNFeAutorizacao retornoEnvio = nfceUtilities.EnviarNFCe(this.Venda.Lote, nfe);
                        protNFe = retornoEnvio.Retorno.protNFe;

                        //Atualizando a venda com as informações da Receita Federal
                        bp.UpdateInforReceitaFederal(
                            this.Venda,
                            nfe.infNFe.Id.Substring(3),
                            protNFe.infProt.cStat
                            );

                        //Criar diretório para armazenar XML
                        string diretorio = utils.CriarDiretorioNFCe(
                                Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location),
                                Venda.Data);

                        if (protNFe != null && protNFe.infProt.cStat.Equals(100))
                        {
                            nfeProc = new NFe.Classes.nfeProc();
                            nfeProc.NFe = nfe;
                            nfeProc.protNFe = protNFe;

                            //Salvando o xml localmente
                            nfeProc.SalvarArquivoXml(diretorio + this.Venda.ChaveAcesso + "-nfe.xml");
                        }

                    }
                    catch (NFe.Utils.Excecoes.ComunicacaoException)
                    {
                        //Faça o tratamento de contingência OffLine aqui.
                        if (nfe != null)
                        {
                            //Houve algum problema com a nota ao enviar para Receita Federal
                            nfe.infNFe.ide.tpEmis = NFe.Classes.Informacoes.Identificacao.Tipos.TipoEmissao.teOffLine;
                        }
                    }
                    catch (NFe.Utils.Excecoes.ValidacaoSchemaException erro)
                    {
                        MetroFramework.MetroMessageBox.Show(this, erro.Message, this.TitleMessage, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    catch (BusinessException)
                    {
                    }
robertorp commented 7 years ago

A pergunta foi, depois de emitir uma nfc-e em contingência, se tiver algo errado e por algum motivo na autorização da nfc-e em contingência der rejeição/erro oque devo fazer?

Bom nesse caso é assim, desde que você não altere nem uma informação que influencie na alteração da chave dela é altere impostos etc.. tem as informações que podem e as que não podem, mas o mais importante nesse momento é a chave da nfc-e, ela não deve ser alterada ou seja , não pode alterar a chave.

Mas Roberto preciso alterar a chave eu errei a data... Bom nesse caso ligue para sua sefaz.

Mas Roberto passei das 24horas que podiam ser enviadas preciso mudar a data de envio das nfc-e... Bom na sefaz de goiás logo depois que lançaram a NFC-e aqui eu liguei lá e fiz justamente essa pergunta, a resposta deles foram procure a delegacia fiscal. (Enfim o cliente se vira em outras palavras)

NFC-e offline é delicada, o sistema tem que garantir a integridade das informações, é sempre tem que estar atualizado enquanto a tributação é correto para não acontecer esse tipo de transtorno. Mas.. enfim tudo é possível.

Roberto posso alterar o icms de algum produto que foi errado na nfc-e offline? Bom se seu sistema provem desse recurso de maneira fácil beleza altera lá, não vai influenciar na chave, mas vai influenciar no qrcode. Mas convenhamos não é para acontecer isso né?

Guaze commented 7 years ago

Os erros que normalmente correm são:

Mas vamos ao pior cenário.

Emiti uma nota de contingência que gerou a chave x.

realizei os ajustes sempre reiniciando o processo de envio (gerar nfce e enviar) e ficou com a mesma chave x.

entendo, tudo ok.

mas se realizei ajustes e chave ficou y e foi com sucesso para RF. O cliente levou uma chave x para a mesma venda de numero 200.

Qual é a implicância?

Para a RF acho que nenhuma uma vez que a venda 200 agora está válida. Para o cliente, ele não conseguiria validar no site da RF a chave x porque na verdade deveria ser y.

Enfim, qual é a pendência para chave x uma vez que ela foi substituída para a mesma venda 200 ?

robertorp commented 7 years ago

Assim, não é algo que tem como nos que desenvolvemos sistemas controlar, esta sujeito a falhas no estabelecimento, não tem como nos desenvolvedores controlar todas possibilidades, então depende dos donos do estabelecimento isso. Você como desenvolvedor faz sua parte ficar redondinha e ta tranquilo. O resto é com o dono do estabelecimento.

Guaze commented 7 years ago

Vai de encontro com o que disse. No meu caso, eu estou fazendo o sistema para o meu próprio negócio (uma mercearia); normalmente as pessoas nem pedem o cupom.

Independente disso, a discussão foi válida.