diff --git a/CTe.AppTeste/CTe.AppTeste.csproj b/CTe.AppTeste/CTe.AppTeste.csproj
index 808601034..e7087b778 100644
--- a/CTe.AppTeste/CTe.AppTeste.csproj
+++ b/CTe.AppTeste/CTe.AppTeste.csproj
@@ -134,6 +134,14 @@
Designer
Always
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
Designer
Always
@@ -158,6 +166,10 @@
Designer
Always
+
+ Designer
+ Always
+
Designer
Always
@@ -166,6 +178,10 @@
Designer
Always
+
+ Designer
+ Always
+
Designer
Always
@@ -174,6 +190,10 @@
Designer
Always
+
+ Designer
+ Always
+
Designer
Always
@@ -182,6 +202,18 @@
Designer
Always
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
Designer
Always
@@ -190,6 +222,10 @@
Designer
Always
+
+ Designer
+ Always
+
Designer
Always
@@ -198,6 +234,10 @@
Designer
Always
+
+ Designer
+ Always
+
Designer
Always
@@ -206,6 +246,10 @@
Designer
Always
+
+ Designer
+ Always
+
Designer
Always
@@ -214,10 +258,18 @@
Designer
Always
+
+ Designer
+ Always
+
Designer
Always
+
+ Designer
+ Always
+
Designer
Always
@@ -226,6 +278,10 @@
Designer
Always
+
+ Designer
+ Always
+
Designer
Always
@@ -234,10 +290,18 @@
Designer
Always
+
+ Designer
+ Always
+
Designer
Always
+
+ Designer
+ Always
+
Designer
Always
@@ -246,6 +310,10 @@
Designer
Always
+
+ Designer
+ Always
+
Designer
Always
@@ -254,6 +322,22 @@
Designer
Always
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
Designer
Always
@@ -266,6 +350,18 @@
Designer
Always
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
Designer
Always
@@ -274,6 +370,18 @@
Designer
Always
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
Designer
Always
@@ -282,6 +390,70 @@
Designer
Always
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
Designer
Always
@@ -290,6 +462,10 @@
Designer
Always
+
+ Designer
+ Always
+
Designer
Always
@@ -298,6 +474,10 @@
Designer
Always
+
+ Designer
+ Always
+
Designer
Always
@@ -306,14 +486,30 @@
Designer
Always
+
+ Designer
+ Always
+
Designer
Always
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
Designer
Always
+
+ Designer
+ Always
+
Designer
Always
@@ -322,6 +518,18 @@
Designer
Always
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
Designer
Always
@@ -330,6 +538,10 @@
Designer
Always
+
+ Designer
+ Always
+
Designer
Always
@@ -338,14 +550,46 @@
Designer
Always
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
Designer
Always
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
Designer
Always
+
+ Designer
+ Always
+
Designer
Always
@@ -354,6 +598,10 @@
Designer
Always
+
+ Designer
+ Always
+
Designer
Always
@@ -362,6 +610,18 @@
Designer
Always
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
Designer
Always
@@ -370,10 +630,22 @@
Designer
Always
+
+ Designer
+ Always
+
Designer
Always
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
Designer
Always
@@ -390,6 +662,10 @@
Designer
Always
+
+ Designer
+ Always
+
Designer
Always
@@ -398,10 +674,42 @@
Designer
Always
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
Designer
Always
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
Designer
Always
@@ -422,6 +730,18 @@
Designer
Always
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
Designer
Always
@@ -430,6 +750,14 @@
Designer
Always
+
+ Designer
+ Always
+
+
+ Designer
+ Always
+
Designer
Always
@@ -454,6 +782,10 @@
Designer
Always
+
+ Designer
+ Always
+
Designer
Always
diff --git a/CTe.AppTeste/CTeTesteModel.cs b/CTe.AppTeste/CTeTesteModel.cs
index b53a8c392..3a904142e 100644
--- a/CTe.AppTeste/CTeTesteModel.cs
+++ b/CTe.AppTeste/CTeTesteModel.cs
@@ -623,7 +623,7 @@ public void ConsultarStatusServico2()
CarregarConfiguracoes(config);
var statusServico = new StatusServico();
- var retorno = statusServico.ConsultaStatus();
+ var retorno = statusServico.ConsultaStatusV4();
OnSucessoSync(new RetornoEEnvio(retorno));
}
@@ -662,10 +662,18 @@ public void ConsultaPorProtocolo()
CarregarConfiguracoes(config);
var servicoConsultaProtocolo = new ConsultaProtcoloServico();
- var retorno = servicoConsultaProtocolo.ConsultaProtocolo(chave);
- OnSucessoSync(new RetornoEEnvio(retorno));
+ if (config.ConfigWebService.Versao == versao.ve300 || config.ConfigWebService.Versao == versao.ve200)
+ {
+ var retorno = servicoConsultaProtocolo.ConsultaProtocolo(chave);
+ OnSucessoSync(new RetornoEEnvio(retorno));
+ }
+ else // versao 4.00
+ {
+ var retorno = servicoConsultaProtocolo.ConsultaProtocoloV4(chave);
+ OnSucessoSync(new RetornoEEnvio(retorno));
+ }
}
@@ -864,7 +872,12 @@ public void CriarEnviarCTe2e3()
#region infCte
cteEletronico.infCte = new infCte();
- cteEletronico.infCte.versao = config.ConfigWebService.Versao;
+
+ if (config.ConfigWebService.Versao == versao.ve400 || config.ConfigWebService.Versao == versao.ve300)
+ {
+ cteEletronico.infCte.versao = versao.ve300;
+ }
+
#endregion
@@ -903,7 +916,7 @@ public void CriarEnviarCTe2e3()
cteEletronico.infCte.ide.UFFim = config.Empresa.SiglaUf;
cteEletronico.infCte.ide.retira = retira.Nao;
- if (config.ConfigWebService.Versao == versao.ve300)
+ if (config.ConfigWebService.Versao == versao.ve300 || config.ConfigWebService.Versao == versao.ve400)
{
cteEletronico.infCte.ide.indIEToma = indIEToma.ContribuinteIcms;
}
@@ -916,7 +929,7 @@ public void CriarEnviarCTe2e3()
};
}
- if (config.ConfigWebService.Versao == versao.ve300)
+ if (config.ConfigWebService.Versao == versao.ve300 || config.ConfigWebService.Versao == versao.ve400)
{
cteEletronico.infCte.ide.tomaBase3 = new toma3
{
@@ -946,6 +959,11 @@ public void CriarEnviarCTe2e3()
cteEletronico.infCte.emit.enderEmit.UF = config.Empresa.SiglaUf;
cteEletronico.infCte.emit.enderEmit.fone = config.Empresa.Telefone;
+ if (config.ConfigWebService.Versao == versao.ve400)
+ {
+ cteEletronico.infCte.emit.CRT = CRT.SimplesNacionalMei; // agora temos o simples nacional MEI , é diferente de simples nacional.
+ }
+
#endregion
// Remetente , no caso adicionei os mesmos dados do emitente.. mas seriam o do remente.
@@ -1006,7 +1024,7 @@ public void CriarEnviarCTe2e3()
cteEletronico.infCte.imp.ICMS.TipoICMS = icmsSimplesNacional;
- if (config.ConfigWebService.Versao == versao.ve300)
+ if (config.ConfigWebService.Versao == versao.ve300 || config.ConfigWebService.Versao == versao.ve400)
{
icmsSimplesNacional.CST = CST.ICMS90;
}
@@ -1056,6 +1074,11 @@ public void CriarEnviarCTe2e3()
cteEletronico.infCte.infCTeNorm.infModal.versaoModal = versaoModal.veM300;
}
+ if (config.ConfigWebService.Versao == versao.ve400)
+ {
+ cteEletronico.infCte.infCTeNorm.infModal.versaoModal = versaoModal.veM400;
+ }
+
var rodoviario = new rodo();
rodoviario.RNTRC = config.Empresa.RNTRC;
@@ -1070,16 +1093,30 @@ public void CriarEnviarCTe2e3()
#endregion
- var numeroLote = InputBoxTuche("Número Lote");
+
var servicoRecepcao = new ServicoCTeRecepcao();
- // Evento executado antes do envio do CT-e para o WebService
- // servicoRecepcao.AntesDeEnviar += AntesEnviarLoteCte;
- var retornoEnvio = servicoRecepcao.CTeRecepcao(int.Parse(numeroLote), new List { cteEletronico });
+ if (config.ConfigWebService.Versao == versao.ve300)
+ {
+ var numeroLote = InputBoxTuche("Número Lote");
+ // Evento executado antes do envio do CT-e para o WebService
+ // servicoRecepcao.AntesDeEnviar += AntesEnviarLoteCte;
+
+ var retornoEnvio = servicoRecepcao.CTeRecepcao(int.Parse(numeroLote), new List { cteEletronico });
+
+ OnSucessoSync(new RetornoEEnvio(retornoEnvio));
+ }
+
+ if (config.ConfigWebService.Versao == versao.ve400)
+ {
+ var retornoEnvio = servicoRecepcao.CTeRecepcaoSincronoV4(cteEletronico);
+
+ OnSucessoSync(new RetornoEEnvio(retornoEnvio));
+
+ }
- OnSucessoSync(new RetornoEEnvio(retornoEnvio));
config.ConfigWebService.Numeracao++;
new ConfiguracaoDao().SalvarConfiguracao(config);
@@ -1110,7 +1147,12 @@ public void CriarEnviarCTeConsultaReciboAutomatico2e3()
#region infCte
cteEletronico.infCte = new infCte();
- cteEletronico.infCte.versao = config.ConfigWebService.Versao;
+
+ if (config.ConfigWebService.Versao == versao.ve400 || config.ConfigWebService.Versao == versao.ve300)
+ {
+ cteEletronico.infCte.versao = versao.ve300;
+ }
+
#endregion
@@ -1129,7 +1171,7 @@ public void CriarEnviarCTeConsultaReciboAutomatico2e3()
cteEletronico.infCte.ide.mod = ModeloDocumento.CTe;
cteEletronico.infCte.ide.serie = config.ConfigWebService.Serie;
cteEletronico.infCte.ide.nCT = config.ConfigWebService.Numeracao;
- cteEletronico.infCte.ide.dhEmi = DateTime.Now;
+ cteEletronico.infCte.ide.dhEmi = DateTimeOffset.Now;
cteEletronico.infCte.ide.tpImp = tpImp.Retrado;
cteEletronico.infCte.ide.tpEmis = tpEmis.teNormal;
cteEletronico.infCte.ide.tpAmb = config.ConfigWebService.Ambiente; // o serviço adicionara automaticamente isso para você
@@ -1149,7 +1191,7 @@ public void CriarEnviarCTeConsultaReciboAutomatico2e3()
cteEletronico.infCte.ide.UFFim = config.Empresa.SiglaUf;
cteEletronico.infCte.ide.retira = retira.Nao;
- if (config.ConfigWebService.Versao == versao.ve300)
+ if (config.ConfigWebService.Versao == versao.ve300 || config.ConfigWebService.Versao == versao.ve400)
{
cteEletronico.infCte.ide.indIEToma = indIEToma.ContribuinteIcms;
}
@@ -1162,7 +1204,7 @@ public void CriarEnviarCTeConsultaReciboAutomatico2e3()
};
}
- if (config.ConfigWebService.Versao == versao.ve300)
+ if (config.ConfigWebService.Versao == versao.ve300 || config.ConfigWebService.Versao == versao.ve400)
{
cteEletronico.infCte.ide.tomaBase3 = new toma3
{
@@ -1192,6 +1234,11 @@ public void CriarEnviarCTeConsultaReciboAutomatico2e3()
cteEletronico.infCte.emit.enderEmit.UF = config.Empresa.SiglaUf;
cteEletronico.infCte.emit.enderEmit.fone = config.Empresa.Telefone;
+ if (config.ConfigWebService.Versao == versao.ve400)
+ {
+ cteEletronico.infCte.emit.CRT = CRT.SimplesNacionalMei; // agora temos o simples nacional MEI , é diferente de simples nacional.
+ }
+
#endregion
// Remetente , no caso adicionei os mesmos dados do emitente.. mas seriam o do remente.
@@ -1252,7 +1299,7 @@ public void CriarEnviarCTeConsultaReciboAutomatico2e3()
cteEletronico.infCte.imp.ICMS.TipoICMS = icmsSimplesNacional;
- if (config.ConfigWebService.Versao == versao.ve300)
+ if (config.ConfigWebService.Versao == versao.ve300 || config.ConfigWebService.Versao == versao.ve400)
{
icmsSimplesNacional.CST = CST.ICMS90;
}
@@ -1302,6 +1349,11 @@ public void CriarEnviarCTeConsultaReciboAutomatico2e3()
cteEletronico.infCte.infCTeNorm.infModal.versaoModal = versaoModal.veM300;
}
+ if (config.ConfigWebService.Versao == versao.ve400)
+ {
+ cteEletronico.infCte.infCTeNorm.infModal.versaoModal = versaoModal.veM400;
+ }
+
var rodoviario = new rodo();
rodoviario.RNTRC = config.Empresa.RNTRC;
diff --git a/CTe.AppTeste/MainWindow.xaml b/CTe.AppTeste/MainWindow.xaml
index aa32f16ef..f928d0d3c 100644
--- a/CTe.AppTeste/MainWindow.xaml
+++ b/CTe.AppTeste/MainWindow.xaml
@@ -213,7 +213,7 @@
-
+
diff --git a/CTe.AppTeste/schemas/GTVe_v3.00.xsd b/CTe.AppTeste/schemas/GTVe_v3.00.xsd
new file mode 100644
index 000000000..2ca3b86c6
--- /dev/null
+++ b/CTe.AppTeste/schemas/GTVe_v3.00.xsd
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+ Guia de Trasnsporte Eletrônica
+
+
+
diff --git a/CTe.AppTeste/schemas/GTVe_v4.00.xsd b/CTe.AppTeste/schemas/GTVe_v4.00.xsd
new file mode 100644
index 000000000..66cd2adb3
--- /dev/null
+++ b/CTe.AppTeste/schemas/GTVe_v4.00.xsd
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+ Guia de Trasnsporte Eletrônica
+
+
+
diff --git a/CTe.AppTeste/schemas/consNSUFaltCTe_v3.00.xsd b/CTe.AppTeste/schemas/consNSUFaltCTe_v3.00.xsd
new file mode 100644
index 000000000..f952c98c6
--- /dev/null
+++ b/CTe.AppTeste/schemas/consNSUFaltCTe_v3.00.xsd
@@ -0,0 +1,9 @@
+
+
+
+
+
+ Schema XML de validação da área de dados da mensagem da consulta NSU Faltantes
+
+
+
diff --git a/CTe.AppTeste/schemas/consProtFaltCTe_v3.00.xsd b/CTe.AppTeste/schemas/consProtFaltCTe_v3.00.xsd
new file mode 100644
index 000000000..cf77307e7
--- /dev/null
+++ b/CTe.AppTeste/schemas/consProtFaltCTe_v3.00.xsd
@@ -0,0 +1,9 @@
+
+
+
+
+
+ Pedido de consulta de Protocolos Faltantes de CT-e
+
+
+
diff --git a/CTe.AppTeste/schemas/consSitCTeTiposBasico_v3.00.xsd b/CTe.AppTeste/schemas/consSitCTeTiposBasico_v3.00.xsd
index caac0a22a..1bbcc44e6 100644
--- a/CTe.AppTeste/schemas/consSitCTeTiposBasico_v3.00.xsd
+++ b/CTe.AppTeste/schemas/consSitCTeTiposBasico_v3.00.xsd
@@ -1,5 +1,5 @@
-
+
diff --git a/CTe.AppTeste/schemas/consSitCTeTiposBasico_v4.00.xsd b/CTe.AppTeste/schemas/consSitCTeTiposBasico_v4.00.xsd
new file mode 100644
index 000000000..27525a233
--- /dev/null
+++ b/CTe.AppTeste/schemas/consSitCTeTiposBasico_v4.00.xsd
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+ Tipo Pedido de Consulta da Situação Atual do Conhecimento de Transporte eletrônico
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+ Serviço Solicitado
+
+
+
+
+ Chaves de acesso da CT-e
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Retorno de Pedido de Consulta da Situação Atual do Conhecimento de Transporte eletrônico
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+ Versão do Aplicativo que processou o CT-e
+
+
+
+
+ Código do status da mensagem enviada.
+
+
+
+
+ Descrição literal do status do serviço solicitado.
+
+
+
+
+ código da UF de atendimento
+
+
+
+
+
+
+
+ Retornar protCTe da versão correspondente do CT-e autorizado
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Retornar procEventoCTe da versão correspondente do evento CT-e autorizado
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Versão do Consulta situação de CT-e - 4.00
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/consSitCTe_v4.00.xsd b/CTe.AppTeste/schemas/consSitCTe_v4.00.xsd
new file mode 100644
index 000000000..c9825f322
--- /dev/null
+++ b/CTe.AppTeste/schemas/consSitCTe_v4.00.xsd
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+ Schema de validação XML dp Pedido de Consulta da Situação Atual do CT-e.
+
+
+
diff --git a/CTe.AppTeste/schemas/consStatServCTe_v4.00.xsd b/CTe.AppTeste/schemas/consStatServCTe_v4.00.xsd
new file mode 100644
index 000000000..bc2ed3598
--- /dev/null
+++ b/CTe.AppTeste/schemas/consStatServCTe_v4.00.xsd
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+ Schema XML de validação do Pedido de Consulta do Status do Serviço CT-e
+
+
+
diff --git a/CTe.AppTeste/schemas/consStatServTiposBasico_v4.00.xsd b/CTe.AppTeste/schemas/consStatServTiposBasico_v4.00.xsd
new file mode 100644
index 000000000..a79fae2cc
--- /dev/null
+++ b/CTe.AppTeste/schemas/consStatServTiposBasico_v4.00.xsd
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+ Tipo Pedido de Consulta do Status do Serviço CTe
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+ Código da UF a ser verificado o status
+ Utilizar a Tabela do IBGE.
+
+
+
+
+ Serviço Solicitado
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Resultado da Consulta do Status do Serviço CTe
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+ Versão do Aplicativo que processou o CT-e
+
+
+
+
+
+
+
+
+
+ Código do status da mensagem enviada.
+
+
+
+
+ Descrição literal do status do serviço solicitado.
+
+
+
+
+ Código da UF responsável pelo serviço
+
+
+
+
+ AAAA-MM-DDTHH:MM:SS TZD
+
+
+
+
+ Tempo médio de resposta do serviço (em segundos) dos últimos 5 minutos
+
+
+
+
+
+
+
+
+
+ AAAA-MM-DDTHH:MM:SSDeve ser preenchida com data e hora previstas para o retorno dos serviços prestados.
+
+
+
+
+ Campo observação utilizado para incluir informações ao contribuinte
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Versão do Consulta do Status do Serviço CTe
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/cteConsultaDFeTiposBasico_v1.00.xsd b/CTe.AppTeste/schemas/cteConsultaDFeTiposBasico_v1.00.xsd
new file mode 100644
index 000000000..85935c021
--- /dev/null
+++ b/CTe.AppTeste/schemas/cteConsultaDFeTiposBasico_v1.00.xsd
@@ -0,0 +1,155 @@
+
+
+
+
+
+
+ Tipo Pedido de Consulta do Conhecimento de Transporte eletrônico
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+ Serviço Solicitado
+
+
+
+
+ Chaves de acesso da CT-e, compostas por: UF do emitente, AAMM da emissão da CT-e, CNPJ do emitente, modelo, série e número da CT-e e código numérico + DV.
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Retorno de Pedido de Consulta do Conhecimento de Transporte eletrônico
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+ Versão do Aplicativo que processou a consulta do CT-e
+
+
+
+
+ Código do status da consulta do CT-e
+
+
+
+
+ Descrição literal do status da consulta do CT-e
+
+
+
+
+
+
+
+
+ Tipo Documento Fiscal Eletrônico CT-e
+
+
+
+
+
+
+
+ Autorização de Uso do CT-e
+
+
+
+
+
+ Versão do proc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Solicitação de Cancelamento do CT-e
+
+
+
+
+
+ Versão do procCancCTe
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Demais eventos vinculados ao CT-e
+
+
+
+
+
+ Versão do procEventoCTe
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Versão do Consulta DFe de CT-e - 1.00
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/cteConsultaDFe_v1.00.xsd b/CTe.AppTeste/schemas/cteConsultaDFe_v1.00.xsd
new file mode 100644
index 000000000..e859d3d3d
--- /dev/null
+++ b/CTe.AppTeste/schemas/cteConsultaDFe_v1.00.xsd
@@ -0,0 +1,9 @@
+
+
+
+
+
+ Schema de validação XML do Pedido de Consulta do CT-e.
+
+
+
diff --git a/CTe.AppTeste/schemas/cteModalAereo_v4.00.xsd b/CTe.AppTeste/schemas/cteModalAereo_v4.00.xsd
new file mode 100644
index 000000000..fbb254601
--- /dev/null
+++ b/CTe.AppTeste/schemas/cteModalAereo_v4.00.xsd
@@ -0,0 +1,240 @@
+
+
+
+
+
+
+ Informações do modal Aéreo
+
+
+
+
+
+ Número da Minuta
+ Documento que precede o CT-e, assinado pelo expedidor, espécie de pedido de serviço
+
+
+
+
+
+
+
+
+
+
+ Número Operacional do Conhecimento Aéreo
+ Representa o número de controle comumente utilizado pelo conhecimento aéreo composto por uma sequência numérica de onze dígitos. Os três primeiros dígitos representam um código que os operadores de transporte aéreo associados à IATA possuem. Em seguida um número de série de sete dígitos determinados pelo operador de transporte aéreo. Para finalizar, um dígito verificador, que é um sistema de módulo sete imponderado o qual divide o número de série do conhecimento aéreo por sete e usa o resto como dígito de verificação.
+
+
+
+
+
+
+
+
+
+
+ Data prevista da entrega
+ Formato AAAA-MM-DD
+
+
+
+
+ Natureza da carga
+
+
+
+
+
+ Dimensão
+ Formato:1234X1234X1234 (cm). Esse campo deve sempre que possível ser preenchido. Entretanto, quando for impossível o preenchimento das dimensões, fica obrigatório o preenchimento da cubagem em metro cúbico do leiaute do CT-e da estrutura genérica (infQ).
+
+
+
+
+
+
+
+
+
+
+
+ Informações de manuseio
+ 01 - certificado do expedidor para embarque de animal vivo;
+
+02 - artigo perigoso conforme Declaração do Expedidor anexa;
+
+03 - somente em aeronave cargueira;
+
+04 - artigo perigoso - declaração do expedidor não requerida;
+
+05 - artigo perigoso em quantidade isenta;
+
+06 - gelo seco para refrigeração (especificar no campo observações a quantidade);
+
+07 - não restrito (especificar a Disposição Especial no campo observações);
+
+08 - artigo perigoso em carga consolidada (especificar a quantidade no campo observações)
+;
+09 - autorização da autoridade governamental anexa (especificar no campo observações);
+
+10 – baterias de íons de lítio em conformidade com a Seção II da PI965 – CAO
+;
+11 - baterias de íons de lítio em conformidade com a Seção II da PI966
+;
+12 - baterias de íons de lítio em conformidade com a Seção II da PI967
+;
+13 – baterias de metal lítio em conformidade com a Seção II da PI968 — CAO;
+
+14 - baterias de metal lítio em conformidade com a Seção II da PI969;
+
+15 - baterias de metal lítio em conformidade com a Seção II da PI970
+;
+99 - outro (especificar no campo observações)
+.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Informações de tarifa
+
+
+
+
+
+ Classe
+ Preencher com:
+ M - Tarifa Mínima;
+ G - Tarifa Geral;
+ E - Tarifa Específica
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Código da Tarifa
+ Deverão ser incluídos os códigos de três dígitos, correspondentes à tarifa.
+
+
+
+
+
+
+
+
+
+
+ Valor da Tarifa
+ Valor da tarifa por kg quando for o caso.
+
+
+
+
+
+
+
+ Preenchido quando for transporte de produtos classificados pela ONU como perigosos.
+ O preenchimento desses campos não desobriga a empresa aérea de emitir os demais documentos que constam na legislação vigente.
+
+
+
+
+
+ Número ONU/UN
+ Ver a legislação de transporte de produtos perigosos aplicadas ao modal
+
+
+
+
+
+
+
+
+
+
+ Quantidade total de volumes contendo artigos perigosos
+ Preencher com o número de volumes (unidades) de artigos perigosos, ou seja, cada embalagem devidamente marcada e etiquetada (por ex.: número de caixas, de tambores, de bombonas, dentre outros). Não deve ser preenchido com o número de ULD, pallets ou containers.
+
+
+
+
+
+
+
+
+
+
+ Grupo de informações das quantidades totais de artigos perigosos
+ Preencher conforme a legislação de transporte de produtos perigosos aplicada ao modal
+
+
+
+
+
+ Quantidade total de artigos perigosos
+ 15 posições, sendo 11 inteiras e 4 decimais.
+Deve indicar a quantidade total do artigo perigoso, tendo como base a unidade referenciada na Tabela 3-1 do Doc 9284, por exemplo: litros; quilogramas; quilograma bruto etc. O preenchimento não deve, entretanto, incluir a unidade de medida. No caso de transporte de material radioativo, deve-se indicar o somatório dos Índices de Transporte (TI). Não indicar a quantidade do artigo perigoso por embalagem.
+
+
+
+
+ Unidade de medida
+ 1 – KG;
+2 – KG G (quilograma bruto);
+3 – LITROS;
+4 – TI (índice de transporte para radioativos); 5- Unidades (apenas para artigos perigosos medidos em unidades que não se enquadram nos itens acima. Exemplo: baterias, celulares, equipamentos, veículos, dentre outros)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/cteModalAquaviario_v4.00.xsd b/CTe.AppTeste/schemas/cteModalAquaviario_v4.00.xsd
new file mode 100644
index 000000000..a4fe08399
--- /dev/null
+++ b/CTe.AppTeste/schemas/cteModalAquaviario_v4.00.xsd
@@ -0,0 +1,207 @@
+
+
+
+
+
+
+ Informações do modal Aquaviário
+
+
+
+
+
+ Valor da Prestação Base de Cálculo do AFRMM
+
+
+
+
+ AFRMM (Adicional de Frete para Renovação da Marinha Mercante)
+
+
+
+
+ Identificação do Navio
+
+
+
+
+
+
+
+
+
+
+ Grupo de informações das balsas
+
+
+
+
+
+ Identificador da Balsa
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Número da Viagem
+
+
+
+
+
+
+
+
+
+
+ Direção
+ Preencher com: N-Norte, L-Leste, S-Sul, O-Oeste
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Irin do navio sempre deverá ser informado
+
+
+
+
+
+
+
+
+
+
+
+ Grupo de informações de detalhamento dos conteiners
+(Somente para Redespacho Intermediário e Serviço Vinculado a Multimodal)
+
+
+
+
+
+ Identificação do Container
+
+
+
+
+ Grupo de informações dos lacres dos cointainers da qtde da carga
+
+
+
+
+
+ Lacre
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Informações dos documentos dos conteiners
+
+
+
+
+
+ Informações das NF
+
+
+
+
+
+ Série
+
+
+
+
+
+
+
+
+
+
+ Número
+
+
+
+
+
+
+
+
+
+
+ Unidade de medida rateada (Peso,Volume)
+
+
+
+
+
+
+
+ Informações das NFe
+
+
+
+
+
+ Chave de acesso da NF-e
+
+
+
+
+ Unidade de medida rateada (Peso,Volume)
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo de Navegação
+ Preencher com:
+ 0 - Interior;
+ 1 - Cabotagem
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/cteModalDutoviario_v4.00.xsd b/CTe.AppTeste/schemas/cteModalDutoviario_v4.00.xsd
new file mode 100644
index 000000000..bc9c8940a
--- /dev/null
+++ b/CTe.AppTeste/schemas/cteModalDutoviario_v4.00.xsd
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+ Informações do modal Dutoviário
+
+
+
+
+
+ Valor da tarifa
+
+
+
+
+ Data de Início da prestação do serviço
+
+
+
+
+ Data de Fim da prestação do serviço
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/cteModalFerroviario_v4.00.xsd b/CTe.AppTeste/schemas/cteModalFerroviario_v4.00.xsd
new file mode 100644
index 000000000..2a789ac65
--- /dev/null
+++ b/CTe.AppTeste/schemas/cteModalFerroviario_v4.00.xsd
@@ -0,0 +1,231 @@
+
+
+
+
+
+
+
+ Tipo Dados do Endereço
+
+
+
+
+ Logradouro
+
+
+
+
+
+
+
+
+
+
+ Número
+
+
+
+
+
+
+
+
+
+
+ Complemento
+
+
+
+
+
+
+
+
+
+
+ Bairro
+
+
+
+
+
+
+
+
+
+
+ Código do município
+ Utilizar a tabela do IBGE
+ Informar 9999999 para operações com o exterior.
+
+
+
+
+ Nome do município
+ Informar EXTERIOR para operações com o exterior.
+
+
+
+
+
+
+
+
+
+
+ CEP
+
+
+
+
+
+
+
+
+
+
+ Sigla da UF
+ Informar EX para operações com o exterior.
+
+
+
+
+
+
+ Informações do modal Ferroviário
+
+
+
+
+
+ Tipo de Tráfego
+ Preencher com:
+ 0-Próprio;
+ 1-Mútuo;
+ 2-Rodoferroviário;
+ 3-Rodoviário.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Detalhamento de informações para o tráfego mútuo
+
+
+
+
+
+ Responsável pelo Faturamento
+ Preencher com:
+ 1-Ferrovia de origem;
+ 2-Ferrovia de destino
+
+
+
+
+
+
+
+
+
+
+
+ Ferrovia Emitente do CTe
+ Preencher com:
+ 1-Ferrovia de origem;
+ 2-Ferrovia de destino
+
+
+
+
+
+
+
+
+
+
+
+ Valor do Frete do Tráfego Mútuo
+
+
+
+
+ Chave de acesso do CT-e emitido pelo ferrovia de origem
+
+
+
+
+ Informações das Ferrovias Envolvidas
+
+
+
+
+
+ Número do CNPJ
+ Informar o CNPJ da Ferrovia Envolvida. Caso a Ferrovia envolvida não seja inscrita no CNPJ o campo deverá preenchido com zeros.
+Informar os zeros não significativos.
+
+
+
+
+ Código interno da Ferrovia envolvida
+ Uso da transportadora
+
+
+
+
+
+
+
+
+
+
+ Inscrição Estadual
+
+
+
+
+ Razão Social ou Nome
+
+
+
+
+
+
+
+
+
+
+ Dados do endereço da ferrovia envolvida
+
+
+
+
+
+
+
+
+
+
+ Fluxo Ferroviário
+ Trata-se de um número identificador do contrato firmado com o cliente
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/cteModalRodoviarioOS_v3.00.xsd b/CTe.AppTeste/schemas/cteModalRodoviarioOS_v3.00.xsd
index 4e40e9db5..bfbe38e51 100644
--- a/CTe.AppTeste/schemas/cteModalRodoviarioOS_v3.00.xsd
+++ b/CTe.AppTeste/schemas/cteModalRodoviarioOS_v3.00.xsd
@@ -1,5 +1,5 @@
-
+
@@ -70,7 +70,7 @@
- Proprietários do Veículo.
+ Proprietário ou possuidor do Veículo.
Só preenchido quando o veículo não pertencer à empresa emitente do CT-e OS
@@ -131,7 +131,7 @@ Só preenchido quando o veículo não pertencer à empresa emitente do CT-e OS
- Tipo Proprietário
+ Tipo Proprietário ou possuidor
Preencher com:
0-TAC – Agregado;
1-TAC Independente; ou
@@ -149,7 +149,7 @@ Só preenchido quando o veículo não pertencer à empresa emitente do CT-e OS
-
+
UF em que veículo está licenciado
Sigla da UF de licenciamento do veículo.
diff --git a/CTe.AppTeste/schemas/cteModalRodoviarioOS_v4.00.xsd b/CTe.AppTeste/schemas/cteModalRodoviarioOS_v4.00.xsd
new file mode 100644
index 000000000..23bcb62a6
--- /dev/null
+++ b/CTe.AppTeste/schemas/cteModalRodoviarioOS_v4.00.xsd
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+
+ Tipo Termo de Autorização de Fretamento – TAF
+
+
+
+
+
+
+
+
+
+ Tipo Número de Registro Estadual
+
+
+
+
+
+
+
+
+
+ Informações do modal Rodoviário
+
+
+
+
+
+
+ Termo de Autorização de Fretamento – TAF
+ Registro obrigatório do emitente do CT-e OS junto à ANTT, de acordo com a Resolução ANTT nº 4.777/2015
+
+
+
+
+ Número do Registro Estadual
+ Registro obrigatório do emitente do CT-e OS junto à Agência Reguladora Estadual.
+
+
+
+
+
+ Dados do Veículo
+
+
+
+
+
+ Placa do veículo
+
+
+
+
+
+
+
+ RENAVAM do veículo
+
+
+
+
+
+
+
+
+
+
+ Proprietário ou possuidor do Veículo.
+Só preenchido quando o veículo não pertencer à empresa emitente do CT-e OS
+
+
+
+
+
+
+ Número do CPF
+ Informar os zeros não significativos.
+
+
+
+
+ Número do CNPJ
+ Informar os zeros não significativos.
+
+
+
+
+
+
+ Termo de Autorização de Fretamento – TAF
+ De acordo com a Resolução ANTT nº 4.777/2015
+
+
+
+
+ Número do Registro Estadual
+ Registro obrigatório do emitente do CT-e OS junto à Agência Reguladora Estadual
+
+
+
+
+
+ Razão Social ou Nome do proprietário
+
+
+
+
+
+
+
+
+
+
+
+ Inscrição Estadual
+
+
+
+
+
+
+
+ UF
+
+
+
+
+
+ Tipo Proprietário ou possuidor
+ Preencher com:
+ 0-TAC – Agregado;
+ 1-TAC Independente; ou
+ 2 – Outros.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ UF em que veículo está licenciado
+ Sigla da UF de licenciamento do veículo.
+
+
+
+
+
+
+
+ Dados do fretamento (apenas para Transporte de Pessoas)
+
+
+
+
+
+ Tipo Fretamento
+ Preencher com:
+ 1 - Eventual 2 - Continuo
+
+
+
+
+
+
+
+
+
+
+
+ Data e hora da viagem (Apenas para fretamento eventual)
+ Formato AAAA-MM-DDTHH:MM:DD TZD
+
+
+
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/cteModalRodoviario_v4.00.xsd b/CTe.AppTeste/schemas/cteModalRodoviario_v4.00.xsd
new file mode 100644
index 000000000..210232290
--- /dev/null
+++ b/CTe.AppTeste/schemas/cteModalRodoviario_v4.00.xsd
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+
+ Informações do modal Rodoviário
+
+
+
+
+
+ Registro Nacional de Transportadores Rodoviários de Carga
+ Registro obrigatório do emitente do CT-e junto à ANTT para exercer a atividade de transportador rodoviário de cargas por conta de terceiros e mediante remuneração.
+
+
+
+
+
+
+
+
+ Ordens de Coleta associados
+
+
+
+
+
+ Série da OCC
+
+
+
+
+
+
+
+
+
+
+ Número da Ordem de coleta
+
+
+
+
+
+
+
+
+
+
+ Data de emissão da ordem de coleta
+ Formato AAAA-MM-DD
+
+
+
+
+
+
+
+ Número do CNPJ
+ Informar os zeros não significativos.
+
+
+
+
+ Código interno de uso da transportadora
+ Uso intermo das transportadoras.
+
+
+
+
+
+
+
+
+
+
+ Inscrição Estadual
+
+
+
+
+ Sigla da UF
+ Informar EX para operações com o exterior.
+
+
+
+
+ Telefone
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/cteMultiModal_v4.00.xsd b/CTe.AppTeste/schemas/cteMultiModal_v4.00.xsd
new file mode 100644
index 000000000..05dc7949f
--- /dev/null
+++ b/CTe.AppTeste/schemas/cteMultiModal_v4.00.xsd
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+ Informações do Multimodal
+
+
+
+
+
+ Número do Certificado do Operador de Transporte Multimodal
+
+
+
+
+
+
+
+
+
+
+
+
+ Indicador Negociável
+Preencher com: 0 - Não Negociável; 1 - Negociável
+
+
+
+
+
+
+
+
+
+
+
+ Informações de Seguro do Multimodal
+
+
+
+
+
+ Informações da seguradora
+
+
+
+
+
+ Nome da Seguradora
+
+
+
+
+
+
+
+
+
+
+ Número do CNPJ da seguradora
+ Obrigatório apenas se responsável pelo seguro for (2) responsável pela contratação do transporte - pessoa jurídica
+
+
+
+
+
+
+
+ Número da Apólice
+ Obrigatório pela lei 11.442/07 (RCTRC)
+
+
+
+
+
+
+
+
+
+
+ Número da Averbação
+ Não é obrigatório, pois muitas averbações ocorrem aapós a emissão do CT, mensalmente, por exemplo.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/cteOS_v4.00.xsd b/CTe.AppTeste/schemas/cteOS_v4.00.xsd
new file mode 100644
index 000000000..9ac66b268
--- /dev/null
+++ b/CTe.AppTeste/schemas/cteOS_v4.00.xsd
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+ Conhecimento de Transporte Eletrônico Outros Serviços
+
+
+
diff --git a/CTe.AppTeste/schemas/cteTiposBasico_v3.00.xsd b/CTe.AppTeste/schemas/cteTiposBasico_v3.00.xsd
index e9176804b..014573d76 100644
--- a/CTe.AppTeste/schemas/cteTiposBasico_v3.00.xsd
+++ b/CTe.AppTeste/schemas/cteTiposBasico_v3.00.xsd
@@ -3,9 +3,1017 @@
+
+
+ Tipo Modal transporte GTVe
+
+
+
+
+
+
+
+
+
+ Tipo Finalidade da GTV-e
+
+
+
+
+
+
+
+
+ Tipo Guia de Transporte de Valores Eletrônica (Modelo 64)
+
+
+
+
+ Informações do CT-e do tipo GTV-e
+
+
+
+
+
+ Identificação da GTV-e
+
+
+
+
+
+ Código da UF do emitente da GTV-e.
+ Utilizar a Tabela do IBGE.
+
+
+
+
+ Código numérico que compõe a Chave de Acesso.
+ Número aleatório gerado pelo emitente para cada CT-e, com o objetivo de evitar acessos indevidos ao documento.
+
+
+
+
+
+
+
+
+
+
+ Código Fiscal de Operações e Prestações
+
+
+
+
+ Natureza da Operação
+
+
+
+
+
+
+
+
+
+
+ Modelo do documento fiscal
+ Utilizar o código 64 para identificação do CT-e Guia de Transporte de Valores
+
+
+
+
+ Série da GTV-e
+ Preencher com "0" no caso de série única
+
+
+
+
+
+
+
+ Número da GTV-e
+
+
+
+
+ Data e hora de emissão da GTV-e
+ Formato AAAA-MM-DDTHH:MM:DD TZD
+
+
+
+
+
+
+
+ Formato de impressão do DACTE
+ Preencher com: 1 - Retrato; 2 - Paisagem.
+
+
+
+
+
+
+
+
+
+
+
+ Forma de emissão da GTV-e
+ Preencher com:
+1 - Normal;
+ 2- Contingencia offline
+7 - Autorização pela SVC-RS;
+ 8 - Autorização pela SVC-SP
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Digito Verificador da chave de acesso da GTV-e
+ Informar o dígito de controle da chave de acesso do CT-e, que deve ser calculado com a aplicação do algoritmo módulo 11 (base 2,9) da chave de acesso.
+
+
+
+
+
+
+
+
+
+
+ Tipo do Ambiente
+ Preencher com:1 - Produção; 2 - Homologação
+
+
+
+
+ Tipo da GTV-e
+ Preencher com:
+ 4 - GTV-e
+
+
+
+
+
+
+
+ Versão do processo de emissão
+ Iinformar a versão do aplicativo emissor de CT-e.
+
+
+
+
+
+
+
+
+
+
+ Código do Município de envio da GTV-e (de onde o documento foi transmitido)
+ Utilizar a tabela do IBGE. Informar 9999999 para as operações com o exterior.
+
+
+
+
+ Nome do Município de envio da GTV-e (de onde o documento foi transmitido)
+ Informar PAIS/Municipio para as operações com o exterior.
+
+
+
+
+
+
+
+
+
+
+ Sigla da UF de envio da GTV-e (de onde o documento foi transmitido)
+ Informar 'EX' para operações com o exterior.
+
+
+
+
+ Modal da GTV-e
+ Preencher com:
+01-Rodoviário
+06-Multimodal
+
+
+
+
+
+
+
+
+
+
+ Tipo do Serviço
+ Preencher com:
+
+9 - GTV
+
+
+
+
+
+
+
+
+
+
+ Indicador da IE do tomador:
+1 – Contribuinte ICMS;
+2 – Contribuinte isento de inscrição;
+9 – Não Contribuinte
+ Aplica-se ao tomador que for indicado no toma3 ou toma4
+
+
+
+
+
+
+
+
+
+
+
+
+ Data e hora de saida da origem
+ Formato AAAA-MM-DDTHH:MM:DD TZD
+
+
+
+
+
+
+
+ Data e hora de chegada no destino
+ Formato AAAA-MM-DDTHH:MM:DD TZD
+
+
+
+
+
+
+
+
+ Indicador do "papel" do tomador do serviço no GT-e
+
+
+
+
+
+ Tomador do Serviço
+ Preencher com:
+ 0-Remetente;
+ 1-Destinatário
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Indicador do "papel" do tomador do serviço no CTV-e
+
+
+
+
+
+ Tomador do Serviço
+ Preencher com:
+ 4 - Outros
+ Obs: Informar os dados cadastrais do tomador do serviço
+
+
+
+
+
+
+
+
+
+
+
+ Número do CNPJ
+ Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros.
+Informar os zeros não significativos.
+
+
+
+
+ Número do CPF
+ Informar os zeros não significativos.
+
+
+
+
+
+ Inscrição Estadual
+ Informar a IE do tomador ou ISENTO se tomador é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o tomador não seja contribuinte do ICMS não informar o conteúdo.
+
+
+
+
+
+
+
+ Razão Social ou Nome
+
+
+
+
+
+
+
+
+
+
+ Nome Fantasia
+
+
+
+
+
+
+
+
+
+
+ Telefone
+
+
+
+
+ Dados do endereço
+
+
+
+
+ Endereço de email
+
+
+
+
+
+
+
+
+ Informar apenas
+para tpEmis diferente de 1
+
+
+
+ Data e Hora da entrada em contingência
+ Informar a data e hora no formato AAAA-MM-DDTHH:MM:SS
+
+
+
+
+ Justificativa da entrada em contingência
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Dados complementares da GTV-e para fins operacionais ou comerciais
+
+
+
+
+
+ Característica adicional do transporte
+ Texto livre:
+REENTREGA; DEVOLUÇÃO; REFATURAMENTO; etc
+
+
+
+
+
+
+
+
+
+
+ Característica adicional do serviço
+ Texto livre:
+ ENTREGA EXPRESSA; LOGÍSTICA REVERSA; CONVENCIONAL; EMERGENCIAL; etc
+
+
+
+
+
+
+
+
+
+
+ Funcionário emissor da GTV-e
+
+
+
+
+
+
+
+
+
+
+ Observações Gerais
+
+
+
+
+
+
+
+
+
+
+ Campo de uso livre do contribuinte
+ Informar o nome do campo no atributo xCampo e o conteúdo do campo no XTexto
+
+
+
+
+
+ Conteúdo do campo
+
+
+
+
+
+
+
+
+
+
+
+ Identificação do campo
+
+
+
+
+
+
+
+
+
+
+
+
+ Campo de uso livre do contribuinte
+ Informar o nome do campo no atributo xCampo e o conteúdo do campo no XTexto
+
+
+
+
+
+ Conteúdo do campo
+
+
+
+
+
+
+
+
+
+
+
+ Identificação do campo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Identificação do Emitente da GTV-e
+
+
+
+
+
+ CNPJ do emitente
+ Informar zeros não significativos
+
+
+
+
+ Inscrição Estadual do Emitente
+
+
+
+
+
+
+
+ Inscrição Estadual do Substituto Tributário
+
+
+
+
+
+
+
+ Razão social ou Nome do emitente
+
+
+
+
+
+
+
+
+
+
+ Nome fantasia
+
+
+
+
+
+
+
+
+
+
+ Endereço do emitente
+
+
+
+
+
+
+
+ Informações do Remetente
+ Poderá não ser informado para os CT-e de redespacho intermediário e serviço vinculado a multimodal. Nos demais casos deverá sempre ser informado.
+
+
+
+
+
+
+ Número do CNPJ
+ Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros.
+ Informar os zeros não significativos.
+
+
+
+
+ Número do CPF
+ Informar os zeros não significativos.
+
+
+
+
+
+ Inscrição Estadual
+ Informar a IE do remetente ou ISENTO se remetente é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o remetente não seja contribuinte do ICMS não informar a tag.
+
+
+
+
+
+
+
+ Razão social ou nome do remetente
+
+
+
+
+
+
+
+
+
+
+ Nome fantasia
+
+
+
+
+
+
+
+
+
+
+ Telefone
+
+
+
+
+ Dados do endereço
+
+
+
+
+ Endereço de email
+
+
+
+
+
+
+
+
+
+
+ Informações do Destinatário
+ Poderá não ser informado para os CT-e de redespacho intermediário e serviço vinculado a multimodal. Nos demais casos deverá sempre ser informado.
+
+
+
+
+
+
+ Número do CNPJ
+ Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros.
+ Informar os zeros não significativos.
+
+
+
+
+ Número do CPF
+ Informar os zeros não significativos.
+
+
+
+
+
+ Inscrição Estadual
+ Informar a IE do destinatário ou ISENTO se destinatário é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o destinatário não seja contribuinte do ICMS não informar o conteúdo.
+
+
+
+
+
+
+
+ Razão Social ou Nome do destinatário
+
+
+
+
+
+
+
+
+
+
+ Telefone
+
+
+
+
+ Inscrição na SUFRAMA
+ (Obrigatório nas operações com as áreas com benefícios de incentivos fiscais sob controle da SUFRAMA)
+
+
+
+
+
+
+
+
+
+
+ Dados do endereço
+
+
+
+
+ Endereço de email
+
+
+
+
+
+
+
+ Informações do endereço da origem do serviço
+
+
+
+
+ Informações do endereço do destino do serviço
+
+
+
+
+ Grupo de informações detalhadas da GTV-e
+
+
+
+
+
+ Informações das Espécies transportadas
+
+
+
+
+
+ Tipo da Espécie
+ 1 - Cédula
+2 - Cheque
+3 - Moeda
+4 - Outros
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Valor Transportada em Espécie indicada
+
+
+
+
+ Nacionalidade do Numerário
+ 1 - Nacional
+2 - Estrangeiro
+
+
+
+
+
+
+
+
+
+
+
+ Nome da Moeda
+ Informar somente se tipo de numerário for 2 - Estrangeiro
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Quantidade de volumes/malotes
+
+
+
+
+ Grupo de informações dos veículos utilizados no transporte de valores
+
+
+
+
+
+ Placa do veículo
+
+
+
+
+ UF em que veículo está licenciado
+ Sigla da UF de licenciamento do veículo.
+
+
+
+
+ RNTRC do transportador
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Autorizados para download do XML do DF-e
+ Informar CNPJ ou CPF. Preencher os zeros não significativos.
+
+
+
+
+
+
+ CNPJ do autorizado
+ Informar zeros não significativos
+
+
+
+
+ CPF do autorizado
+ Informar zeros não significativos
+
+
+
+
+
+
+
+
+ Informações do Responsável Técnico pela emissão do DF-e
+
+
+
+
+
+ Versão do leiaute
+ Ex: "3.00"
+
+
+
+
+
+
+
+ Identificador da tag a ser assinada
+ Informar a chave de acesso do CT-e OS e precedida do literal "CTe"
+
+
+
+
+
+
+
+
+
+
+
+ Informações suplementares da GTV-e
+
+
+
+
+
+ Texto com o QR-Code impresso no DACTE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Versão do leiaute
+
+
+
+
+
+
- Tipo Protocolo de status resultado do processamento da CT-e
+ Tipo Protocolo de status resultado do processamento da CT-e
+
+
+
+
+ Dados do protocolo de status
+
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+ Versão do Aplicativo que processou o CT-e
+
+
+
+
+ Chaves de acesso da CT-e,
+
+
+
+
+ Data e hora de processamento, no formato AAAA-MM-DDTHH:MM:SS TZD.
+
+
+
+
+ Número do Protocolo de Status do CT-e.
+
+
+
+
+ Digest Value da CT-e processado. Utilizado para conferir a integridade do CT-e original.
+
+
+
+
+ Código do status do CT-e.
+
+
+
+
+
+
+
+ Descrição literal do status do CT-e.
+
+
+
+
+
+
+
+
+ Mensagem do Fisco
+
+
+
+
+
+ Código do status da mensagem do fisco
+
+
+
+
+
+
+
+ Mensagem do Fisco
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Protocolo de status resultado do processamento do CT-e OS (Modelo 67)
@@ -28,7 +1036,7 @@
- Chaves de acesso da CT-e,
+ Chaves de acesso da CT-e
@@ -38,7 +1046,7 @@
- Número do Protocolo de Status do CT-e.
+ Número do Protocolo de Status do CT-e.
@@ -93,9 +1101,9 @@
-
+
- Tipo Protocolo de status resultado do processamento do CT-e OS (Modelo 67)
+ Tipo Protocolo de status resultado do processamento da GTV-e (Modelo 64)
@@ -113,7 +1121,7 @@
- Versão do Aplicativo que processou o CT-e
+ Versão do Aplicativo que processou a GTV-e
@@ -128,17 +1136,17 @@
- Número do Protocolo de Status do CT-e.
+ Número do Protocolo de Status da GTV-e
- Digest Value da CT-e processado. Utilizado para conferir a integridade do CT-e original.
+ Digest Value da GTV-e processado. Utilizado para conferir a integridade da GTV-e original.
- Código do status do CT-e.
+ Código do status da GTV-e.
@@ -146,7 +1154,7 @@
- Descrição literal do status do CT-e.
+ Descrição literal do status da GTV-e.
@@ -223,6 +1231,46 @@
+
+
+ Tipo Retorno do Pedido de Autorização de GTV-e (Modelo 64)
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+ Identificação da UF
+
+
+
+
+ Versão do Aplicativo que processou a GTV-e
+
+
+
+
+ código do status do retorno da consulta.
+
+
+
+
+ Descrição literal do status do do retorno da consulta.
+
+
+
+
+ Reposta ao processamento do CT-e
+
+
+
+
+
Tipo Retorno do Pedido de Autorização de CT-e OS (Modelo 67)
@@ -361,7 +1409,7 @@
Forma de emissão do CT-e
Preencher com:
1 - Normal;
- 4-EPEC pela SVC; 5 - Contingência FSDA;
+ 3-Regime Especial NFF; 4-EPEC pela SVC; 5 - Contingência FSDA;
7 - Autorização pela SVC-RS;
8 - Autorização pela SVC-SP
@@ -369,6 +1417,7 @@
+
@@ -1118,15 +2167,26 @@ REENTREGA; DEVOLUÇÃO; REFATURAMENTO; etc
-
-
- CNPJ do emitente
- Informar zeros não significativos
-
-
-
+
+
+
+ CNPJ do emitente
+ Informar zeros não significativos
+
+
+
+
+ CPF do emitente
+ Informar zeros não significativos.
+
+Usar com série específica 920-969 para emitente pessoa física com inscrição estadual
+
+
+
+
Inscrição Estadual do Emitente
+ A IE do emitente somente ficará sem informação para o caso do Regime Especial da NFF (tpEmis=3)
@@ -1167,6 +2227,15 @@ REENTREGA; DEVOLUÇÃO; REFATURAMENTO; etc
Endereço do emitente
+
+
+ Código do Regime Tributário
+ Informar: 1=Simples Nacional;
+2=Simples Nacional, excesso sublimite de receita bruta;
+3=Regime Normal.
+
+
+
@@ -1540,16 +2609,6 @@ REENTREGA; DEVOLUÇÃO; REFATURAMENTO; etc
-
-
- Percentual provisório de partilha entre os estados
- Percentual de partilha para a UF do destinatário:
-- 40% em 2016;
-- 60% em 2017;
-- 80% em 2018;
-- 100% a partir de 2019.
-
-
Valor do ICMS relativo ao Fundo de Combate á Pobreza (FCP) da UF de término da prestação
@@ -2516,6 +3575,27 @@ Onde v9.99 é a a designação genérica para a versão do arquivo. Por exemplo,
Informações do Responsável Técnico pela emissão do DF-e
+
+
+ Grupo de informações do pedido de emissão da Nota Fiscal Fácil
+
+
+
+
+
+ Solicitação do pedido de emissão da NFF.
+ Será preenchido com a totalidade de campos informados no aplicativo emissor serializado.
+
+
+
+
+
+
+
+
+
+
+
@@ -3058,6 +4138,15 @@ REENTREGA; DEVOLUÇÃO; REFATURAMENTO; etc
Endereço do emitente
+
+
+ Código do Regime Tributário
+ Informar: 1=Simples Nacional;
+2=Simples Nacional, excesso sublimite de receita bruta;
+3=Regime Normal.
+
+
+
@@ -3241,16 +4330,6 @@ REENTREGA; DEVOLUÇÃO; REFATURAMENTO; etc
-
-
- Percentual provisório de partilha entre os estados
- Percentual de partilha para a UF do destinatário:
-- 40% em 2016;
-- 60% em 2017;
-- 80% em 2018;
-- 100% a partir de 2019.
-
-
Valor do ICMS relativo ao Fundo de Combate á Pobreza (FCP) da UF de término da prestação
@@ -3354,52 +4433,62 @@ REENTREGA; DEVOLUÇÃO; REFATURAMENTO; etc
Informações dos documentos referenciados
-
-
-
- Número
-
-
-
-
-
-
-
-
-
-
- Série
-
-
-
-
-
-
-
-
-
+
+
+
+
+ Número
+
+
+
+
+
+
+
+
+
+
+ Série
+
+
+
+
+
+
+
+
+
+
+ Subsérie
+
+
+
+
+
+
+
+
+
+
+ Data de Emissão
+ Formato AAAA-MM-DD
+
+
+
+
+ Valor Transportado
+
+
+
+
- Subsérie
+ Chave de acesso do BP-e que possui eventos excesso de bagagem
-
-
-
-
+
-
-
- Data de Emissão
- Formato AAAA-MM-DD
-
-
-
-
- Valor Transportado
-
-
-
+
@@ -3676,6 +4765,73 @@ Somente para Transporte de Valores
+
+
+ Informações das GTV-e relacionadas ao CT-e OS
+
+
+
+
+
+ Chave de acesso da GTV-e
+
+
+
+
+
+
+
+
+
+ Componentes do Valor da GTVe
+
+
+
+
+
+ Tipo do Componente
+ 1-Custodia
+2-Embarque
+3-Tempo de espera
+4-Malote
+5-Ad Valorem
+6-Outros
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Valor do componente
+
+
+
+
+ Nome do componente (informar apenas para outros)
+ Exemplos: FRETE PESO, FRETE VALOR, SEC/CAT, ADEME, AGENDAMENTO, etc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -5431,6 +6587,19 @@ Observação: 28 caracteres são representados no schema como 20 bytes do tipo b
+
+
+ Tipo Código Regime Tributário
+
+
+
+
+
+
+
+
+
+
Tipo processo de emissão do CT-e
diff --git a/CTe.AppTeste/schemas/cteTiposBasico_v4.00.xsd b/CTe.AppTeste/schemas/cteTiposBasico_v4.00.xsd
new file mode 100644
index 000000000..3cf5e8845
--- /dev/null
+++ b/CTe.AppTeste/schemas/cteTiposBasico_v4.00.xsd
@@ -0,0 +1,6361 @@
+
+
+
+
+
+
+
+ Tipo Modal transporte GTVe
+
+
+
+
+
+
+
+
+
+ Tipo Finalidade da GTV-e
+
+
+
+
+
+
+
+
+ Tipo Guia de Transporte de Valores Eletrônica (Modelo 64)
+
+
+
+
+ Informações do CT-e do tipo GTV-e
+
+
+
+
+
+ Identificação da GTV-e
+
+
+
+
+
+ Código da UF do emitente da GTV-e.
+ Utilizar a Tabela do IBGE.
+
+
+
+
+ Código numérico que compõe a Chave de Acesso.
+ Número aleatório gerado pelo emitente para cada CT-e, com o objetivo de evitar acessos indevidos ao documento.
+
+
+
+
+
+
+
+
+
+
+ Código Fiscal de Operações e Prestações
+
+
+
+
+ Natureza da Operação
+
+
+
+
+
+
+
+
+
+
+ Modelo do documento fiscal
+ Utilizar o código 64 para identificação do CT-e Guia de Transporte de Valores
+
+
+
+
+ Série da GTV-e
+ Preencher com "0" no caso de série única
+
+
+
+
+
+
+
+ Número da GTV-e
+
+
+
+
+ Data e hora de emissão da GTV-e
+ Formato AAAA-MM-DDTHH:MM:DD TZD
+
+
+
+
+
+
+
+ Formato de impressão do DACTE
+ Preencher com: 1 - Retrato; 2 - Paisagem.
+
+
+
+
+
+
+
+
+
+
+
+ Forma de emissão da GTV-e
+ Preencher com:
+1 - Normal;
+ 2- Contingencia offline
+7 - Autorização pela SVC-RS;
+ 8 - Autorização pela SVC-SP
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Digito Verificador da chave de acesso da GTV-e
+ Informar o dígito de controle da chave de acesso do CT-e, que deve ser calculado com a aplicação do algoritmo módulo 11 (base 2,9) da chave de acesso.
+
+
+
+
+
+
+
+
+
+
+ Tipo do Ambiente
+ Preencher com:1 - Produção; 2 - Homologação
+
+
+
+
+ Tipo da GTV-e
+ Preencher com:
+ 4 - GTV-e
+
+
+
+
+
+
+
+ Versão do processo de emissão
+ Iinformar a versão do aplicativo emissor de CT-e.
+
+
+
+
+
+
+
+
+
+
+ Código do Município de envio da GTV-e (de onde o documento foi transmitido)
+ Utilizar a tabela do IBGE. Informar 9999999 para as operações com o exterior.
+
+
+
+
+ Nome do Município de envio da GTV-e (de onde o documento foi transmitido)
+ Informar PAIS/Municipio para as operações com o exterior.
+
+
+
+
+
+
+
+
+
+
+ Sigla da UF de envio da GTV-e (de onde o documento foi transmitido)
+ Informar 'EX' para operações com o exterior.
+
+
+
+
+ Modal da GTV-e
+ Preencher com:
+01-Rodoviário
+06-Multimodal
+
+
+
+
+
+
+
+
+
+
+ Tipo do Serviço
+ Preencher com:
+
+9 - GTV
+
+
+
+
+
+
+
+
+
+
+ Indicador da IE do tomador:
+1 – Contribuinte ICMS;
+2 – Contribuinte isento de inscrição;
+9 – Não Contribuinte
+ Aplica-se ao tomador que for indicado no toma3 ou toma4
+
+
+
+
+
+
+
+
+
+
+
+
+ Data e hora de saida da origem
+ Formato AAAA-MM-DDTHH:MM:DD TZD
+
+
+
+
+
+
+
+ Data e hora de chegada no destino
+ Formato AAAA-MM-DDTHH:MM:DD TZD
+
+
+
+
+
+
+
+
+ Indicador do "papel" do tomador do serviço no GT-e
+
+
+
+
+
+ Tomador do Serviço
+ Preencher com:
+ 0-Remetente;
+ 1-Destinatário
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Indicador do "papel" do tomador do serviço no CTV-e
+
+
+
+
+
+ Tomador do Serviço
+ Preencher com:
+ 4 - Outros
+ Obs: Informar os dados cadastrais do tomador do serviço
+
+
+
+
+
+
+
+
+
+
+
+ Número do CNPJ
+ Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros.
+Informar os zeros não significativos.
+
+
+
+
+ Número do CPF
+ Informar os zeros não significativos.
+
+
+
+
+
+ Inscrição Estadual
+ Informar a IE do tomador ou ISENTO se tomador é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o tomador não seja contribuinte do ICMS não informar o conteúdo.
+
+
+
+
+
+
+
+ Razão Social ou Nome
+
+
+
+
+
+
+
+
+
+
+ Nome Fantasia
+
+
+
+
+
+
+
+
+
+
+ Telefone
+
+
+
+
+ Dados do endereço
+
+
+
+
+ Endereço de email
+
+
+
+
+
+
+
+
+ Informar apenas
+para tpEmis diferente de 1
+
+
+
+ Data e Hora da entrada em contingência
+ Informar a data e hora no formato AAAA-MM-DDTHH:MM:SS
+
+
+
+
+ Justificativa da entrada em contingência
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Dados complementares da GTV-e para fins operacionais ou comerciais
+
+
+
+
+
+ Característica adicional do transporte
+ Texto livre:
+REENTREGA; DEVOLUÇÃO; REFATURAMENTO; etc
+
+
+
+
+
+
+
+
+
+
+ Característica adicional do serviço
+ Texto livre:
+ ENTREGA EXPRESSA; LOGÍSTICA REVERSA; CONVENCIONAL; EMERGENCIAL; etc
+
+
+
+
+
+
+
+
+
+
+ Funcionário emissor da GTV-e
+
+
+
+
+
+
+
+
+
+
+ Observações Gerais
+
+
+
+
+
+
+
+
+
+
+ Campo de uso livre do contribuinte
+ Informar o nome do campo no atributo xCampo e o conteúdo do campo no XTexto
+
+
+
+
+
+ Conteúdo do campo
+
+
+
+
+
+
+
+
+
+
+
+ Identificação do campo
+
+
+
+
+
+
+
+
+
+
+
+
+ Campo de uso livre do contribuinte
+ Informar o nome do campo no atributo xCampo e o conteúdo do campo no XTexto
+
+
+
+
+
+ Conteúdo do campo
+
+
+
+
+
+
+
+
+
+
+
+ Identificação do campo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Identificação do Emitente da GTV-e
+
+
+
+
+
+ CNPJ do emitente
+ Informar zeros não significativos
+
+
+
+
+ Inscrição Estadual do Emitente
+
+
+
+
+
+
+
+ Inscrição Estadual do Substituto Tributário
+
+
+
+
+
+
+
+ Razão social ou Nome do emitente
+
+
+
+
+
+
+
+
+
+
+ Nome fantasia
+
+
+
+
+
+
+
+
+
+
+ Endereço do emitente
+
+
+
+
+
+
+
+ Informações do Remetente
+ Poderá não ser informado para os CT-e de redespacho intermediário e serviço vinculado a multimodal. Nos demais casos deverá sempre ser informado.
+
+
+
+
+
+
+ Número do CNPJ
+ Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros.
+ Informar os zeros não significativos.
+
+
+
+
+ Número do CPF
+ Informar os zeros não significativos.
+
+
+
+
+
+ Inscrição Estadual
+ Informar a IE do remetente ou ISENTO se remetente é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o remetente não seja contribuinte do ICMS não informar a tag.
+
+
+
+
+
+
+
+ Razão social ou nome do remetente
+
+
+
+
+
+
+
+
+
+
+ Nome fantasia
+
+
+
+
+
+
+
+
+
+
+ Telefone
+
+
+
+
+ Dados do endereço
+
+
+
+
+ Endereço de email
+
+
+
+
+
+
+
+
+
+
+ Informações do Destinatário
+ Poderá não ser informado para os CT-e de redespacho intermediário e serviço vinculado a multimodal. Nos demais casos deverá sempre ser informado.
+
+
+
+
+
+
+ Número do CNPJ
+ Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros.
+ Informar os zeros não significativos.
+
+
+
+
+ Número do CPF
+ Informar os zeros não significativos.
+
+
+
+
+
+ Inscrição Estadual
+ Informar a IE do destinatário ou ISENTO se destinatário é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o destinatário não seja contribuinte do ICMS não informar o conteúdo.
+
+
+
+
+
+
+
+ Razão Social ou Nome do destinatário
+
+
+
+
+
+
+
+
+
+
+ Telefone
+
+
+
+
+ Inscrição na SUFRAMA
+ (Obrigatório nas operações com as áreas com benefícios de incentivos fiscais sob controle da SUFRAMA)
+
+
+
+
+
+
+
+
+
+
+ Dados do endereço
+
+
+
+
+ Endereço de email
+
+
+
+
+
+
+
+ Informações do endereço da origem do serviço
+
+
+
+
+ Informações do endereço do destino do serviço
+
+
+
+
+ Grupo de informações detalhadas da GTV-e
+
+
+
+
+
+ Informações das Espécies transportadas
+
+
+
+
+
+ Tipo da Espécie
+ 1 - Cédula
+2 - Cheque
+3 - Moeda
+4 - Outros
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Valor Transportada em Espécie indicada
+
+
+
+
+ Nacionalidade do Numerário
+ 1 - Nacional
+2 - Estrangeiro
+
+
+
+
+
+
+
+
+
+
+
+ Nome da Moeda
+ Informar somente se tipo de numerário for 2 - Estrangeiro
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Quantidade de volumes/malotes
+
+
+
+
+ Grupo de informações dos veículos utilizados no transporte de valores
+
+
+
+
+
+ Placa do veículo
+
+
+
+
+ UF em que veículo está licenciado
+ Sigla da UF de licenciamento do veículo.
+
+
+
+
+ RNTRC do transportador
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Autorizados para download do XML do DF-e
+ Informar CNPJ ou CPF. Preencher os zeros não significativos.
+
+
+
+
+
+
+ CNPJ do autorizado
+ Informar zeros não significativos
+
+
+
+
+ CPF do autorizado
+ Informar zeros não significativos
+
+
+
+
+
+
+
+
+ Informações do Responsável Técnico pela emissão do DF-e
+
+
+
+
+
+ Versão do leiaute
+ Ex: "4.00"
+
+
+
+
+
+
+
+ Identificador da tag a ser assinada
+ Informar a chave de acesso do CT-e OS e precedida do literal "CTe"
+
+
+
+
+
+
+
+
+
+
+
+ Informações suplementares da GTV-e
+
+
+
+
+
+ Texto com o QR-Code impresso no DACTE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Versão do leiaute
+
+
+
+
+
+
+
+
+ Tipo Protocolo de status resultado do processamento da CT-e
+
+
+
+
+ Dados do protocolo de status
+
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+ Versão do Aplicativo que processou o CT-e
+
+
+
+
+ Chaves de acesso da CT-e,
+
+
+
+
+ Data e hora de processamento, no formato AAAA-MM-DDTHH:MM:SS TZD.
+
+
+
+
+ Número do Protocolo de Status do CT-e.
+
+
+
+
+ Digest Value da CT-e processado. Utilizado para conferir a integridade do CT-e original.
+
+
+
+
+ Código do status do CT-e.
+
+
+
+
+
+
+
+ Descrição literal do status do CT-e.
+
+
+
+
+
+
+
+
+ Mensagem do Fisco
+
+
+
+
+
+ Código do status da mensagem do fisco
+
+
+
+
+
+
+
+ Mensagem do Fisco
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Protocolo de status resultado do processamento do CT-e OS (Modelo 67)
+
+
+
+
+ Dados do protocolo de status
+
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+ Versão do Aplicativo que processou o CT-e
+
+
+
+
+ Chaves de acesso da CT-e
+
+
+
+
+ Data e hora de processamento, no formato AAAA-MM-DDTHH:MM:SS TZD.
+
+
+
+
+ Número do Protocolo de Status do CT-e.
+
+
+
+
+ Digest Value da CT-e processado. Utilizado para conferir a integridade do CT-e original.
+
+
+
+
+ Código do status do CT-e.
+
+
+
+
+
+
+
+ Descrição literal do status do CT-e.
+
+
+
+
+
+
+
+
+ Mensagem do Fisco
+
+
+
+
+
+ Código do status da mensagem do fisco
+
+
+
+
+
+
+
+ Mensagem do Fisco
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Protocolo de status resultado do processamento da GTV-e (Modelo 64)
+
+
+
+
+ Dados do protocolo de status
+
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+ Versão do Aplicativo que processou a GTV-e
+
+
+
+
+ Chaves de acesso da CT-e
+
+
+
+
+ Data e hora de processamento, no formato AAAA-MM-DDTHH:MM:SS TZD.
+
+
+
+
+ Número do Protocolo de Status da GTV-e
+
+
+
+
+ Digest Value da GTV-e processado. Utilizado para conferir a integridade da GTV-e original.
+
+
+
+
+ Código do status da GTV-e.
+
+
+
+
+
+
+
+ Descrição literal do status da GTV-e.
+
+
+
+
+
+
+
+
+ Mensagem do Fisco
+
+
+
+
+
+ Código do status da mensagem do fisco
+
+
+
+
+
+
+
+ Mensagem do Fisco
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Retorno do Pedido de Autorização de CT-e (Modelo 57)
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+ Identificação da UF
+
+
+
+
+ Versão do Aplicativo que processou a CT-e
+
+
+
+
+ código do status do retorno da consulta.
+
+
+
+
+ Descrição literal do status do do retorno da consulta.
+
+
+
+
+ Reposta ao processamento do CT-e
+
+
+
+
+
+
+
+ Tipo Retorno do Pedido de Autorização de GTV-e (Modelo 64)
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+ Identificação da UF
+
+
+
+
+ Versão do Aplicativo que processou a GTV-e
+
+
+
+
+ código do status do retorno da consulta.
+
+
+
+
+ Descrição literal do status do do retorno da consulta.
+
+
+
+
+ Reposta ao processamento do CT-e
+
+
+
+
+
+
+
+ Tipo Retorno do Pedido de Autorização de CT-e OS (Modelo 67)
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+ Identificação da UF
+
+
+
+
+ Versão do Aplicativo que processou a CT-e
+
+
+
+
+ código do status do retorno da consulta.
+
+
+
+
+ Descrição literal do status do do retorno da consulta.
+
+
+
+
+ Reposta ao processamento do CT-e
+
+
+
+
+
+
+
+ Tipo Conhecimento de Transporte Eletrônico (Modelo 57)
+
+
+
+
+ Informações do CT-e
+
+
+
+
+
+ Identificação do CT-e
+
+
+
+
+
+ Código da UF do emitente do CT-e.
+ Utilizar a Tabela do IBGE.
+
+
+
+
+ Código numérico que compõe a Chave de Acesso.
+ Número aleatório gerado pelo emitente para cada CT-e, com o objetivo de evitar acessos indevidos ao documento.
+
+
+
+
+
+
+
+
+
+
+ Código Fiscal de Operações e Prestações
+
+
+
+
+ Natureza da Operação
+
+
+
+
+
+
+
+
+
+
+ Modelo do documento fiscal
+ Utilizar o código 57 para identificação do CT-e, emitido em substituição aos modelos de conhecimentos em papel.
+
+
+
+
+ Série do CT-e
+ Preencher com "0" no caso de série única
+
+
+
+
+
+
+
+ Número do CT-e
+
+
+
+
+ Data e hora de emissão do CT-e
+ Formato AAAA-MM-DDTHH:MM:DD TZD
+
+
+
+
+
+
+
+ Formato de impressão do DACTE
+ Preencher com: 1 - Retrato; 2 - Paisagem.
+
+
+
+
+
+
+
+
+
+
+
+ Forma de emissão do CT-e
+ Preencher com:
+1 - Normal;
+ 3-Regime Especial NFF; 4-EPEC pela SVC; 5 - Contingência FSDA;
+ 7 - Autorização pela SVC-RS;
+ 8 - Autorização pela SVC-SP
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Digito Verificador da chave de acesso do CT-e
+ Informar o dígito de controle da chave de acesso do CT-e, que deve ser calculado com a aplicação do algoritmo módulo 11 (base 2,9) da chave de acesso.
+
+
+
+
+
+
+
+
+
+
+ Tipo do Ambiente
+ Preencher com:1 - Produção; 2 - Homologação.
+
+
+
+
+ Tipo do CT-e
+ Preencher com:
+ 0 - CT-e Normal;
+ 1 - CT-e de Complemento de Valores;
+ 3 - CT-e de Substituição
+
+
+
+
+ Identificador do processo de emissão do CT-e
+ Preencher com:
+ 0 - emissão de CT-e com aplicativo do contribuinte;
+ 3- emissão CT-e pelo contribuinte com aplicativo fornecido pelo SEBRAE.
+
+
+
+
+ Versão do processo de emissão
+ Iinformar a versão do aplicativo emissor de CT-e.
+
+
+
+
+
+
+
+
+
+
+ Indicador de CT-e Globalizado
+ Informar valor 1 quando for Globalizado e não informar a tag quando não tratar de CT-e Globalizado
+
+
+
+
+
+
+
+
+
+ Código do Município de envio do CT-e (de onde o documento foi transmitido)
+ Utilizar a tabela do IBGE. Informar 9999999 para as operações com o exterior.
+
+
+
+
+ Nome do Município de envio do CT-e (de onde o documento foi transmitido)
+ Informar PAIS/Municipio para as operações com o exterior.
+
+
+
+
+
+
+
+
+
+
+ Sigla da UF de envio do CT-e (de onde o documento foi transmitido)
+ Informar 'EX' para operações com o exterior.
+
+
+
+
+ Modal
+ Preencher com:01-Rodoviário;
+02-Aéreo;03-Aquaviário;04-Ferroviário;05-Dutoviário;06-Multimodal;
+
+
+
+
+ Tipo do Serviço
+ Preencher com:
+0 - Normal;1 - Subcontratação;
+2 - Redespacho;3 - Redespacho Intermediário; 4 - Serviço Vinculado a Multimodal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Código do Município de início da prestação
+ Utilizar a tabela do IBGE. Informar 9999999 para operações com o exterior.
+
+
+
+
+ Nome do Município do início da prestação
+ Informar 'EXTERIOR' para operações com o exterior.
+
+
+
+
+
+
+
+
+
+
+ UF do início da prestação
+ Informar 'EX' para operações com o exterior.
+
+
+
+
+ Código do Município de término da prestação
+ Utilizar a tabela do IBGE. Informar 9999999 para operações com o exterior.
+
+
+
+
+ Nome do Município do término da prestação
+ Informar 'EXTERIOR' para operações com o exterior.
+
+
+
+
+
+
+
+
+
+
+ UF do término da prestação
+ Informar 'EX' para operações com o exterior.
+
+
+
+
+ Indicador se o Recebedor retira no Aeroporto, Filial, Porto ou Estação de Destino?
+ Preencher com: 0 - sim; 1 - não
+
+
+
+
+
+
+
+
+
+
+
+ Detalhes do retira
+
+
+
+
+
+
+
+
+
+
+ Indicador do papel do tomador na prestação do serviço:
+1 – Contribuinte ICMS;
+2 – Contribuinte isento de inscrição;
+9 – Não Contribuinte
+ Aplica-se ao tomador que for indicado no toma3 ou toma4
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Indicador do "papel" do tomador do serviço no CT-e
+
+
+
+
+
+ Tomador do Serviço
+ Preencher com:
+ 0-Remetente;
+ 1-Expedidor;
+ 2-Recebedor;
+ 3-Destinatário
+ Serão utilizadas as informações contidas no respectivo grupo, conforme indicado pelo conteúdo deste campo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Indicador do "papel" do tomador do serviço no CT-e
+
+
+
+
+
+ Tomador do Serviço
+ Preencher com:
+ 4 - Outros
+ Obs: Informar os dados cadastrais do tomador do serviço
+
+
+
+
+
+
+
+
+
+
+
+ Número do CNPJ
+ Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros.
+Informar os zeros não significativos.
+
+
+
+
+ Número do CPF
+ Informar os zeros não significativos.
+
+
+
+
+
+ Inscrição Estadual
+ Informar a IE do tomador ou ISENTO se tomador é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o tomador não seja contribuinte do ICMS não informar o conteúdo.
+
+
+
+
+
+
+
+
+ Razão Social ou Nome
+
+
+
+
+
+
+
+
+
+
+ Nome Fantasia
+
+
+
+
+
+
+
+
+
+
+ Telefone
+
+
+
+
+ Dados do endereço
+
+
+
+
+ Endereço de email
+
+
+
+
+
+
+
+
+
+ Informar apenas
+para tpEmis diferente de 1
+
+
+
+ Data e Hora da entrada em contingência
+ Informar a data e hora no formato AAAA-MM-DDTHH:MM:SS
+
+
+
+
+ Justificativa da entrada em contingência
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Dados complementares do CT-e para fins operacionais ou comerciais
+
+
+
+
+
+ Característica adicional do transporte
+ Texto livre:
+REENTREGA; DEVOLUÇÃO; REFATURAMENTO; etc
+
+
+
+
+
+
+
+
+
+
+ Característica adicional do serviço
+ Texto livre:
+ ENTREGA EXPRESSA; LOGÍSTICA REVERSA; CONVENCIONAL; EMERGENCIAL; etc
+
+
+
+
+
+
+
+
+
+
+ Funcionário emissor do CTe
+
+
+
+
+
+
+
+
+
+
+ Previsão do fluxo da carga
+ Preenchimento obrigatório para o modal aéreo.
+
+
+
+
+
+ Sigla ou código interno da Filial/Porto/Estação/ Aeroporto de Origem
+ Observações para o modal aéreo:
+ - Preenchimento obrigatório para o modal aéreo.
+ - O código de três letras IATA do aeroporto de partida deverá ser incluído como primeira anotação. Quando não for possível, utilizar a sigla OACI.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Sigla ou código interno da Filial/Porto/Estação/Aeroporto de Passagem
+ Observação para o modal aéreo:
+ - O código de três letras IATA, referente ao aeroporto de transferência, deverá ser incluído, quando for o caso. Quando não for possível, utilizar a sigla OACI. Qualquer solicitação de itinerário deverá ser incluída.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Sigla ou código interno da Filial/Porto/Estação/Aeroporto de Destino
+ Observações para o modal aéreo:
+ - Preenchimento obrigatório para o modal aéreo.
+ - Deverá ser incluído o código de três letras IATA do aeroporto de destino. Quando não for possível, utilizar a sigla OACI.
+
+
+
+
+
+
+
+
+
+
+ Código da Rota de Entrega
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Informações ref. a previsão de entrega
+
+
+
+
+
+
+ Entrega sem data definida
+ Esta opção é proibida para o modal aéreo.
+
+
+
+
+
+ Tipo de data/período programado para entrega
+ 0- Sem data definida
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Entrega com data definida
+
+
+
+
+
+ Tipo de data/período programado para entrega
+ Preencher com:
+ 1-Na data;
+ 2-Até a data;
+ 3-A partir da data
+
+
+
+
+
+
+
+
+
+
+
+
+ Data programada
+ Formato AAAA-MM-DD
+
+
+
+
+
+
+
+ Entrega no período definido
+
+
+
+
+
+ Tipo período
+ 4-no período
+
+
+
+
+
+
+
+
+
+
+ Data inicial
+ Formato AAAA-MM-DD
+
+
+
+
+ Data final
+ Formato AAAA-MM-DD
+
+
+
+
+
+
+
+
+
+ Entrega sem hora definida
+
+
+
+
+
+ Tipo de hora
+ 0- Sem hora definida
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Entrega com hora definida
+
+
+
+
+
+ Tipo de hora
+ Preencher com:
+ 1 - No horário;
+ 2 - Até o horário;
+ 3 - A partir do horário.
+
+
+
+
+
+
+
+
+
+
+
+
+ Hora programada
+ Formato HH:MM:SS
+
+
+
+
+
+
+
+ Entrega no intervalo de horário definido
+
+
+
+
+
+ Tipo de hora
+ 4 - No intervalo de tempo
+
+
+
+
+
+
+
+
+
+
+ Hora inicial
+ Formato HH:MM:SS
+
+
+
+
+ Hora final
+ Formato HH:MM:SS
+
+
+
+
+
+
+
+
+
+
+
+ Município de origem para efeito de cálculo do frete
+
+
+
+
+
+
+
+
+
+
+ Município de destino para efeito de cálculo do frete
+
+
+
+
+
+
+
+
+
+
+ Observações Gerais
+
+
+
+
+
+
+
+
+
+
+ Campo de uso livre do contribuinte
+ Informar o nome do campo no atributo xCampo e o conteúdo do campo no XTexto
+
+
+
+
+
+ Conteúdo do campo
+
+
+
+
+
+
+
+
+
+
+
+ Identificação do campo
+
+
+
+
+
+
+
+
+
+
+
+
+ Campo de uso livre do contribuinte
+ Informar o nome do campo no atributo xCampo e o conteúdo do campo no XTexto
+
+
+
+
+
+ Conteúdo do campo
+
+
+
+
+
+
+
+
+
+
+
+ Identificação do campo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Identificação do Emitente do CT-e
+
+
+
+
+
+
+ CNPJ do emitente
+ Informar zeros não significativos
+
+
+
+
+ CPF do emitente
+ Informar zeros não significativos.
+
+Usar com série específica 920-969 para emitente pessoa física com inscrição estadual
+
+
+
+
+
+ Inscrição Estadual do Emitente
+ A IE do emitente somente ficará sem informação para o caso do Regime Especial da NFF (tpEmis=3)
+
+
+
+
+
+
+
+ Inscrição Estadual do Substituto Tributário
+
+
+
+
+
+
+
+ Razão social ou Nome do emitente
+
+
+
+
+
+
+
+
+
+
+ Nome fantasia
+
+
+
+
+
+
+
+
+
+
+ Endereço do emitente
+
+
+
+
+ Código do Regime Tributário
+ Informar: 1=Simples Nacional;
+2=Simples Nacional, excesso sublimite de receita bruta;
+3=Regime Normal.
+4=Simples Nacional - Microempreendedor Individual – MEI.
+
+
+
+
+
+
+
+
+ Informações do Remetente das mercadorias transportadas pelo CT-e
+ Poderá não ser informado para os CT-e de redespacho intermediário e serviço vinculado a multimodal. Nos demais casos deverá sempre ser informado.
+
+
+
+
+
+
+ Número do CNPJ
+ Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros.
+ Informar os zeros não significativos.
+
+
+
+
+ Número do CPF
+ Informar os zeros não significativos.
+
+
+
+
+
+ Inscrição Estadual
+ Informar a IE do remetente ou ISENTO se remetente é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o remetente não seja contribuinte do ICMS não informar a tag.
+
+
+
+
+
+
+
+ Razão social ou nome do remetente
+
+
+
+
+
+
+
+
+
+
+ Nome fantasia
+
+
+
+
+
+
+
+
+
+
+ Telefone
+
+
+
+
+ Dados do endereço
+
+
+
+
+ Endereço de email
+
+
+
+
+
+
+
+
+
+
+ Informações do Expedidor da Carga
+
+
+
+
+
+
+ Número do CNPJ
+ Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros.
+ Informar os zeros não significativos.
+
+
+
+
+ Número do CPF
+ Informar os zeros não significativos.
+
+
+
+
+
+ Inscrição Estadual
+ Informar a IE do expedidor ou ISENTO se expedidor é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o expedidor não seja contribuinte do ICMS não informar a tag.
+
+
+
+
+
+
+
+ Razão Social ou Nome
+
+
+
+
+
+
+
+
+
+
+ Telefone
+
+
+
+
+ Dados do endereço
+
+
+
+
+ Endereço de email
+
+
+
+
+
+
+
+ Informações do Recebedor da Carga
+
+
+
+
+
+
+ Número do CNPJ
+ Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros.
+ Informar os zeros não significativos.
+
+
+
+
+ Número do CPF
+ Informar os zeros não significativos.
+
+
+
+
+
+ Inscrição Estadual
+ Informar a IE do recebedor ou ISENTO se recebedor é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o recebedor não seja contribuinte do ICMS não informar o conteúdo.
+
+
+
+
+
+
+
+ Razão Social ou Nome
+
+
+
+
+
+
+
+
+
+
+ Telefone
+
+
+
+
+ Dados do endereço
+
+
+
+
+ Endereço de email
+
+
+
+
+
+
+
+ Informações do Destinatário do CT-e
+ Poderá não ser informado para os CT-e de redespacho intermediário e serviço vinculado a multimodal. Nos demais casos deverá sempre ser informado.
+
+
+
+
+
+
+ Número do CNPJ
+ Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros.
+ Informar os zeros não significativos.
+
+
+
+
+ Número do CPF
+ Informar os zeros não significativos.
+
+
+
+
+
+ Inscrição Estadual
+ Informar a IE do destinatário ou ISENTO se destinatário é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o destinatário não seja contribuinte do ICMS não informar o conteúdo.
+
+
+
+
+
+
+
+ Razão Social ou Nome do destinatário
+
+
+
+
+
+
+
+
+
+
+ Telefone
+
+
+
+
+ Inscrição na SUFRAMA
+ (Obrigatório nas operações com as áreas com benefícios de incentivos fiscais sob controle da SUFRAMA)
+
+
+
+
+
+
+
+
+
+
+ Dados do endereço
+
+
+
+
+ Endereço de email
+
+
+
+
+
+
+
+ Valores da Prestação de Serviço
+
+
+
+
+
+ Valor Total da Prestação do Serviço
+ Pode conter zeros quando o CT-e for de complemento de ICMS
+
+
+
+
+ Valor a Receber
+
+
+
+
+ Componentes do Valor da Prestação
+
+
+
+
+
+ Nome do componente
+ Exxemplos: FRETE PESO, FRETE VALOR, SEC/CAT, ADEME, AGENDAMENTO, etc
+
+
+
+
+
+
+
+
+
+
+ Valor do componente
+
+
+
+
+
+
+
+
+
+
+ Informações relativas aos Impostos
+
+
+
+
+
+ Informações relativas ao ICMS
+
+
+
+
+
+ Valor Total dos Tributos
+
+
+
+
+ Informações adicionais de interesse do Fisco
+ Norma referenciada, informações complementares, etc
+
+
+
+
+
+
+
+
+
+
+ Informações do ICMS de partilha com a UF de término do serviço de transporte na operação interestadual
+ Grupo a ser informado nas prestações interestaduais para consumidor final, não contribuinte do ICMS
+
+
+
+
+
+ Valor da BC do ICMS na UF de término da prestação do serviço de transporte
+
+
+
+
+ Percentual do ICMS relativo ao Fundo de Combate à pobreza (FCP) na UF de término da prestação do serviço de transporte
+ Alíquota adotada nas operações internas na UF do destinatário
+
+
+
+
+ Alíquota interna da UF de término da prestação do serviço de transporte
+ Alíquota adotada nas operações internas na UF do destinatário
+
+
+
+
+ Alíquota interestadual das UF envolvidas
+ Alíquota interestadual das UF envolvidas
+
+
+
+
+
+ Valor do ICMS relativo ao Fundo de Combate á Pobreza (FCP) da UF de término da prestação
+
+
+
+
+ Valor do ICMS de partilha para a UF de término da prestação do serviço de transporte
+
+
+
+
+ Valor do ICMS de partilha para a UF de início da prestação do serviço de transporte
+
+
+
+
+
+
+
+
+
+
+
+ Grupo de informações do CT-e Normal e Substituto
+
+
+
+
+
+ Informações da Carga do CT-e
+
+
+
+
+
+ Valor total da carga
+ Dever ser informado para todos os modais, com exceção para o Dutoviário.
+
+
+
+
+ Produto predominante
+ Informar a descrição do produto predominante
+
+
+
+
+
+
+
+
+
+
+ Outras características da carga
+ "FRIA", "GRANEL", "REFRIGERADA", "Medidas: 12X12X12"
+
+
+
+
+
+
+
+
+
+
+ Informações de quantidades da Carga do CT-e
+ Para o Aéreo é obrigatório o preenchimento desse campo da seguinte forma.
+1 - Peso Bruto, sempre em quilogramas (obrigatório);
+2 - Peso Cubado; sempre em quilogramas;
+3 - Quantidade de volumes, sempre em unidades (obrigatório);
+4 - Cubagem, sempre em metros cúbicos (obrigatório apenas quando for impossível preencher as dimensões da(s) embalagem(ens) na tag xDime do leiaute do Aéreo).
+
+
+
+
+
+ Código da Unidade de Medida
+ Preencher com:
+ 00-M3;
+ 01-KG;
+ 02-TON;
+ 03-UNIDADE;
+ 04-LITROS;
+ 05-MMBTU
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo da Medida
+ Exemplos:
+PESO BRUTO, PESO DECLARADO, PESO CUBADO, PESO AFORADO, PESO AFERIDO, PESO BASE DE CÁLCULO, LITRAGEM, CAIXAS e etc
+
+
+
+
+
+
+
+
+
+
+ Quantidade
+
+
+
+
+
+
+
+ Valor da Carga para efeito de averbação
+ Normalmente igual ao valor declarado da mercadoria, diferente por exemplo, quando a mercadoria transportada é isenta de tributos nacionais para exportação, onde é preciso averbar um valor maior, pois no caso de indenização, o valor a ser pago será maior
+
+
+
+
+
+
+
+ Informações dos documentos transportados pelo CT-e
+Opcional para Redespacho Intermediario e Serviço vinculado a multimodal.
+ Poderá não ser informado para os CT-e de redespacho intermediário e serviço vinculado a multimodal. Nos demais casos deverá sempre ser informado.
+
+
+
+
+
+
+ Informações das NF
+ Este grupo deve ser informado quando o documento originário for NF
+
+
+
+
+
+ Número do Romaneio da NF
+
+
+
+
+
+
+
+
+
+
+ Número do Pedido da NF
+
+
+
+
+
+
+
+
+
+
+ Modelo da Nota Fiscal
+ Preencher com:
+01 - NF Modelo 01/1A e Avulsa;
+04 - NF de Produtor
+
+
+
+
+ Série
+
+
+
+
+
+
+
+
+
+
+ Número
+
+
+
+
+
+
+
+
+
+
+ Data de Emissão
+ Formato AAAA-MM-DD
+
+
+
+
+ Valor da Base de Cálculo do ICMS
+
+
+
+
+ Valor Total do ICMS
+
+
+
+
+ Valor da Base de Cálculo do ICMS ST
+
+
+
+
+ Valor Total do ICMS ST
+
+
+
+
+ Valor Total dos Produtos
+
+
+
+
+ Valor Total da NF
+
+
+
+
+ CFOP Predominante
+ CFOP da NF ou, na existência de mais de um, predominância pelo critério de valor econômico.
+
+
+
+
+ Peso total em Kg
+
+
+
+
+ PIN SUFRAMA
+ PIN atribuído pela SUFRAMA para a operação.
+
+
+
+
+
+
+
+
+
+
+
+
+ Data prevista de entrega
+ Formato AAAA-MM-DD
+
+
+
+
+
+ Informações das Unidades de Carga (Containeres/ULD/Outros)
+ Dispositivo de carga utilizada (Unit Load Device - ULD) significa todo tipo de contêiner de carga, vagão, contêiner de avião, palete de aeronave com rede ou palete de aeronave com rede sobre um iglu.
+
+
+
+
+ Informações das Unidades de Transporte (Carreta/Reboque/Vagão)
+ Deve ser preenchido com as informações das unidades de transporte utilizadas.
+
+
+
+
+
+
+
+
+ Informações das NF-e
+
+
+
+
+
+ Chave de acesso da NF-e
+
+
+
+
+ PIN SUFRAMA
+ PIN atribuído pela SUFRAMA para a operação.
+
+
+
+
+
+
+
+
+
+
+
+
+ Data prevista de entrega
+ Formato AAAA-MM-DD
+
+
+
+
+
+ Informações das Unidades de Carga (Containeres/ULD/Outros)
+ Dispositivo de carga utilizada (Unit Load Device - ULD) significa todo tipo de contêiner de carga, vagão, contêiner de avião, palete de aeronave com rede ou palete de aeronave com rede sobre um iglu.
+
+
+
+
+ Informações das Unidades de Transporte (Carreta/Reboque/Vagão)
+ Deve ser preenchido com as informações das unidades de transporte utilizadas.
+
+
+
+
+
+
+
+
+ Informações dos demais documentos
+
+
+
+
+
+ Tipo de documento originário
+ Preencher com:
+ 00 - Declaração;
+ 10 - Dutoviário;
+
+
+59 - CF-e SAT;
+
+65 - NFC-e;
+ 99 - Outros
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Descrição do documento
+
+
+
+
+
+
+
+
+
+
+ Número
+
+
+
+
+
+
+
+
+
+
+ Data de Emissão
+ Formato AAAA-MM-DD
+
+
+
+
+ Valor do documento
+
+
+
+
+ Data prevista de entrega
+ Formato AAAA-MM-DD
+
+
+
+
+
+ Informações das Unidades de Carga (Containeres/ULD/Outros)
+ Dispositivo de carga utilizada (Unit Load Device - ULD) significa todo tipo de contêiner de carga, vagão, contêiner de avião, palete de aeronave com rede ou palete de aeronave com rede sobre um iglu.
+
+
+
+
+ Informações das Unidades de Transporte (Carreta/Reboque/Vagão)
+ Deve ser preenchido com as informações das unidades de transporte utilizadas.
+
+
+
+
+
+
+
+
+
+
+
+
+ Documentos de Transporte Anterior
+
+
+
+
+
+ Emissor do documento anterior
+
+
+
+
+
+
+ Número do CNPJ
+ Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros.
+ Informar os zeros não significativos.
+
+
+
+
+ Número do CPF
+ Informar os zeros não significativos.
+
+
+
+
+
+
+ Inscrição Estadual
+
+
+
+
+ Sigla da UF
+ Informar EX para operações com o exterior.
+
+
+
+
+
+ Razão Social ou Nome do expedidor
+
+
+
+
+
+
+
+
+
+
+ Informações de identificação dos documentos de Transporte Anterior
+
+
+
+
+
+ Documentos de transporte anterior em papel
+
+
+
+
+
+ Tipo do Documento de Transporte Anterior
+ Preencher com:
+07-ATRE;
+08-DTA (Despacho de Transito Aduaneiro);
+09-Conhecimento Aéreo Internacional;
+10 – Conhecimento - Carta de Porte Internacional;
+11 – Conhecimento Avulso;
+12-TIF (Transporte Internacional Ferroviário); 13-BL (Bill of Lading)
+
+
+
+
+
+
+
+ Série do Documento Fiscal
+
+
+
+
+
+
+
+
+
+
+ Série do Documento Fiscal
+
+
+
+
+
+
+
+
+
+
+ Número do Documento Fiscal
+
+
+
+
+
+
+
+
+
+
+ Data de emissão (AAAA-MM-DD)
+
+
+
+
+
+
+
+ Documentos de transporte anterior eletrônicos
+
+
+
+
+
+ Chave de acesso do CT-e
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Informações do modal
+
+
+
+
+
+ XML do modal
+Insira neste local o XML específico do modal (rodoviário, aéreo, ferroviário, aquaviário ou dutoviário).
+ O elemento do tipo -any- permite estender o documento XML com elementos não especificados pelo schema.
+ Insira neste local - any- o XML específico do modal (rodoviário, aéreo, ferroviário, aquaviário ou dutoviário). A especificação do schema XML para cada modal pode ser encontrada nos arquivos que acompanham este pacote de liberação:
+ Rodoviário - ver arquivo CTeModalRodoviario_v9.99
+ Aéreo - ver arquivo CTeModalAereo_v9.99
+ Aquaviário - arquivo CTeModalAquaviario_v9.99
+ Ferroviário - arquivo CTeModalFerroviario_v9.99
+ Dutoviário - arquivo CTeModalDutoviario_v9.99
+
+Onde v9.99 é a a designação genérica para a versão do arquivo. Por exemplo, o arquivo para o schema do modal Rodoviário na versão 1.04 será denominado "CTeModalRodoviario_v1.04".
+
+
+
+
+
+ Versão do leiaute específico para o Modal
+
+
+
+
+
+
+
+
+
+
+
+
+ informações dos veículos transportados
+
+
+
+
+
+ Chassi do veículo
+
+
+
+
+
+
+
+
+
+
+
+ Cor do veículo
+ Código de cada montadora
+
+
+
+
+
+
+
+
+
+
+ Descrição da cor
+
+
+
+
+
+
+
+
+
+
+ Código Marca Modelo
+ Utilizar tabela RENAVAM
+
+
+
+
+
+
+
+
+
+
+ Valor Unitário do Veículo
+
+
+
+
+ Frete Unitário
+
+
+
+
+
+
+
+ Dados da cobrança do CT-e
+
+
+
+
+
+ Dados da fatura
+
+
+
+
+
+ Número da fatura
+
+
+
+
+
+
+
+
+
+
+ Valor original da fatura
+
+
+
+
+ Valor do desconto da fatura
+
+
+
+
+ Valor líquido da fatura
+
+
+
+
+
+
+
+ Dados das duplicatas
+
+
+
+
+
+ Número da duplicata
+
+
+
+
+
+
+
+
+
+
+ Data de vencimento da duplicata (AAAA-MM-DD)
+
+
+
+
+ Valor da duplicata
+
+
+
+
+
+
+
+
+
+
+ Informações do CT-e de substituição
+
+
+
+
+
+ Chave de acesso do CT-e a ser substituído (original)
+
+
+
+
+
+
+
+
+
+ Indicador de CT-e Alteração de Tomador
+
+
+
+
+
+
+
+
+
+
+
+
+ Informações do CT-e Globalizado
+
+
+
+
+
+ Preencher com informações adicionais, legislação do regime especial, etc
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Informações do Serviço Vinculado a Multimodal
+
+
+
+
+
+ informações do CT-e multimodal vinculado
+
+
+
+
+
+ Chave de acesso do CT-e Multimodal
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Detalhamento do CT-e complementado
+
+
+
+
+
+ Chave do CT-e complementado
+
+
+
+
+
+
+
+
+ Autorizados para download do XML do DF-e
+ Informar CNPJ ou CPF. Preencher os zeros não significativos.
+
+
+
+
+
+
+ CNPJ do autorizado
+ Informar zeros não significativos
+
+
+
+
+ CPF do autorizado
+ Informar zeros não significativos
+
+
+
+
+
+
+
+
+ Informações do Responsável Técnico pela emissão do DF-e
+
+
+
+
+ Grupo de informações do pedido de emissão da Nota Fiscal Fácil
+
+
+
+
+
+ Solicitação do pedido de emissão da NFF.
+ Será preenchido com a totalidade de campos informados no aplicativo emissor serializado.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Grupo de Informação do Provedor de Assinatura e Autorização
+
+
+
+
+
+ CNPJ do Provedor de Assinatura e Autorização
+
+
+
+
+ Assinatura RSA do Emitente para DFe gerados por PAA
+
+
+
+
+
+ Assinatura digital padrão RSA
+ Converter o atributo Id do DFe para array de bytes e assinar com a chave privada do RSA com algoritmo SHA1 gerando um valor no formato base64.
+
+
+
+
+ Chave Publica no padrão XML RSA Key
+
+
+
+
+
+
+
+
+
+
+
+ Versão do leiaute
+ Ex: "4.00"
+
+
+
+
+
+
+
+ Identificador da tag a ser assinada
+ Informar a chave de acesso do CT-e e precedida do literal "CTe"
+
+
+
+
+
+
+
+
+
+
+
+ Informações suplementares do CT-e
+
+
+
+
+
+ Texto com o QR-Code impresso no DACTE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Conhecimento de Transporte Eletrônico Outros Serviços (Modelo 67)
+
+
+
+
+ Informações do CT-e Outros Serviços
+
+
+
+
+
+ Identificação do CT-e Outros Serviços
+
+
+
+
+
+ Código da UF do emitente do CT-e.
+ Utilizar a Tabela do IBGE.
+
+
+
+
+ Código numérico que compõe a Chave de Acesso.
+ Número aleatório gerado pelo emitente para cada CT-e, com o objetivo de evitar acessos indevidos ao documento.
+
+
+
+
+
+
+
+
+
+
+ Código Fiscal de Operações e Prestações
+
+
+
+
+ Natureza da Operação
+
+
+
+
+
+
+
+
+
+
+ Modelo do documento fiscal
+ Utilizar o código 67 para identificação do CT-e Outros Serviços, emitido em substituição a Nota Fiscal Modelo 7 para transporte de pessoas, valores e excesso de bagagem.
+
+
+
+
+ Série do CT-e OS
+ Preencher com "0" no caso de série única
+
+
+
+
+
+
+
+ Número do CT-e OS
+
+
+
+
+ Data e hora de emissão do CT-e OS
+ Formato AAAA-MM-DDTHH:MM:DD TZD
+
+
+
+
+
+
+
+ Formato de impressão do DACTE OS
+ Preencher com: 1 - Retrato; 2 - Paisagem.
+
+
+
+
+
+
+
+
+
+
+
+ Forma de emissão do CT-e
+ Preencher com:
+1 - Normal;
+ 5 - Contingência FSDA;
+7 - Autorização pela SVC-RS;
+ 8 - Autorização pela SVC-SP
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Digito Verificador da chave de acesso do CT-e
+ Informar o dígito de controle da chave de acesso do CT-e, que deve ser calculado com a aplicação do algoritmo módulo 11 (base 2,9) da chave de acesso.
+
+
+
+
+
+
+
+
+
+
+ Tipo do Ambiente
+ Preencher com:1 - Produção; 2 - Homologação
+
+
+
+
+ Tipo do CT-e OS
+ Preencher com:
+0 - CT-e Normal;
+1 - CT-e Complementar;
+
+3 - CT-e de Substituição.
+
+
+
+
+ Identificador do processo de emissão do CT-e OS
+ Preencher com:
+ 0 - emissão de CT-e com aplicativo do contribuinte;
+ 3- emissão CT-e pelo contribuinte com aplicativo fornecido pelo Fisco.
+
+
+
+
+ Versão do processo de emissão
+ Iinformar a versão do aplicativo emissor de CT-e.
+
+
+
+
+
+
+
+
+
+
+ Código do Município de envio do CT-e (de onde o documento foi transmitido)
+ Utilizar a tabela do IBGE. Informar 9999999 para as operações com o exterior.
+
+
+
+
+ Nome do Município de envio do CT-e (de onde o documento foi transmitido)
+ Informar PAIS/Municipio para as operações com o exterior.
+
+
+
+
+
+
+
+
+
+
+ Sigla da UF de envio do CT-e (de onde o documento foi transmitido)
+ Informar 'EX' para operações com o exterior.
+
+
+
+
+ Modal do CT-e OS
+ Preencher com:
+01-Rodoviário;
+02- Aéreo;
+03 - Aquaviário;
+04 - Ferroviário.
+
+
+
+
+ Tipo do Serviço
+ Preencher com:
+
+6 - Transporte de Pessoas;
+7 - Transporte de Valores;
+8 - Excesso de Bagagem.
+
+
+
+
+
+
+
+
+
+
+
+
+ Indicador da IE do tomador:
+1 – Contribuinte ICMS;
+2 – Contribuinte isento de inscrição;
+9 – Não Contribuinte
+ Aplica-se ao tomador que for indicado no toma3 ou toma4
+
+
+
+
+
+
+
+
+
+
+
+
+ Código do Município de início da prestação
+ Utilizar a tabela do IBGE. Informar 9999999 para operações com o exterior.
+
+
+
+
+ Nome do Município do início da prestação
+ Informar 'EXTERIOR' para operações com o exterior.
+
+
+
+
+
+
+
+
+
+
+ UF do início da prestação
+ Informar 'EX' para operações com o exterior.
+
+
+
+
+ Código do Município de término da prestação
+ Utilizar a tabela do IBGE. Informar 9999999 para operações com o exterior.
+
+
+
+
+ Nome do Município do término da prestação
+ Informar 'EXTERIOR' para operações com o exterior.
+
+
+
+
+
+
+
+
+
+
+ UF do término da prestação
+ Informar 'EX' para operações com o exterior.
+
+
+
+
+ Informações do Percurso do CT-e Outros Serviços
+
+
+
+
+
+ Sigla das Unidades da Federação do percurso do veículo.
+ Não é necessário repetir as UF de Início e Fim
+
+
+
+
+
+
+
+ Informar apenas
+para tpEmis diferente de 1
+
+
+
+ Data e Hora da entrada em contingência
+ Informar a data e hora no formato AAAA-MM-DDTHH:MM:SS
+
+
+
+
+ Justificativa da entrada em contingência
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Dados complementares do CT-e para fins operacionais ou comerciais
+
+
+
+
+
+ Característica adicional do transporte
+ Texto livre:
+REENTREGA; DEVOLUÇÃO; REFATURAMENTO; etc
+
+
+
+
+
+
+
+
+
+
+ Característica adicional do serviço
+ Texto livre:
+ ENTREGA EXPRESSA; LOGÍSTICA REVERSA; CONVENCIONAL; EMERGENCIAL; etc
+
+
+
+
+
+
+
+
+
+
+ Funcionário emissor do CTe
+
+
+
+
+
+
+
+
+
+
+ Observações Gerais
+
+
+
+
+
+
+
+
+
+
+ Campo de uso livre do contribuinte
+ Informar o nome do campo no atributo xCampo e o conteúdo do campo no XTexto
+
+
+
+
+
+ Conteúdo do campo
+
+
+
+
+
+
+
+
+
+
+
+ Identificação do campo
+
+
+
+
+
+
+
+
+
+
+
+
+ Campo de uso livre do contribuinte
+ Informar o nome do campo no atributo xCampo e o conteúdo do campo no XTexto
+
+
+
+
+
+ Conteúdo do campo
+
+
+
+
+
+
+
+
+
+
+
+ Identificação do campo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Identificação do Emitente do CT-e OS
+
+
+
+
+
+ CNPJ do emitente
+ Informar zeros não significativos
+
+
+
+
+ Inscrição Estadual do Emitente
+
+
+
+
+
+
+
+ Inscrição Estadual do Substituto Tributário
+
+
+
+
+
+
+
+ Razão social ou Nome do emitente
+
+
+
+
+
+
+
+
+
+
+ Nome fantasia
+
+
+
+
+
+
+
+
+
+
+ Endereço do emitente
+
+
+
+
+ Código do Regime Tributário
+ Informar: 1=Simples Nacional;
+2=Simples Nacional, excesso sublimite de receita bruta;
+3=Regime Normal;
+4=Simples Nacional - Microempreendedor Individual – MEI.
+
+
+
+
+
+
+
+
+ Informações do Tomador/Usuário do Serviço
+ Opcional para Excesso de Bagagem
+
+
+
+
+
+
+ Número do CNPJ
+ Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros.
+ Informar os zeros não significativos.
+
+
+
+
+ Número do CPF
+ Informar os zeros não significativos.
+
+
+
+
+
+ Inscrição Estadual
+ Informar a IE do tomador ou ISENTO se tomador é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o tomador não seja contribuinte do ICMS não informar o conteúdo.
+
+
+
+
+
+
+
+ Razão social ou nome do tomador
+
+
+
+
+
+
+
+
+
+
+ Nome fantasia
+
+
+
+
+
+
+
+
+
+
+ Telefone
+
+
+
+
+ Dados do endereço
+
+
+
+
+ Endereço de email
+
+
+
+
+
+
+
+
+
+
+ Valores da Prestação de Serviço
+
+
+
+
+
+ Valor Total da Prestação do Serviço
+ Pode conter zeros quando o CT-e for de complemento de ICMS
+
+
+
+
+ Valor a Receber
+
+
+
+
+ Componentes do Valor da Prestação
+
+
+
+
+
+ Nome do componente
+ Exxemplos: FRETE PESO, FRETE VALOR, SEC/CAT, ADEME, AGENDAMENTO, etc
+
+
+
+
+
+
+
+
+
+
+ Valor do componente
+
+
+
+
+
+
+
+
+
+
+ Informações relativas aos Impostos
+
+
+
+
+
+ Informações relativas ao ICMS
+
+
+
+
+
+ Valor Total dos Tributos
+
+
+
+
+ Informações adicionais de interesse do Fisco
+ Norma referenciada, informações complementares, etc
+
+
+
+
+
+
+
+
+
+
+ Informações do ICMS de partilha com a UF de término do serviço de transporte na operação interestadual
+ Grupo a ser informado nas prestações interestaduais para consumidor final, não contribuinte do ICMS
+
+
+
+
+
+ Valor da BC do ICMS na UF de término da prestação do serviço de transporte
+
+
+
+
+ Percentual do ICMS relativo ao Fundo de Combate à pobreza (FCP) na UF de término da prestação do serviço de transporte
+ Alíquota adotada nas operações internas na UF do destinatário
+
+
+
+
+ Alíquota interna da UF de término da prestação do serviço de transporte
+ Alíquota adotada nas operações internas na UF do destinatário
+
+
+
+
+ Alíquota interestadual das UF envolvidas
+ Alíquota interestadual das UF envolvidas
+
+
+
+
+
+ Valor do ICMS relativo ao Fundo de Combate á Pobreza (FCP) da UF de término da prestação
+
+
+
+
+ Valor do ICMS de partilha para a UF de término da prestação do serviço de transporte
+
+
+
+
+ Valor do ICMS de partilha para a UF de início da prestação do serviço de transporte
+
+
+
+
+
+
+
+ Informações dos tributos federais
+ Grupo a ser informado nas prestações interestaduais para consumidor final, não contribuinte do ICMS
+
+
+
+
+
+ Valor do PIS
+
+
+
+
+ Valor COFINS
+
+
+
+
+ Valor de Imposto de Renda
+
+
+
+
+ Valor do INSS
+
+
+
+
+ Valor do CSLL
+
+
+
+
+
+
+
+
+
+
+
+ Grupo de informações do CT-e OS Normal
+
+
+
+
+
+ Informações da Prestação do Serviço
+
+
+
+
+
+ Descrição do Serviço prestado
+
+
+
+
+
+
+
+
+
+
+ Informações de quantidades da Carga do CT-e
+ Para Transporte de Pessoas indicar número de passageiros, para excesso de bagagem e transporte de valores indicar número de Volumes/Malotes
+
+
+
+
+
+ Quantidade
+
+
+
+
+
+
+
+
+
+
+ Informações dos documentos referenciados
+
+
+
+
+
+
+ Número
+
+
+
+
+
+
+
+
+
+
+ Série
+
+
+
+
+
+
+
+
+
+
+ Subsérie
+
+
+
+
+
+
+
+
+
+
+ Data de Emissão
+ Formato AAAA-MM-DD
+
+
+
+
+ Valor Transportado
+
+
+
+
+
+ Chave de acesso do BP-e que possui eventos excesso de bagagem
+
+
+
+
+
+
+
+
+
+
+ Informações de Seguro da Carga
+
+
+
+
+
+ Responsável pelo seguro
+ Preencher com:
+
+4 - Emitente do CT-e;
+
+5 - Tomador de Serviço.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nome da Seguradora
+
+
+
+
+
+
+
+
+
+
+ Número da Apólice
+ Obrigatório pela lei 11.442/07 (RCTRC)
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Informações do modal
+Obrigatório para Pessoas e Bagagem
+
+
+
+
+
+ XML do modal
+Insira neste local o XML específico do modal
+ O elemento do tipo -any- permite estender o documento XML com elementos não especificados pelo schema.
+ Insira neste local - any- o XML específico do modal (rodoviário). A especificação do schema XML para cada modal pode ser encontrada nos arquivos que acompanham este pacote de liberação:
+ Rodoviário - ver arquivo CTeModalRodoviarioOS_v9.99
+
+Onde v9.99 é a a designação genérica para a versão do arquivo. Por exemplo, o arquivo para o schema do modal Rodoviário na versão 4.00 será denominado "CTeModalRodoviarioOS_v4.00".
+
+
+
+
+
+ Versão do leiaute específico para o Modal
+
+
+
+
+
+
+
+
+
+
+
+
+ Informações do CT-e de substituição
+
+
+
+
+
+ Chave de acesso do CT-e a ser substituído (original)
+
+
+
+
+
+
+
+
+
+
+
+
+ Chave de acesso do CT-e Cancelado
+Somente para Transporte de Valores
+
+
+
+
+
+
+
+ Dados da cobrança do CT-e
+
+
+
+
+
+ Dados da fatura
+
+
+
+
+
+ Número da fatura
+
+
+
+
+
+
+
+
+
+
+ Valor original da fatura
+
+
+
+
+ Valor do desconto da fatura
+
+
+
+
+ Valor líquido da fatura
+
+
+
+
+
+
+
+ Dados das duplicatas
+
+
+
+
+
+ Número da duplicata
+
+
+
+
+
+
+
+
+
+
+ Data de vencimento da duplicata (AAAA-MM-DD)
+
+
+
+
+ Valor da duplicata
+
+
+
+
+
+
+
+
+
+
+ Informações das GTV-e relacionadas ao CT-e OS
+
+
+
+
+
+ Chave de acesso da GTV-e
+
+
+
+
+
+
+
+
+
+ Componentes do Valor da GTVe
+
+
+
+
+
+ Tipo do Componente
+ 1-Custodia
+2-Embarque
+3-Tempo de espera
+4-Malote
+5-Ad Valorem
+6-Outros
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Valor do componente
+
+
+
+
+ Nome do componente (informar apenas para outros)
+ Exemplos: FRETE PESO, FRETE VALOR, SEC/CAT, ADEME, AGENDAMENTO, etc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Detalhamento do CT-e complementado
+
+
+
+
+
+ Chave do CT-e complementado
+
+
+
+
+
+
+
+
+ Autorizados para download do XML do DF-e
+ Informar CNPJ ou CPF. Preencher os zeros não significativos.
+
+
+
+
+
+
+ CNPJ do autorizado
+ Informar zeros não significativos
+
+
+
+
+ CPF do autorizado
+ Informar zeros não significativos
+
+
+
+
+
+
+
+
+ Informações do Responsável Técnico pela emissão do DF-e
+
+
+
+
+
+ Versão do leiaute
+ Ex: "4.00"
+
+
+
+
+
+
+
+ Identificador da tag a ser assinada
+ Informar a chave de acesso do CT-e OS e precedida do literal "CTe"
+
+
+
+
+
+
+
+
+
+
+
+ Informações suplementares do CT-e
+
+
+
+
+
+ Texto com o QR-Code impresso no DACTE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Versão do leiaute
+
+
+
+
+
+
+
+
+ Tipo Dados do Endereço
+
+
+
+
+ Logradouro
+
+
+
+
+
+
+
+
+
+
+ Número
+
+
+
+
+
+
+
+
+
+
+ Complemento
+
+
+
+
+
+
+
+
+
+
+ Bairro
+
+
+
+
+
+
+
+
+
+
+ Código do município (utilizar a tabela do IBGE)
+
+
+
+
+ Nome do município
+
+
+
+
+
+
+
+
+
+
+ CEP
+ Informar zeros não significativos
+
+
+
+
+
+
+
+
+
+
+ Sigla da UF
+
+
+
+
+ Telefone
+
+
+
+
+
+
+ Tipo Dados do Endereço
+
+
+
+
+ Logradouro
+
+
+
+
+
+
+
+
+
+
+ Número
+
+
+
+
+
+
+
+
+
+
+ Complemento
+
+
+
+
+
+
+
+
+
+
+ Bairro
+
+
+
+
+
+
+
+
+
+
+ Código do município (utilizar a tabela do IBGE)
+ Informar 9999999 para operações com o exterior.
+
+
+
+
+ Nome do município
+ Informar EXTERIOR para operações com o exterior.
+
+
+
+
+
+
+
+
+
+
+ CEP
+ Informar os zeros não significativos
+
+
+
+
+
+
+
+
+
+
+ Sigla da UF
+ Informar EX para operações com o exterior.
+
+
+
+
+ Código do país
+ Utilizar a tabela do BACEN
+
+
+
+
+
+
+
+
+
+
+ Nome do país
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Dados do Endereço
+
+
+
+
+ Logradouro
+
+
+
+
+
+
+
+
+
+
+ Número
+
+
+
+
+
+
+
+
+
+
+ Complemento
+
+
+
+
+
+
+
+
+
+
+ Bairro
+
+
+
+
+
+
+
+
+
+
+ Código do município (utilizar a tabela do IBGE), informar 9999999 para operações com o exterior.
+
+
+
+
+ Nome do município, , informar EXTERIOR para operações com o exterior.
+
+
+
+
+
+
+
+
+
+
+ CEP
+
+
+
+
+
+
+
+
+
+
+ Sigla da UF
+ Informar EX para operações com o exterior.
+
+
+
+
+
+
+ Tipo Dados do Endereço
+
+
+
+
+ Logradouro
+
+
+
+
+
+
+
+
+
+
+ Número
+
+
+
+
+
+
+
+
+
+
+ Complemento
+
+
+
+
+
+
+
+
+
+
+ Bairro
+
+
+
+
+
+
+
+
+
+
+ Código do município (utilizar a tabela do IBGE), informar 9999999 para operações com o exterior.
+
+
+
+
+ Nome do município
+ Informar EXTERIOR para operações com o exterior.
+
+
+
+
+
+
+
+
+
+
+ CEP
+
+
+
+
+
+
+
+
+
+
+ Sigla da UF
+ Informar EX para operações com o exterior.
+
+
+
+
+ Código do país
+
+
+
+
+
+
+
+
+
+
+ Nome do país
+
+
+
+
+
+
+
+
+
+
+ Telefone
+
+
+
+
+
+
+ Tipo Dados do Local de Origem ou Destino
+
+
+
+
+ Código do município (utilizar a tabela do IBGE)
+
+
+
+
+ Nome do município
+
+
+
+
+
+
+
+
+
+
+ Sigla da UF
+
+
+
+
+
+
+ Tipo Dados do Local de Retirada ou Entrega
+
+
+
+
+
+ Número do CNPJ
+
+
+
+
+ Número do CPF
+
+
+
+
+
+ Razão Social ou Nome
+
+
+
+
+
+
+
+
+
+
+ Logradouro
+
+
+
+
+
+
+
+
+
+
+ Número
+
+
+
+
+
+
+
+
+
+
+ Complemento
+
+
+
+
+
+
+
+
+
+
+ Bairro
+
+
+
+
+
+
+
+
+
+
+ Código do município (utilizar a tabela do IBGE)
+ Informar 9999999 para operações com o exterior.
+
+
+
+
+ Nome do município
+ Informar EXTERIOR para operações com o exterior.
+
+
+
+
+
+
+
+
+
+
+ Sigla da UF
+ Informar EX para operações com o exterior.
+
+
+
+
+
+
+ Tipo Dados do Imposto CT-e
+
+
+
+
+ Prestação sujeito à tributação normal do ICMS
+
+
+
+
+
+ classificação Tributária do Serviço
+ 00 - tributação normal ICMS
+
+
+
+
+
+
+
+
+
+
+ Valor da BC do ICMS
+
+
+
+
+ Alíquota do ICMS
+
+
+
+
+ Valor do ICMS
+
+
+
+
+
+
+
+ Prestação sujeito à tributação com redução de BC do ICMS
+
+
+
+
+
+ Classificação Tributária do serviço
+ 20 - tributação com BC reduzida do ICMS
+
+
+
+
+
+
+
+
+
+
+ Percentual de redução da BC
+
+
+
+
+ Valor da BC do ICMS
+
+
+
+
+ Alíquota do ICMS
+
+
+
+
+ Valor do ICMS
+
+
+
+
+
+
+
+ ICMS Isento, não Tributado ou diferido
+
+
+
+
+
+ Classificação Tributária do Serviço
+ Preencher com:
+ 40 - ICMS isenção;
+ 41 - ICMS não tributada;
+ 51 - ICMS diferido
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tributação pelo ICMS60 - ICMS cobrado por substituição tributária.Responsabilidade do recolhimento do ICMS atribuído ao tomador ou 3º por ST
+
+
+
+
+
+ Classificação Tributária do Serviço
+ 60 - ICMS cobrado por substituição tributária
+
+
+
+
+
+
+
+
+
+
+ Valor da BC do ICMS ST retido
+ Valor do frete sobre o qual será calculado o ICMS a ser substituído na Prestação.
+
+
+
+
+ Valor do ICMS ST retido
+ Resultado da multiplicação do “vBCSTRet” x “pICMSSTRet” – que será valor do ICMS a ser retido pelo Substituto. Podendo o valor do ICMS a ser retido efetivamente, sofrer ajustes conforme a opção tributaria do transportador substituído.
+
+
+
+
+ Alíquota do ICMS
+ Percentual de Alíquota incidente na prestação de serviço de transporte.
+
+
+
+
+ Valor do Crédito outorgado/Presumido
+ Preencher somente quando o transportador substituído, for optante pelo crédito outorgado previsto no Convênio 106/96 e corresponde ao percentual de 20% do valor do ICMS ST retido.
+
+
+
+
+
+
+
+ ICMS Outros
+
+
+
+
+
+ Classificação Tributária do Serviço
+ 90 - ICMS outros
+
+
+
+
+
+
+
+
+
+
+ Percentual de redução da BC
+
+
+
+
+ Valor da BC do ICMS
+
+
+
+
+ Alíquota do ICMS
+
+
+
+
+ Valor do ICMS
+
+
+
+
+ Valor do Crédito Outorgado/Presumido
+
+
+
+
+
+
+
+ ICMS devido à UF de origem da prestação, quando diferente da UF do emitente
+
+
+
+
+
+ Classificação Tributária do Serviço
+ 90 - ICMS Outra UF
+
+
+
+
+
+
+
+
+
+
+ Percentual de redução da BC
+
+
+
+
+ Valor da BC do ICMS
+
+
+
+
+ Alíquota do ICMS
+
+
+
+
+ Valor do ICMS devido outra UF
+
+
+
+
+
+
+
+ Simples Nacional
+
+
+
+
+
+ Classificação Tributária do Serviço
+ 90 - ICMS Simples Nacional
+
+
+
+
+
+
+
+
+
+
+ Indica se o contribuinte é Simples Nacional 1=Sim
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Dados do Imposto para CT-e OS
+
+
+
+
+ Prestação sujeito à tributação normal do ICMS
+
+
+
+
+
+ classificação Tributária do Serviço
+ 00 - tributação normal ICMS
+
+
+
+
+
+
+
+
+
+
+ Valor da BC do ICMS
+
+
+
+
+ Alíquota do ICMS
+
+
+
+
+ Valor do ICMS
+
+
+
+
+
+
+
+ Prestação sujeito à tributação com redução de BC do ICMS
+
+
+
+
+
+ Classificação Tributária do serviço
+ 20 - tributação com BC reduzida do ICMS
+
+
+
+
+
+
+
+
+
+
+ Percentual de redução da BC
+
+
+
+
+ Valor da BC do ICMS
+
+
+
+
+ Alíquota do ICMS
+
+
+
+
+ Valor do ICMS
+
+
+
+
+
+
+
+ ICMS Isento, não Tributado ou diferido
+
+
+
+
+
+ Classificação Tributária do Serviço
+ Preencher com:
+ 40 - ICMS isenção;
+ 41 - ICMS não tributada;
+ 51 - ICMS diferido
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ICMS Outros
+
+
+
+
+
+ Classificação Tributária do Serviço
+ 90 - Outros
+
+
+
+
+
+
+
+
+
+
+ Percentual de redução da BC
+
+
+
+
+ Valor da BC do ICMS
+
+
+
+
+ Alíquota do ICMS
+
+
+
+
+ Valor do ICMS
+
+
+
+
+ Valor do Crédito Outorgado/Presumido
+
+
+
+
+
+
+
+ ICMS devido à UF de origem da prestação, quando diferente da UF do emitente
+
+
+
+
+
+ Classificação Tributária do Serviço
+ 90 - ICMS Outra UF
+
+
+
+
+
+
+
+
+
+
+ Percentual de redução da BC
+
+
+
+
+ Valor da BC do ICMS
+
+
+
+
+ Alíquota do ICMS
+
+
+
+
+ Valor do ICMS devido outra UF
+
+
+
+
+
+
+
+ Simples Nacional
+
+
+
+
+
+ Classificação Tributária do Serviço
+ 90 - ICMS Simples Nacional
+
+
+
+
+
+
+
+
+
+
+ Indica se o contribuinte é Simples Nacional 1=Sim
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Dados Unidade de Transporte
+
+
+
+
+ Tipo da Unidade de Transporte
+ 1 - Rodoviário Tração
+2 - Rodoviário Reboque
+3 - Navio
+4 - Balsa
+5 - Aeronave
+6 - Vagão
+7 - Outros
+
+
+
+
+ Identificação da Unidade de Transporte
+ Informar a identificação conforme o tipo de unidade de transporte.
+Por exemplo: para rodoviário tração ou reboque deverá preencher com a placa do veículo.
+
+
+
+
+
+ Lacres das Unidades de Transporte
+
+
+
+
+
+ Número do lacre
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Informações das Unidades de Carga (Containeres/ULD/Outros)
+ Dispositivo de carga utilizada (Unit Load Device - ULD) significa todo tipo de contêiner de carga, vagão, contêiner de avião, palete de aeronave com rede ou palete de aeronave com rede sobre um iglu.
+
+
+
+
+ Quantidade rateada (Peso,Volume)
+
+
+
+
+
+
+ Tipo Dados Unidade de Carga
+
+
+
+
+ Tipo da Unidade de Carga
+ 1 - Container
+2 - ULD
+3 - Pallet
+4 - Outros
+
+
+
+
+ Identificação da Unidade de Carga
+ Informar a identificação da unidade de carga, por exemplo: número do container.
+
+
+
+
+ Lacres das Unidades de Carga
+
+
+
+
+
+ Número do lacre
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Quantidade rateada (Peso,Volume)
+
+
+
+
+
+
+ Tipo Dados da Responsável Técnico
+
+
+
+
+ CNPJ da pessoa jurídica responsável técnica pelo sistema utilizado na emissão do documento fiscal eletrônico
+ Informar o CNPJ da pessoa jurídica desenvolvedora do sistema utilizado na emissão do documento fiscal eletrônico.
+
+
+
+
+ Nome da pessoa a ser contatada
+ Informar o nome da pessoa a ser contatada na empresa desenvolvedora do sistema utilizado na emissão do documento fiscal eletrônico. No caso de pessoa física, informar o respectivo nome.
+
+
+
+
+
+
+
+
+
+
+ Email da pessoa jurídica a ser contatada
+
+
+
+
+ Telefone da pessoa jurídica a ser contatada
+ Preencher com o Código DDD + número do telefone.
+
+
+
+
+
+
+
+
+
+
+
+ Identificador do código de segurança do responsável técnico
+ Identificador do CSRT utilizado para geração do hash
+
+
+
+
+
+
+
+
+
+ Hash do token do código de segurança do responsável técnico
+ O hashCSRT é o resultado das funções SHA-1 e base64 do token CSRT fornecido pelo fisco + chave de acesso do DF-e. (Implementação em futura NT)
+
+Observação: 28 caracteres são representados no schema como 20 bytes do tipo base64Binary
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo CFOP
+
+
+
+
+
+
+
+
+ Tipo Código da Lista de Serviços LC 116/2003
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Número do Container
+
+
+
+
+
+
+
+
+
+
+ Tipo Documento Associado
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Email
+
+
+
+
+
+
+
+
+
+
+ Tipo Finalidade da CT-e
+
+
+
+
+
+
+
+
+
+
+ Tipo Identificador de controle do envio do lote. Número seqüencial auto-incremental, de controle correspondente ao identificador único do lote enviado. A responsabilidade de gerar e controlar esse número é do próprio contribuinte.
+
+
+
+
+
+
+
+
+ Tipo Modelo do Documento
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Modal transporte Outros Serviços
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Modal transporte
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo RNTRC - Registro Nacional Transportadores Rodoviários de Carga
+
+
+
+
+
+
+
+
+ Tipo CIOT - Código Identificador da Operação de Transporte
+
+
+
+
+
+
+
+
+ Tipo Código Regime Tributário
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo processo de emissão do CT-e
+
+
+
+
+
+
+
+
+
+ Tipo hora
+
+
+
+
+
+
+
+
+ Tipo Versão do CT-e - 4.00
+
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/cte_v4.00.xsd b/CTe.AppTeste/schemas/cte_v4.00.xsd
new file mode 100644
index 000000000..b0cb9c1a9
--- /dev/null
+++ b/CTe.AppTeste/schemas/cte_v4.00.xsd
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+ Conhecimento de Transporte Eletrônico
+
+
+
diff --git a/CTe.AppTeste/schemas/distCTePorUF_v3.00.xsd b/CTe.AppTeste/schemas/distCTePorUF_v3.00.xsd
new file mode 100644
index 000000000..e70c9f3e4
--- /dev/null
+++ b/CTe.AppTeste/schemas/distCTePorUF_v3.00.xsd
@@ -0,0 +1,9 @@
+
+
+
+
+
+ solicitação de distribuição de CT-e para o Ambiente Nacional
+
+
+
diff --git a/CTe.AppTeste/schemas/distCTe_v3.00.xsd b/CTe.AppTeste/schemas/distCTe_v3.00.xsd
new file mode 100644
index 000000000..fc98f85de
--- /dev/null
+++ b/CTe.AppTeste/schemas/distCTe_v3.00.xsd
@@ -0,0 +1,9 @@
+
+
+
+
+
+ solicitação de distribuição de CT-e para o Ambiente Nacional
+
+
+
diff --git a/CTe.AppTeste/schemas/distChCTe_v3.00.xsd b/CTe.AppTeste/schemas/distChCTe_v3.00.xsd
new file mode 100644
index 000000000..828d15e89
--- /dev/null
+++ b/CTe.AppTeste/schemas/distChCTe_v3.00.xsd
@@ -0,0 +1,9 @@
+
+
+
+
+
+ solicitação de distribuição de dados de controle dos DF-e
+
+
+
diff --git a/CTe.AppTeste/schemas/evCCeCTe_v4.00.xsd b/CTe.AppTeste/schemas/evCCeCTe_v4.00.xsd
new file mode 100644
index 000000000..92e786909
--- /dev/null
+++ b/CTe.AppTeste/schemas/evCCeCTe_v4.00.xsd
@@ -0,0 +1,98 @@
+
+
+
+
+
+
+ Schema XML de validação do evento carta de correção
+110110
+
+
+
+
+
+ Descrição do Evento - “Carta de Correção”
+
+
+
+
+
+
+
+
+
+
+
+ Grupo de Informações de Correção
+
+
+
+
+
+ Indicar o grupo de informações que pertence o campoAlterado. Ex: ide
+
+
+
+
+
+
+
+
+
+
+
+ Nome do campo modificado do CT-e Original.
+
+
+
+
+
+
+
+
+
+
+
+ Valor correspondente à alteração.
+
+
+
+
+
+
+
+
+
+
+
+ Preencher com o indice do item alterado caso a alteração ocorra em uma lista.
+OBS: O indice inicia sempre em 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Condições de uso da Carta de Correção,
+ informar a literal :Condições de uso da Carta de Correção, informar a literal:
+“A Carta de Correção é disciplinada pelo Art. 58-B do CONVÊNIO/SINIEF 06/89: Fica permitida a utilização de carta de correção, para regularização de erro ocorrido na emissão de documentos fiscais relativos à prestação de serviço de transporte, desde que o erro não esteja relacionado com: I - as variáveis que determinam o valor do imposto tais como: base de cálculo, alíquota, diferença de preço, quantidade, valor da prestação;II - a correção de dados cadastrais que implique mudança do emitente, tomador, remetente ou do destinatário;III - a data de emissão ou de saída.” (texto com acentuação) ou “A Carta de Correcao e disciplinada pelo Art. 58-B do CONVENIO/SINIEF 06/89: Fica permitida a utilizacao de carta de correcao, para regularizacao de erro ocorrido na emissao de documentos fiscais relativos a prestacao de servico de transporte, desde que o erro nao esteja relacionado com: I - as variaveis que determinam o valor do imposto tais como: base de calculo, aliquota, diferenca de preco, quantidade, valor da prestacao;II - a correcao de dados cadastrais que implique mudança do emitente, tomador, remetente ou do destinatario;III - a data de emissao ou de saida.” (texto sem acentuação)
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/evCECTe_v3.00.xsd b/CTe.AppTeste/schemas/evCECTe_v3.00.xsd
new file mode 100644
index 000000000..80b202309
--- /dev/null
+++ b/CTe.AppTeste/schemas/evCECTe_v3.00.xsd
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+ Schema XML de validação do evento comprovante de entrega eletrônico do CT-e
+110180
+
+
+
+
+
+ Descrição do Evento - “Comprovante de Entrega do CT-e”
+
+
+
+
+
+
+
+
+
+
+ Número do Protocolo de autorização do CT-e
+
+
+
+
+ Data e hora de conclusão da entrega da NF-e
+ Formato AAAA-MM-DDTHH:MM:DD TZD
+
+
+
+
+
+
+
+ Número do Documento de identificação da pessoa que recebeu a entrega
+
+
+
+
+
+
+
+
+
+
+ Nome da pessoa que recebeu a entrega
+
+
+
+
+
+
+
+
+
+
+ Latitude do ponto de entrega
+
+
+
+
+ Longitude do ponto de entrega
+
+
+
+
+ Hash (SHA1) no formato Base64 resultante da concatenação: Chave de acesso do CT-e + Base64 da imagem capturada da entrega (Exemplo: imagem capturada da assinatura eletrônica, digital do recebedor, foto, etc)
+ O hashCSRT é o resultado das funções SHA-1 e base64 do token CSRT fornecido pelo fisco + chave de acesso do DF-e. (Implementação em futura NT)
+Observação: 28 caracteres são representados no schema como 20 bytes do tipo base64Binary
+
+
+
+
+
+
+
+
+
+ Data e hora de geração do hash entrega
+ Formato AAAA-MM-DDTHH:MM:DD TZD
+
+
+
+
+
+
+
+ Grupo de informações das NF-e que foram entregues ao Destinatário
+ Informar o grupo apenas para CT-e com tipo de serviço Normal
+
+
+
+
+
+ Chave de acesso da NF-e entregue
+
+
+
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/evCECTe_v4.00.xsd b/CTe.AppTeste/schemas/evCECTe_v4.00.xsd
new file mode 100644
index 000000000..17f9c36c4
--- /dev/null
+++ b/CTe.AppTeste/schemas/evCECTe_v4.00.xsd
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+ Schema XML de validação do evento comprovante de entrega eletrônico do CT-e
+110180
+
+
+
+
+
+ Descrição do Evento - “Comprovante de Entrega do CT-e”
+
+
+
+
+
+
+
+
+
+
+ Número do Protocolo de autorização do CT-e
+
+
+
+
+ Data e hora de conclusão da entrega da NF-e
+ Formato AAAA-MM-DDTHH:MM:DD TZD
+
+
+
+
+
+
+
+ Número do Documento de identificação da pessoa que recebeu a entrega
+
+
+
+
+
+
+
+
+
+
+ Nome da pessoa que recebeu a entrega
+
+
+
+
+
+
+
+
+
+
+ Latitude do ponto de entrega
+
+
+
+
+ Longitude do ponto de entrega
+
+
+
+
+ Hash (SHA1) no formato Base64 resultante da concatenação: Chave de acesso do CT-e + Base64 da imagem capturada da entrega (Exemplo: imagem capturada da assinatura eletrônica, digital do recebedor, foto, etc)
+ O hashCSRT é o resultado das funções SHA-1 e base64 do token CSRT fornecido pelo fisco + chave de acesso do DF-e. (Implementação em futura NT)
+Observação: 28 caracteres são representados no schema como 20 bytes do tipo base64Binary
+
+
+
+
+
+
+
+
+
+ Data e hora de geração do hash entrega
+ Formato AAAA-MM-DDTHH:MM:DD TZD
+
+
+
+
+
+
+
+ Grupo de informações das NF-e que foram entregues ao Destinatário
+ Informar o grupo apenas para CT-e com tipo de serviço Normal
+
+
+
+
+
+ Chave de acesso da NF-e entregue
+
+
+
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/evCTeAnulado_v3.00.xsd b/CTe.AppTeste/schemas/evCTeAnulado_v3.00.xsd
new file mode 100644
index 000000000..95662873f
--- /dev/null
+++ b/CTe.AppTeste/schemas/evCTeAnulado_v3.00.xsd
@@ -0,0 +1,39 @@
+
+
+
+
+
+ Schema XML de validação do evento de marcação do CT-e de Anulação 240150
+
+
+
+
+
+ Descrição do Evento - "CT-e Anulado"
+
+
+
+
+
+
+
+
+
+
+ Informar a chave de acesso do CT-e de Anulação de Valores que referenciou o CT-e Original
+
+
+
+
+ Data e hora de processamento do CT-e de Anulação, no formato AAAA-MM-DDTHH:MM:SS TZD. Deve ser preenchida com data e hora da gravação no Banco em caso de Confirmação. Em caso de Rejeição, com data e hora do recebimento do Lote de CT-e enviado.
+
+
+
+
+ Número do Protocolo de Autorização do CT-e de Anulação. 1 posição tipo de autorizador (1 – Secretaria de Fazenda Estadual, 3 - SEFAZ Virtual RS, 5 - SEFAZ Virtual SP ); 2 posições ano; 10 seqüencial no ano.
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/evCTeAutorizadoMDFe_v3.00.xsd b/CTe.AppTeste/schemas/evCTeAutorizadoMDFe_v3.00.xsd
new file mode 100644
index 000000000..a52772d4d
--- /dev/null
+++ b/CTe.AppTeste/schemas/evCTeAutorizadoMDFe_v3.00.xsd
@@ -0,0 +1,97 @@
+
+
+
+
+
+ Schema XML de validação do evento MDF-e Autorizado 310610
+
+
+
+
+
+ Descrição do Evento - "MDF-e Autorizado"
+
+
+
+
+
+
+
+
+
+
+ Dados do MDF-e
+
+
+
+
+
+ Chave de Acesso do MDF-e
+
+
+
+
+ Modal do MDF-e
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Data de Emissão do MDF-e, formato AAAA-MM-DDThh:mm:ss TZD
+
+
+
+
+ Número do Protocolo de Status do MDF-e. 1 posição tipo de autorizador (9- Ambiente Autorizador do MDF-e ); 2 posições ano; 10 seqüencial no ano.
+
+
+
+
+ Data e hora de processamento, no formato AAAA-MM-DDTHH:MM:SS TZD.
+
+
+
+
+
+
+
+ Dados do Emitente do MDF-e
+
+
+
+
+
+ CNPJ do emitente
+
+
+
+
+ IE do emitente
+
+
+
+
+ Razão social ou Nome do Emitente
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/evCTeCanceladoMDFe_v3.00.xsd b/CTe.AppTeste/schemas/evCTeCanceladoMDFe_v3.00.xsd
new file mode 100644
index 000000000..024ed93f7
--- /dev/null
+++ b/CTe.AppTeste/schemas/evCTeCanceladoMDFe_v3.00.xsd
@@ -0,0 +1,43 @@
+
+
+
+
+
+ Schema XML de validação do evento MDF-e Cancelado 310611
+
+
+
+
+
+ Descrição do Evento - "MDF-e Cancelado"
+
+
+
+
+
+
+
+
+
+
+ Dados do MDF-e
+
+
+
+
+
+ Chave de Acesso do MDF-e
+
+
+
+
+ Número do Protocolo de Cancelamento do MDF-e. 1 posição tipo de autorizador (9- Ambiente Autorizador do MDF-e ); 2 posições ano; 10 seqüencial no ano.
+
+
+
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/evCTeComplementar_v3.00.xsd b/CTe.AppTeste/schemas/evCTeComplementar_v3.00.xsd
new file mode 100644
index 000000000..db4f2d44a
--- /dev/null
+++ b/CTe.AppTeste/schemas/evCTeComplementar_v3.00.xsd
@@ -0,0 +1,39 @@
+
+
+
+
+
+ Schema XML de validação do evento de marcação Autorizado CT-e Complementar 240130
+
+
+
+
+
+ Descrição do Evento - “Autorizado CT-e Complementar”
+
+
+
+
+
+
+
+
+
+
+ Informar a chave de acesso do CT-e Complementar que referenciou o CT-e Original
+
+
+
+
+ Data e hora de processamento do CT-e Complementar, no formato AAAA-MM-DDTHH:MM:SS TZD. Deve ser preenchida com data e hora da gravação no Banco em caso de Confirmação. Em caso de Rejeição, com data e hora do recebimento do Lote de CT-e enviado.
+
+
+
+
+ Número do Protocolo de Autorização do CT-e Complementar. 1 posição tipo de autorizador (1 – Secretaria de Fazenda Estadual, 3 - SEFAZ Virtual RS, 5 - SEFAZ Virtual SP ); 2 posições ano; 10 seqüencial no ano.
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/evCTeLiberaEPEC_v3.00.xsd b/CTe.AppTeste/schemas/evCTeLiberaEPEC_v3.00.xsd
new file mode 100644
index 000000000..b91ae0c18
--- /dev/null
+++ b/CTe.AppTeste/schemas/evCTeLiberaEPEC_v3.00.xsd
@@ -0,0 +1,36 @@
+
+
+
+
+
+ Schema XML de validação do evento de Liberação de EPEC 240160
+
+
+
+
+
+ Descrição do Evento - “Liberação EPEC”
+
+
+
+
+
+
+
+
+
+
+ Motivo da Liberação do Bloqueio da EPEC informado pela UF.
+ Norma referenciada, informações complementares, etc
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/evCTeLiberaPrazoCanc_v3.00.xsd b/CTe.AppTeste/schemas/evCTeLiberaPrazoCanc_v3.00.xsd
new file mode 100644
index 000000000..e2ad92ab5
--- /dev/null
+++ b/CTe.AppTeste/schemas/evCTeLiberaPrazoCanc_v3.00.xsd
@@ -0,0 +1,36 @@
+
+
+
+
+
+ Schema XML de validação do evento de Liberação do Prazo de Cancelamento 240170
+
+
+
+
+
+ Descrição do Evento - “Liberação Prazo Cancelamento”
+
+
+
+
+
+
+
+
+
+
+ Motivo da Liberação do Prazo de Cancelamento informado pela UF.
+ Norma referenciada, informações complementares, etc
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/evCTeMultimodal_v3.00.xsd b/CTe.AppTeste/schemas/evCTeMultimodal_v3.00.xsd
new file mode 100644
index 000000000..409c8c1cd
--- /dev/null
+++ b/CTe.AppTeste/schemas/evCTeMultimodal_v3.00.xsd
@@ -0,0 +1,39 @@
+
+
+
+
+
+ Schema XML de validação do evento de marcação Autorizado Serviço Vinculado a Multimodal 440160
+
+
+
+
+
+ Descrição do Evento - “Autorizado Serviço Vinculado a Multimodal”
+
+
+
+
+
+
+
+
+
+
+ Informar a chave de acesso do CT-e que referenciou o CT-e Multimodal
+
+
+
+
+ Data e hora de processamento do CT-e que referenciou o Multimodal, no formato AAAA-MM-DDTHH:MM:SS TZD. Deve ser preenchida com data e hora da gravação no Banco em caso de Confirmação. Em caso de Rejeição, com data e hora do recebimento do Lote de CT-e enviado.
+
+
+
+
+ Número do Protocolo de Autorização do CT-e que referenciou o Multimodal. 1 posição tipo de autorizador (1 – Secretaria de Fazenda Estadual, 3 - SEFAZ Virtual RS, 5 - SEFAZ Virtual SP ); 2 posições ano; 10 seqüencial no ano.
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/evCTeRedespachoInter_v3.00.xsd b/CTe.AppTeste/schemas/evCTeRedespachoInter_v3.00.xsd
new file mode 100644
index 000000000..d73c9c636
--- /dev/null
+++ b/CTe.AppTeste/schemas/evCTeRedespachoInter_v3.00.xsd
@@ -0,0 +1,39 @@
+
+
+
+
+
+ Schema XML de validação do evento de marcação Autorizado Redespacho Intermediário 440140
+
+
+
+
+
+ Descrição do Evento - “Autorizado Redespacho Intermediário”
+
+
+
+
+
+
+
+
+
+
+ Informar a chave de acesso do CT-e de Redespacho Intermediário que referenciou o CT-e
+
+
+
+
+ Data e hora de processamento do CT-e de Redespacho Intermediário que referenciou o CT-e, no formato AAAA-MM-DDTHH:MM:SS TZD. Deve ser preenchida com data e hora da gravação no Banco em caso de Confirmação. Em caso de Rejeição, com data e hora do recebimento do Lote de CT-e enviado.
+
+
+
+
+ Número do Protocolo de Autorização do CT-e Redespacho Intermediário que referenciou o CT-e. 1 posição tipo de autorizador (1 – Secretaria de Fazenda Estadual, 3 - SEFAZ Virtual RS, 5 - SEFAZ Virtual SP ); 2 posições ano; 10 seqüencial no ano.
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/evCTeRedespacho_v3.00.xsd b/CTe.AppTeste/schemas/evCTeRedespacho_v3.00.xsd
new file mode 100644
index 000000000..d68d8bde3
--- /dev/null
+++ b/CTe.AppTeste/schemas/evCTeRedespacho_v3.00.xsd
@@ -0,0 +1,39 @@
+
+
+
+
+
+ Schema XML de validação do evento de marcação Autorizado Redespacho 440130
+
+
+
+
+
+ Descrição do Evento - “Autorizado Redespacho”
+
+
+
+
+
+
+
+
+
+
+ Informar a chave de acesso do CT-e de Redespacho que referenciou o CT-e
+
+
+
+
+ Data e hora de processamento do CT-e de Redespacho que referenciou o CT-e, no formato AAAA-MM-DDTHH:MM:SS TZD. Deve ser preenchida com data e hora da gravação no Banco em caso de Confirmação. Em caso de Rejeição, com data e hora do recebimento do Lote de CT-e enviado.
+
+
+
+
+ Número do Protocolo de Autorização do CT-e Redespacho que referenciou o CT-e. 1 posição tipo de autorizador (1 – Secretaria de Fazenda Estadual, 3 - SEFAZ Virtual RS, 5 - SEFAZ Virtual SP ); 2 posições ano; 10 seqüencial no ano.
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/evCTeRegPassagemAuto_v3.00.xsd b/CTe.AppTeste/schemas/evCTeRegPassagemAuto_v3.00.xsd
new file mode 100644
index 000000000..9abbfa75c
--- /dev/null
+++ b/CTe.AppTeste/schemas/evCTeRegPassagemAuto_v3.00.xsd
@@ -0,0 +1,149 @@
+
+
+
+
+
+ Schema XML de validação do evento de Registro de Passagem Automatico do CT-e 510620
+
+
+
+
+
+ Descrição do Evento - “Registro de Passagem Automático”
+
+
+
+
+
+
+
+
+
+
+ Tipo de Transmissão: N – Normal; R – Retransmissão; A - Atraso Processamento
+
+
+
+
+
+
+
+
+
+
+
+
+ Informações do Registro de Passagem
+
+
+
+
+
+ Informar o codigo da UF onde foi registrada a passagem. Deverá ser utilizada a tabela do IBGE.
+ Informar 'EX' para operações com o exterior.
+
+
+
+
+ Codigo Identificação do Equipamento (SLD, OCR) ou 99999 para tpEquip=3
+
+
+
+
+
+
+
+
+
+
+ Nome Identificação do Equiipamento (SLD, OCR) ou Sem Equipamento para tpEquip=3
+
+
+
+
+
+
+
+
+
+
+ Tipo de Equipamento:
+1 – SLD (Antena); 2 – OCR; 3 - Leitura Sen Equipamento
+
+
+
+
+
+
+
+
+
+
+
+
+ Placa do Veiculo de Tracao
+
+
+
+
+
+
+
+ Sentido da Passagem:
+E – Entrada; S – Saída; I - Indeterminado
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Data e hora do Registro de Passagem
+ Formato AAAA-MM-DDTHH:MM:DD
+
+
+
+
+ Latitude do ponto geográfico onde foi registrada a passagem
+
+
+
+
+ Latitude do ponto geográfico onde foi registrada a passagem
+
+
+
+
+ NSU do registro na base do ONE
+
+
+
+
+
+
+
+ Chave de Acesso do MDF-e que originou o registro
+
+
+
+
+ Informações complementares do Fisco de Registro de Passagem
+ Norma referenciada, informações complementares, etc
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/evCTeRegPassagem_v3.00.xsd b/CTe.AppTeste/schemas/evCTeRegPassagem_v3.00.xsd
new file mode 100644
index 000000000..9a61cd06b
--- /dev/null
+++ b/CTe.AppTeste/schemas/evCTeRegPassagem_v3.00.xsd
@@ -0,0 +1,145 @@
+
+
+
+
+
+ Schema XML de validação do evento de Registro de Passagem do CT-e 310620
+
+
+
+
+
+ Descrição do Evento - “Registro de Passagem”
+
+
+
+
+
+
+
+
+
+
+ Informar o código da UF onde foi registrada a passagem. Deverá ser utilizada a tabela do IBGE.
+ Informar 'EX' para operações com o exterior.
+
+
+
+
+ Código da Unidade Fiscal
+
+
+
+
+
+
+
+
+
+ Nome da Unidade Fiscal
+
+
+
+
+
+
+
+
+
+
+ Data e hora do Registro de Passagem
+ Formato AAAA-MM-DDTHH:MM:DD
+
+
+
+
+ Identificação do funcionário responsável pelo registro de passagem
+
+
+
+
+ Nome do funcionário responsável pelo registro de passagem
+
+
+
+
+
+
+
+
+
+
+ Tipo de Transmissão: N – Normal; A – Atrasada
+
+
+
+
+
+
+
+
+
+
+
+ Sentido da Passagem:
+E – Entrada; S – Saída; I - Indeterminado
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Latitude do ponto geográfico onde foi registrada a passagem
+
+
+
+
+ Latitude do ponto geográfico onde foi registrada a passagem
+
+
+
+
+ Placa do Veiculo de Tracao
+
+
+
+
+
+
+
+ Segundo código de barras do CT-e em contingência
+
+
+
+
+
+
+
+
+
+ Chave de Acesso do MDF-e que originou o registro
+
+
+
+
+ Informações complementares do Fisco de Registro de Passagem
+ Norma referenciada, informações complementares, etc
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/evCTeSubcontratacao_v3.00.xsd b/CTe.AppTeste/schemas/evCTeSubcontratacao_v3.00.xsd
new file mode 100644
index 000000000..fd2171b67
--- /dev/null
+++ b/CTe.AppTeste/schemas/evCTeSubcontratacao_v3.00.xsd
@@ -0,0 +1,39 @@
+
+
+
+
+
+ Schema XML de validação do evento de marcação Autorizado Subcontratação 440150
+
+
+
+
+
+ Descrição do Evento - “Autorizado Subcontratação”
+
+
+
+
+
+
+
+
+
+
+ Informar a chave de acesso do CT-e de Subcontratação que referenciou o CT-e
+
+
+
+
+ Data e hora de processamento do CT-e de Subcontratação que referenciou o CT-e, no formato AAAA-MM-DDTHH:MM:SS TZD. Deve ser preenchida com data e hora da gravação no Banco em caso de Confirmação. Em caso de Rejeição, com data e hora do recebimento do Lote de CT-e enviado.
+
+
+
+
+ Número do Protocolo de Autorização do CT-e de Subcontratação que referenciou o CT-e. 1 posição tipo de autorizador (1 – Secretaria de Fazenda Estadual, 3 - SEFAZ Virtual RS, 5 - SEFAZ Virtual SP ); 2 posições ano; 10 seqüencial no ano.
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/evCTeSubstituido_v3.00.xsd b/CTe.AppTeste/schemas/evCTeSubstituido_v3.00.xsd
new file mode 100644
index 000000000..0a258f3e0
--- /dev/null
+++ b/CTe.AppTeste/schemas/evCTeSubstituido_v3.00.xsd
@@ -0,0 +1,39 @@
+
+
+
+
+
+ Schema XML de validação do evento de marcação do CT-e de Substituição 240140
+
+
+
+
+
+ Descrição do Evento - "CT-e Substituido"
+
+
+
+
+
+
+
+
+
+
+ Informar a chave de acesso do CT-e de Substituicao que referenciou o CT-e Original
+
+
+
+
+ Data e hora de processamento do CT-e de Substituição, no formato AAAA-MM-DDTHH:MM:SS TZD. Deve ser preenchida com data e hora da gravação no Banco em caso de Confirmação. Em caso de Rejeição, com data e hora do recebimento do Lote de CT-e enviado.
+
+
+
+
+ Número do Protocolo de Autorização do CT-e de Substituição. 1 posição tipo de autorizador (1 – Secretaria de Fazenda Estadual, 3 - SEFAZ Virtual RS, 5 - SEFAZ Virtual SP ); 2 posições ano; 10 seqüencial no ano.
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/evCancCECTe_v3.00.xsd b/CTe.AppTeste/schemas/evCancCECTe_v3.00.xsd
new file mode 100644
index 000000000..6f557453c
--- /dev/null
+++ b/CTe.AppTeste/schemas/evCancCECTe_v3.00.xsd
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+ Schema XML de validação do evento cancelamento do comprovante de entrega eletrônico do CT-e
+110181
+
+
+
+
+
+ Descrição do Evento - “Cancelamento do Comprovante de Entrega do CT-e”
+
+
+
+
+
+
+
+
+
+
+ Número do Protocolo de autorização do CT-e
+
+
+
+
+ Número do Protocolo de autorização do evento a ser cancelado
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/evCancCECTe_v4.00.xsd b/CTe.AppTeste/schemas/evCancCECTe_v4.00.xsd
new file mode 100644
index 000000000..0a9f3ef59
--- /dev/null
+++ b/CTe.AppTeste/schemas/evCancCECTe_v4.00.xsd
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+ Schema XML de validação do evento cancelamento do comprovante de entrega eletrônico do CT-e
+110181
+
+
+
+
+
+ Descrição do Evento - “Cancelamento do Comprovante de Entrega do CT-e”
+
+
+
+
+
+
+
+
+
+
+ Número do Protocolo de autorização do CT-e
+
+
+
+
+ Número do Protocolo de autorização do evento a ser cancelado
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/evCancCTeComplementar_v3.00.xsd b/CTe.AppTeste/schemas/evCancCTeComplementar_v3.00.xsd
new file mode 100644
index 000000000..44796b9f6
--- /dev/null
+++ b/CTe.AppTeste/schemas/evCancCTeComplementar_v3.00.xsd
@@ -0,0 +1,39 @@
+
+
+
+
+
+ Schema XML de validação do evento de marcação Cancelado CT-e Complementar 240131
+
+
+
+
+
+ Descrição do Evento - “Cancelado CT-e Complementar”
+
+
+
+
+
+
+
+
+
+
+ Informar a chave de acesso do CT-e Complementar que referenciou o CT-e Original
+
+
+
+
+ Data e hora de recebimento do Cancelamento do CT-e Complementar, no formato AAAA-MM-DDTHH:MM:SS TZD. Deve ser preenchida com data e hora da gravação no Banco em caso de Confirmação. Em caso de Rejeição, com data e hora do recebimento do Lote de CT-e enviado.
+
+
+
+
+ Número do Protocolo de Homologação do Cancelamento do CT-e Complementar. 1 posição tipo de autorizador (1 – Secretaria de Fazenda Estadual, 3 - SEFAZ Virtual RS, 5 - SEFAZ Virtual SP ); 2 posições ano; 10 seqüencial no ano.
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/evCancCTe_v4.00.xsd b/CTe.AppTeste/schemas/evCancCTe_v4.00.xsd
new file mode 100644
index 000000000..af1f280bf
--- /dev/null
+++ b/CTe.AppTeste/schemas/evCancCTe_v4.00.xsd
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+ Schema XML de validação do evento do cancelamento
+110111
+
+
+
+
+
+ Descrição do Evento - “Cancelamento”
+
+
+
+
+
+
+
+
+
+
+ Número do Protocolo de Status do CT-e
+
+
+
+
+ Justificativa do Cancelamento
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/evCancIECTe_v4.00.xsd b/CTe.AppTeste/schemas/evCancIECTe_v4.00.xsd
new file mode 100644
index 000000000..20ce3b5ff
--- /dev/null
+++ b/CTe.AppTeste/schemas/evCancIECTe_v4.00.xsd
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+ Schema XML de validação do evento cancelamento do insucesso de entrega eletrônico do CT-e
+110191
+
+
+
+
+
+ Descrição do Evento - “Cancelamento do Insucesso de Entrega do CT-e”
+
+
+
+
+
+
+
+
+
+
+ Número do Protocolo de autorização do CT-e
+
+
+
+
+ Número do Protocolo de autorização do evento a ser cancelado
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/evCancPrestDesacordo.xsd b/CTe.AppTeste/schemas/evCancPrestDesacordo.xsd
new file mode 100644
index 000000000..a3404d254
--- /dev/null
+++ b/CTe.AppTeste/schemas/evCancPrestDesacordo.xsd
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+ Schema XML de validação do evento Cancelamento Prestação do Serviço em Desacordo 610111
+
+
+
+
+
+ Descrição do Evento - “Cancelamento Prestação do Serviço em Desacordo”
+
+
+
+
+
+
+
+
+
+
+
+ Protocolo do evento que será cancelado
+ Informar o número do protocolo de autorização do evento de prestação de serviço em desacordo que será cancelado
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/evEPECCTe_v4.00.xsd b/CTe.AppTeste/schemas/evEPECCTe_v4.00.xsd
new file mode 100644
index 000000000..be7452cdf
--- /dev/null
+++ b/CTe.AppTeste/schemas/evEPECCTe_v4.00.xsd
@@ -0,0 +1,161 @@
+
+
+
+
+
+
+ Schema XML de validação do evento de emissão prévia de emissão em contingência
+110113
+
+
+
+
+
+ Descrição do Evento - “EPEC”
+
+
+
+
+
+
+
+
+
+
+ Justificativa da Entrada em Contingencia
+
+
+
+
+ Valor do ICMS
+
+
+
+
+ Valor do ICMS ST
+
+
+
+
+ Valor Total da Prestação do Serviço
+ Pode conter zeros quando o CT-e for de complemento de ICMS
+
+
+
+
+ Valor total da carga
+ Dever ser informado para todos os modais, com exceção para o Dutoviário.
+
+
+
+
+ Indicador do "papel" do tomador do serviço no CT-e
+
+
+
+
+
+ Tomador do Serviço
+ Preencher com:
+0-Remetente;
+1-Expedidor;2-Recebedor;3-Destinatário
+;4 - Outros
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ UF do tomador do serviço
+ Informar 'EX' para operações com o exterior.
+
+
+
+
+
+ Número do CNPJ
+ Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros.
+Informar os zeros não significativos.
+
+
+
+
+ Número do CPF
+ Informar os zeros não significativos.
+
+
+
+
+
+ Inscrição Estadual
+ Informar a IE do tomador ou ISENTO se tomador é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o tomador não seja contribuinte do ICMS não informar o conteúdo.
+
+
+
+
+
+
+
+ Modal
+ Preencher com:
+
+01-Rodoviário;
+
+02-Aéreo;
+03-Aquaviário;
+
+04-Ferroviário;
+
+05-Dutoviário;
+06-Multimodal;
+
+
+
+
+ UF do início da prestação
+ Informar 'EX' para operações com o exterior.
+
+
+
+
+ UF do término da prestação
+ Informar 'EX' para operações com o exterior.
+
+
+
+
+ Tipo do CT-e - Aceitar apenas Tipo Normal = 0
+ Preencher com:
+ 0 - CT-e Normal;
+ 1 - CT-e de Complemento de Valores; 2 - CT-e de Anulação;
+ 3 - CT-e Substituto
+
+
+
+
+
+
+
+
+
+
+
+ Data e hora de emissão do CT-e
+ Formato AAAA-MM-DDTHH:MM:DD TZD
+
+
+
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/evGTV_v4.00.xsd b/CTe.AppTeste/schemas/evGTV_v4.00.xsd
new file mode 100644
index 000000000..9b9cd01a3
--- /dev/null
+++ b/CTe.AppTeste/schemas/evGTV_v4.00.xsd
@@ -0,0 +1,255 @@
+
+
+
+
+
+
+ Schema XML de validação do evento informações da GTV 110170
+
+
+
+
+
+ Descrição do Evento - “Informações da GTV”
+
+
+
+
+
+
+
+
+
+
+
+ Grupo de Informações das GTV
+
+
+
+
+
+ Número da GTV
+
+
+
+
+
+
+
+
+
+
+ Identificador para diferenciar GTV de mesmo número (Usar número do AIDF ou identificador interno da empresa),
+
+
+
+
+
+
+
+
+
+
+ Série
+
+
+
+
+
+
+
+
+
+
+ Subsérie
+
+
+
+
+
+
+
+
+
+
+ Data de Emissão
+ Formato AAAA-MM-DD
+
+
+
+
+ Número Dígito Verificador
+
+
+
+
+
+
+
+
+
+
+ Quantidade de volumes/malotes
+
+
+
+
+ Informações das Espécies transportadas
+
+
+
+
+
+ Tipo da Espécie
+ 1 - Numerário
+2 - Cheque
+3 - Moeda
+4 - Outros
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Valor Transportada em Espécie indicada
+
+
+
+
+
+
+
+ Informações do Remetente da GTV
+
+
+
+
+
+
+ Número do CNPJ
+ Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros.
+ Informar os zeros não significativos.
+
+
+
+
+ Número do CPF
+ Informar os zeros não significativos.
+
+
+
+
+
+ Inscrição Estadual
+ Informar a IE do remetente ou ISENTO se remetente é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o remetente não seja contribuinte do ICMS não informar o conteúdo.
+
+
+
+
+
+
+
+ Sigla da UF
+ Informar EX para operações com o exterior.
+
+
+
+
+ Razão social ou nome do remetente
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Informações do Destinatário da GTV
+
+
+
+
+
+
+ Número do CNPJ
+ Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros.
+ Informar os zeros não significativos.
+
+
+
+
+ Número do CPF
+ Informar os zeros não significativos.
+
+
+
+
+
+ Inscrição Estadual
+ Informar a IE do destinatário ou ISENTO se remetente é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o remetente não seja contribuinte do ICMS não informar o conteúdo.
+
+
+
+
+
+
+
+ Sigla da UF
+ Informar EX para operações com o exterior.
+
+
+
+
+ Razão social ou nome do destinatário
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Placa do veículo
+
+
+
+
+ UF em que veículo está licenciado
+ Sigla da UF de licenciamento do veículo.
+
+
+
+
+ RNTRC do transportador
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/evIECTe_v4.00.xsd b/CTe.AppTeste/schemas/evIECTe_v4.00.xsd
new file mode 100644
index 000000000..09266903f
--- /dev/null
+++ b/CTe.AppTeste/schemas/evIECTe_v4.00.xsd
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+ Schema XML de validação do evento insucesso na entrega eletrônico do CT-e
+110190
+
+
+
+
+
+ Descrição do Evento - “Insucesso na Entrega do CT-e”
+
+
+
+
+
+
+
+
+
+
+ Número do Protocolo de autorização do CT-e
+
+
+
+
+ Data e hora da tentativa da entrega da NF-e
+ Formato AAAA-MM-DDTHH:MM:DD TZD
+
+
+
+
+
+
+
+ Número da tentativa de entrega que não teve insucesso
+
+
+
+
+
+
+
+
+
+
+ Motivo do insucesso
+ 1- Recebedor não encontrado;
+2- Recusa do recebedor;
+3- Endereço inexistente;
+4- Outros (exige informar justificativa)
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Justificativa do Motivo de insucesso, informar apenas para tpMotivo = 4
+
+
+
+
+
+
+
+
+
+
+ Latitude do ponto de entrega
+
+
+
+
+ Longitude do ponto de entrega
+
+
+
+
+ Hash (SHA1) no formato Base64 resultante da concatenação: Chave de acesso do CT-e + Base64 da imagem capturada da tentativa com insucesso da entrega (Exemplo: foto do local que não recebeu a entrega ou do local sem recebedor)
+ O hashCSRT é o resultado das funções SHA-1 e base64 do token CSRT fornecido pelo fisco + chave de acesso do DF-e. (Implementação em futura NT)
+Observação: 28 caracteres são representados no schema como 20 bytes do tipo base64Binary
+
+
+
+
+
+
+
+
+
+ Data e hora de geração do hash tentativa entrega
+ Formato AAAA-MM-DDTHH:MM:DD TZD
+
+
+
+
+
+
+
+ Grupo de informações das NF-e que não tiveram sucesso na entrega ao Destinatário
+ Informar o grupo apenas para CT-e com tipo de serviço Normal
+
+
+
+
+
+ Chave de acesso da NF-e com insucesso na tentativa de entrega
+
+
+
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/evPrestDesacordo_v4.00.xsd b/CTe.AppTeste/schemas/evPrestDesacordo_v4.00.xsd
new file mode 100644
index 000000000..34542d33e
--- /dev/null
+++ b/CTe.AppTeste/schemas/evPrestDesacordo_v4.00.xsd
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+ Schema XML de validação do evento Prestação do Serviço em Desacordo 610110
+
+
+
+
+
+ Descrição do Evento - “Prestação do Serviço em Desacordo”
+
+
+
+
+
+
+
+
+
+
+
+ Indicador de operação em desacordo
+
+
+
+
+
+
+
+
+
+ Observações do tomador
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/evRegMultimodal_v4.00.xsd b/CTe.AppTeste/schemas/evRegMultimodal_v4.00.xsd
new file mode 100644
index 000000000..6ba3eccd6
--- /dev/null
+++ b/CTe.AppTeste/schemas/evRegMultimodal_v4.00.xsd
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+ Schema XML de validação do evento Registro Multimodal 110160
+
+
+
+
+
+ Descrição do Evento - “Registro Multimodal”
+
+
+
+
+
+
+
+
+
+
+ Informação complementar sobre o registro, indicação do tipo de documento utilizado e demais situações ocorridas no Multimodal (Texto Livre).
+
+
+
+
+
+
+
+
+
+
+
+
+ Numero do Documento lançado no CT-e Multimodal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/eventoCTeTiposBasico_v3.00.xsd b/CTe.AppTeste/schemas/eventoCTeTiposBasico_v3.00.xsd
index 567bd5151..c5ae9560f 100644
--- a/CTe.AppTeste/schemas/eventoCTeTiposBasico_v3.00.xsd
+++ b/CTe.AppTeste/schemas/eventoCTeTiposBasico_v3.00.xsd
@@ -23,11 +23,21 @@
2 - Homologação
-
-
- CNPJ do emissor do evento
-
-
+
+
+
+ CNPJ do emissor do evento
+
+
+
+
+ CPF do emissor do evento
+ Informar zeros não significativos.
+
+Usar com série específica 920-969 para emitente pessoa física com inscrição estadual
+
+
+
Chave de Acesso do CT-e vinculado ao evento
@@ -83,6 +93,27 @@ Insira neste local o XML específico do tipo de evento (cancelamento, encerramen
+
+
+ Grupo de informações do pedido de registro de evento da Nota Fiscal Fácil
+
+
+
+
+
+ Solicitação do pedido de registro de evento da NFF.
+ Será preenchido com a totalidade de campos informados no aplicativo emissor serializado.
+
+
+
+
+
+
+
+
+
+
+
@@ -211,7 +242,26 @@ Insira neste local o XML específico do tipo de evento (cancelamento, encerramen
-
+
+
+ IP do transmissor do documento fiscal para o ambiente autorizador
+
+
+
+
+ Porta de origem utilizada na conexão (De 0 a 65535)
+
+
+
+
+
+
+
+
+
+ Data e Hora da Conexão de Origem
+
+
diff --git a/CTe.AppTeste/schemas/eventoCTeTiposBasico_v4.00.xsd b/CTe.AppTeste/schemas/eventoCTeTiposBasico_v4.00.xsd
new file mode 100644
index 000000000..71ce7421d
--- /dev/null
+++ b/CTe.AppTeste/schemas/eventoCTeTiposBasico_v4.00.xsd
@@ -0,0 +1,331 @@
+
+
+
+
+
+
+
+ Tipo Evento
+
+
+
+
+
+
+
+ Código do órgão de recepção do Evento. Utilizar a Tabela do IBGE extendida, utilizar 90 para identificar SUFRAMA
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+
+ CNPJ do emissor do evento
+
+
+
+
+ CPF do emissor do evento
+ Informar zeros não significativos.
+
+Usar com série específica 920-969 para emitente pessoa física com inscrição estadual
+
+
+
+
+
+ Chave de Acesso do CT-e vinculado ao evento
+
+
+
+
+ Data e Hora do Evento, formato UTC (AAAA-MM-DDThh:mm:ssTZD)
+
+
+
+
+ Tipo do Evento
+
+
+
+
+
+
+
+
+
+
+ Seqüencial do evento para o mesmo tipo de evento. Para maioria dos eventos será 1, nos casos em que possa existir mais de um evento o autor do evento deve numerar de forma seqüencial.
+
+
+
+
+
+
+
+
+
+
+ Detalhamento do evento específico
+
+
+
+
+
+ XML do evento
+Insira neste local o XML específico do tipo de evento (cancelamento, encerramento, registro de passagem).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Grupo de informações do pedido de registro de evento da Nota Fiscal Fácil
+
+
+
+
+
+ Solicitação do pedido de registro de evento da NFF.
+ Será preenchido com a totalidade de campos informados no aplicativo emissor serializado.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Grupo de Informação do Provedor de Assinatura e Autorização
+
+
+
+
+
+ CNPJ do Provedor de Assinatura e Autorização
+
+
+
+
+ Assinatura RSA do Emitente para DFe gerados por PAA
+
+
+
+
+
+ Assinatura digital padrão RSA
+ Converter o atributo Id do DFe para array de bytes e assinar com a chave privada do RSA com algoritmo SHA1 gerando um valor no formato base64.
+
+
+
+
+ Chave Publica no padrão XML RSA Key
+
+
+
+
+
+
+
+
+
+
+
+ Identificador da TAG a ser assinada, a regra de formação do Id é:
+“ID” + tpEvento + chave do CT-e + nSeqEvento
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo retorno do Evento
+
+
+
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+ Versão do Aplicativo que recebeu o Evento
+
+
+
+
+ Código do órgão de recepção do Evento. Utilizar a Tabela do IBGE extendida, utilizar 90 para identificar SUFRAMA
+
+
+
+
+ Código do status da registro do Evento
+
+
+
+
+ Descrição literal do status do registro do Evento
+
+
+
+
+ Chave de Acesso CT-e vinculado
+
+
+
+
+ Tipo do Evento vinculado
+
+
+
+
+
+
+
+
+
+
+ Descrição do Evento
+
+
+
+
+
+
+
+
+
+
+ Seqüencial do evento
+
+
+
+
+
+
+
+
+
+
+ Data e Hora de do recebimento do evento ou do registro do evento formato AAAA-MM-DDThh:mm:ssTZD
+
+
+
+
+ Número do protocolo de registro do evento
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo procEvento
+
+
+
+
+
+
+
+
+ IP do transmissor do documento fiscal para o ambiente autorizador
+
+
+
+
+ Porta de origem utilizada na conexão (De 0 a 65535)
+
+
+
+
+
+
+
+
+
+ Data e Hora da Conexão de Origem
+
+
+
+
+
+ Tipo Versão do Evento
+
+
+
+
+
+
+
+
+ Tipo Modal transporte
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo número sequencial único do AN
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/eventoCTe_v4.00.xsd b/CTe.AppTeste/schemas/eventoCTe_v4.00.xsd
new file mode 100644
index 000000000..a61975004
--- /dev/null
+++ b/CTe.AppTeste/schemas/eventoCTe_v4.00.xsd
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+ Schema XML de validação do Pedido de Registro de Evento do CT-e
+
+
+
diff --git a/CTe.AppTeste/schemas/inutCTeTiposBasico_v3.00.xsd b/CTe.AppTeste/schemas/inutCTeTiposBasico_v3.00.xsd
index 5a26ca820..d1c6e57d9 100644
--- a/CTe.AppTeste/schemas/inutCTeTiposBasico_v3.00.xsd
+++ b/CTe.AppTeste/schemas/inutCTeTiposBasico_v3.00.xsd
@@ -1,4 +1,5 @@
+
@@ -195,7 +196,26 @@
-
+
+
+ IP do transmissor do documento fiscal para o ambiente autorizador
+
+
+
+
+ Porta de origem utilizada na conexão (De 0 a 65535)
+
+
+
+
+
+
+
+
+
+ Data e Hora da Conexão de Origem
+
+
diff --git a/CTe.AppTeste/schemas/inutCTeTiposBasico_v4.00.xsd b/CTe.AppTeste/schemas/inutCTeTiposBasico_v4.00.xsd
new file mode 100644
index 000000000..36228c762
--- /dev/null
+++ b/CTe.AppTeste/schemas/inutCTeTiposBasico_v4.00.xsd
@@ -0,0 +1,228 @@
+
+
+
+
+
+
+
+ Tipo Pedido de Inutilização de Numeração do Conhecimento de Transporte eletrônico
+
+
+
+
+ Dados do Pedido de Inutilização de Numeração do Conhecimento de Transporte eletrônico
+
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+ Serviço Solicitado
+
+
+
+
+ Código da UF solicitada
+
+
+
+
+ Ano de inutilização da numeração
+
+
+
+
+
+
+
+
+
+ CNPJ do emitente
+
+
+
+
+ Modelo da CT-e (57 ou 67)
+
+
+
+
+ Série da CT-e
+
+
+
+
+ Número da CT-e inicial
+
+
+
+
+ Número da CT-e final
+
+
+
+
+ Justificativa do pedido de inutilização
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo retorno do Pedido de Inutilização de Numeração do Conhecimento de Transporte eletrônico
+
+
+
+
+ Dados do Retorno do Pedido de Inutilização de Numeração do Conhecimento de Transporte eletrônico
+
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+ Versão do Aplicativo que processou a CT-e
+
+
+
+
+ Código do status da mensagem enviada.
+
+
+
+
+ Descrição literal do status do serviço solicitado.
+
+
+
+
+
+
+
+
+
+
+
+ Código da UF solicitada
+
+
+
+
+ Ano de inutilização da numeração
+
+
+
+
+
+
+
+
+
+ CNPJ do emitente
+
+
+
+
+ Modelo da CT-e (57 ou 67)
+
+
+
+
+ Série da CT-e
+
+
+
+
+ Número da CT-e inicial
+
+
+
+
+ Número da CT-e final
+
+
+
+
+ Data e hora de recebimento, no formato AAAA-MM-DDTHH:MM:SS TZD. Deve ser preenchida com data e hora da gravação no Banco em caso de Confirmação. Em caso de Rejeição, com data e hora do recebimento do Pedido de Inutilização.
+
+
+
+
+ Número do Protocolo de Status do CT-e. 1 posição (1 – Secretaria de Fazenda Estadual , 3 - SEFAZ Virtual RS, 5 - SEFAZ Virtual SP); 2 - código da UF - 2 posições ano; 10 seqüencial no ano.
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Pedido de inutilzação de númeração de CT-e processado
+
+
+
+
+
+
+
+
+ IP do transmissor do documento fiscal para o ambiente autorizador
+
+
+
+
+ Porta de origem utilizada na conexão (De 0 a 65535)
+
+
+
+
+
+
+
+
+
+ Data e Hora da Conexão de Origem
+
+
+
+
+
+ Tipo Versão Inutilização de numeração de CT-e
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/inutCTe_v4.00.xsd b/CTe.AppTeste/schemas/inutCTe_v4.00.xsd
new file mode 100644
index 000000000..c368b74d0
--- /dev/null
+++ b/CTe.AppTeste/schemas/inutCTe_v4.00.xsd
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+ Schema XML de validação do Pedido de Inutilização de Numeração do Conhecimento de Transportes eletrônico
+
+
+
diff --git a/CTe.AppTeste/schemas/leiauteChCTe_v3.00.xsd b/CTe.AppTeste/schemas/leiauteChCTe_v3.00.xsd
new file mode 100644
index 000000000..b9f11c2ec
--- /dev/null
+++ b/CTe.AppTeste/schemas/leiauteChCTe_v3.00.xsd
@@ -0,0 +1,478 @@
+
+
+
+
+
+ Tipo Versão 3.00
+
+
+
+
+
+
+
+ Versão documento
+
+
+
+
+
+
+
+ Tipo número sequencial único do AN
+
+
+
+
+
+
+
+ solicitação de distribuição de dados de controle dos DF-e
+
+
+
+
+
+Identificação do Ambiente:
+1 - Produção;
+2 - Homologação
+
+
+
+
+
+ Versão do Aplicativo que solicitou a distribuição de DF-e
+
+
+
+
+ Indicador de Compactação da Mensagem de retorno:
+0 - sem compactação;
+1 - compactação padrão gZip
+
+
+
+
+
+
+
+
+
+
+
+ Código da UF do autorizador. Utilizar a Tabela do IBGE.
+
+
+
+
+ último NSU (AN) recebido pela SVC. Caso seja informado com zero, o AN tentará localizar o primeiro DF-e.
+
+
+
+
+
+ NSU final desejado. Se informado, a aplicação do AN deverá observar este valor máximo do NSU a ser fornecido.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Lote de dados de controle sobre os DF-e encontrados
+
+
+
+
+
+Identificação do Ambiente:
+
+1 - Produção;
+2 - Homologação
+
+
+
+
+
+ Versão do Aplicativo que solicitou a distribuição de DF-e
+
+
+
+
+ Código do status da resposta
+
+
+
+
+ Descrição literal do status da resposta
+
+
+
+
+ Código da UF do autorizador. Utilizar a Tabela do IBGE.
+
+
+
+
+ Ultimo NSU pesquisado pelo Ambiente Nacional
+
+
+
+
+
+ NSU final desejado. Se informado, a aplicação do AN deverá observar este valor máximo do NSU a ser fornecido.
+
+
+
+
+
+
+
+
+
+
+
+
+ Maior NSU existente na Base Nacional para a SVC.
+
+
+
+
+
+
+
+
+
+
+
+ Schema XML dados descompactado
+
+
+
+
+
+ informações de controle CT-e
+
+
+
+
+ informações de controle Cancelamento
+
+
+
+
+ informações de controle Evento
+
+
+
+
+ informações de controle Inutilização
+
+
+
+
+
+
+
+
+
+
+ Código da UF do emitente do Documento Fiscal. Utilizar a Tabela do IBGE.
+
+
+
+
+ Chave de Acesso do DF-e
+
+
+
+
+ Hash MD5 da Chave de acesso convertido para base64
+
+
+
+
+ Tipo de CT-e
+ Preencher com:
+
+0 - CT-e Normal;
+1 - CT-e de Complemento de Valores;
+2 - CT-e de Anulação de Valores;
+3 - CT-e Substituto
+
+
+
+
+
+
+
+
+
+
+
+
+ Forma de Emiissão do DFe
+ Preencher com:
+1 - Normal;
+ 4-EPEC pela SVC; 5 - Contingência FSDA;
+ 7 - Autorização pela SVC-RS;
+ 8 - Autorização pela SVC-SP
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Indicador de denegação do documento: 0 - NÃO denegado; 1 - denegado
+
+
+
+
+
+
+
+
+
+
+ Data e hora de autorizacao no formato AAAA-MM-DDTHH:MM:SS TZD.
+
+
+
+
+ Número de protocolo de autorização CT-e.
+
+
+
+
+
+ número sequencial único do Ambiente Nacional
+
+
+
+
+
+
+
+
+ Código da UF do emitente do Documento Fiscal. Utilizar a Tabela do IBGE.
+
+
+
+
+ Chave de Acesso do DF-e cancelado
+
+
+
+
+ Hash MD5 da Chave de Acesso convertido para base64
+
+
+
+
+ Forma de Emiissão do DFe
+ Preencher com:
+1 - Normal;
+ 4-EPEC pela SVC; 5 - Contingência FSDA;
+ 7 - Autorização pela SVC-RS;
+ 8 - Autorização pela SVC-SP
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Número de protocolo de autorização do CT-e.
+
+
+
+
+ Data e hora de autorizacao do Cancelamento no formato AAAA-MM-DDTHH:MM:SS TZD.
+
+
+
+
+ Número de protocolo de autorização do Cancelamento
+
+
+
+
+
+ número sequencial único do Ambiente Nacional
+
+
+
+
+
+
+
+
+ Código da UF do emitente do Documento Fiscal. Utilizar a Tabela do IBGE.
+
+
+
+
+ Ano de inutilização da numeração
+
+
+
+
+ CNPJ do emitente
+
+
+
+
+ Série do Documento Fiscal
+
+
+
+
+ Modelo do Documento Fiscal
+
+
+
+
+ Número da CT-e inicial
+
+
+
+
+ Número da CT-e final
+
+
+
+
+ Data e hora de autorizacao no formato AAAA-MM-DDTHH:MM:SS TZD
+
+
+
+
+ Número de protocolo de autorização da Inutilização.
+
+
+
+
+
+ número sequencial único do Ambiente Nacional
+
+
+
+
+
+
+
+
+ Código do Orgao de Recepcao do Evento
+
+
+
+
+ Chave de Acesso do DF-e
+
+
+
+
+ Hash MD5 da Chave de Acesso convertido para base64
+
+
+
+
+ Forma de Emiissão do DFe
+ Preencher com:
+1 - Normal;
+ 4-EPEC pela SVC; 5 - Contingência FSDA;
+ 7 - Autorização pela SVC-RS;
+ 8 - Autorização pela SVC-SP
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CNPJ do Autor do Evento
+
+
+
+
+ Data e Hora do Evento, formato (AAAA-MM-DDThh:mm:ss TZD)
+
+
+
+
+ Tipo do Evento
+
+
+
+
+
+
+
+
+
+ Seqüencial do evento para o mesmo tipo de evento. Para maioria dos eventos será 1, nos casos em que possa existir mais de um evento o autor do evento deve numerar de forma seqüencial.
+
+
+
+
+
+
+
+
+
+
+ Número de protocolo de autorização do CT-e.
+
+
+
+
+ Data e hora de autorizacao do Evento no formato AAAA-MM-DDTHH:MM:SS TZD.
+
+
+
+
+ Número de protocolo de autorização do evento
+
+
+
+
+
+ número sequencial único do Ambiente Nacional
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/leiauteLoteRFBCTe_v3.00.xsd b/CTe.AppTeste/schemas/leiauteLoteRFBCTe_v3.00.xsd
new file mode 100644
index 000000000..a1174e93b
--- /dev/null
+++ b/CTe.AppTeste/schemas/leiauteLoteRFBCTe_v3.00.xsd
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+ Tipo Versão
+
+
+
+
+
+
+
+ Tipo número sequencial único do AN
+
+
+
+
+
+
+
+ Schema XML de validação do lote de envio de documentos ficais eletronicos
+
+
+
+
+ Versão da aplicação do órgão autorizador.
+
+
+
+
+
+ Conjunto de DF-e compactado com o método indicado no indComp, deve conter as mesmas informações do grupo loteEnvCTe
+
+
+
+
+ Conjunto de DF-e enviados, a princípio, apenas será permitido o envio de documentos fiscais em vigência.
+
+
+
+
+
+
+
+
+ Schema XML de validação da área de dados descompactada
+
+
+
+
+
+
+
+ informação do proc
+
+
+
+
+
+ Identificação do Schema XML de validação do proc, Ex. procCTe_v3.00.xsd, procCTeOS_v3.00.xsd, procInutCTe_v3.00.xsd, etc.
+
+
+
+
+
+
+
+
+
+
+ Schema XML de validação da área de dados da mensagem de retorno
+
+
+
+
+ Identificação do Ambiente: 1 - Produção 2 - Homologação
+
+
+
+
+ Versão da aplicação do AN que recebeu os documentos fiscais.
+
+
+
+
+ Código do status da resposta
+
+
+
+
+ Descrição literal do status da resposta
+
+
+
+
+
+ Retorno de processamento dos DF-e, somente é gerado se os documentos fiscais forem válidos.
+
+
+
+
+
+ Número de protocolo do DF-e processado, o campo serve para a aplicação da SEFAZ identificar os retornos.
+
+
+
+
+ código do status do processmaneto do DF-e
+
+
+
+
+ descrição do status do processmaneto do DF-e
+
+
+
+
+ número sequencial único do Ambiente Nacional
+
+
+
+
+ Número seqüencial único de Autorização gerado pelo Ambiente Nacional para a UF Autorizadora
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Schema XML de validação da área de dados da mensagem da solicitação de distribuição de DF-e
+
+
+
+
+ Identificação do Ambiente: 1 - Produção 2 - Homologação
+
+
+
+
+ Versão do Aplicativo que solicitou a distribuição de DF-e
+
+
+
+
+ Indicador de DF-e solicitados: 0 - DF-e autorizados pela UF; 1 - DF-e interestaduais destinados para a UF ; 2 – DF-e autorizados pela SEFAZ Virtual ou SVC em nome da UF; 3 - DF-e autorizados em contingencia SVC em nome da UF; 8 – DF-e interestaduais destinados para a UF (1) e DF-e autorizados pela SEFAZ Virtual ou SVC em nome da UF (2); 9 - Todos os DF-e.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Indicador de Compactação da Mensagem de retorno: 0 - sem compactação; 1 - compactação padrão gZip
+
+
+
+
+
+
+
+
+
+
+ último NSUAN recebido, caso seja informado com zero, o AN tentará localizar o primeiro DF-e existente.
+
+
+
+
+
+
+
+ Schema XML de validação da área de dados da mensagem da solicitação de distribuição de DF-e
+
+
+
+
+ Identificação do Ambiente: 1 - Produção 2 - Homologação
+
+
+
+
+ Versão do Aplicativo que solicitou a distribuição de DF-e
+
+
+
+
+ Indicador do tipo de NSU que será solicitado:
+0 – NSU dos DF-e autorizados pela UF;
+1 – NSU dos DF-e de interesse da UF que não foram autorizados pela UF;
+
+
+
+
+ Indicador de Compactação da Mensagem de retorno: 0 - sem compactação; 1 - compactação padrão gZip
+
+
+
+
+ Último NSU recebido pela UF
+
+
+
+
+
+
+
+ Schema XML de validação da área de dados da mensagem da consulta NSU Faltantes
+
+
+
+
+ Identificação do Ambiente: 1 - Produção 2 - Homologação
+
+
+
+
+ Versão do Aplicativo que solicitou a distribuição de DF-e
+
+
+
+
+ Indicador do tipo de NSU que será solicitado:
+0 – NSU de autorizacao;
+1 – NSU de busca
+
+
+
+
+
+
+
+
+
+
+ Indicador de Compactação da Mensagem de retorno: 0 - sem compactação; 1 - compactação padrão gZip
+
+
+
+
+
+
+
+
+
+
+ Lista de NSU
+
+
+
+
+
+ NSU faltante na base de dados do Estado
+
+
+
+
+
+
+
+
+
+
+ Schema XML de validação do lote de retorno de documentos ficais eletronicos
+
+
+
+
+ Identificação do Ambiente: 1 - Produção 2 - Homologação
+
+
+
+
+ Versão do Aplicativo que atendeu a pedido de distribuição de DF-e
+
+
+
+
+ código do status de resultado da pesquisa
+
+
+
+
+ descrição do resultado do pesquisa
+
+
+
+
+ último NSU
+
+
+
+
+
+
+
+
+
+
+
+ Schema XML de validação do lote de retorno de documentos ficais eletronicos
+
+
+
+
+ Identificação do Ambiente: 1 - Produção 2 - Homologação
+
+
+
+
+ Versão do Aplicativo que atendeu a pedido de distribuição de DF-e
+
+
+
+
+ código do status de resultado da pesquisa
+
+
+
+
+ descrição do resultado do pesquisa
+
+
+
+
+ Data e Hora de recebimento da solicitação de distribuição
+Formato = AAAA-MM-DDTHH:MM:SS TZD
+
+
+
+
+ Indicador do tipo de NSU que será solicitado:
+0 – NSU dos DF-e autorizados pela UF;
+1 – NSU dos DF-e de interesse da UF que não foram autorizados pela UF;
+
+
+
+
+ último NSU
+
+
+
+
+
+
+
+
+
+
+
+ Schema XML de validação da área de dados descompactada
+
+
+
+
+
+
+
+ informação do proc
+
+
+
+
+
+ Identificação do Schema XML de validação do proc, Ex. procCTe_v3.00.xsd, procCTeOS_v3.00.xsd, procInutCTe_v3.00.xsd, etc.
+
+
+
+
+ número sequencial único do Ambiente Nacional
+
+
+
+
+
+
+
+
+
+
+ Schema XML de validação da área de dados descompactada
+
+
+
+
+
+
+
+ Código do status
+
+
+
+
+ Descrição literal do status correspondente ao documento retornado
+
+
+
+
+
+
+
+ informação do proc
+
+
+
+
+
+ Identificação do Schema XML de validação do proc, Ex. procCTe_v3.00.xsd, procCTeOS_v3.00.xsd, procInutCTe_v3.00.xsd, etc.
+
+
+
+
+
+
+
+
+ Número seqüencial único de Autorização ou de Busca
+
+
+
+
+ Número seqüencial único gerado na ordem de recepção no Ambiente Nacional independente do estado autorizador.
+
+
+
+
+
+
+
+
+ Schema XML de validação da área de dados da mensagem de consulta protocolos faltantes
+
+
+
+
+ Identificação do Ambiente: 1 - Produção 2 - Homologação
+
+
+
+
+ Versão do Aplicativo que gerou a consulta
+
+
+
+
+ número do protocolo inicial
+
+
+
+
+
+
+
+ Schema XML de validação da área de dados da mensagem de retorno da consulta protocolos faltantes
+
+
+
+
+ Identificação do Ambiente: 1 - Produção 2 - Homologação
+
+
+
+
+ Versão do Aplicativo que atendeu a consulta
+
+
+
+
+ código do status de resultado da pesquisa
+
+
+
+
+ descrição do resultado do pesquisa
+
+
+
+
+ número do último protocolo pesquisado
+
+
+
+
+
+
+
+ número do protocolo inicial
+
+
+
+
+ número do protocolo final
+
+
+
+
+
+
+
+
+
+
+ Schema XML de validação da área de dados da mensagem de retorno da consulta NSU faltantes
+
+
+
+
+ Identificação do Ambiente: 1 - Produção 2 - Homologação
+
+
+
+
+ Versão do Aplicativo que atendeu a pedido de distribuição de DF-e
+
+
+
+
+ código do status de resultado da pesquisa
+
+
+
+
+ descrição do resultado do pesquisa
+
+
+
+
+ Data e Hora de recebimento da solicitação de distribuição
+Formato = AAAA-MM-DDTHH:MM:SS
+
+
+
+
+ Indicador do tipo de NSU que será solicitado:
+0 – NSU dos DF-e autorizados pela UF;
+1 – NSU dos DF-e de interesse da UF que não foram autorizados pela UF;
+
+
+
+
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/loteDistCTePorUF_v3.00.xsd b/CTe.AppTeste/schemas/loteDistCTePorUF_v3.00.xsd
new file mode 100644
index 000000000..b5533b736
--- /dev/null
+++ b/CTe.AppTeste/schemas/loteDistCTePorUF_v3.00.xsd
@@ -0,0 +1,9 @@
+
+
+
+
+
+ Estrutura do Lote de Retorno de pedido de distribuição de CT-e, utilizar na validação da estrutura descompactada
+
+
+
diff --git a/CTe.AppTeste/schemas/loteDistCTe_v3.00.xsd b/CTe.AppTeste/schemas/loteDistCTe_v3.00.xsd
new file mode 100644
index 000000000..66b4e0d49
--- /dev/null
+++ b/CTe.AppTeste/schemas/loteDistCTe_v3.00.xsd
@@ -0,0 +1,9 @@
+
+
+
+
+
+ Estrutura do Lote de Retorno de pedido de distribuição de CT-e, utilizar na validação da estrutura descompactada
+
+
+
diff --git a/CTe.AppTeste/schemas/loteEnvCTe_v3.00.xsd b/CTe.AppTeste/schemas/loteEnvCTe_v3.00.xsd
new file mode 100644
index 000000000..ad2399ea3
--- /dev/null
+++ b/CTe.AppTeste/schemas/loteEnvCTe_v3.00.xsd
@@ -0,0 +1,9 @@
+
+
+
+
+
+ Estrutura do Lote de Envio de documentos do CT-e, utilizar na validação da estrutura descompactada
+
+
+
diff --git a/CTe.AppTeste/schemas/loteRFBCTe_v3.00.xsd b/CTe.AppTeste/schemas/loteRFBCTe_v3.00.xsd
new file mode 100644
index 000000000..309712e7f
--- /dev/null
+++ b/CTe.AppTeste/schemas/loteRFBCTe_v3.00.xsd
@@ -0,0 +1,9 @@
+
+
+
+
+
+ Envio de Lote de CT-e para o Ambiente Nacional
+
+
+
diff --git a/CTe.AppTeste/schemas/procCTeOS_v3.00.xsd b/CTe.AppTeste/schemas/procCTeOS_v3.00.xsd
index 87c0b5f31..45456e445 100644
--- a/CTe.AppTeste/schemas/procCTeOS_v3.00.xsd
+++ b/CTe.AppTeste/schemas/procCTeOS_v3.00.xsd
@@ -1,4 +1,5 @@
+
@@ -11,7 +12,26 @@
-
+
+
+ IP do transmissor do documento fiscal para o ambiente autorizador
+
+
+
+
+ Porta de origem utilizada na conexão (De 0 a 65535)
+
+
+
+
+
+
+
+
+
+ Data e Hora da Conexão de Origem
+
+
diff --git a/CTe.AppTeste/schemas/procCTeOS_v4.00.xsd b/CTe.AppTeste/schemas/procCTeOS_v4.00.xsd
new file mode 100644
index 000000000..c019c2ecb
--- /dev/null
+++ b/CTe.AppTeste/schemas/procCTeOS_v4.00.xsd
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+ CT-e OS processado
+
+
+
+
+
+
+
+
+
+ IP do transmissor do documento fiscal para o ambiente autorizador
+
+
+
+
+ Porta de origem utilizada na conexão (De 0 a 65535)
+
+
+
+
+
+
+
+
+
+ Data e Hora da Conexão de Origem
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/procCTe_v3.00.xsd b/CTe.AppTeste/schemas/procCTe_v3.00.xsd
index 6354b1f25..863a5b341 100644
--- a/CTe.AppTeste/schemas/procCTe_v3.00.xsd
+++ b/CTe.AppTeste/schemas/procCTe_v3.00.xsd
@@ -1,5 +1,5 @@
-
+
@@ -12,7 +12,26 @@
-
+
+
+ IP do transmissor do documento fiscal para o ambiente autorizador
+
+
+
+
+ Porta de origem utilizada na conexão (De 0 a 65535)
+
+
+
+
+
+
+
+
+
+ Data e Hora da Conexão de Origem
+
+
diff --git a/CTe.AppTeste/schemas/procCTe_v4.00.xsd b/CTe.AppTeste/schemas/procCTe_v4.00.xsd
new file mode 100644
index 000000000..c13cb4c81
--- /dev/null
+++ b/CTe.AppTeste/schemas/procCTe_v4.00.xsd
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+ CT-e processado
+
+
+
+
+
+
+
+
+
+ IP do transmissor do documento fiscal para o ambiente autorizador
+
+
+
+
+ Porta de origem utilizada na conexão (De 0 a 65535)
+
+
+
+
+
+
+
+
+
+ Data e Hora da Conexão de Origem
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/procEventoCTe_v4.00.xsd b/CTe.AppTeste/schemas/procEventoCTe_v4.00.xsd
new file mode 100644
index 000000000..ddfe9d4fb
--- /dev/null
+++ b/CTe.AppTeste/schemas/procEventoCTe_v4.00.xsd
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+ Pedido de Registro de Eventos de CT-e processado
+
+
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/procGTVe_v3.00.xsd b/CTe.AppTeste/schemas/procGTVe_v3.00.xsd
new file mode 100644
index 000000000..b1af67b2e
--- /dev/null
+++ b/CTe.AppTeste/schemas/procGTVe_v3.00.xsd
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+ GTV-e processada
+
+
+
+
+
+
+
+
+
+ IP do transmissor do documento fiscal para o ambiente autorizador
+
+
+
+
+ Porta de origem utilizada na conexão (De 0 a 65535)
+
+
+
+
+
+
+
+
+
+ Data e Hora da Conexão de Origem
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/procGTVe_v4.00.xsd b/CTe.AppTeste/schemas/procGTVe_v4.00.xsd
new file mode 100644
index 000000000..b9a438933
--- /dev/null
+++ b/CTe.AppTeste/schemas/procGTVe_v4.00.xsd
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+ GTV-e processada
+
+
+
+
+
+
+
+
+
+ IP do transmissor do documento fiscal para o ambiente autorizador
+
+
+
+
+ Porta de origem utilizada na conexão (De 0 a 65535)
+
+
+
+
+
+
+
+
+
+ Data e Hora da Conexão de Origem
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/procInutCTe_v4.00.xsd b/CTe.AppTeste/schemas/procInutCTe_v4.00.xsd
new file mode 100644
index 000000000..241e5fa89
--- /dev/null
+++ b/CTe.AppTeste/schemas/procInutCTe_v4.00.xsd
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+ Pedido de inutilzação de numeração de CT-e processado
+
+
+
diff --git a/CTe.AppTeste/schemas/retCTeConsultaDFe_v1.00.xsd b/CTe.AppTeste/schemas/retCTeConsultaDFe_v1.00.xsd
new file mode 100644
index 000000000..682093e0c
--- /dev/null
+++ b/CTe.AppTeste/schemas/retCTeConsultaDFe_v1.00.xsd
@@ -0,0 +1,9 @@
+
+
+
+
+
+ Schema XML de validação do retorno da consulta do CT-e.
+
+
+
diff --git a/CTe.AppTeste/schemas/retCTeOS_v4.00.xsd b/CTe.AppTeste/schemas/retCTeOS_v4.00.xsd
new file mode 100644
index 000000000..3ca744be4
--- /dev/null
+++ b/CTe.AppTeste/schemas/retCTeOS_v4.00.xsd
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+ Schema XML de validação do retorno do recibo de envio do CT-e OS (Modelo 67)
+
+
+
diff --git a/CTe.AppTeste/schemas/retCTe_v3.00.xsd b/CTe.AppTeste/schemas/retCTe_v3.00.xsd
new file mode 100644
index 000000000..efa4f7d88
--- /dev/null
+++ b/CTe.AppTeste/schemas/retCTe_v3.00.xsd
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+ Schema XML de validação do retorno do recibo de envio do CT-e (Modelo 57)
+
+
+
diff --git a/CTe.AppTeste/schemas/retCTe_v4.00.xsd b/CTe.AppTeste/schemas/retCTe_v4.00.xsd
new file mode 100644
index 000000000..24f025ddc
--- /dev/null
+++ b/CTe.AppTeste/schemas/retCTe_v4.00.xsd
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+ Schema XML de validação do retorno do recibo de envio do CT-e (Modelo 57)
+
+
+
diff --git a/CTe.AppTeste/schemas/retConsNSUFaltCTe_v3.00.xsd b/CTe.AppTeste/schemas/retConsNSUFaltCTe_v3.00.xsd
new file mode 100644
index 000000000..b46f458c5
--- /dev/null
+++ b/CTe.AppTeste/schemas/retConsNSUFaltCTe_v3.00.xsd
@@ -0,0 +1,9 @@
+
+
+
+
+
+ Schema XML de validação da área de dados da mensagem de retorno da consulta NSU faltantes
+
+
+
diff --git a/CTe.AppTeste/schemas/retConsProtFaltCTe_v3.00.xsd b/CTe.AppTeste/schemas/retConsProtFaltCTe_v3.00.xsd
new file mode 100644
index 000000000..8721089b4
--- /dev/null
+++ b/CTe.AppTeste/schemas/retConsProtFaltCTe_v3.00.xsd
@@ -0,0 +1,9 @@
+
+
+
+
+
+ Retorno de pedido de consulta de protocolos faltantes de CT-e
+
+
+
diff --git a/CTe.AppTeste/schemas/retConsSitCTe_v4.00.xsd b/CTe.AppTeste/schemas/retConsSitCTe_v4.00.xsd
new file mode 100644
index 000000000..3e6aac4e7
--- /dev/null
+++ b/CTe.AppTeste/schemas/retConsSitCTe_v4.00.xsd
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+ Schema XML de validação do retorno da consulta da situação atual do CT-e.
+
+
+
diff --git a/CTe.AppTeste/schemas/retConsStatServCTe_v4.00.xsd b/CTe.AppTeste/schemas/retConsStatServCTe_v4.00.xsd
new file mode 100644
index 000000000..4bc47d6c1
--- /dev/null
+++ b/CTe.AppTeste/schemas/retConsStatServCTe_v4.00.xsd
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+ Schema XML de validação do Resultado da Consulta do Status do Serviço de CT-e
+
+
+
diff --git a/CTe.AppTeste/schemas/retDistCTePorUF_v3.00.xsd b/CTe.AppTeste/schemas/retDistCTePorUF_v3.00.xsd
new file mode 100644
index 000000000..bff2ba7cc
--- /dev/null
+++ b/CTe.AppTeste/schemas/retDistCTePorUF_v3.00.xsd
@@ -0,0 +1,9 @@
+
+
+
+
+
+ Retorno de pedido de distribuição de CT-e
+
+
+
diff --git a/CTe.AppTeste/schemas/retDistCTe_v3.00.xsd b/CTe.AppTeste/schemas/retDistCTe_v3.00.xsd
new file mode 100644
index 000000000..376de3463
--- /dev/null
+++ b/CTe.AppTeste/schemas/retDistCTe_v3.00.xsd
@@ -0,0 +1,9 @@
+
+
+
+
+
+ Retorno de pedido de distribuição de CT-e
+
+
+
diff --git a/CTe.AppTeste/schemas/retDistChCTe_v3.00.xsd b/CTe.AppTeste/schemas/retDistChCTe_v3.00.xsd
new file mode 100644
index 000000000..f403bfdb6
--- /dev/null
+++ b/CTe.AppTeste/schemas/retDistChCTe_v3.00.xsd
@@ -0,0 +1,9 @@
+
+
+
+
+
+ Lote de dados de controle sobre os DF-e encontrados
+
+
+
diff --git a/CTe.AppTeste/schemas/retEventoCTe_v4.00.xsd b/CTe.AppTeste/schemas/retEventoCTe_v4.00.xsd
new file mode 100644
index 000000000..41010ef8c
--- /dev/null
+++ b/CTe.AppTeste/schemas/retEventoCTe_v4.00.xsd
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+ Schema XML de validação do retorno Pedido de Evento do CT-e
+
+
+
diff --git a/CTe.AppTeste/schemas/retGTVe_v3.00.xsd b/CTe.AppTeste/schemas/retGTVe_v3.00.xsd
new file mode 100644
index 000000000..a502231a0
--- /dev/null
+++ b/CTe.AppTeste/schemas/retGTVe_v3.00.xsd
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+ Schema XML de validação do retorno do recibo de envio da GTV-e (Modelo 64)
+
+
+
diff --git a/CTe.AppTeste/schemas/retGTVe_v4.00.xsd b/CTe.AppTeste/schemas/retGTVe_v4.00.xsd
new file mode 100644
index 000000000..f4e333168
--- /dev/null
+++ b/CTe.AppTeste/schemas/retGTVe_v4.00.xsd
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+ Schema XML de validação do retorno do recibo de envio da GTV-e (Modelo 64)
+
+
+
diff --git a/CTe.AppTeste/schemas/retInutCTe_v4.00.xsd b/CTe.AppTeste/schemas/retInutCTe_v4.00.xsd
new file mode 100644
index 000000000..ab4f1d4cb
--- /dev/null
+++ b/CTe.AppTeste/schemas/retInutCTe_v4.00.xsd
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+ Schema XML de validação do retorno do Pedido de Inutilização de Numeração do CT-e
+
+
+
+
+
+
+
+
diff --git a/CTe.AppTeste/schemas/retLoteRFBCTe_v3.00.xsd b/CTe.AppTeste/schemas/retLoteRFBCTe_v3.00.xsd
new file mode 100644
index 000000000..d999e2560
--- /dev/null
+++ b/CTe.AppTeste/schemas/retLoteRFBCTe_v3.00.xsd
@@ -0,0 +1,9 @@
+
+
+
+
+
+ Retorno do resultado de processamento de Lote de CT-e para o Ambiente Nacional compactado
+
+
+
diff --git a/CTe.AppTeste/schemas/tiposGeralCTe_v3.00.xsd b/CTe.AppTeste/schemas/tiposGeralCTe_v3.00.xsd
index fcde53cf2..9431aa5c4 100644
--- a/CTe.AppTeste/schemas/tiposGeralCTe_v3.00.xsd
+++ b/CTe.AppTeste/schemas/tiposGeralCTe_v3.00.xsd
@@ -1,4 +1,4 @@
-
+
@@ -75,7 +75,7 @@
- Tipo Código de orgão (UF da tabela do IBGE + 90 SUFRAMA + 91 RFB)
+ Tipo Código de orgão (UF da tabela do IBGE + 90 SUFRAMA + 91 RFB + 94 SVC-RS + 95 SVC-SP + 96 Sinc. Chaves do RS para SVSP
@@ -111,6 +111,7 @@
+
@@ -386,6 +387,15 @@
+
+
+ Tipo Modelo Documento Fiscal
+
+
+
+
+
+
Tipo Modelo Documento Fiscal
diff --git a/CTe.AppTeste/schemas/tiposGeralCTe_v4.00.xsd b/CTe.AppTeste/schemas/tiposGeralCTe_v4.00.xsd
new file mode 100644
index 000000000..20f80af49
--- /dev/null
+++ b/CTe.AppTeste/schemas/tiposGeralCTe_v4.00.xsd
@@ -0,0 +1,647 @@
+
+
+
+
+
+ Data e Hora, formato UTC (AAAA-MM-DDThh:mm:ssTZD, onde TZD = +hh:mm ou -hh:mm)
+
+
+
+
+
+
+
+
+ Tipo Ambiente
+
+
+
+
+
+
+
+
+
+ Tipo ano
+
+
+
+
+
+
+
+
+ Tipo Código da UF da tabela do IBGE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Código do Município da tabela do IBGE
+
+
+
+
+
+
+
+
+ Tipo Código de orgão (UF da tabela do IBGE + 90 SUFRAMA + 91 RFB + 94 SVC-RS + 95 SVC-SP + 96 Sinc. Chaves do RS para SVSP
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Chave de Documento Fiscal Eletrônico
+
+
+
+
+
+
+
+
+
+ Tipo Número do CNPJ
+
+
+
+
+
+
+
+
+ Tipo Número do Telefone
+
+
+
+
+
+
+
+
+ Tipo Número do CNPJ tamanho varíavel (3-14)
+
+
+
+
+
+
+
+
+ Tipo Número do CNPJ Opcional
+
+
+
+
+
+
+
+
+ Tipo Número do CPF
+
+
+
+
+
+
+
+
+ Tipo Número do CPF de tamanho variável (3-11)
+
+
+
+
+
+
+
+
+ Tipo data AAAA-MM-DD
+
+
+
+
+
+
+
+
+ Tipo Decimal com 5 dígitos, sendo 3 de corpo e 2 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 6 dígitos, sendo 3 de corpo e 3 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 6 ou 5 dígitos, sendo 3 de corpo e 3 ou 2 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 5 dígitos, sendo 3 de corpo e 2 decimais, utilizado em tags opcionais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 11 dígitos, sendo 8 de corpo e 3 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 11 dígitos, sendo 8 de corpo e 3 decimais utilizado em tags opcionais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 12 dígitos, sendo 8 de corpo e 4decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 12 dígitos, sendo 8 de corpo e 4 decimais, utilizado em tags opcionais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 15 dígitos, sendo 9 de corpo e 6 decimais, utilizado em tags opcionais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 15 dígitos, sendo 11 de corpo e 4 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 15 dígitos, sendo 11 de corpo e 4 decimais, utilizado em tags opcionais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 15 dígitos, sendo 12 de corpo e 3 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 15 dígitos, sendo 12 de corpo e 3 decimais, utilizado em tags opcionais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 16 dígitos, sendo 12 de corpo e 4 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 16 dígitos, sendo 12 de corpo e 4 decimais, utilizado em tags opcionais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 15 dígitos, sendo 13 de corpo e 2 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 15 dígitos, sendo 13 de corpo e 2 decimais, utilizado em tags opcionais
+
+
+
+
+
+
+
+
+ Tipo Inscrição Estadual do Emitente
+
+
+
+
+
+
+
+
+
+ Tipo Inscrição Estadual do Destinatário
+
+
+
+
+
+
+
+
+
+ Tipo Justificativa
+
+
+
+
+
+
+
+
+ Tipo temp médio em segundos
+
+
+
+
+
+
+
+
+ Tipo Modelo Documento Fiscal
+
+
+
+
+
+
+
+
+ Tipo Modelo Documento Fiscal
+
+
+
+
+
+
+
+
+ Tipo Modelo Documento Fiscal
+
+
+
+
+
+
+
+
+
+ Tipo Modelo Documento Fiscal
+
+
+
+
+
+
+
+
+ Tipo Modelo Documento Fiscal - NF Remetente
+
+
+
+
+
+
+
+
+
+ Tipo da Unidade de Transporte
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo da Unidade de Carga
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Motivo
+
+
+
+
+
+
+
+
+ Tipo Número do Documento Fiscal
+
+
+
+
+
+
+
+
+ Tipo Número do Protocolo de Status
+
+
+
+
+
+
+
+
+ Tipo Número do Recibo do envio de lote de NF-e
+
+
+
+
+
+
+
+
+ Tipo Série do Documento Fiscal
+
+
+
+
+
+
+
+
+ Tipo Serviço solicitado
+
+
+
+
+
+ Tipo Código da Mensagem enviada
+
+
+
+
+
+
+
+
+ Tipo string genérico
+
+
+
+
+
+
+
+
+ Tipo Sigla da UF
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Sigla da UF, sem Exterior
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Versão do Aplicativo
+
+
+
+
+
+
+
+
+ Coordenada geográfica Latitude
+
+
+
+
+
+
+
+ Coordenada geográfica Longitude
+
+
+
+
+
+
+
+ Tipo IP versão 4
+
+
+
+
+
+
+
+
+ Tipo Placa
+
+
+
+
+
+
+
+
+ Tipo que representa uma chave publica padrão RSA
+
+
+
+
+
+
+
diff --git a/CTe.Classes/CTe.cs b/CTe.Classes/CTe.cs
index b18002bdf..fd229efee 100644
--- a/CTe.Classes/CTe.cs
+++ b/CTe.Classes/CTe.cs
@@ -64,6 +64,9 @@ public string ProxyVersao
if(value.Equals("3.00"))
versao = Servicos.Tipos.versao.ve300;
+
+ if (value.Equals("4.00"))
+ versao = Servicos.Tipos.versao.ve400;
}
}
diff --git a/CTe.Classes/ConfiguracaoServico.cs b/CTe.Classes/ConfiguracaoServico.cs
index 9ba806bad..121b9b2f7 100644
--- a/CTe.Classes/ConfiguracaoServico.cs
+++ b/CTe.Classes/ConfiguracaoServico.cs
@@ -116,6 +116,21 @@ public void Dispose()
///
public versao VersaoLayout { get; set; }
+ public versao ObterVersaoLayoutValida()
+ {
+ switch (VersaoLayout)
+ {
+ case versao.ve200:
+ return versao.ve200;
+ case versao.ve300:
+ return versao.ve300;
+ case versao.ve400:
+ return versao.ve400;
+ default:
+ throw new ArgumentOutOfRangeException();
+ }
+ }
+
public bool IsAdicionaQrCode { get; set; }
///
diff --git a/CTe.Classes/Informacoes/Emitente/emit.cs b/CTe.Classes/Informacoes/Emitente/emit.cs
index 15c4d3cb1..741bcc03f 100644
--- a/CTe.Classes/Informacoes/Emitente/emit.cs
+++ b/CTe.Classes/Informacoes/Emitente/emit.cs
@@ -49,5 +49,16 @@ public class emit
public string xFant { get; set; }
public enderEmit enderEmit { get; set; }
+
+
+ ///
+ /// Versão 4.00 é Obrigatório
+ ///
+ public CRT? CRT { get; set; }
+
+ ///
+ /// Se null, não aparece no xml
+ ///
+ public bool CRTSpecified { get { return CRT.HasValue; } }
}
}
diff --git a/CTe.Classes/Informacoes/Emitente/emitTipos.cs b/CTe.Classes/Informacoes/Emitente/emitTipos.cs
index 1b0545b83..527e4c2be 100644
--- a/CTe.Classes/Informacoes/Emitente/emitTipos.cs
+++ b/CTe.Classes/Informacoes/Emitente/emitTipos.cs
@@ -62,6 +62,10 @@ public enum CRT
///
[Description("Regime Normal")]
[XmlEnum("3")]
- RegimeNormal = 3
+ RegimeNormal = 3,
+
+ [Description("Simples Nacional MEI")]
+ [XmlEnum("4")]
+ SimplesNacionalMei = 4,
}
}
\ No newline at end of file
diff --git a/CTe.Classes/Informacoes/Identificacao/ide.cs b/CTe.Classes/Informacoes/Identificacao/ide.cs
index eea670155..94bee15cf 100644
--- a/CTe.Classes/Informacoes/Identificacao/ide.cs
+++ b/CTe.Classes/Informacoes/Identificacao/ide.cs
@@ -112,6 +112,7 @@ public string ProxydhEmi
{
case versao.ve200:
return dhEmi.ParaDataHoraStringSemUtc();
+ case versao.ve400:
case versao.ve300:
return dhEmi.ParaDataHoraStringUtc();
default:
diff --git a/CTe.Classes/Protocolo/infFisco.cs b/CTe.Classes/Protocolo/infFisco.cs
new file mode 100644
index 000000000..18aeead31
--- /dev/null
+++ b/CTe.Classes/Protocolo/infFisco.cs
@@ -0,0 +1,8 @@
+namespace CTe.Classes.Protocolo
+{
+ public class infFisco
+ {
+ public int cMsg { get; set; }
+ public string xMsg { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/CTe.Classes/Protocolo/infProt.cs b/CTe.Classes/Protocolo/infProt.cs
index f256d04ee..1b0a64274 100644
--- a/CTe.Classes/Protocolo/infProt.cs
+++ b/CTe.Classes/Protocolo/infProt.cs
@@ -94,6 +94,8 @@ public string ProxydhRecbto
///
public string xMotivo { get; set; }
+ public infFisco infFisco { get; set; }
+
///
/// PR13 - Assinatura XML do grupo identificado pelo atributo “Id”
/// A decisão de assinar a mensagem fica a critério da UF interessada.
diff --git a/CTe.Classes/Servicos/Evento/infEventoEnv.cs b/CTe.Classes/Servicos/Evento/infEventoEnv.cs
index 56343b29b..f0e911c31 100644
--- a/CTe.Classes/Servicos/Evento/infEventoEnv.cs
+++ b/CTe.Classes/Servicos/Evento/infEventoEnv.cs
@@ -76,6 +76,8 @@ public infEventoEnv()
///
public string CNPJ { get; set; }
+ public string CPF { get; set; }
+
///
/// HP12 - Chave de Acesso da NF-e vinculada ao Evento
///
@@ -98,6 +100,7 @@ public string ProxydhEvento
{
case versao.ve200:
return dhEvento.ParaDataHoraStringSemUtc();
+ case versao.ve400:
case versao.ve300:
return dhEvento.ParaDataHoraStringUtc();
default:
diff --git a/CTe.Classes/Servicos/Recepcao/retCTe.cs b/CTe.Classes/Servicos/Recepcao/retCTe.cs
new file mode 100644
index 000000000..4b917cc51
--- /dev/null
+++ b/CTe.Classes/Servicos/Recepcao/retCTe.cs
@@ -0,0 +1,60 @@
+using System.Xml.Serialization;
+using CTe.Classes.Protocolo;
+using DFe.Classes.Entidades;
+using DFe.Classes.Flags;
+using DFe.Utils;
+
+namespace CTe.Classes.Servicos.Recepcao
+{
+ [XmlRoot(Namespace = "http://www.portalfiscal.inf.br/cte")]
+ public class retCTe : RetornoBase
+ {
+ ///
+ /// AR02 - Versão do leiaute
+ ///
+ [XmlAttribute]
+ public string versao { get; set; }
+
+ ///
+ /// AR03 - Identificação do Ambiente: 1 – Produção / 2 - Homologação
+ ///
+ public TipoAmbiente tpAmb { get; set; }
+
+ ///
+ /// AR06a - Código da UF que atendeu a solicitação.
+ ///
+ public Estado cUF { get; set; }
+
+ ///
+ /// AR04 - Versão do Aplicativo que recebeu o Lote. A versão deve ser iniciada com a sigla da UF nos casos de WS
+ /// próprio ou a sigla SCAN, SVAN ou SVRS nos demais casos.
+ ///
+ public string verAplic { get; set; }
+
+ ///
+ /// AR05 - Código do status da resposta (vide item 5.1.1)
+ ///
+ public int cStat { get; set; }
+
+ ///
+ /// AR06 - Descrição literal do status da resposta
+ ///
+ public string xMotivo { get; set; }
+
+ public protCTe protCTe { get; set; }
+
+ public static retCTe LoadXml(string xml)
+ {
+ var retorno = FuncoesXml.XmlStringParaClasse(xml);
+ retorno.RetornoXmlString = xml;
+ return retorno;
+ }
+
+ public static retCTe LoadXml(string xml, CTe enviCte)
+ {
+ var retorno = LoadXml(xml);
+ retorno.EnvioXmlString = FuncoesXml.ClasseParaXmlString(enviCte);
+ return retorno;
+ }
+ }
+}
\ No newline at end of file
diff --git a/CTe.Classes/Servicos/Status/consStatServ.cs b/CTe.Classes/Servicos/Status/consStatServ.cs
index 408de55c8..97c1912fc 100644
--- a/CTe.Classes/Servicos/Status/consStatServ.cs
+++ b/CTe.Classes/Servicos/Status/consStatServ.cs
@@ -33,6 +33,7 @@
using System.Xml.Serialization;
using CTe.Classes.Servicos.Tipos;
+using DFe.Classes.Entidades;
using DFe.Classes.Flags;
namespace CTe.Classes.Servicos.Status
@@ -61,4 +62,31 @@ public consStatServCte()
///
public string xServ { get; set; }
}
+
+ [XmlRoot(Namespace = "http://www.portalfiscal.inf.br/cte")]
+ public class consStatServCTe
+ {
+ public consStatServCTe()
+ {
+ xServ = "STATUS";
+ }
+
+ ///
+ /// FP02 - Versão do leiaute
+ ///
+ [XmlAttribute]
+ public versao versao { get; set; }
+
+ ///
+ /// FP03 - Identificação do Ambiente: 1 – Produção / 2 - Homologação
+ ///
+ public TipoAmbiente tpAmb { get; set; }
+
+ public Estado cUF { get; set; }
+
+ ///
+ /// FP04 - Serviço solicitado 'STATUS'
+ ///
+ public string xServ { get; set; }
+ }
}
\ No newline at end of file
diff --git a/CTe.Classes/Servicos/Status/retConsStatServ.cs b/CTe.Classes/Servicos/Status/retConsStatServ.cs
index 16833ec1e..5b9f7a0c0 100644
--- a/CTe.Classes/Servicos/Status/retConsStatServ.cs
+++ b/CTe.Classes/Servicos/Status/retConsStatServ.cs
@@ -115,4 +115,80 @@ private static retConsStatServCte LoadXml(string xml)
return retorno;
}
}
+
+ [XmlRoot(Namespace = "http://www.portalfiscal.inf.br/cte")]
+ public class retConsStatServCTe : RetornoBase
+ {
+ ///
+ /// FR02 - Versão do leiaute
+ ///
+ [XmlAttribute]
+ public versao versao { get; set; }
+
+ ///
+ /// FR03 - Identificação do Ambiente: 1 – Produção / 2 - Homologação
+ ///
+ public TipoAmbiente tpAmb { get; set; }
+
+ ///
+ /// FR04 - Versão do Aplicativo que processou a consulta. A versão deve ser iniciada com a sigla da UF nos casos de WS
+ /// próprio ou a sigla SCAN, SVAN ou SVRS nos demais casos.
+ ///
+ public string verAplic { get; set; }
+
+ ///
+ /// FR05 - Código do status da resposta.
+ ///
+ public int cStat { get; set; }
+
+ ///
+ /// FR06 - Descrição literal do status da resposta.
+ ///
+ public string xMotivo { get; set; }
+
+ ///
+ /// FR07 - Código da UF que atendeu a solicitação
+ ///
+ public Estado cUF { get; set; }
+
+ [XmlIgnore]
+ public DateTimeOffset dhRecbto { get; set; }
+
+ [XmlElement(ElementName = "dhRecbto")]
+ public string ProxydhRecbto
+ {
+ get { return dhRecbto.ParaDataHoraStringUtc(); }
+ set { dhRecbto = DateTimeOffset.Parse(value); }
+ }
+
+ public int tMed { get; set; }
+
+ [XmlIgnore]
+ public DateTime dhRetorno { get; set; }
+
+ [XmlElement(ElementName = "dhRetorno")]
+ public string ProxydhRetorno
+ {
+ get { return dhRetorno.ParaDataHoraString(); }
+ set { dhRetorno = DateTime.Parse(value); }
+ }
+
+ public string xObs { get; set; }
+
+ public static retConsStatServCTe LoadXml(string xml, consStatServCTe consStatServCte)
+ {
+ var retorno = LoadXml(xml);
+ retorno.EnvioXmlString = FuncoesXml.ClasseParaXmlString(consStatServCte);
+
+ return retorno;
+ }
+
+ private static retConsStatServCTe LoadXml(string xml)
+ {
+ var retorno = FuncoesXml.XmlStringParaClasse(xml);
+ retorno.RetornoXmlString = xml;
+
+ return retorno;
+ }
+ }
}
\ No newline at end of file
diff --git a/CTe.Servicos/ConsultaProtocolo/ConsultaProtcoloServico.cs b/CTe.Servicos/ConsultaProtocolo/ConsultaProtcoloServico.cs
index 26414b1ec..49d05cf89 100644
--- a/CTe.Servicos/ConsultaProtocolo/ConsultaProtcoloServico.cs
+++ b/CTe.Servicos/ConsultaProtocolo/ConsultaProtcoloServico.cs
@@ -56,6 +56,21 @@ public retConsSitCTe ConsultaProtocolo(string chave, ConfiguracaoServico configu
return retorno;
}
+ public retConsSitCTe ConsultaProtocoloV4(string chave, ConfiguracaoServico configuracaoServico = null)
+ {
+ var consSitCTe = ClassesFactory.CriarconsSitCTe(chave, configuracaoServico);
+ consSitCTe.ValidarSchema(configuracaoServico);
+ consSitCTe.SalvarXmlEmDisco(configuracaoServico);
+
+ var webService = WsdlFactory.CriaWsdlConsultaProtocoloV4(configuracaoServico);
+ var retornoXml = webService.cteConsultaCT(consSitCTe.CriaRequestWs());
+
+ var retorno = retConsSitCTe.LoadXml(retornoXml.OuterXml, consSitCTe);
+ retorno.SalvarXmlEmDisco(chave, configuracaoServico);
+
+ return retorno;
+ }
+
public async Task ConsultaProtocoloAsync(string chave, ConfiguracaoServico configuracaoServico = null)
{
var consSitCTe = ClassesFactory.CriarconsSitCTe(chave, configuracaoServico);
diff --git a/CTe.Servicos/ConsultaStatus/StatusServico.cs b/CTe.Servicos/ConsultaStatus/StatusServico.cs
index c5b8fcd2c..63445fe86 100644
--- a/CTe.Servicos/ConsultaStatus/StatusServico.cs
+++ b/CTe.Servicos/ConsultaStatus/StatusServico.cs
@@ -56,6 +56,21 @@ public retConsStatServCte ConsultaStatus(ConfiguracaoServico configuracaoServico
return retorno;
}
+ public retConsStatServCTe ConsultaStatusV4(ConfiguracaoServico configuracaoServico = null)
+ {
+ var consStatServCte = ClassesFactory.CriaConsStatServCTe(configuracaoServico);
+ consStatServCte.ValidarSchema(configuracaoServico);
+ consStatServCte.SalvarXmlEmDisco(configuracaoServico);
+
+ var webService = WsdlFactory.CriaWsdlCteStatusServico(configuracaoServico);
+ var retornoXml = webService.cteStatusServicoCT(consStatServCte.CriaRequestWs());
+
+ var retorno = retConsStatServCTe.LoadXml(retornoXml.OuterXml, consStatServCte);
+ retorno.SalvarXmlEmDisco(configuracaoServico);
+
+ return retorno;
+ }
+
public async Task ConsultaStatusAsync(ConfiguracaoServico configuracaoServico = null)
{
var consStatServCte = ClassesFactory.CriaConsStatServCte(configuracaoServico);
diff --git a/CTe.Servicos/Enderecos/Helpers/UrlHelper.cs b/CTe.Servicos/Enderecos/Helpers/UrlHelper.cs
index 20f9204e4..4f1ad20af 100644
--- a/CTe.Servicos/Enderecos/Helpers/UrlHelper.cs
+++ b/CTe.Servicos/Enderecos/Helpers/UrlHelper.cs
@@ -34,6 +34,7 @@
using System;
using CTe.Classes;
using CTe.Classes.Informacoes.Tipos;
+using CTe.Classes.Servicos.Tipos;
using DFe.Classes.Entidades;
using DFe.Classes.Flags;
@@ -50,24 +51,24 @@ public static UrlCTe ObterUrlServico(ConfiguracaoServico configuracaoServico = n
case TipoAmbiente.Homologacao:
if (configServico.TipoEmissao == tpEmis.teSVCRS)
{
- return UrlHomologacaoSvrs();
+ return UrlHomologacaoSvrs(configServico);
}
if (configServico.TipoEmissao == tpEmis.teSVCSP)
{
- return UrlHomologacaoSvcsp();
+ return UrlHomologacaoSvcsp(configServico);
}
return UrlHomologacao(configServico);
case TipoAmbiente.Producao:
if (configServico.TipoEmissao == tpEmis.teSVCRS)
{
- return UrlProducaoSvrs();
+ return UrlProducaoSvrs(configServico);
}
if (configServico.TipoEmissao == tpEmis.teSVCSP)
{
- return UrlProducaoSvcsp();
+ return UrlProducaoSvcsp(configServico);
}
return UrlProducao(configServico);
@@ -91,8 +92,21 @@ public static string ObterUrlQrCode(ConfiguracaoServico configuracaoServico = nu
throw new InvalidOperationException("Tipo Ambiente inválido");
}
- private static UrlCTe UrlProducaoSvcsp()
+ private static UrlCTe UrlProducaoSvcsp(ConfiguracaoServico configuracaoServico)
{
+ if (configuracaoServico.VersaoLayout == versao.ve400)
+ {
+ return new UrlCTe
+ {
+ CteRecepcaoEvento = @"https://nfe.fazenda.sp.gov.br/CTeWS/WS/CTeRecepcaoEventoV4.asmx",
+ CteRecepcaoSinc = @"https://nfe.fazenda.sp.gov.br/CTeWS/WS/CTeRecepcaoSincV4.asmx",
+ CteConsulta = @"https://nfe.fazenda.sp.gov.br/CTeWS/WS/CTeConsultaV4.asmx",
+ CteStatusServico = @"https://nfe.fazenda.sp.gov.br/CTeWS/WS/CTeStatusServicoV4.asmx",
+ CteRecepcaoOs = @"https://nfe.fazenda.sp.gov.br/CTeWS/WS/CTeRecepcaoOSV4.asmx",
+ CteRecepcaoGtve = @"https://nfe.fazenda.sp.gov.br/CTeWS/WS/CTeRecepcaoGTVeV4.asmx"
+ };
+ }
+
return new UrlCTe
{
CteRecepcao = @"https://nfe.fazenda.sp.gov.br/cteWEB/services/cteRecepcao.asmx",
@@ -104,8 +118,21 @@ private static UrlCTe UrlProducaoSvcsp()
};
}
- private static UrlCTe UrlHomologacaoSvcsp()
+ private static UrlCTe UrlHomologacaoSvcsp(ConfiguracaoServico configuracaoServico)
{
+ if (configuracaoServico.VersaoLayout == versao.ve400)
+ {
+ return new UrlCTe
+ {
+ CteRecepcaoEvento = @"https://homologacao.nfe.fazenda.sp.gov.br/CTeWS/WS/CTeRecepcaoEventoV4.asmx",
+ CteRecepcaoSinc = @"https://homologacao.nfe.fazenda.sp.gov.br/CTeWS/WS/CTeRecepcaoSincV4.asmx",
+ CteConsulta = @"https://homologacao.nfe.fazenda.sp.gov.br/CTeWS/WS/CTeConsultaV4.asmx",
+ CteStatusServico = @"https://homologacao.nfe.fazenda.sp.gov.br/CTeWS/WS/CTeStatusServicoV4.asmx",
+ CteRecepcaoOs = @"https://homologacao.nfe.fazenda.sp.gov.br/CTeWS/WS/CTeRecepcaoOSV4.asmx",
+ CteRecepcaoGtve = @"https://homologacao.nfe.fazenda.sp.gov.br/CTeWS/WS/CTeRecepcaoGTVeV4.asmx"
+ };
+ }
+
return new UrlCTe
{
CteRecepcaoEvento = @"https://homologacao.nfe.fazenda.sp.gov.br/cteWEB/services/CteRecepcaoEvento.asmx",
@@ -117,8 +144,21 @@ private static UrlCTe UrlHomologacaoSvcsp()
};
}
- private static UrlCTe UrlHomologacaoSvrs()
+ private static UrlCTe UrlHomologacaoSvrs(ConfiguracaoServico configuracaoServico)
{
+ if (configuracaoServico.VersaoLayout == versao.ve400)
+ {
+ return new UrlCTe
+ {
+ CteRecepcaoEvento = @"https://cte-homologacao.svrs.rs.gov.br/ws/CTeRecepcaoEventoV4/CTeRecepcaoEventoV4.asmx",
+ CteRecepcaoSinc = @"https://cte-homologacao.svrs.rs.gov.br/ws/CTeRecepcaoSincV4/CTeRecepcaoSincV4.asmx",
+ CteConsulta = @"https://cte-homologacao.svrs.rs.gov.br/ws/CTeConsultaV4/CTeConsultaV4.asmx",
+ CteStatusServico = @"https://cte-homologacao.svrs.rs.gov.br/ws/CTeStatusServicoV4/CTeStatusServicoV4.asmx",
+ CteRecepcaoOs = @"https://cte-homologacao.svrs.rs.gov.br/ws/CTeRecepcaoOSV4/CTeRecepcaoOSV4.asmx",
+ CteRecepcaoGtve = @"https://cte-homologacao.svrs.rs.gov.br/ws/CTeRecepcaoGTVeV4/CTeRecepcaoGTVeV4.asmx"
+ };
+ }
+
return new UrlCTe
{
CteRecepcao = @"https://cte-homologacao.svrs.rs.gov.br/ws/cterecepcao/CTeRecepcao.asmx",
@@ -131,8 +171,21 @@ private static UrlCTe UrlHomologacaoSvrs()
};
}
- private static UrlCTe UrlProducaoSvrs()
+ private static UrlCTe UrlProducaoSvrs(ConfiguracaoServico configuracaoServico)
{
+ if (configuracaoServico.VersaoLayout == versao.ve400)
+ {
+ return new UrlCTe
+ {
+ CteRecepcaoEvento = @"https://cte.svrs.rs.gov.br/ws/CTeRecepcaoEventoV4/CTeRecepcaoEventoV4.asmx",
+ CteRecepcaoSinc = @"https://cte.svrs.rs.gov.br/ws/CTeRecepcaoSincV4/CTeRecepcaoSincV4.asmx",
+ CteConsulta = @"https://cte.svrs.rs.gov.br/ws/CTeConsultaV4/CTeConsultaV4.asmx",
+ CteStatusServico = @"https://cte.svrs.rs.gov.br/ws/CTeStatusServicoV4/CTeStatusServicoV4.asmx",
+ CteRecepcaoOs = @"https://cte.svrs.rs.gov.br/ws/CTeRecepcaoOSV4/CTeRecepcaoOSV4.asmx",
+ CteRecepcaoGtve = @"https://cte.svrs.rs.gov.br/ws/CTeRecepcaoGTVeV4/CTeRecepcaoGTVeV4.asmx"
+ };
+ }
+
return new UrlCTe
{
CteRecepcao = @"https://cte.svrs.rs.gov.br/ws/cterecepcao/CTeRecepcao.asmx",
@@ -150,6 +203,19 @@ private static UrlCTe UrlProducao(ConfiguracaoServico configuracaoServico)
switch (configuracaoServico.cUF)
{
case Estado.MT:
+ if (configuracaoServico.VersaoLayout == versao.ve400)
+ {
+ return new UrlCTe
+ {
+ CteRecepcaoEvento = @"https://cte.sefaz.mt.gov.br/ctews2/services/CTeRecepcaoEventoV4",
+ CteRecepcaoSinc = @"https://cte.sefaz.mt.gov.br/ctews2/services/CTeRecepcaoSincV4",
+ CteConsulta = @"https://cte.sefaz.mt.gov.br/ctews2/services/CTeConsultaV4",
+ CteStatusServico = @"https://cte.sefaz.mt.gov.br/ctews2/services/CTeStatusServicoV4",
+ CteRecepcaoOs = @"https://cte.sefaz.mt.gov.br/ctews/services/CTeRecepcaoOSV4",
+ CteRecepcaoGtve = @"https://cte.sefaz.mt.gov.br/ctews2/services/CTeRecepcaoGTVeV4"
+ };
+ }
+
return new UrlCTe
{
CteStatusServico = @"https://cte.sefaz.mt.gov.br/ctews/services/CteStatusServico",
@@ -162,6 +228,19 @@ private static UrlCTe UrlProducao(ConfiguracaoServico configuracaoServico)
CTeDistribuicaoDFe = "https://www1.cte.fazenda.gov.br/CTeDistribuicaoDFe/CTeDistribuicaoDFe.asmx"
};
case Estado.MS:
+ if (configuracaoServico.VersaoLayout == versao.ve400)
+ {
+ return new UrlCTe
+ {
+ CteRecepcaoEvento = @"https://producao.cte.ms.gov.br/ws/CTeRecepcaoEventoV4",
+ CteRecepcaoSinc = @"https://producao.cte.ms.gov.br/ws/CTeRecepcaoSincV4",
+ CteConsulta = @"https://producao.cte.ms.gov.br/ws/CTeConsultaV4",
+ CteStatusServico = @"https://producao.cte.ms.gov.br/ws/CTeStatusServicoV4",
+ CteRecepcaoOs = @"https://producao.cte.ms.gov.br/ws/CTeRecepcaoOSV4",
+ CteRecepcaoGtve = @"https://producao.cte.ms.gov.br/ws/CTeRecepcaoGTVeV4"
+ };
+ }
+
return new UrlCTe
{
CteStatusServico = @"https://producao.cte.ms.gov.br/ws/CteStatusServico",
@@ -174,6 +253,19 @@ private static UrlCTe UrlProducao(ConfiguracaoServico configuracaoServico)
CTeDistribuicaoDFe = "https://www1.cte.fazenda.gov.br/CTeDistribuicaoDFe/CTeDistribuicaoDFe.asmx"
};
case Estado.MG:
+ if (configuracaoServico.VersaoLayout == versao.ve400)
+ {
+ return new UrlCTe
+ {
+ CteRecepcaoEvento = @"https://cte.fazenda.mg.gov.br/cte/services/CTeRecepcaoEventoV4",
+ CteRecepcaoSinc = @"https://cte.fazenda.mg.gov.br/cte/services/CTeRecepcaoSincV4",
+ CteConsulta = @"https://cte.fazenda.mg.gov.br/cte/services/CTeConsultaV4",
+ CteStatusServico = @"https://cte.fazenda.mg.gov.br/cte/services/CTeStatusServicoV4",
+ CteRecepcaoOs = @"https://cte.fazenda.mg.gov.br/cte/services/CTeRecepcaoOSV4",
+ CteRecepcaoGtve = @"https://cte.fazenda.mg.gov.br/cte/services/CTeRecepcaoGTVeV4"
+ };
+ }
+
return new UrlCTe
{
CteStatusServico = @"https://cte.fazenda.mg.gov.br/cte/services/CteStatusServico",
@@ -186,6 +278,19 @@ private static UrlCTe UrlProducao(ConfiguracaoServico configuracaoServico)
CTeDistribuicaoDFe = "https://www1.cte.fazenda.gov.br/CTeDistribuicaoDFe/CTeDistribuicaoDFe.asmx"
};
case Estado.PR:
+ if (configuracaoServico.VersaoLayout == versao.ve400)
+ {
+ return new UrlCTe
+ {
+ CteRecepcaoEvento = @"https://cte.fazenda.pr.gov.br/cte4/CTeRecepcaoEventoV4",
+ CteRecepcaoSinc = @"https://cte.fazenda.pr.gov.br/cte4/CTeRecepcaoSincV4",
+ CteConsulta = @"https://cte.fazenda.pr.gov.br/cte4/CTeConsultaV4",
+ CteStatusServico = @"https://cte.fazenda.pr.gov.br/cte4/CTeStatusServicoV4",
+ CteRecepcaoOs = @"https://cte.fazenda.pr.gov.br/cte4/CTeRecepcaoOSV4",
+ CteRecepcaoGtve = @"https://cte.fazenda.pr.gov.br/cte4/CTeRecepcaoGTVeV4"
+ };
+ }
+
return new UrlCTe
{
CteStatusServico = @" https://cte.fazenda.pr.gov.br/cte/CteStatusServico?wsdl",
@@ -213,6 +318,19 @@ private static UrlCTe UrlProducao(ConfiguracaoServico configuracaoServico)
CTeDistribuicaoDFe = "https://www1.cte.fazenda.gov.br/CTeDistribuicaoDFe/CTeDistribuicaoDFe.asmx"
};
case Estado.SP:
+ if (configuracaoServico.VersaoLayout == versao.ve400)
+ {
+ return new UrlCTe
+ {
+ CteRecepcaoEvento = @"https://nfe.fazenda.sp.gov.br/CTeWS/WS/CTeRecepcaoEventoV4.asmx",
+ CteRecepcaoSinc = @"https://nfe.fazenda.sp.gov.br/CTeWS/WS/CTeRecepcaoSincV4.asmx",
+ CteConsulta = @"https://nfe.fazenda.sp.gov.br/CTeWS/WS/CTeConsultaV4.asmx",
+ CteStatusServico = @"https://nfe.fazenda.sp.gov.br/CTeWS/WS/CTeStatusServicoV4.asmx",
+ CteRecepcaoOs = @"https://nfe.fazenda.sp.gov.br/CTeWS/WS/CTeRecepcaoOSV4.asmx",
+ CteRecepcaoGtve = @"https://nfe.fazenda.sp.gov.br/CTeWS/WS/CTeRecepcaoGTVeV4.asmx"
+ };
+ }
+
return new UrlCTe
{
CteStatusServico =
@@ -246,6 +364,19 @@ private static UrlCTe UrlProducao(ConfiguracaoServico configuracaoServico)
case Estado.SC:
case Estado.SE:
case Estado.TO:
+ if (configuracaoServico.VersaoLayout == versao.ve400)
+ {
+ return new UrlCTe
+ {
+ CteRecepcaoEvento = @"https://cte.svrs.rs.gov.br/ws/CTeRecepcaoEventoV4/CTeRecepcaoEventoV4.asmx",
+ CteRecepcaoSinc = @"https://cte.svrs.rs.gov.br/ws/CTeRecepcaoSincV4/CTeRecepcaoSincV4.asmx",
+ CteConsulta = @"https://cte.svrs.rs.gov.br/ws/CTeConsultaV4/CTeConsultaV4.asmx",
+ CteStatusServico = @"https://cte.svrs.rs.gov.br/ws/CTeStatusServicoV4/CTeStatusServicoV4.asmx",
+ CteRecepcaoOs = @"https://cte.svrs.rs.gov.br/ws/CTeRecepcaoOSV4/CTeRecepcaoOSV4.asmx",
+ CteRecepcaoGtve = @"https://cte.svrs.rs.gov.br/ws/CTeRecepcaoGTVeV4/CTeRecepcaoGTVeV4.asmx"
+ };
+ }
+
return new UrlCTe
{
CteStatusServico =
@@ -263,6 +394,19 @@ private static UrlCTe UrlProducao(ConfiguracaoServico configuracaoServico)
case Estado.AP:
case Estado.PE:
case Estado.RR:
+ if (configuracaoServico.VersaoLayout == versao.ve400)
+ {
+ return new UrlCTe
+ {
+ CteRecepcaoEvento = @"https://nfe.fazenda.sp.gov.br/CTeWS/WS/CTeRecepcaoEventoV4.asmx",
+ CteRecepcaoSinc = @"https://nfe.fazenda.sp.gov.br/CTeWS/WS/CTeRecepcaoSincV4.asmx",
+ CteConsulta = @"https://nfe.fazenda.sp.gov.br/CTeWS/WS/CTeConsultaV4.asmx",
+ CteStatusServico = @"https://nfe.fazenda.sp.gov.br/CTeWS/WS/CTeStatusServicoV4.asmx",
+ CteRecepcaoOs = @"https://nfe.fazenda.sp.gov.br/CTeWS/WS/CTeRecepcaoOSV4.asmx",
+ CteRecepcaoGtve = @"https://nfe.fazenda.sp.gov.br/CTeWS/WS/CTeRecepcaoGTVeV4.asmx"
+ };
+ }
+
return new UrlCTe
{
CteStatusServico = @"https://nfe.fazenda.sp.gov.br/cteWEB/services/CteStatusServico.asmx",
@@ -286,6 +430,19 @@ private static UrlCTe UrlHomologacao(ConfiguracaoServico configuracaoServico)
switch (configuracaoServico.cUF)
{
case Estado.MT:
+ if (configuracaoServico.VersaoLayout == versao.ve400)
+ {
+ return new UrlCTe
+ {
+ CteRecepcaoEvento = @"https://homologacao.sefaz.mt.gov.br/ctews2/services/CTeRecepcaoEventoV4",
+ CteRecepcaoSinc = @"https://homologacao.sefaz.mt.gov.br/ctews2/services/CTeRecepcaoSincV4",
+ CteConsulta = @"https://homologacao.sefaz.mt.gov.br/ctews2/services/CTeConsultaV4",
+ CteStatusServico = @"https://homologacao.sefaz.mt.gov.br/ctews2/services/CTeStatusServicoV4",
+ CteRecepcaoOs = @"https://homologacao.sefaz.mt.gov.br/ctews/services/CTeRecepcaoOSV4",
+ CteRecepcaoGtve = @"https://homologacao.sefaz.mt.gov.br/ctews2/services/CTeRecepcaoGTVeV4"
+ };
+ }
+
return new UrlCTe
{
CteStatusServico = @"https://homologacao.sefaz.mt.gov.br/ctews/services/CteStatusServico",
@@ -299,6 +456,17 @@ private static UrlCTe UrlHomologacao(ConfiguracaoServico configuracaoServico)
CTeDistribuicaoDFe = @"https://hom1.cte.fazenda.gov.br/CTeDistribuicaoDFe/CTeDistribuicaoDFe.asmx"
};
case Estado.MS:
+ if (configuracaoServico.VersaoLayout == versao.ve400)
+ {
+ return new UrlCTe
+ {
+ CteRecepcaoEvento = @"https://homologacao.cte.ms.gov.br/ws/CTeRecepcaoEventoV4",
+ CteRecepcaoSinc = @"https://homologacao.cte.ms.gov.br/ws/CTeRecepcaoSincV4",
+ CteConsulta = @"https://homologacao.cte.ms.gov.br/ws/CTeConsultaV4",
+ CteStatusServico = @"https://homologacao.cte.ms.gov.br/ws/CTeStatusServicoV4"
+ };
+ }
+
return new UrlCTe
{
CteStatusServico = @"https://homologacao.cte.ms.gov.br/ws/CteStatusServico",
@@ -311,6 +479,19 @@ private static UrlCTe UrlHomologacao(ConfiguracaoServico configuracaoServico)
CTeDistribuicaoDFe = @"https://hom1.cte.fazenda.gov.br/CTeDistribuicaoDFe/CTeDistribuicaoDFe.asmx"
};
case Estado.MG:
+ if (configuracaoServico.VersaoLayout == versao.ve400)
+ {
+ return new UrlCTe
+ {
+ CteRecepcaoEvento = @"https://hcte.fazenda.mg.gov.br/cte/services/CTeRecepcaoEventoV4",
+ CteRecepcaoSinc = @"https://hcte.fazenda.mg.gov.br/cte/services/CTeRecepcaoSincV4",
+ CteConsulta = @"https://hcte.fazenda.mg.gov.br/cte/services/CTeConsultaV4",
+ CteStatusServico = @"https://hcte.fazenda.mg.gov.br/cte/services/CTeStatusServicoV4",
+ CteRecepcaoOs = @"https://hcte.fazenda.mg.gov.br/cte/services/CTeRecepcaoOSV4",
+ CteRecepcaoGtve = @"https://hcte.fazenda.mg.gov.br/cte/services/CTeRecepcaoGTVeV4"
+ };
+ }
+
return new UrlCTe
{
CteStatusServico = @"https://hcte.fazenda.mg.gov.br/cte/services/CteStatusServico?wsdl",
@@ -323,6 +504,19 @@ private static UrlCTe UrlHomologacao(ConfiguracaoServico configuracaoServico)
CTeDistribuicaoDFe = @"https://hom1.cte.fazenda.gov.br/CTeDistribuicaoDFe/CTeDistribuicaoDFe.asmx"
};
case Estado.PR:
+ if (configuracaoServico.VersaoLayout == versao.ve400)
+ {
+ return new UrlCTe
+ {
+ CteRecepcaoEvento = @"https://homologacao.cte.fazenda.pr.gov.br/cte4/CTeRecepcaoEventoV4",
+ CteRecepcaoSinc = @"https://homologacao.cte.fazenda.pr.gov.br/cte4/CTeRecepcaoSincV4",
+ CteConsulta = @"https://homologacao.cte.fazenda.pr.gov.br/cte4/CTeConsultaV4",
+ CteStatusServico = @"https://homologacao.cte.fazenda.pr.gov.br/cte4/CTeStatusServicoV4",
+ CteRecepcaoOs = @"https://homologacao.cte.fazenda.pr.gov.br/cte4/CTeRecepcaoOSV4",
+ CteRecepcaoGtve = @"https://homologacao.cte.fazenda.pr.gov.br/cte4/CTeRecepcaoGTVeV4"
+ };
+ }
+
return new UrlCTe
{
CteStatusServico = @"https://homologacao.cte.fazenda.pr.gov.br/cte/CteStatusServico?wsdl",
@@ -350,6 +544,19 @@ private static UrlCTe UrlHomologacao(ConfiguracaoServico configuracaoServico)
CTeDistribuicaoDFe = @"https://hom1.cte.fazenda.gov.br/CTeDistribuicaoDFe/CTeDistribuicaoDFe.asmx"
};
case Estado.SP:
+ if (configuracaoServico.VersaoLayout == versao.ve400)
+ {
+ return new UrlCTe
+ {
+ CteRecepcaoEvento = @"https://homologacao.nfe.fazenda.sp.gov.br/CTeWS/WS/CTeRecepcaoEventoV4.asmx",
+ CteRecepcaoSinc = @"https://homologacao.nfe.fazenda.sp.gov.br/CTeWS/WS/CTeRecepcaoSincV4.asmx",
+ CteConsulta = @"https://homologacao.nfe.fazenda.sp.gov.br/CTeWS/WS/CTeConsultaV4.asmx",
+ CteStatusServico = @"https://homologacao.nfe.fazenda.sp.gov.br/CTeWS/WS/CTeStatusServicoV4.asmx",
+ CteRecepcaoOs = @"https://homologacao.nfe.fazenda.sp.gov.br/CTeWS/WS/CTeRecepcaoOSV4.asmx",
+ CteRecepcaoGtve = @"https://homologacao.nfe.fazenda.sp.gov.br/CTeWS/WS/CTeRecepcaoGTVeV4.asmx"
+ };
+ }
+
return new UrlCTe
{
CteStatusServico = @"https://homologacao.nfe.fazenda.sp.gov.br/cteWEB/services/cteStatusServico.asmx",
@@ -379,6 +586,19 @@ private static UrlCTe UrlHomologacao(ConfiguracaoServico configuracaoServico)
case Estado.SC:
case Estado.SE:
case Estado.TO:
+ if (configuracaoServico.VersaoLayout == versao.ve400)
+ {
+ return new UrlCTe
+ {
+ CteRecepcaoEvento = @"https://cte-homologacao.svrs.rs.gov.br/ws/CTeRecepcaoEventoV4/CTeRecepcaoEventoV4.asmx",
+ CteRecepcaoSinc = @"https://cte-homologacao.svrs.rs.gov.br/ws/CTeRecepcaoSincV4/CTeRecepcaoSincV4.asmx",
+ CteConsulta = @"https://cte-homologacao.svrs.rs.gov.br/ws/CTeConsultaV4/CTeConsultaV4.asmx",
+ CteStatusServico = @"https://cte-homologacao.svrs.rs.gov.br/ws/CTeStatusServicoV4/CTeStatusServicoV4.asmx",
+ CteRecepcaoOs = @"https://cte-homologacao.svrs.rs.gov.br/ws/CTeRecepcaoOSV4/CTeRecepcaoOSV4.asmx",
+ CteRecepcaoGtve = @"https://cte-homologacao.svrs.rs.gov.br/ws/CTeRecepcaoGTVeV4/CTeRecepcaoGTVeV4.asmx"
+ };
+ }
+
return new UrlCTe
{
CteStatusServico =
@@ -396,6 +616,19 @@ private static UrlCTe UrlHomologacao(ConfiguracaoServico configuracaoServico)
case Estado.AP:
case Estado.PE:
case Estado.RR:
+ if (configuracaoServico.VersaoLayout == versao.ve400)
+ {
+ return new UrlCTe
+ {
+ CteRecepcaoEvento = @"https://homologacao.nfe.fazenda.sp.gov.br/CTeWS/WS/CTeRecepcaoEventoV4.asmx",
+ CteRecepcaoSinc = @"https://homologacao.nfe.fazenda.sp.gov.br/CTeWS/WS/CTeRecepcaoSincV4.asmx",
+ CteConsulta = @"https://homologacao.nfe.fazenda.sp.gov.br/CTeWS/WS/CTeConsultaV4.asmx",
+ CteStatusServico = @"https://homologacao.nfe.fazenda.sp.gov.br/CTeWS/WS/CTeStatusServicoV4.asmx",
+ CteRecepcaoOs = @"https://homologacao.nfe.fazenda.sp.gov.br/CTeWS/WS/CTeRecepcaoOSV4.asmx",
+ CteRecepcaoGtve = @"https://homologacao.nfe.fazenda.sp.gov.br/CTeWS/WS/CTeRecepcaoGTVeV4.asmx"
+ };
+ }
+
return new UrlCTe
{
CteStatusServico = @"https://homologacao.nfe.fazenda.sp.gov.br/cteWEB/services/CteStatusServico.asmx",
diff --git a/CTe.Servicos/Enderecos/UrlCTe.cs b/CTe.Servicos/Enderecos/UrlCTe.cs
index 771e49b2f..3808dcff9 100644
--- a/CTe.Servicos/Enderecos/UrlCTe.cs
+++ b/CTe.Servicos/Enderecos/UrlCTe.cs
@@ -36,11 +36,14 @@ public class UrlCTe
{
public string CteConsulta { get; set; }
public string CteInutilizacao { get; set; }
+ public string CteRecepcaoSinc { get; set; }
public string CteRecepcao { get; set; }
public string CteRecepcaoEvento { get; set; }
public string CteRetRecepcao { get; set; }
public string CteStatusServico { get; set; }
public string CTeDistribuicaoDFe { get; set; }
public string QrCode { get; set; }
+ public string CteRecepcaoOs { get; set; }
+ public string CteRecepcaoGtve { get; set; }
}
}
\ No newline at end of file
diff --git a/CTe.Servicos/Eventos/FactoryEvento.cs b/CTe.Servicos/Eventos/FactoryEvento.cs
index f8cd42416..04eaaca51 100644
--- a/CTe.Servicos/Eventos/FactoryEvento.cs
+++ b/CTe.Servicos/Eventos/FactoryEvento.cs
@@ -36,6 +36,7 @@
using CTe.Classes;
using CTe.Classes.Servicos.Evento;
using CTe.Classes.Servicos.Evento.Flags;
+using CTe.Classes.Servicos.Tipos;
using CTe.Utils.CTe;
using CTeEletronico = CTe.Classes.CTe;
@@ -56,7 +57,12 @@ public static eventoCTe CriaEvento(CTeTipoEvento cTeTipoEvento, int sequenciaEve
var id = new StringBuilder("ID");
id.Append((int)cTeTipoEvento);
id.Append(chave);
- id.Append(sequenciaEvento.ToString("D2"));
+
+ if (configServico.VersaoLayout == versao.ve200 || configServico.VersaoLayout == versao.ve300)
+ id.Append(sequenciaEvento.ToString("D2"));
+
+ if (configServico.VersaoLayout == versao.ve400)
+ id.Append(sequenciaEvento.ToString("D3"));
return new eventoCTe
{
diff --git a/CTe.Servicos/Eventos/ServicoController.cs b/CTe.Servicos/Eventos/ServicoController.cs
index 22d96f8aa..7e5b12eb8 100644
--- a/CTe.Servicos/Eventos/ServicoController.cs
+++ b/CTe.Servicos/Eventos/ServicoController.cs
@@ -32,9 +32,11 @@
/********************************************************************************/
using System.Threading.Tasks;
+using System.Xml;
using CTe.Classes;
using CTe.Classes.Servicos.Evento;
using CTe.Classes.Servicos.Evento.Flags;
+using CTe.Classes.Servicos.Tipos;
using CTe.Servicos.Eventos.Contratos;
using CTe.Servicos.Factory;
using CTe.Utils.CTe;
@@ -62,8 +64,19 @@ public retEventoCTe Executar(CTeTipoEvento cTeTipoEvento, int sequenciaEvento, s
evento.ValidarSchema(configuracaoServico);
evento.SalvarXmlEmDisco(configuracaoServico);
- var webService = WsdlFactory.CriaWsdlCteEvento(configuracaoServico);
- var retornoXml = webService.cteRecepcaoEvento(evento.CriaXmlRequestWs());
+ XmlNode retornoXml = null;
+
+ if (evento.versao == versao.ve200 || evento.versao == versao.ve300)
+ {
+ var webService = WsdlFactory.CriaWsdlCteEvento(configuracaoServico);
+ retornoXml = webService.cteRecepcaoEvento(evento.CriaXmlRequestWs());
+ }
+
+ if (evento.versao == versao.ve400)
+ {
+ var webService = WsdlFactory.CriaWsdlCteEventoV4(configuracaoServico);
+ retornoXml = webService.cteRecepcaoEvento(evento.CriaXmlRequestWs());
+ }
var retorno = retEventoCTe.LoadXml(retornoXml.OuterXml, evento);
retorno.SalvarXmlEmDisco(configuracaoServico);
diff --git a/CTe.Servicos/Factory/ClassesFactory.cs b/CTe.Servicos/Factory/ClassesFactory.cs
index 65dc26787..03492279d 100644
--- a/CTe.Servicos/Factory/ClassesFactory.cs
+++ b/CTe.Servicos/Factory/ClassesFactory.cs
@@ -61,6 +61,18 @@ public static consStatServCte CriaConsStatServCte(ConfiguracaoServico configurac
};
}
+ public static consStatServCTe CriaConsStatServCTe(ConfiguracaoServico configuracaoServico = null)
+ {
+ var configServico = configuracaoServico ?? ConfiguracaoServico.Instancia;
+
+ return new consStatServCTe
+ {
+ versao = configServico.VersaoLayout,
+ cUF = configServico.cUF,
+ tpAmb = configServico.tpAmb
+ };
+ }
+
public static consSitCTe CriarconsSitCTe(string chave, ConfiguracaoServico configuracaoServico = null)
{
var configServico = configuracaoServico ?? ConfiguracaoServico.Instancia;
@@ -157,7 +169,7 @@ public static enviCTe CriaEnviCTe(int lote, List cteEletronicoLis
{
var configServico = configuracaoServico ?? ConfiguracaoServico.Instancia;
- return new enviCTe(configServico.VersaoLayout, lote, cteEletronicoList);
+ return new enviCTe(configServico.ObterVersaoLayoutValida(), lote, cteEletronicoList);
}
}
}
\ No newline at end of file
diff --git a/CTe.Servicos/Factory/WsdlFactory.cs b/CTe.Servicos/Factory/WsdlFactory.cs
index 820c89c73..d8c142cc9 100644
--- a/CTe.Servicos/Factory/WsdlFactory.cs
+++ b/CTe.Servicos/Factory/WsdlFactory.cs
@@ -43,6 +43,9 @@
using CTe.Wsdl.Status;
using DFe.Classes.Extensoes;
using CTe.CTeOSDocumento.Common;
+using CTe.Wsdl.ConsultaProtocolo.V4;
+using CTe.Wsdl.Evento.V4;
+using CTe.Wsdl.Recepcao.Sincrono;
namespace CTe.Servicos.Factory
{
@@ -66,6 +69,15 @@ public static CteConsulta CriaWsdlConsultaProtocolo(ConfiguracaoServico configur
return new CteConsulta(configuracaoWsdl);
}
+ public static CteConsultaV4 CriaWsdlConsultaProtocoloV4(ConfiguracaoServico configuracaoServico = null)
+ {
+ var url = UrlHelper.ObterUrlServico(configuracaoServico).CteConsulta;
+
+ var configuracaoWsdl = CriaConfiguracao(url, configuracaoServico);
+
+ return new CteConsultaV4(configuracaoWsdl);
+ }
+
public static CteInutilizacao CriaWsdlCteInutilizacao(ConfiguracaoServico configuracaoServico = null)
{
var url = UrlHelper.ObterUrlServico(configuracaoServico).CteInutilizacao;
@@ -93,6 +105,15 @@ public static CteRecepcao CriaWsdlCteRecepcao(ConfiguracaoServico configuracaoSe
return new CteRecepcao(configuracaoWsdl);
}
+ public static CteRecepcaoSincronoV4 CriaWsdlCteRecepcaoSincronoV4(ConfiguracaoServico configuracaoServico = null)
+ {
+ var url = UrlHelper.ObterUrlServico(configuracaoServico).CteRecepcaoSinc;
+
+ var configuracaoWsdl = CriaConfiguracao(url, configuracaoServico);
+
+ return new CteRecepcaoSincronoV4(configuracaoWsdl);
+ }
+
public static CteRecepcaoEvento CriaWsdlCteEvento(ConfiguracaoServico configuracaoServico = null)
{
var url = UrlHelper.ObterUrlServico(configuracaoServico).CteRecepcaoEvento;
@@ -102,6 +123,15 @@ public static CteRecepcaoEvento CriaWsdlCteEvento(ConfiguracaoServico configurac
return new CteRecepcaoEvento(configuracaoWsdl);
}
+ public static CteRecepcaoEventoV4 CriaWsdlCteEventoV4(ConfiguracaoServico configuracaoServico = null)
+ {
+ var url = UrlHelper.ObterUrlServico(configuracaoServico).CteRecepcaoEvento;
+
+ var configuracaoWsdl = CriaConfiguracao(url, configuracaoServico);
+
+ return new CteRecepcaoEventoV4(configuracaoWsdl);
+ }
+
public static CTeDistDFeInteresse CriaWsdlCTeDistDFeInteresse(ConfiguracaoServico configuracaoServico = null)
{
diff --git a/CTe.Servicos/Recepcao/ServicoCTeRecepcao.cs b/CTe.Servicos/Recepcao/ServicoCTeRecepcao.cs
index d0ff8268b..22f0d3827 100644
--- a/CTe.Servicos/Recepcao/ServicoCTeRecepcao.cs
+++ b/CTe.Servicos/Recepcao/ServicoCTeRecepcao.cs
@@ -37,6 +37,7 @@
using System.Threading.Tasks;
using CTe.Classes;
using CTe.Classes.Servicos.Recepcao;
+using CTe.Classes.Servicos.Tipos;
using CTe.Servicos.Enderecos.Helpers;
using CTe.Servicos.Factory;
using CTe.Utils.CTe;
@@ -82,6 +83,44 @@ public async Task CTeRecepcaoAsync(int lote, List cte
return retorno;
}
+ public retCTe CTeRecepcaoSincronoV4(CTeEletronico cte, ConfiguracaoServico configuracaoServico = null)
+ {
+ var instanciaConfiguracao = configuracaoServico ?? ConfiguracaoServico.Instancia;
+
+ if (instanciaConfiguracao.tpAmb == TipoAmbiente.Homologacao && instanciaConfiguracao.VersaoLayout == versao.ve300)
+ {
+ const string razaoSocial = "CT-E EMITIDO EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL";
+
+ cte.infCte.rem.xNome = razaoSocial;
+ cte.infCte.dest.xNome = razaoSocial;
+ }
+
+ if (instanciaConfiguracao.tpAmb == TipoAmbiente.Homologacao && instanciaConfiguracao.VersaoLayout == versao.ve400)
+ {
+ const string razaoSocial = "CTE EMITIDO EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL";
+
+ cte.infCte.rem.xNome = razaoSocial;
+ cte.infCte.dest.xNome = razaoSocial;
+ }
+
+ cte.infCte.ide.tpEmis = instanciaConfiguracao.TipoEmissao;
+ cte.Assina(instanciaConfiguracao);
+ cte.infCTeSupl = cte.QrCode(instanciaConfiguracao.X509Certificate2, Encoding.UTF8, instanciaConfiguracao.IsAdicionaQrCode, UrlHelper.ObterUrlQrCode(instanciaConfiguracao));
+ cte.ValidaSchema(instanciaConfiguracao);
+ cte.SalvarXmlEmDisco(instanciaConfiguracao);
+
+ var webService = WsdlFactory.CriaWsdlCteRecepcaoSincronoV4(configuracaoServico);
+
+ //OnAntesDeEnviar(enviCte);
+
+ var retornoXml = webService.CTeRecepcaoSincV4(cte.CriaRequestWs(configuracaoServico));
+
+ var retorno = retCTe.LoadXml(retornoXml.OuterXml, cte);
+ retorno.SalvarXmlEmDisco(cte.Chave(), configuracaoServico);
+
+ return retorno;
+ }
+
private static enviCTe PreparaEnvioCTe(int lote, List cteEletronicosList, ConfiguracaoServico configuracaoServico = null)
{
var instanciaConfiguracao = configuracaoServico ?? ConfiguracaoServico.Instancia;
diff --git a/CTe.Utils/CTe/ExtCTe.cs b/CTe.Utils/CTe/ExtCTe.cs
index 9d6915e8d..325b1f7f8 100644
--- a/CTe.Utils/CTe/ExtCTe.cs
+++ b/CTe.Utils/CTe/ExtCTe.cs
@@ -36,12 +36,15 @@
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
using System.Text;
+using System.Xml;
using CTe.Classes;
using CTe.Classes.Informacoes;
using CTe.Classes.Informacoes.infCTeNormal.infModals;
using CTe.Classes.Informacoes.Tipos;
+using CTe.Classes.Servicos.Recepcao;
using CTe.Classes.Servicos.Tipos;
using CTe.Utils.Validacao;
+using DFe.Classes.Entidades;
using DFe.Utils;
using DFe.Utils.Assinatura;
using CteEletronica = CTe.Classes.CTe;
@@ -104,6 +107,9 @@ public static void ValidaSchema(this CteEletronica cte, ConfiguracaoServico conf
case versao.ve300:
Validador.Valida(xmlValidacao, "cte_v3.00.xsd", configuracaoServico);
break;
+ case versao.ve400:
+ Validador.Valida(xmlValidacao, "cte_v4.00.xsd", configuracaoServico);
+ break;
default:
throw new InvalidOperationException("Nos achamos um erro na hora de validar o schema, " +
"a versão está inválida, somente é permitido " +
@@ -180,7 +186,43 @@ public static void ValidaSchema(this CteEletronica cte, ConfiguracaoServico conf
if (cte.infCte.infCTeNorm.infModal.ContainerModal.GetType() == typeof(rodoOS))
{
- Validador.Valida(xmlModal, "cteModalRodoviarioOS_v.3.00.xsd", configuracaoServico);
+ Validador.Valida(xmlModal, "cteModalRodoviarioOS_v3.00.xsd", configuracaoServico);
+ }
+ break;
+ case versaoModal.veM400:
+ if (cte.infCte.infCTeNorm.infModal.ContainerModal.GetType() == typeof(aereo))
+ {
+ Validador.Valida(xmlModal, "cteModalAereo_v4.00.xsd", configuracaoServico);
+ }
+
+ if (cte.infCte.infCTeNorm.infModal.ContainerModal.GetType() == typeof(aquav))
+ {
+ Validador.Valida(xmlModal, "cteModalAquaviario_v4.00.xsd", configuracaoServico);
+ }
+
+ if (cte.infCte.infCTeNorm.infModal.ContainerModal.GetType() == typeof(duto))
+ {
+ Validador.Valida(xmlModal, "cteModalDutoviario_v4.00.xsd", configuracaoServico);
+ }
+
+ if (cte.infCte.infCTeNorm.infModal.ContainerModal.GetType() == typeof(ferrov))
+ {
+ Validador.Valida(xmlModal, "cteModalFerroviario_v4.00.xsd", configuracaoServico);
+ }
+
+ if (cte.infCte.infCTeNorm.infModal.ContainerModal.GetType() == typeof(rodo))
+ {
+ Validador.Valida(xmlModal, "cteModalRodoviario_v4.00.xsd", configuracaoServico);
+ }
+
+ if (cte.infCte.infCTeNorm.infModal.ContainerModal.GetType() == typeof(multimodal))
+ {
+ Validador.Valida(xmlModal, "cteMultimodal_v4.00.xsd", configuracaoServico);
+ }
+
+ if (cte.infCte.infCTeNorm.infModal.ContainerModal.GetType() == typeof(rodoOS))
+ {
+ Validador.Valida(xmlModal, "cteModalRodoviarioOS_v4.00.xsd", configuracaoServico);
}
break;
default:
@@ -215,7 +257,7 @@ public static void Assina(this CteEletronica cte, ConfiguracaoServico configurac
var dadosChave = ChaveFiscal.ObterChave(estado, dataEHoraEmissao, cnpj, modeloDocumentoFiscal, serie, numeroDocumento, tipoEmissao, codigoNumerico);
cte.infCte.Id = "CTe" + dadosChave.Chave;
- cte.infCte.versao = configServico.VersaoLayout;
+ cte.infCte.versao = configServico.ObterVersaoLayoutValida();
cte.infCte.ide.cDV = dadosChave.DigitoVerificador;
var assinatura = AssinaturaDigital.Assina(cte, cte.infCte.Id, configServico.X509Certificate2);
@@ -291,6 +333,35 @@ public static void SalvarXmlEmDisco(this CteEletronica cte, ConfiguracaoServico
FuncoesXml.ClasseParaArquivoXml(cte, arquivoSalvar);
}
+ public static XmlDocument CriaRequestWs(this CteEletronica cte, ConfiguracaoServico configuracaoServico = null)
+ {
+ var request = new XmlDocument();
+
+ var xml = cte.ObterXmlString();
+
+ var instanciaServico = configuracaoServico ?? ConfiguracaoServico.Instancia;
+
+ if (instanciaServico.cUF == Estado.PR
+ || instanciaServico.cUF == Estado.MT)
+ //Caso o lote seja enviado para o PR, colocar o namespace nos elementos do lote, pois o serviço do PR o exige, conforme https://github.com/adeniltonbs/Zeus.Net.NFe.NFCe/issues/456
+ xml = xml.Replace("", "");
+
+ request.LoadXml(xml);
+ return request;
+ }
+
+ public static void SalvarXmlEmDisco(this retCTe retEnviCte, string chave, ConfiguracaoServico configuracaoServico = null)
+ {
+ var instanciaServico = configuracaoServico ?? ConfiguracaoServico.Instancia;
+
+ if (instanciaServico.NaoSalvarXml()) return;
+
+ var caminhoXml = instanciaServico.DiretorioSalvarXml;
+
+ var arquivoSalvar = Path.Combine(caminhoXml, chave + "-cte.xml");
+
+ FuncoesXml.ClasseParaArquivoXml(retEnviCte, arquivoSalvar);
+ }
}
}
\ No newline at end of file
diff --git a/CTe.Utils/CTe/ExtEnvCte.cs b/CTe.Utils/CTe/ExtEnvCte.cs
index 2e7f263b6..e215f5154 100644
--- a/CTe.Utils/CTe/ExtEnvCte.cs
+++ b/CTe.Utils/CTe/ExtEnvCte.cs
@@ -54,6 +54,7 @@ public static void ValidaSchema(this enviCTe enviCTe, ConfiguracaoServico config
case versao.ve200:
Validador.Valida(xmlValidacao, "enviCTe_v2.00.xsd", configuracaoServico);
break;
+ case versao.ve400:
case versao.ve300:
Validador.Valida(xmlValidacao, "enviCTe_v3.00.xsd", configuracaoServico);
break;
diff --git a/CTe.Utils/Evento/Extevento.cs b/CTe.Utils/Evento/Extevento.cs
index ee6b3b525..afbdf82fa 100644
--- a/CTe.Utils/Evento/Extevento.cs
+++ b/CTe.Utils/Evento/Extevento.cs
@@ -84,10 +84,13 @@ public static void ValidarSchema(this eventoCTe eventoCTe, ConfiguracaoServico c
case versao.ve300:
Validador.Valida(xmlEvento, "eventoCTe_v3.00.xsd", configuracaoServico);
break;
+ case versao.ve400:
+ Validador.Valida(xmlEvento, "eventoCTe_v4.00.xsd", configuracaoServico);
+ break;
default:
throw new InvalidOperationException("Nos achamos um erro na hora de validar o schema, " +
"a versão está inválida, somente é permitido " +
- "versão 2.00 é 3.00");
+ "versão 2.00, 3.00, 4.00");
}
ValidarSchemaEventoContainer(eventoCTe.infEvento.detEvento.EventoContainer, eventoCTe.versao, configuracaoServico);
@@ -109,10 +112,13 @@ private static void ValidarSchemaEventoContainer(EventoContainer container, vers
case versao.ve300:
Validador.Valida(xmlEventoCancelamento, "evCancCTe_v3.00.xsd", configuracaoServico);
break;
+ case versao.ve400:
+ Validador.Valida(xmlEventoCancelamento, "evCancCTe_v4.00.xsd", configuracaoServico);
+ break;
default:
throw new InvalidOperationException("Nos achamos um erro na hora de validar o schema, " +
"a versão está inválida, somente é permitido " +
- "versão 2.00 é 3.00");
+ "versão 2.00, 3.00, 4.00");
}
@@ -132,10 +138,13 @@ private static void ValidarSchemaEventoContainer(EventoContainer container, vers
case versao.ve300:
Validador.Valida(xmlEventoCCe, "evCCeCTe_v3.00.xsd", configuracaoServico);
break;
+ case versao.ve400:
+ Validador.Valida(xmlEventoCCe, "evCCeCTe_v4.00.xsd", configuracaoServico);
+ break;
default:
throw new InvalidOperationException("Nos achamos um erro na hora de validar o schema, " +
"a versão está inválida, somente é permitido " +
- "versão 2.00 é 3.00");
+ "versão 2.00, 3.00, 4.00");
}
}
@@ -153,10 +162,13 @@ private static void ValidarSchemaEventoContainer(EventoContainer container, vers
case versao.ve300:
Validador.Valida(xmlEventoCCe, "evPrestDesacordo_v3.00.xsd", configuracaoServico);
break;
+ case versao.ve400:
+ Validador.Valida(xmlEventoCCe, "evPrestDesacordo_v4.00.xsd", configuracaoServico);
+ break;
default:
throw new InvalidOperationException("Nos achamos um erro na hora de validar o schema, " +
"a versão está inválida, somente é permitido " +
- "versão 2.00 é 3.00");
+ "versão 2.00, 3.00, 4.00");
}
}
}
diff --git a/CTe.Utils/Extencoes/ExtconsSitCTe.cs b/CTe.Utils/Extencoes/ExtconsSitCTe.cs
index d1206e880..166f4a934 100644
--- a/CTe.Utils/Extencoes/ExtconsSitCTe.cs
+++ b/CTe.Utils/Extencoes/ExtconsSitCTe.cs
@@ -56,6 +56,9 @@ public static void ValidarSchema(this consSitCTe consSitCTe, ConfiguracaoServico
case versao.ve300:
Validador.Valida(xmlValidacao, "consSitCTe_v3.00.xsd", configuracaoServico);
break;
+ case versao.ve400:
+ Validador.Valida(xmlValidacao, "consSitCTe_v4.00.xsd", configuracaoServico);
+ break;
default: throw new InvalidOperationException("Nos achamos um erro na hora de validar o schema, " +
"a versão está inválida, somente é permitido " +
"versão 2.00 é 3.00");
diff --git a/CTe.Utils/Extencoes/ExtconsStatServCte.cs b/CTe.Utils/Extencoes/ExtconsStatServCte.cs
index 4e6db310c..1bc456602 100644
--- a/CTe.Utils/Extencoes/ExtconsStatServCte.cs
+++ b/CTe.Utils/Extencoes/ExtconsStatServCte.cs
@@ -55,6 +55,9 @@ public static void ValidarSchema(this consStatServCte consStatServCte, Configura
case versao.ve300:
Validador.Valida(xmlValidacao, "consStatServCTe_v3.00.xsd", configuracaoServico);
break;
+ case versao.ve400:
+ Validador.Valida(xmlValidacao, "consStatServCTe_v4.00.xsd", configuracaoServico);
+ break;
default:
throw new InvalidOperationException("Nos achamos um erro na hora de validar o schema, " +
"a versão está inválida, somente é permitido " +
@@ -93,4 +96,60 @@ public static XmlDocument CriaRequestWs(this consStatServCte consStatServMdFe)
return request;
}
}
+
+ public static class ExtconsStatServCTe
+ {
+ public static void ValidarSchema(this consStatServCTe consStatServCte, ConfiguracaoServico configuracaoServico = null)
+ {
+ var xmlValidacao = consStatServCte.ObterXmlString();
+
+ switch (consStatServCte.versao)
+ {
+ case versao.ve200:
+ Validador.Valida(xmlValidacao, "consStatServCTe_v2.00.xsd", configuracaoServico);
+ break;
+ case versao.ve300:
+ Validador.Valida(xmlValidacao, "consStatServCTe_v3.00.xsd", configuracaoServico);
+ break;
+ case versao.ve400:
+ Validador.Valida(xmlValidacao, "consStatServCTe_v4.00.xsd", configuracaoServico);
+ break;
+ default:
+ throw new InvalidOperationException("Nos achamos um erro na hora de validar o schema, " +
+ "a versão está inválida, somente é permitido " +
+ "versão 2.00 é 3.00");
+ }
+ }
+
+ ///
+ /// Recebe um objeto consStatServ e devolve a string no formato XML
+ ///
+ /// Objeto do tipo consStatServ
+ /// string com XML no do objeto consStatServ
+ public static string ObterXmlString(this consStatServCTe pedStatus)
+ {
+ return FuncoesXml.ClasseParaXmlString(pedStatus);
+ }
+
+ public static void SalvarXmlEmDisco(this consStatServCTe statuServCte, ConfiguracaoServico configuracaoServico = null)
+ {
+ var instanciaServico = configuracaoServico ?? ConfiguracaoServico.Instancia;
+
+ if (instanciaServico.NaoSalvarXml()) return;
+
+ var caminhoXml = instanciaServico.DiretorioSalvarXml;
+
+ var arquivoSalvar = Path.Combine(caminhoXml, DateTime.Now.ParaDataHoraString() + "-ped-sta.xml");
+
+ FuncoesXml.ClasseParaArquivoXml(statuServCte, arquivoSalvar);
+ }
+
+ public static XmlDocument CriaRequestWs(this consStatServCTe consStatServMdFe)
+ {
+ var request = new XmlDocument();
+ request.LoadXml(consStatServMdFe.ObterXmlString());
+
+ return request;
+ }
+ }
}
\ No newline at end of file
diff --git a/CTe.Utils/Extencoes/ExtretConsStatServCte.cs b/CTe.Utils/Extencoes/ExtretConsStatServCte.cs
index 6bdcd48b1..1d7600f08 100644
--- a/CTe.Utils/Extencoes/ExtretConsStatServCte.cs
+++ b/CTe.Utils/Extencoes/ExtretConsStatServCte.cs
@@ -53,4 +53,20 @@ public static void SalvarXmlEmDisco(this retConsStatServCte retConsStatServCte,
FuncoesXml.ClasseParaArquivoXml(retConsStatServCte, arquivoSalvar);
}
}
+
+ public static class ExtretConsStatServCTe
+ {
+ public static void SalvarXmlEmDisco(this retConsStatServCTe retConsStatServCte, ConfiguracaoServico configuracaoServico = null)
+ {
+ var instanciaServico = configuracaoServico ?? ConfiguracaoServico.Instancia;
+
+ if (instanciaServico.NaoSalvarXml()) return;
+
+ var caminhoXml = instanciaServico.DiretorioSalvarXml;
+
+ var arquivoSalvar = Path.Combine(caminhoXml, DateTime.Now.ParaDataHoraString() + "-sta.xml");
+
+ FuncoesXml.ClasseParaArquivoXml(retConsStatServCte, arquivoSalvar);
+ }
+ }
}
\ No newline at end of file
diff --git a/CTe.Wsdl/CTe.Wsdl.csproj b/CTe.Wsdl/CTe.Wsdl.csproj
index 2c60a1325..29133ee8c 100644
--- a/CTe.Wsdl/CTe.Wsdl.csproj
+++ b/CTe.Wsdl/CTe.Wsdl.csproj
@@ -9,4 +9,8 @@
+
+
+
+
diff --git a/CTe.Wsdl/ConsultaProtocolo/V4/CteConsulta.cs b/CTe.Wsdl/ConsultaProtocolo/V4/CteConsulta.cs
new file mode 100644
index 000000000..7ee884352
--- /dev/null
+++ b/CTe.Wsdl/ConsultaProtocolo/V4/CteConsulta.cs
@@ -0,0 +1,74 @@
+using System;
+using System.Net;
+using System.Threading.Tasks;
+using System.Xml;
+using System.Xml.Serialization;
+using CTe.CTeOSDocumento.Common;
+
+namespace CTe.Wsdl.ConsultaProtocolo.V4
+{
+ public class CteConsultaV4
+ {
+ //Envelope SOAP para envio
+ private SoapEnvelope soapEnvelope;
+
+ //Configurações do WSDL para estabelecimento da comunicação
+ private WsdlConfiguracao configuracao;
+
+ ///
+ /// Cria o cabeçalho do envelope a ser enviado e atribui as configurações do WSDL.
+ ///
+ ///
+ public CteConsultaV4(WsdlConfiguracao configuracao)
+ {
+ if (configuracao == null) throw new ArgumentNullException();
+
+ this.configuracao = configuracao;
+ this.soapEnvelope = new SoapEnvelope();
+ ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
+ }
+
+ ///
+ /// Encapsula os dados da requisição no envelope por meio da serialização das partes e realiza a requisção ao Web Service.
+ ///
+ ///
+ /// XmlNode
+ public XmlNode cteConsultaCT(XmlNode cteDadosMsg)
+ {
+ soapEnvelope.body = new ResponseBody
+ {
+ cteDadosMsg = cteDadosMsg
+ };
+ return RequestBuilderAndSender.Execute(soapEnvelope, configuracao, TipoEvento.CTeConsultaV4, "retConsSitCTe");
+ }
+
+ public async Task cteConsultaCTAsync(XmlNode cteDadosMsg)
+ {
+ soapEnvelope.body = new ResponseBody
+ {
+ cteDadosMsg = cteDadosMsg
+ };
+ return await RequestBuilderAndSender.ExecuteAsync(soapEnvelope, configuracao, TipoEvento.CTeConsultaV4, "retConsSitCTe");
+ }
+ }
+
+ ///
+ /// Classe base para a serialização no formato do envelope SOAP.
+ ///
+ [XmlRoot(ElementName = "Envelope", Namespace = "http://www.w3.org/2003/05/soap-envelope")]
+ public class SoapEnvelope : CommonSoapEnvelope
+ {
+
+ [XmlElement(ElementName = "Body", Namespace = "http://www.w3.org/2003/05/soap-envelope")]
+ public ResponseBody body { get; set; }
+ }
+
+ ///
+ /// Classe para o corpo do Envelope SOAP
+ ///
+ public class ResponseBody : CommonResponseBody
+ {
+ [XmlElement(Namespace = "http://www.portalfiscal.inf.br/cte/wsdl/CTeConsultaV4")]
+ public T cteDadosMsg { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/CTe.Wsdl/Evento/V4/CteRecepcaoEventoV4.cs b/CTe.Wsdl/Evento/V4/CteRecepcaoEventoV4.cs
new file mode 100644
index 000000000..c6ef47932
--- /dev/null
+++ b/CTe.Wsdl/Evento/V4/CteRecepcaoEventoV4.cs
@@ -0,0 +1,86 @@
+using System.Net;
+using System.Threading.Tasks;
+using System.Xml;
+using System;
+using System.Xml.Serialization;
+using CTe.CTeOSDocumento.Common;
+
+namespace CTe.Wsdl.Evento.V4
+{
+ public class CteRecepcaoEventoV4
+ {
+ //Envelope SOAP para envio
+ private SoapEnvelope soapEnvelope;
+
+ //Configurações do WSDL para estabelecimento da comunicação
+ private WsdlConfiguracao configuracao;
+
+ ///
+ /// Cria o cabeçalho do envelope a ser enviado e atribui as configurações do WSDL.
+ ///
+ ///
+ public CteRecepcaoEventoV4(WsdlConfiguracao configuracao)
+ {
+ if (configuracao == null)
+ throw new ArgumentNullException();
+
+ this.configuracao = configuracao;
+ soapEnvelope = new SoapEnvelope();
+ ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
+ }
+
+ ///
+ /// Encapsula os dados da requisição no envelope por meio da serialização das partes e realiza a requisção ao Web Service.
+ ///
+ ///
+ /// XmlNode
+ public XmlNode cteRecepcaoEvento(XmlNode cteDadosMsg)
+ {
+ soapEnvelope.body = new ResponseBody
+ {
+ cteDadosMsg = cteDadosMsg
+ };
+ return RequestBuilderAndSender.Execute(soapEnvelope, configuracao, TipoEvento.CTeRecepcaoEventoV4, "retEventoCTe");
+ }
+
+ public async Task cteRecepcaoEventoAsync(XmlNode cteDadosMsg)
+ {
+ soapEnvelope.body = new ResponseBody
+ {
+ cteDadosMsg = cteDadosMsg
+ };
+ return await RequestBuilderAndSender.ExecuteAsync(soapEnvelope, configuracao, TipoEvento.CTeRecepcaoEventoV4, "retEventoCTe");
+ }
+ }
+
+ ///
+ /// Classe base para a serialização no formato do envelope SOAP.
+ ///
+ [XmlRoot(ElementName = "Envelope", Namespace = "http://www.w3.org/2003/05/soap-envelope")]
+ public class SoapEnvelope : CommonSoapEnvelope
+ {
+ [XmlElement(ElementName = "Header", Namespace = "http://www.w3.org/2003/05/soap-envelope")]
+ public ResponseHead head { get; set; }
+
+ [XmlElement(ElementName = "Body", Namespace = "http://www.w3.org/2003/05/soap-envelope")]
+ public ResponseBody body { get; set; }
+ }
+
+ ///
+ /// Classe para o cabeçalho do Envelope SOAP
+ ///
+ public class ResponseHead : CommonResponseHead
+ {
+ [XmlElement(Namespace = "http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoEventoV4")]
+ public T cteCabecMsg { get; set; }
+ }
+
+ ///
+ /// Classe para o corpo do Envelope SOAP
+ ///
+ public class ResponseBody : CommonResponseBody
+ {
+ [XmlElement(Namespace = "http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoEventoV4")]
+ public T cteDadosMsg { get; set; }
+ }
+}
diff --git a/CTe.Wsdl/Recepcao/Sincrono/CteRecepcaoSincronoV4.cs b/CTe.Wsdl/Recepcao/Sincrono/CteRecepcaoSincronoV4.cs
new file mode 100644
index 000000000..6b472b250
--- /dev/null
+++ b/CTe.Wsdl/Recepcao/Sincrono/CteRecepcaoSincronoV4.cs
@@ -0,0 +1,76 @@
+using System.Net;
+using System.Threading.Tasks;
+using System.Xml;
+using System;
+using System.Xml.Serialization;
+using CTe.CTeOSDocumento.Common;
+using DFe.Utils;
+
+namespace CTe.Wsdl.Recepcao.Sincrono
+{
+ public class CteRecepcaoSincronoV4
+ {
+ //Envelope SOAP para envio
+ private SoapEnvelope soapEnvelope;
+
+ //Configurações do WSDL para estabelecimento da comunicação
+ private WsdlConfiguracao configuracao;
+
+ ///
+ /// Cria o cabeçalho do envelope a ser enviado e atribui as configurações do WSDL.
+ ///
+ ///
+ public CteRecepcaoSincronoV4(WsdlConfiguracao configuracao)
+ {
+ if (configuracao == null)
+ throw new ArgumentNullException();
+
+ this.configuracao = configuracao;
+ soapEnvelope = new SoapEnvelope();
+ ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
+ }
+
+ ///
+ /// Encapsula os dados da requisição no envelope por meio da serialização das partes e realiza a requisção ao Web Service.
+ ///
+ ///
+ /// XmlNode
+ public XmlNode CTeRecepcaoSincV4(XmlNode cteDadosMsg)
+ {
+ soapEnvelope.body = new ResponseBody
+ {
+ cteDadosMsg = Convert.ToBase64String(Compressao.Zip(cteDadosMsg.OuterXml))
+ };
+ return RequestBuilderAndSender.Execute(soapEnvelope, configuracao, TipoEvento.CTeStatusServicoV4, "retCTe");
+ }
+
+ /*public async Task cteRecepcaoLoteAsync(XmlNode cteDadosMsg)
+ {
+ soapEnvelope.body = new ResponseBody
+ {
+ cteDadosMsg = cteDadosMsg
+ };
+ return await RequestBuilderAndSender.ExecuteAsync(soapEnvelope, configuracao, TipoEvento.CTeRecepcao, "retEnviCte");
+ }*/
+ }
+
+ ///
+ /// Classe base para a serialização no formato do envelope SOAP.
+ ///
+ [XmlRoot(ElementName = "Envelope", Namespace = "http://www.w3.org/2003/05/soap-envelope")]
+ public class SoapEnvelope : CommonSoapEnvelope
+ {
+
+ [XmlElement(ElementName = "Body", Namespace = "http://www.w3.org/2003/05/soap-envelope")]
+ public ResponseBody body { get; set; }
+ }
+
+ ///
+ /// Classe para o corpo do Envelope SOAP
+ ///
+ public class ResponseBody : CommonResponseBody
+ {
+ [XmlElement(Namespace = "http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoSincV4")]
+ public T cteDadosMsg { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/CTe.Wsdl/Status/CTeStatusServico.cs b/CTe.Wsdl/Status/CTeStatusServico.cs
index 1ccbf572c..b5f3e3e34 100644
--- a/CTe.Wsdl/Status/CTeStatusServico.cs
+++ b/CTe.Wsdl/Status/CTeStatusServico.cs
@@ -11,6 +11,7 @@ public class CteStatusServico
{
//Envelope SOAP para envio
private SoapEnvelope soapEnvelope;
+ private SoapEnvelopeV4 soapEnvelopeV4;
//Configurações do WSDL para estabelecimento da comunicação
private WsdlConfiguracao configuracao;
@@ -25,17 +26,22 @@ public CteStatusServico(WsdlConfiguracao configuracao)
throw new ArgumentNullException();
this.configuracao = configuracao;
- soapEnvelope = new SoapEnvelope
+
+ soapEnvelope = new SoapEnvelope();
+ soapEnvelopeV4 = new SoapEnvelopeV4();
+
+ if (configuracao.Versao != "4.00")
{
- head = new ResponseHead
+ soapEnvelope.head = new ResponseHead
{
cteCabecMsg = new cteCabecMsg
{
versaoDados = configuracao.Versao,
cUF = configuracao.CodigoIbgeEstado
}
- }
- };
+ };
+ }
+
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
}
@@ -50,7 +56,7 @@ public async Task cteStatusServicoCTAsync(XmlNode cteDadosMsg)
{
cteDadosMsg = cteDadosMsg
};
- return await RequestBuilderAndSender.ExecuteAsync(soapEnvelope, configuracao, TipoEvento.CTeStatusServico, "retConsStatServCte");
+ return await RequestBuilderAndSender.ExecuteAsync(soapEnvelope, configuracao, configuracao.Versao == "4.00" ? TipoEvento.CTeStatusServicoV4 : TipoEvento.CTeStatusServico, "retConsStatServCte");
}
public XmlNode cteStatusServicoCT(XmlNode cteDadosMsg)
@@ -59,7 +65,24 @@ public XmlNode cteStatusServicoCT(XmlNode cteDadosMsg)
{
cteDadosMsg = cteDadosMsg
};
- return RequestBuilderAndSender.Execute(soapEnvelope, configuracao, TipoEvento.CTeStatusServico, "retConsStatServCte");
+
+ if (configuracao.Versao == "4.00")
+ {
+ soapEnvelopeV4.body = new ResponseBodyV4
+ {
+ cteDadosMsg = cteDadosMsg
+ };
+ }
+
+ if (configuracao.Versao == "4.00")
+ {
+ return RequestBuilderAndSender.Execute(soapEnvelopeV4, configuracao, TipoEvento.CTeStatusServicoV4,
+ "retConsStatServCTe");
+ }
+
+ return RequestBuilderAndSender.Execute(soapEnvelope, configuracao,
+ TipoEvento.CTeStatusServico,
+ "retConsStatServCte");
}
}
@@ -93,4 +116,23 @@ public class ResponseBody : CommonResponseBody
[XmlElement(Namespace = "http://www.portalfiscal.inf.br/cte/wsdl/CteStatusServico")]
public T cteDadosMsg { get; set; }
}
+
+ ///
+ /// Classe base para a serialização no formato do envelope SOAP.
+ ///
+ [XmlRoot(ElementName = "Envelope", Namespace = "http://www.w3.org/2003/05/soap-envelope")]
+ public class SoapEnvelopeV4 : CommonSoapEnvelope
+ {
+ [XmlElement(ElementName = "Body", Namespace = "http://www.w3.org/2003/05/soap-envelope")]
+ public ResponseBodyV4 body { get; set; }
+ }
+
+ ///
+ /// Classe para o corpo do Envelope SOAP
+ ///
+ public class ResponseBodyV4 : CommonResponseBody
+ {
+ [XmlElement(Namespace = "http://www.portalfiscal.inf.br/cte/wsdl/CTeStatusServicoV4")]
+ public T cteDadosMsg { get; set; }
+ }
}
diff --git a/DFe.Wsdl/Common/SoapUrls.cs b/DFe.Wsdl/Common/SoapUrls.cs
index 1e600df2c..3737981ef 100644
--- a/DFe.Wsdl/Common/SoapUrls.cs
+++ b/DFe.Wsdl/Common/SoapUrls.cs
@@ -15,14 +15,20 @@ public string GetSoapUrl(TipoEvento tipoEvento)
return "http://www.portalfiscal.inf.br/cte/wsdl/CTeDistribuicaoDFe/cteDistDFeInteresse";
case TipoEvento.CTeRecepcaoEvento:
return "http://www.portalfiscal.inf.br/cte/wsdl/CteRecepcaoEvento";
+ case TipoEvento.CTeRecepcaoEventoV4:
+ return "http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoEventoV4/cteRecepcaoEvento";
case TipoEvento.CTeInutilizacao:
return "http://www.portalfiscal.inf.br/cte/wsdl/CteInutilizacao";
case TipoEvento.CTeRecepcao:
return "http://www.portalfiscal.inf.br/cte/wsdl/CteRecepcao";
+ case TipoEvento.CTeRecepcaoV4:
+ return "http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoSincV4/cteRecepcao";
case TipoEvento.CTeRetRecepcao:
return "http://www.portalfiscal.inf.br/cte/wsdl/CteRetRecepcao";
case TipoEvento.CTeStatusServico:
return "http://www.portalfiscal.inf.br/cte/wsdl/CteStatusServico";
+ case TipoEvento.CTeStatusServicoV4:
+ return "http://www.portalfiscal.inf.br/cte/wsdl/CTeStatusServicoV4/cteStatusServicoCT";
case TipoEvento.MDFeStatusServico:
return "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeStatusServico";
case TipoEvento.MDFeRecepcao:
@@ -35,6 +41,8 @@ public string GetSoapUrl(TipoEvento tipoEvento)
return "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeConsulta";
case TipoEvento.MDFeEvento:
return "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeRecepcaoEvento";
+ case TipoEvento.CTeConsultaV4:
+ return "http://www.portalfiscal.inf.br/cte/wsdl/CTeConsultaV4/cteConsultaCT";
default:
throw new ArgumentOutOfRangeException(nameof(tipoEvento), tipoEvento, null);
}
diff --git a/DFe.Wsdl/Common/TipoEvento.cs b/DFe.Wsdl/Common/TipoEvento.cs
index a3cee7a11..d41ec48af 100644
--- a/DFe.Wsdl/Common/TipoEvento.cs
+++ b/DFe.Wsdl/Common/TipoEvento.cs
@@ -3,6 +3,7 @@
public enum TipoEvento
{
CTeConsulta,
+
CTeDistribuicaoDFe,
CTeRecepcaoEvento,
CTeInutilizacao,
@@ -15,6 +16,12 @@ public enum TipoEvento
MDFeRetRecepcao,
MDFeNaoEncerrado,
MDFeConsulta,
- MDFeEvento
+ MDFeEvento,
+
+ CTeConsultaV4,
+ CTeRecepcaoV4,
+ CTeStatusServicoV4,
+ CTeDistribuicaoDFeV4,
+ CTeRecepcaoEventoV4,
}
}
\ No newline at end of file