Ir para conteúdo
  • Cadastre-se

dev botao

Como obter o XML da Transportadora (CT-e)


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

Recommended Posts

  • Consultores

Olá Pessoal,

Muitos tem interesse em obter o XML da transportadora (CT-e) para facilitar a entrada do Contas a Pagar, etc.

Segundo a legislação, quem emite um CT-e tem por obrigação legal de disponibilizar o XML assinado e com o protocolo de autorização ao tomador do serviço, assim que a SEFAZ autorizar o conhecimento.

Essa disponibilização pode ser feita por e-mail, ou seja, o emitente envia para o tomador o XML via e-mail.

Sabemos que isso nem sempre ocorre, por 2 motivos:

1. No cadastro do tomador não consta o endereço de e-mail;

2. A aplicação do emitente não possui esse recurso ou esta desativado.

 

Mas temos uma alternativa.

O componente ACBrCTe possui os seguintes métodos: DistribuicaoDFePorUltNSU e DistribuicaoDFePorNSU.

Vamos a sintaxe:

DistribuicaoDFePorUltNSU( <código da UF do destinatário>, <CNPJ do destinatário>, <numero do ultimo NSU> )

DistribuicaoDFePorNSU( <código da UF do destinatário>, <CNPJ do destinatário>, <numero do NSU> )

 

Primeiramente vamos entender o que vem a ser esse tal de NSU.

NSU - numero sequencial único, é um numero atribuído pelo Ambiente Nacional ao documento ora compartilhado pelas SEFAZ-Autorizadora.

Exemplo: o emitente do conhecimento é do Estado de São Paulo, logo o conhecimento é enviado para a SEFAZ-SP esta por sua vez vai compartilhar com o Ambiente Nacional os conhecimentos que foram autorizados, o Ambiente Nacional por sua vez atribui um NSU para cada conhecimento que receber.

 

Vamos agora entender como funciona os dois métodos mencionados acima.

O método DistribuicaoDFePorNSU é o mais simples de entender, pois este simplesmente baixa o documento que possui o NSU informado.

Note que usei o termo documento, pois o webservice DistribuicaoDFe pode retornar os seguintes tipos de documentos: Conhecimento Completo e Evento Completo.

Se o NSU informado no método DistribuicaoDFePorNSU for o NSU de um evento, o que teremos como retorno será o XML do evento e não o XML do conhecimento.

Por outro lado o método DistribuicaoDFePorUltNSU nos retorna uma lista com até 50 documentos, cujos NSU são superiores ao NSU informado.

Exemplo: DistribuicaoDFePorUltNSU( 35, 12345678000123, 450 ) ===> 450 é o valor do Ultimo NSU.

Ao executar o método, como dito anteriormente poderá nos retornar uma lista com até 50 documentos, pois bem suponha que retorne 50, os NSU desse documentos retornados serão, 451, 452, 453, ...., 498, 499, 500.

Lembre-se que nessa lista podemos ter Conhecimentos Completas  e Eventos Completos.

Através de uma propriedade chamada Schema nos traz a informação do tipo de documento retornado.

Temos também outras duas propriedades muito importantes, são elas: UltNSU e MaxNSU.

A propriedade UltNSU nos informa o numero do NSU referente ao ultimo documento da lista, já a propriedade MaxNSU nos informar o maior NSU existente no Ambiente Nacional.

Continuando o exemplo acima, vamos supor que após a execução os valores de UltNSU e MaxNSU são respectivamente 500 e 750.

Era de se esperar mesmo que o valor de ultNSU seja 500 pois informamos 450 e foi retornado 50 documentos, logo o NSU do ultimo é 500.

A próxima vez que formos executar o DistribuicaoDFePorUltNSU devemos informar o valor 500, para que ele retorne os documentos a partir de 501 que é o próximo da lista.

E devemos repetir o procedimento até que o valor de ultNSU seja igual a maxNSU, desta forma vamos ter baixado todos os documentos disponibilizados pelo Ambiente Nacional.

 

Lembre-se que o valor de MaxNSU tende sempre a crescer a medida que novos conhecimentos forem emitidos e compartilhadas com o Ambiente Nacional.

 

O DistribuicaoDFe não serve apenas para que possamos obter o XML da transportadora (CT-e), mas também descobrirmos se existe alguma empresa emitindo conhecimentos contra o nosso CNPJ sem no nosso consentimento.

Você descobre isso através do DistribuicaoDFePorUltNSU e pode avisar a SEFAZ enviando o evento de Prestação de Serviço em Desacordo.

 

Para saber mais sobre o Distribuição DFe vide a Nota Técnica 2015/002 versão 1.00a, que se encontra disponível no Portal Nacional do CT-e e com relação ao evento Prestação de Serviços em Desacordo vide o Manual CT-e Visão Geral v3.00a que se encontra no Portal do Conhecimento de Transporte Eletrônico - SVRS.

Informação importante, o serviço Distribuição DF-e, é atendido pelo Ambiente Nacional, portanto não tem nada haver com a SEFAZ-Autorizadora do emitente do conhecimento ou do tomador.

Se algo falhar nesse processo, a "culpa" é do Ambiente Nacional.

  • Curtir 8
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

×
×
  • 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.