Ir para conteúdo
  • Cadastre-se

dev botao

Validação Do Número Da Di/dsi


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

Recommended Posts

Ao enviar um número de DI (Declaração de Importação) devidamente registrada pelo Siscomex na Tag I19 do Detalhe da Mercadoria. o Componente ACBR passou a validar o número através das linhas abaixo:

 
    if not DFeUtil.ValidaDIDSI(nfe.Det.Prod.DI[j].nDI) then
      Gerador.wAlerta('I19', 'nDI', DSC_NDI, ERR_MSG_INVALIDO);
 
O problema que estou encontrando é nessa função ValidaDIDSI, ele exige o número 2 para DI e/ou 4 para DSI e este deve ser enviado no início do Número da DI, fazendo com que o mesmo passe  a ter 11 dígitos.
 
No meu caso, se colocar o "2", pois somente trabalhamos com DI, na geração do XML o número da DI estará incorreto, pois ficará diferente do registrado no Siscomex. Como devo agir nesse caso?
 
Considerar o componente errado e retirarmos/corrigirmos a função ou Incluir o 2 antes do número da DI  e adaptar a geração do XML sem o mesmo?
 
 
 
Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde lestipa,

 

A rotina que valida o campo nDI, foi elabora com base na NT 2013/005 versão 1.01, mais precisamente página 97.

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Boa tarde!

Acho que ai entra esta questões das versões NT2013/005 v.1.01 e NT2013/005 v.1.02 comentado no post #12 do link abaixo pela colega Danny.

 

 

Italo, vc tem informação se pela NT2013/005 v.1.02 torna-se desnecessário mesmo a validação?


logoacbr.pngConheça o Portal do Projeto ACBr

Ajude o Projeto ACBr crescer - Assine o SAC ACBr
Assine um dos planos de longa duração do SAC ACBr, obtenha Descontos Especiais, Parcele no Cartão e ainda ganhe Brindes Exclusivos. Saiba mais aqui

Conheça o ACBrLib, o ACBr de forma nativa para qualquer linguagem de programação. Saiba mais aqui

 

 

 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa noite Kiko,

 

Segundo a NT 2013/005 v1.02 página 87, temos:

 

Regra de Validação: I19-10 para o modelo 55

 

Número da DI / DSI inválido

***Implementação futura

 

Obrig. 329 Rej. Rejeição: Número da DI /DSI inválido

 

Como você ver a implementação da checagem dessa informação é obrigatória, só que a SEFAZ ainda vai demorar um pouco para implementar.

  • Curtir 2
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Obrigado Italo!


logoacbr.pngConheça o Portal do Projeto ACBr

Ajude o Projeto ACBr crescer - Assine o SAC ACBr
Assine um dos planos de longa duração do SAC ACBr, obtenha Descontos Especiais, Parcele no Cartão e ainda ganhe Brindes Exclusivos. Saiba mais aqui

Conheça o ACBrLib, o ACBr de forma nativa para qualquer linguagem de programação. Saiba mais aqui

 

 

 

 

Link para o comentário
Compartilhar em outros sites

Obrigado Italo e Kiko pelo rápido retorno.

 

Darei como exemplo o número de uma DI de meu cliente:

14/0126220-3

 

São 10 dígitos descartando a formatação ("AA/NNNNNNN-D").

 

Então o correto a ser enviado na Tag I19 é o valor 1401262203

 

A função ValidaDIDSI considera o primeiro dígito do parâmetros como tipo (2 ==> DI, 4 ==> DSI)

 

Para conseguir validar coloquei o 2 na frente, portanto meu parâmetro e TAG ficaram assim: 21401262203

 

E esse não é o número da DI.

 

Minha sugestão é passar esse Tipo como parâmetro ou criar funções separadas para que o numero original da DI seja mantido na Tag i19.

 

Obrigado e parabéns pelo excelente projeto que é o ACBr.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia lestipa,

 

No meu entendimento devemos sim, acrescentar o digito "2" ou "4" dependendo do tipo de informação que esta sendo passanda, uma vez que TAG poderá conter o numero da DI ou DSI.

 

Outra coisa, note que no XML essa TAG pode conter até 12 digitos.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Letispa, tenho a mesma interpretação que o Italo.

