O que é o evento de resposta ao pedido de prorrogação gerado pelo Fisco?
A nota técnica 2015/001 estabelece o evento de pedido de prorrogação.
Este evento visa atender Convênio AE-15/74, de forma a permitir que o contribuinte faça um pedido de prorrogação da suspensão do ICMS na remessa para industrialização após 180 dias.
No entanto, diferente dos demais eventos, quando o contribuinte faz o envio de um evento de pedido de prorrogação, ele vai receber apenas a informação de que o pedido foi registrado.
A confirmação se o pedido foi deferido ou não é devolvida em um novo evento gerado pelo próprio fisco.
Como obter o evento de resposta gerado pelo fisco?
Os eventos de resposta gerados pelo fisco podem ser:
Evento Fisco Resposta ao Pedido de Prorrogação 1º prazo (tpEvento=411500, “EFPP1”).
Evento Fisco Resposta ao Pedido de Prorrogação 2º prazo (tpEvento=411501, “EFPP2”).
Evento Fisco Resposta ao Cancelamento de Prorrogação 1º prazo (tpEvento=411502, “EFCPP1”).
Evento Fisco Resposta ao Cancelamento de Prorrogação 2º prazo (tpEvento=411503, “EFCPP2”).
Todos estes eventos são devolvidos tanto para o emitente quanto para o destinatário da nota através da Distribuição DFe.
Como leio a informação do evento na resposta da Distribuição DFe?
Como o web service devolve múltiplos eventos, é necessário se atentar a informação tpEvento que é devolvida na resposta.
Vejam rotina adaptada a partir da rotina já existente no programa exemplo:
uses
pcnRetDistDFeInt;
implementation
//...
var
LretDisDFeInt: TretDistDFeInt;
i: Integer;
begin
ACBrNFe.DistribuicaoDFePorUltNSU(CodUFAutor, CNPJInteressado, UltNSU);
LretDisDFeInt := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt;
if LretDisDFeInt.cStat = 138 then //Localizou doumentos...
begin
for i := 0 to Pred(LretDisDFeInt.docZip.Count) do
begin
case LretDisDFeInt.docZip[i].schema of
schresEvento:
begin
if LretDisDfeInt.docZip[i].resEvento.tpEvento in [teEventoFiscoPP1, teEventoFiscoPP2, teEventoFiscoCPP1, teEventoFiscoCPP2] then
begin
//Lê as informações do resumo do evento.
LretDisDFeInt.docZip[i].resEvento.XXX
end;
end;
schprocEventoNFe:
begin
if LretDisDfeInt.docZip[i].procEvento.tpEvento in [teEventoFiscoPP1, teEventoFiscoPP2, teEventoFiscoCPP1, teEventoFiscoCPP2] then
begin
//Lê as informações do evento.
LretDisDFeInt.docZip[i].procEvento.XXX
end;
end;
//...
end;
end;
end;
end;
Para quem utiliza ACBrLib ou ACBrMonitor.
A resposta devolvida possui na seção que é gerada para o evento o tipo de evento.
Basta validar se o tipo de evento corresponde ao que é preciso.
[ProEve001]
NSU=000000000000308
chCTe=3511111111111111550010000570851000570854
cOrgao=35
CNPJCPF=99999999999999
id=ID11111111111111111111111111111111111111111
dhEvento=29/08/2017 16:17:41
nSeqEvento=1
tpAmb=1
;Aqui vai vir 411500, 411501, 411502 ou 411503
tpEvento=411500
verEvento=1.00
desEvento=Cancelamento
xJust= Dados Errados
EmiCnpj=
EmiIe=
EmixNome=
cteNProt=
cteChvCte=
cteDhemi=30/12/1899
cteModal=01
cteDhRebcto=30/12/1899
XML=<xml evento>
[InfEve001]
id=ID11111111111111111111111111111111111111111
verAplic=1.1.9
tpAmb=1
cOrgao=35
chCTe=3511111111111111550010000570851000570854
cStat=
CnpjDest=99999999999999
cOrgaoAutor=
;Aqui vai vir 411500, 411501, 411502 ou 411503
tpEvento=411500
nSeqEvento=1
xEvento=
xMotivo=
dhRegEvento=29/08/2017 16:17:41
emailDest=
nProt=1456446552542554255
XML=<xml evento>
É Importante lembrar:
Até o momento da criação deste tópico, somente os estados de São Paulo e Minas Gerais fazem uso do evento de pedido de prorrogação.
A Distribuição DFe por Chave não devolve os eventos, somente o XML da nota.
Leia mais sobre a versão mais recente da nota técnica 2015/001 publicada até o momento AQUI.