Quanto ao teu questionamento "E esse não é o número da DI" (no post #7) leia o ANEXO X da NT 2013.005 v.1.01

 

ANEXO X

01. Identificador: Número da DI / DSI 
 
A. Contextualização 
A Receita Federal permite ao importador a formulação da declaração de importação que servirá de base ao despacho aduaneiro de importação. Os identificadores envolvidos são: 
• DI - Declaração de Importação; 
• DSI – Declaração Simplificada de Importação. 
 
B. Composição 
A composição deste identificador é: "TAANNNNNNND", onde: 
T Identifica o tipo de documento (2=DI, 4=DSI); 
AA Ano corrente da geração do documento; 
NNNNNNN Número sequencial dentro do Ano (7 dígitos); 
D Dígito Verificador. 

 

Quando no texto diz que a composição É, penso que não temos o que discutir. O conteúdo esperado para este campo é isto mesmo  "TAANNNNNNND".

 

Outro detalhe é sobre o tamanho de 12 dígitos. 
A DI (Declaração de Importação) e DSI (Declaração Simplificada de Importação) será de tamanho 11 "TAANNNNNNND". 
 
Observe que este mesmo campo recebe também informações de DIRE (Declaração de Importação de Remessa Expressa)  "AANNNNNNNNNN" de tamanho 12 e também RE (Registro de Exportação) "AANNNNNNNSSS" também de tamanho 12. 
 
Mas voltando ao assunto principal creio que o padrão exigido, embora ainda não validado pela SEFAZ  para o caso de (DI) deve então ser "TAANNNNNNND".  Se algum cliente teu questionar mostre a nota técnica.


logoacbr.pngConheça o Portal do Projeto ACBr

Ajude o Projeto ACBr crescer - Assine o SAC ACBr
Assine um dos planos de longa duração do SAC ACBr, obtenha Descontos Especiais, Parcele no Cartão e ainda ganhe Brindes Exclusivos. Saiba mais aqui

Conheça o ACBrLib, o ACBr de forma nativa para qualquer linguagem de programação. Saiba mais aqui

 

 

 

 

Link para o comentário
Compartilhar em outros sites

Pelas documentações concordo com vocês, a questão agora vai entre Secretaria da Fazenda e Receita Federal.

 

Na NFe o tamanho do campo é de 12 dígitos, no Siscomex é de 10 dígitos.

 

Como o Kiko sugeriu, vou seguir a documentação. Na NFe aplico o "T", do tipo, nos demais sistemas referentes a Comex, 10 dígitos .

 

Obrigado

Link para o comentário
Compartilhar em outros sites

  • 4 meses depois ...
  • Consultores

Bom dia Jones Almeida,

 

Você esta informando o numero da DI / DSI conforme o meu post #8 e do Kiko #9?

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Bom dia Jones Almeida,

 

Você esta informando o numero da DI / DSI conforme o meu post #8 e do Kiko #9?

Bom dia.

 

O problema é que esta validação sumiu da versão 1.03, e como vou explicar isso pro meu cliente ?

 

 

Também está sendo obrigado a preencher o campo CNPJ do adquirente e a UFTerceiro, I23d e I23e, porem esse campo não é obrigatório em caso de importação por conta propria.

Editado por jonesalmeida
Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Jones,

 

No que diz respeito ao DI / DSI acredito que você pode muito bem tratar isso na sua aplicação.

 

No banco de dados fica armazenado sem o primeiro digito (2 para DI e 4 para DSI) mas você acrescenta esse digito quando for alimentar o componente para gerar o XML.

 

Caso o seu cliente veja o conteúdo do XML e te questione, faça um teste na frente dele com e sem esse digito.

 

Tomando como base a NT 2013/005 versão 1.01 se não for informado o digito 2 ou 4 a NF-e vai ser rejeitada.

 

A sua obrigação é fornecer uma aplicação que gere uma NF-e que seja aceita pela SEFAZ a outra coisa é o seu cliente é discordar de como a informação tem que ser incluída no XML.

 

Se ele discorda, manda ele questionar a SEFAZ.

 

Com relação ao CNPJ e UFTerceiro (I23d e I23e) fiz uma alteração e já esta disponível, favor atualizar os fontes e testar novamente.

 

Obs: a unit que gera o XML encontra-se na pasta PCN2. Eu aconselho sempre atualizar todos os fontes de todas as pastas. 

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Bom dia Jones,

 

No que diz respeito ao DI / DSI acredito que você pode muito bem tratar isso na sua aplicação.

 

No banco de dados fica armazenado sem o primeiro digito (2 para DI e 4 para DSI) mas você acrescenta esse digito quando for alimentar o componente para gerar o XML.

 

Caso o seu cliente veja o conteúdo do XML e te questione, faça um teste na frente dele com e sem esse digito.

 

Tomando como base a NT 2013/005 versão 1.01 se não for informado o digito 2 ou 4 a NF-e vai ser rejeitada.

 

A sua obrigação é fornecer uma aplicação que gere uma NF-e que seja aceita pela SEFAZ a outra coisa é o seu cliente é discordar de como a informação tem que ser incluída no XML.

 

Se ele discorda, manda ele questionar a SEFAZ.

 

Com relação ao CNPJ e UFTerceiro (I23d e I23e) fiz uma alteração e já esta disponível, favor atualizar os fontes e testar novamente.

 

Obs: a unit que gera o XML encontra-se na pasta PCN2. Eu aconselho sempre atualizar todos os fontes de todas as pastas. 

 

É que na minha opinião, acho errado mostrar na aplicação uma informação e no XML emitir outra, no caso add o 2 na frente.

Eu fiz um FORK pra mim nesse caso.  Você devem saber que é complexo manter um FORK, de algo em constante desenvolvimento.

Entendo a posição de vocês, contudo como nas revisões da nota técnica, o exemplo de como validar sumiu.

Acho desnecessário  manter a validação,  até porque acho que eles podem mudar isso mais pra frente.

 

_______________

 

Estudando o manual na verdade com operação com o exterior a TAG IDEstrageiro , E03a, é obrigatorio, mais o valor pode ser nulo.

Editado por jonesalmeida
Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Jonas,

 

Quanto as TAGs: IDEstrangeiro e vAFRMM já fiz as alterações, ainda hoje estarei disponibilizando.

 

Voltando o assunto da TAG nDI, infelizmente na última versão da NT 2013/005 não temos a composição do identificador DI /DSI.

 

Como essa TAG aceita tanto os números: DI, DSI e DRIE é de se esperar que exista um digito ou quantidade de dígitos para diferenciar um do outro.

 

A DRIE possui 12 dígitos, por outro lado a DI e DSI possem 9 dígitos.

 

Se o conteúdo da TAG: nDI contem 12 dígitos a SEFAZ interpreta que o numero se trata de uma DIRE.

 

Por outro lado se a TAG possuir apenas 9 dígitos qual é a informação (DI ou DSI)?

 

O que a SEFAZ fez inclui um digito identificador de tipo de documento no inicio e de quebra um digito verificador no final.

 

Se hoje a SEFAZ não possui uma regra de validação para esta TAG com certeza futuramente terá.

 

Lembre-se que você tem total liberdade de alterar os fontes, se você não concorda com a validação do conteúdo da TAG: nDI, altere os fontes.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Bom dia Jonas,

 

Quanto as TAGs: IDEstrangeiro e vAFRMM já fiz as alterações, ainda hoje estarei disponibilizando.

 

Voltando o assunto da TAG nDI, infelizmente na última versão da NT 2013/005 não temos a composição do identificador DI /DSI.

 

Como essa TAG aceita tanto os números: DI, DSI e DRIE é de se esperar que exista um digito ou quantidade de dígitos para diferenciar um do outro.

 

A DRIE possui 12 dígitos, por outro lado a DI e DSI possem 9 dígitos.

 

Se o conteúdo da TAG: nDI contem 12 dígitos a SEFAZ interpreta que o numero se trata de uma DIRE.

 

Por outro lado se a TAG possuir apenas 9 dígitos qual é a informação (DI ou DSI)?

 

O que a SEFAZ fez inclui um digito identificador de tipo de documento no inicio e de quebra um digito verificador no final.

 

Se hoje a SEFAZ não possui uma regra de validação para esta TAG com certeza futuramente terá.

 

Lembre-se que você tem total liberdade de alterar os fontes, se você não concorda com a validação do conteúdo da TAG: nDI, altere os fontes.

 

Obrigado ;)

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 3582 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.