diff --git a/.travis.yml b/.travis.yml
index 73a0c70..4e404cd 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,7 +1,5 @@
language: python
python:
-- "3.4"
-- "3.5"
- "3.6"
virtual_env:
system_site_packages: true
diff --git a/pytrustnfe/Servidores.py b/pytrustnfe/Servidores.py
index 8a340fe..a64b0b7 100644
--- a/pytrustnfe/Servidores.py
+++ b/pytrustnfe/Servidores.py
@@ -2,41 +2,29 @@
# © 2016 Danimar Ribeiro
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-WS_NFE_AUTORIZACAO = 'NfeAutorizacao'
-WS_NFE_RET_AUTORIZACAO = 'NfeRetAutorizacao'
-WS_NFE_CANCELAMENTO = 'RecepcaoEventoCancelamento'
+# Consultas básicas da NF-e
WS_NFE_INUTILIZACAO = 'NfeInutilizacao'
WS_NFE_CONSULTA = 'NfeConsultaProtocolo'
WS_NFE_SITUACAO = 'NfeStatusServico'
-WS_NFE_CADASTRO = 'NfeConsultaCadastro'
-
-WS_NFCE_AUTORIZACAO = 'NfeAutorizacao'
-WS_NFCE_RET_AUTORIZACAO = 'NfeRetAutorizacao'
-WS_NFCE_CANCELAMENTO = 'RecepcaoEventoCancelamento'
-WS_NFCE_INUTILIZACAO = 'NfeInutilizacao'
-WS_NFCE_CONSULTA = 'NfeConsultaProtocolo'
-WS_NFCE_SITUACAO = 'NfeStatusServico'
-WS_NFCE_CADASTRO = 'NfeConsultaCadastro'
-WS_NFCE_RECEPCAO_EVENTO = 'RecepcaoEventoCarta'
-WS_NFCE_QR_CODE = 'NfeQRCode'
-WS_NFCE_CONSULTA_DESTINADAS = 'NfeConsultaDest',
-WS_NFCE_RET_AUTORIZACAO = 'NFeRetAutorizacao',
-
+WS_NFE_RECEPCAO_EVENTO = 'RecepcaoEvento'
+WS_NFE_AUTORIZACAO = 'NfeAutorizacao'
+WS_NFE_RET_AUTORIZACAO = 'NfeRetAutorizacao'
+# Alguns estados possuem essa consulta não todos
WS_NFE_CADASTRO = 'NfeConsultaCadastro'
-WS_DPEC_RECEPCAO = 'RecepcaoEventoEPEC'
-WS_DPEC_CONSULTA = 8
-WS_NFE_RECEPCAO_EVENTO = 'RecepcaoEventoCarta'
-WS_NFE_RECEPCAO_EVENTO_MANIFESTO = 'RecepcaoEventoManifesto'
+
+# Ambiente nacional
+WS_NFCE_QR_CODE = 'NfeQRCode'
+WS_NFCE_CONSULTA_DESTINADAS = 'NfeConsultaDest'
WS_DFE_DISTRIBUICAO = 'NFeDistribuicaoDFe'
WS_DOWNLOAD_NFE = 'nfeDistDFeInteresse'
-NFE_AMBIENTE_PRODUCAO = 1
-NFE_AMBIENTE_HOMOLOGACAO = 2
-NFCE_AMBIENTE_PRODUCAO = 1
-NFCE_AMBIENTE_HOMOLOGACAO = 2
+# Códigos do ambiente de homologação e produção
+AMBIENTE_PRODUCAO = 1
+AMBIENTE_HOMOLOGACAO = 2
+# Modelos dos documentos eletrônicos
NFE_MODELO = '55'
NFCE_MODELO = '65'
@@ -68,6 +56,7 @@ SIGLA_ESTADO = {
'28': 'SE',
'35': 'SP',
'17': 'TO',
+ '91': 'AN'
}
@@ -75,8 +64,7 @@ def localizar_url(servico, estado, mod='55', ambiente=2):
sigla = SIGLA_ESTADO[estado]
ws = ESTADO_WS[sigla]
- if servico in (WS_DFE_DISTRIBUICAO, WS_DOWNLOAD_NFE,
- WS_NFE_RECEPCAO_EVENTO_MANIFESTO):
+ if servico in (WS_DFE_DISTRIBUICAO, WS_DOWNLOAD_NFE):
ws = AN
if mod in ws:
@@ -97,11 +85,8 @@ def localizar_url(servico, estado, mod='55', ambiente=2):
def localizar_qrcode(estado, ambiente=2):
sigla = SIGLA_ESTADO[estado]
- dominio = ESTADO_WS[sigla]['65'][ambiente]['servidor']
- complemento = ESTADO_WS[sigla]['65'][ambiente][WS_NFCE_QR_CODE]
- if 'https://' in complemento:
- return complemento
- return "https://%s/%s" % (dominio, complemento)
+ ws_qrcode = ESTADO_WS[sigla][NFCE_MODELO][ambiente][WS_NFCE_QR_CODE]
+ return ws_qrcode
METODO_WS = {
@@ -123,7 +108,6 @@ METODO_WS = {
},
WS_NFE_SITUACAO: {
'webservice': 'NfeStatusServico2',
-
'metodo': 'nfeStatusServicoNF2',
},
WS_NFE_CADASTRO: {
@@ -137,32 +121,55 @@ METODO_WS = {
}
SVRS = {
- NFE_AMBIENTE_PRODUCAO: {
- 'servidor': 'nfe.svrs.rs.gov.br',
- WS_NFE_RECEPCAO_EVENTO: 'ws/recepcaoevento/recepcaoevento.asmx',
- WS_NFE_CANCELAMENTO: 'ws/recepcaoevento/recepcaoevento.asmx',
- WS_NFE_AUTORIZACAO: 'ws/NfeAutorizacao/NfeAutorizacao.asmx',
- WS_NFE_RET_AUTORIZACAO: 'ws/NfeRetAutorizacao/NfeRetAutorizacao.asmx',
- WS_NFE_CADASTRO: 'ws/CadConsultaCadastro/CadConsultaCadastro2.asmx',
- WS_NFE_INUTILIZACAO: 'ws/nfeinutilizacao/nfeinutilizacao2.asmx',
- WS_NFE_CONSULTA: 'ws/NfeConsulta/NfeConsulta2.asmx',
- WS_NFE_SITUACAO: 'ws/NfeStatusServico/NfeStatusServico2.asmx',
+ NFE_MODELO: {
+ AMBIENTE_PRODUCAO: {
+ 'servidor': 'nfe.svrs.rs.gov.br',
+ WS_NFE_INUTILIZACAO: 'ws/nfeinutilizacao/nfeinutilizacao4.asmx?wsdl', # noqa
+ WS_NFE_CONSULTA: 'ws/NfeConsulta/NfeConsulta4.asmx?wsdl',
+ WS_NFE_SITUACAO: 'ws/NfeStatusServico/NfeStatusServico4.asmx?wsdl',
+ WS_NFE_RECEPCAO_EVENTO: 'ws/recepcaoevento/recepcaoevento4.asmx?wsdl', # noqa
+ WS_NFE_AUTORIZACAO: 'ws/NfeAutorizacao/NFeAutorizacao4.asmx?wsdl',
+ WS_NFE_RET_AUTORIZACAO: 'ws/NfeRetAutorizacao/NFeRetAutorizacao4.asmx?wsdl', # noqa
+ WS_NFE_CADASTRO: 'ws/cadconsultacadastro/cadconsultacadastro2.asmx?wsdl', # noqa
+ },
+ AMBIENTE_HOMOLOGACAO: {
+ 'servidor': 'nfe-homologacao.svrs.rs.gov.br',
+ WS_NFE_INUTILIZACAO: 'ws/nfeinutilizacao/nfeinutilizacao4.asmx?wsdl', # noqa
+ WS_NFE_CONSULTA: 'ws/NfeConsulta/NfeConsulta4.asmx?wsdl',
+ WS_NFE_SITUACAO: 'ws/NfeStatusServico/NfeStatusServico4.asmx?wsdl',
+ WS_NFE_RECEPCAO_EVENTO: 'ws/recepcaoevento/recepcaoevento4.asmx?wsdl', # noqa
+ WS_NFE_AUTORIZACAO: 'ws/NfeAutorizacao/NFeAutorizacao4.asmx?wsdl',
+ WS_NFE_RET_AUTORIZACAO: 'ws/NfeRetAutorizacao/NFeRetAutorizacao4.asmx?wsdl', # noqa
+ WS_NFE_CADASTRO: 'ws/cadconsultacadastro/cadconsultacadastro2.asmx?wsdl', # noqa
+ }
},
- NFE_AMBIENTE_HOMOLOGACAO: {
- 'servidor': 'nfe-homologacao.svrs.rs.gov.br',
- WS_NFE_RECEPCAO_EVENTO: 'ws/recepcaoevento/recepcaoevento.asmx',
- WS_NFE_CANCELAMENTO: 'ws/recepcaoevento/recepcaoevento.asmx',
- WS_NFE_AUTORIZACAO: 'ws/NfeAutorizacao/NfeAutorizacao.asmx',
- WS_NFE_RET_AUTORIZACAO: 'ws/NfeRetAutorizacao/NfeRetAutorizacao.asmx',
- WS_NFE_CADASTRO: 'ws/CadConsultaCadastro/CadConsultaCadastro2.asmx',
- WS_NFE_INUTILIZACAO: 'ws/nfeinutilizacao/nfeinutilizacao2.asmx',
- WS_NFE_CONSULTA: 'ws/NfeConsulta/NfeConsulta2.asmx',
- WS_NFE_SITUACAO: 'ws/NfeStatusServico/NfeStatusServico2.asmx',
+ NFCE_MODELO: {
+ AMBIENTE_PRODUCAO: {
+ 'servidor': 'nfce.svrs.rs.gov.br',
+ WS_NFE_INUTILIZACAO: 'ws/nfeinutilizacao/nfeinutilizacao4.asmx?wsdl',
+ WS_NFE_CONSULTA: 'ws/NfeConsulta/NfeConsulta4.asmx?wsdl',
+ WS_NFE_SITUACAO: 'ws/NfeStatusServico/NfeStatusServico4.asmx?wsdl',
+ WS_NFE_RECEPCAO_EVENTO: 'ws/recepcaoevento/recepcaoevento4.asmx?wsdl',
+ WS_NFE_AUTORIZACAO: 'ws/NfeAutorizacao/NFeAutorizacao4.asmx?wsdl',
+ WS_NFE_RET_AUTORIZACAO: 'ws/NfeRetAutorizacao/NFeRetAutorizacao4.asmx?wsdl', # noqa
+ WS_NFCE_QR_CODE: 'http://dec.fazenda.df.gov.br/ConsultarNFCe.aspx',
+ },
+ AMBIENTE_HOMOLOGACAO: {
+ 'servidor': 'nfce-homologacao.svrs.rs.gov.br',
+ WS_NFE_INUTILIZACAO: 'ws/nfeinutilizacao/nfeinutilizacao4.asmx?wsdl',
+ WS_NFE_CONSULTA: 'ws/NfeConsulta/NfeConsulta4.asmx?wsdl',
+ WS_NFE_SITUACAO: 'ws/NfeStatusServico/NfeStatusServico4.asmx?wsdl',
+ WS_NFE_RECEPCAO_EVENTO: 'ws/recepcaoevento/recepcaoevento4.asmx?wsdl',
+ WS_NFE_AUTORIZACAO: 'ws/NfeAutorizacao/NFeAutorizacao4.asmx?wsdl',
+ WS_NFE_RET_AUTORIZACAO: 'ws/NfeRetAutorizacao/NFeRetAutorizacao4.asmx?wsdl', # noqa
+ WS_NFCE_QR_CODE: 'http://dec.fazenda.df.gov.br/ConsultarNFCe.aspx',
+ }
}
}
+# TODO Daqui pra frente tem que revisar
SVAN = {
- NFE_AMBIENTE_PRODUCAO: {
+ AMBIENTE_PRODUCAO: {
'servidor': 'www.sefazvirtual.fazenda.gov.br',
WS_NFE_RECEPCAO_EVENTO: 'RecepcaoEvento/RecepcaoEvento.asmx',
WS_NFE_AUTORIZACAO: 'NfeAutorizacao/NfeAutorizacao.asmx',
@@ -171,7 +178,7 @@ SVAN = {
WS_NFE_CONSULTA: 'NfeConsulta2/NfeConsulta2.asmx',
WS_NFE_SITUACAO: 'NfeStatusServico2/NfeStatusServico2.asmx',
},
- NFE_AMBIENTE_HOMOLOGACAO: {
+ AMBIENTE_HOMOLOGACAO: {
'servidor': 'hom.sefazvirtual.fazenda.gov.br',
WS_NFE_RECEPCAO_EVENTO: 'RecepcaoEvento/RecepcaoEvento.asmx',
WS_NFE_AUTORIZACAO: 'NfeAutorizacao/NfeAutorizacao.asmx',
@@ -183,7 +190,7 @@ SVAN = {
}
SCAN = {
- NFE_AMBIENTE_PRODUCAO: {
+ AMBIENTE_PRODUCAO: {
'servidor': 'www.scan.fazenda.gov.br',
WS_NFE_RECEPCAO_EVENTO: 'RecepcaoEvento/RecepcaoEvento.asmx',
WS_NFE_AUTORIZACAO: 'NfeAutorizacao/NfeAutorizacao.asmx',
@@ -192,7 +199,7 @@ SCAN = {
WS_NFE_CONSULTA: 'NfeConsulta2/NfeConsulta2.asmx',
WS_NFE_SITUACAO: 'NfeStatusServico2/NfeStatusServico2.asmx'
},
- NFE_AMBIENTE_HOMOLOGACAO: {
+ AMBIENTE_HOMOLOGACAO: {
'servidor': 'hom.nfe.fazenda.gov.br',
WS_NFE_RECEPCAO_EVENTO: 'RecepcaoEvento/RecepcaoEvento.asmx',
WS_NFE_AUTORIZACAO: 'NfeAutorizacao/NfeAutorizacao.asmx',
@@ -204,7 +211,7 @@ SCAN = {
}
SVC_AN = {
- NFE_AMBIENTE_PRODUCAO: {
+ AMBIENTE_PRODUCAO: {
'servidor': 'www.svc.fazenda.gov.br',
WS_NFE_RECEPCAO_EVENTO: 'RecepcaoEvento/RecepcaoEvento.asmx',
WS_NFE_AUTORIZACAO: 'NfeAutorizacao/NfeAutorizacao.asmx',
@@ -212,7 +219,7 @@ SVC_AN = {
WS_NFE_CONSULTA: 'NfeConsulta2/NfeConsulta2.asmx',
WS_NFE_SITUACAO: 'NfeStatusServico2/NfeStatusServico2.asmx'
},
- NFE_AMBIENTE_HOMOLOGACAO: {
+ AMBIENTE_HOMOLOGACAO: {
'servidor': 'hom.nfe.fazenda.gov.br',
WS_NFE_RECEPCAO_EVENTO: 'RecepcaoEvento/RecepcaoEvento.asmx',
WS_NFE_AUTORIZACAO: 'NfeAutorizacao/NfeAutorizacao.asmx',
@@ -223,7 +230,7 @@ SVC_AN = {
}
SVC_RS = {
- NFE_AMBIENTE_PRODUCAO: {
+ AMBIENTE_PRODUCAO: {
'servidor': 'nfe.sefazvirtual.rs.gov.br',
WS_NFE_RECEPCAO_EVENTO: 'ws/recepcaoevento/recepcaoevento.asmx',
WS_NFE_AUTORIZACAO: 'ws/NfeAutorizacao/NfeAutorizacao.asmx',
@@ -231,7 +238,7 @@ SVC_RS = {
WS_NFE_CONSULTA: 'ws/NfeConsulta/NfeConsulta2.asmx',
WS_NFE_SITUACAO: 'ws/NfeStatusServico/NfeStatusServico2.asmx',
},
- NFE_AMBIENTE_HOMOLOGACAO: {
+ AMBIENTE_HOMOLOGACAO: {
'servidor': 'homologacao.nfe.sefazvirtual.rs.gov.br',
WS_NFE_RECEPCAO_EVENTO: 'ws/recepcaoevento/recepcaoevento.asmx',
WS_NFE_AUTORIZACAO: 'ws/NfeAutorizacao/NfeAutorizacao.asmx',
@@ -241,42 +248,26 @@ SVC_RS = {
}
}
-DPEC = {
- NFE_AMBIENTE_PRODUCAO: {
- 'servidor': 'www.nfe.fazenda.gov.br',
- WS_DPEC_CONSULTA: 'SCERecepcaoRFB/SCERecepcaoRFB.asmx',
- WS_DPEC_RECEPCAO: 'SCEConsultaRFB/SCEConsultaRFB.asmx'
- },
- NFE_AMBIENTE_HOMOLOGACAO: {
- 'servidor': 'hom.nfe.fazenda.gov.br',
- WS_DPEC_CONSULTA: 'SCERecepcaoRFB/SCERecepcaoRFB.asmx',
- WS_DPEC_RECEPCAO: 'SCEConsultaRFB/SCEConsultaRFB.asmx'
- }
-}
-
AN = {
- NFE_AMBIENTE_PRODUCAO: {
+ AMBIENTE_PRODUCAO: {
'servidor': 'www1.nfe.fazenda.gov.br',
- WS_NFE_RECEPCAO_EVENTO: 'RecepcaoEvento/RecepcaoEvento.asmx',
- WS_DFE_DISTRIBUICAO: 'NFeDistribuicaoDFe/NFeDistribuicaoDFe.asmx',
- WS_DOWNLOAD_NFE: 'NFeDistribuicaoDFe/NFeDistribuicaoDFe.asmx',
- WS_NFE_RECEPCAO_EVENTO_MANIFESTO: 'RecepcaoEvento/RecepcaoEvento.asmx',
+ WS_DFE_DISTRIBUICAO: 'NFeDistribuicaoDFe/NFeDistribuicaoDFe.asmx?wsdl',
+ WS_DOWNLOAD_NFE: 'NFeDistribuicaoDFe/NFeDistribuicaoDFe.asmx?wsdl',
+ WS_NFE_RECEPCAO_EVENTO: 'NFeRecepcaoEvento4/NFeRecepcaoEvento4.asmx?wsdl',
},
- NFE_AMBIENTE_HOMOLOGACAO: {
+ AMBIENTE_HOMOLOGACAO: {
'servidor': 'hom.nfe.fazenda.gov.br',
- WS_NFE_RECEPCAO_EVENTO: 'RecepcaoEvento/RecepcaoEvento.asmx',
- WS_DFE_DISTRIBUICAO: 'NFeDistribuicaoDFe/NFeDistribuicaoDFe.asmx',
- WS_DOWNLOAD_NFE: 'NFeDistribuicaoDFe/NFeDistribuicaoDFe.asmx',
- WS_NFE_RECEPCAO_EVENTO_MANIFESTO: 'RecepcaoEvento/RecepcaoEvento.asmx',
+ WS_DFE_DISTRIBUICAO: 'NFeDistribuicaoDFe/NFeDistribuicaoDFe.asmx?wsdl',
+ WS_DOWNLOAD_NFE: 'NFeDistribuicaoDFe/NFeDistribuicaoDFe.asmx?wsdl',
+ WS_NFE_RECEPCAO_EVENTO: 'NFeRecepcaoEvento4/NFeRecepcaoEvento4.asmx?Wsdl',
},
}
UFAM = {
NFE_MODELO: {
- NFE_AMBIENTE_PRODUCAO: {
+ AMBIENTE_PRODUCAO: {
'servidor': 'nfe.sefaz.am.gov.br',
WS_NFE_RECEPCAO_EVENTO: 'services2/services/RecepcaoEvento',
- WS_NFE_CANCELAMENTO: 'services2/services/RecepcaoEvento',
WS_NFE_AUTORIZACAO: 'services2/services/NfeAutorizacao',
WS_NFE_RET_AUTORIZACAO: 'services2/services/NfeRetAutorizacao',
WS_NFE_INUTILIZACAO: 'services2/services/NfeInutilizacao2',
@@ -284,10 +275,9 @@ UFAM = {
WS_NFE_SITUACAO: 'services2/services/NfeStatusServico2',
WS_NFE_CADASTRO: 'services2/services/cadconsultacadastro2',
},
- NFE_AMBIENTE_HOMOLOGACAO: {
+ AMBIENTE_HOMOLOGACAO: {
'servidor': 'homnfe.sefaz.am.gov.br',
WS_NFE_RECEPCAO_EVENTO: 'services2/services/RecepcaoEvento',
- WS_NFE_CANCELAMENTO: 'services2/services/RecepcaoEvento',
WS_NFE_AUTORIZACAO: 'services2/services/NfeAutorizacao',
WS_NFE_RET_AUTORIZACAO: 'services2/services/NfeRetAutorizacao',
WS_NFE_INUTILIZACAO: 'services2/services/NfeInutilizacao2',
@@ -297,10 +287,9 @@ UFAM = {
}
},
NFCE_MODELO: {
- NFE_AMBIENTE_PRODUCAO: {
+ AMBIENTE_PRODUCAO: {
'servidor': 'nfe.sefaz.am.gov.br',
WS_NFE_RECEPCAO_EVENTO: 'services2/services/RecepcaoEvento',
- WS_NFE_CANCELAMENTO: 'services2/services/RecepcaoEvento',
WS_NFE_AUTORIZACAO: 'services2/services/NfeAutorizacao',
WS_NFE_RET_AUTORIZACAO: 'services2/services/NfeRetAutorizacao',
WS_NFE_INUTILIZACAO: 'services2/services/NfeInutilizacao2',
@@ -308,101 +297,92 @@ UFAM = {
WS_NFE_SITUACAO: 'services2/services/NfeStatusServico2',
WS_NFE_CADASTRO: 'services2/services/cadconsultacadastro2',
},
- NFE_AMBIENTE_HOMOLOGACAO: {
+ AMBIENTE_HOMOLOGACAO: {
'servidor': 'homnfce.sefaz.am.gov.br',
WS_NFE_RECEPCAO_EVENTO: 'nfce-services-nac/services/RecepcaoEvento',
- WS_NFE_CANCELAMENTO: 'nfce-services-nac/services/RecepcaoEvento',
WS_NFE_AUTORIZACAO: 'nfce-services-nac/services/NfeAutorizacao',
WS_NFE_RET_AUTORIZACAO: 'nfce-services-nac/services/NfeRetAutorizacao',
WS_NFE_INUTILIZACAO: 'nfce-services-nac/services/NfeInutilizacao2',
WS_NFE_CONSULTA: 'nfce-services-nac/services/NfeConsulta2',
WS_NFE_SITUACAO: 'nfce-services-nac/services/NfeStatusServico2',
- WS_NFCE_QR_CODE: 'nfceweb/consultarNFCe.jsp',
+ WS_NFCE_QR_CODE: 'http://homnfce.sefaz.am.gov.br/nfceweb/consultarNFCe.jsp',
}
}
}
UFBA = {
- NFE_AMBIENTE_PRODUCAO: {
+ AMBIENTE_PRODUCAO: {
'servidor': 'nfe.sefaz.ba.gov.br',
- WS_NFE_AUTORIZACAO: 'webservices/NfeAutorizacao/NfeAutorizacao.asmx',
- WS_NFE_RET_AUTORIZACAO:
- 'webservices/NfeRetAutorizacao/NfeRetAutorizacao.asmx',
- WS_NFE_CONSULTA: 'webservices/NfeConsulta/NfeConsulta.asmx',
- WS_NFE_SITUACAO: 'webservices/NfeStatusServico/NfeStatusServico.asmx',
- WS_NFE_INUTILIZACAO: 'webservices/nfenw/nfeinutilizacao2.asmx',
- WS_NFE_CADASTRO: 'webservices/nfenw/CadConsultaCadastro2.asmx',
- WS_NFE_RECEPCAO_EVENTO: 'webservices/sre/recepcaoevento.asmx',
- WS_NFE_CANCELAMENTO: 'webservices/sre/recepcaoevento.asmx',
+ WS_NFE_INUTILIZACAO: 'webservices/NFeInutilizacao4/NFeInutilizacao4.asmx?wsdl',
+ WS_NFE_CONSULTA: 'webservices/NFeConsultaProtocolo4/NFeConsultaProtocolo4.asmx?wsdl',
+ WS_NFE_SITUACAO: 'webservices/NFeStatusServico4/NFeStatusServico4.asmx?wsdl',
+ WS_NFE_RECEPCAO_EVENTO: 'webservices/NFeRecepcaoEvento4/NFeRecepcaoEvento4.asmx?wsdl',
+ WS_NFE_AUTORIZACAO: 'webservices/NFeAutorizacao4/NFeAutorizacao4.asmx?wsdl',
+ WS_NFE_RET_AUTORIZACAO: 'webservices/NFeRetAutorizacao4/NFeRetAutorizacao4.asmx?wsdl',
+ WS_NFE_CADASTRO: 'webservices/CadConsultaCadastro4/CadConsultaCadastro4.asmx?wsdl',
},
- NFE_AMBIENTE_HOMOLOGACAO: {
+ AMBIENTE_HOMOLOGACAO: {
'servidor': 'hnfe.sefaz.ba.gov.br',
- WS_NFE_AUTORIZACAO: 'webservices/NfeAutorizacao/NfeAutorizacao.asmx',
- WS_NFE_RET_AUTORIZACAO:
- 'webservices/NfeRetAutorizacao/NfeRetAutorizacao.asmx',
- WS_NFE_CONSULTA: 'webservices/NfeConsulta/NfeConsulta.asmx',
- WS_NFE_SITUACAO: 'webservices/NfeStatusServico/NfeStatusServico.asmx',
- WS_NFE_INUTILIZACAO: 'webservices/nfenw/nfeinutilizacao2.asmx',
- WS_NFE_CADASTRO: 'webservices/nfenw/CadConsultaCadastro2.asmx',
- WS_NFE_RECEPCAO_EVENTO: 'webservices/sre/recepcaoevento.asmx',
- WS_NFE_CANCELAMENTO: 'webservices/sre/recepcaoevento.asmx',
+ WS_NFE_INUTILIZACAO: 'webservices/NFeInutilizacao4/NFeInutilizacao4.asmx?wsdl',
+ WS_NFE_CONSULTA: 'webservices/NFeConsultaProtocolo4/NFeConsultaProtocolo4.asmx?wsdl',
+ WS_NFE_SITUACAO: 'webservices/NFeStatusServico4/NFeStatusServico4.asmx?wsdl',
+ WS_NFE_RECEPCAO_EVENTO: 'webservices/NFeRecepcaoEvento4/NFeRecepcaoEvento4.asmx?wsdl',
+ WS_NFE_AUTORIZACAO: 'webservices/NFeAutorizacao4/NFeAutorizacao4.asmx?wsdl',
+ WS_NFE_RET_AUTORIZACAO: 'webservices/NFeRetAutorizacao4/NFeRetAutorizacao4.asmx?wsdl',
+ WS_NFE_CADASTRO: 'webservices/CadConsultaCadastro4/CadConsultaCadastro4.asmx?wsdl',
}
}
UFCE = {
- NFE_AMBIENTE_PRODUCAO: {
+ AMBIENTE_PRODUCAO: {
'servidor': 'nfe.sefaz.ce.gov.br',
- WS_NFE_AUTORIZACAO: 'nfe2/services/NfeAutorizacao',
- WS_NFE_RET_AUTORIZACAO: 'nfe2/services/NfeRetAutorizacao',
- WS_NFE_INUTILIZACAO: 'nfe2/services/NfeInutilizacao2',
- WS_NFE_CONSULTA: 'nfe2/services/NfeConsulta2',
- WS_NFE_SITUACAO: 'nfe2/services/NfeStatusServico2',
- WS_NFE_CADASTRO: 'nfe2/services/CadConsultaCadastro2',
- WS_NFE_RECEPCAO_EVENTO: 'nfe2/services/RecepcaoEvento',
- WS_NFE_CANCELAMENTO: 'nfe2/services/RecepcaoEvento',
+ WS_NFE_AUTORIZACAO: 'nfe4/services/NFeAutorizacao4?WSDL',
+ WS_NFE_RET_AUTORIZACAO: 'nfe4/services/NFeRetAutorizacao4?WSDL',
+ WS_NFE_INUTILIZACAO: 'nfe4/services/NFeInutilizacao4?WSDL',
+ WS_NFE_CONSULTA: 'nfe4/services/NFeConsultaProtocolo4?WSDL',
+ WS_NFE_SITUACAO: 'nfe4/services/NFeStatusServico4?WSDL',
+ WS_NFE_CADASTRO: 'nfe4/services/CadConsultaCadastro4?WSDL',
+ WS_NFE_RECEPCAO_EVENTO: 'nfe4/services/NFeRecepcaoEvento4?WSDL',
},
- NFE_AMBIENTE_HOMOLOGACAO: {
+ AMBIENTE_HOMOLOGACAO: {
'servidor': 'nfeh.sefaz.ce.gov.br',
- WS_NFE_AUTORIZACAO: 'nfe2/services/NfeAutorizacao',
- WS_NFE_RET_AUTORIZACAO: 'nfe2/services/NfeRetAutorizacao',
- WS_NFE_INUTILIZACAO: 'nfe2/services/NfeInutilizacao2',
- WS_NFE_CONSULTA: 'nfe2/services/NfeConsulta2',
- WS_NFE_SITUACAO: 'nfe2/services/NfeStatusServico2',
- WS_NFE_CADASTRO: 'nfe2/services/CadConsultaCadastro2',
- WS_NFE_RECEPCAO_EVENTO: 'nfe2/services/RecepcaoEvento',
- WS_NFE_CANCELAMENTO: 'nfe2/services/RecepcaoEvento',
+ WS_NFE_AUTORIZACAO: 'nfe4/services/NFeAutorizacao4?WSDL',
+ WS_NFE_RET_AUTORIZACAO: 'nfe4/services/NFeRetAutorizacao4?WSDL',
+ WS_NFE_INUTILIZACAO: 'nfe4/services/NFeInutilizacao4?WSDL',
+ WS_NFE_CONSULTA: 'nfe4/services/NFeConsultaProtocolo4?WSDL',
+ WS_NFE_SITUACAO: 'nfe4/services/NFeStatusServico4?WSDL',
+ WS_NFE_CADASTRO: 'nfe4/services/CadConsultaCadastro4?WSDL',
+ WS_NFE_RECEPCAO_EVENTO: 'nfe4/services/NFeRecepcaoEvento4?WSDL',
}
}
UFGO = {
- NFE_AMBIENTE_PRODUCAO: {
+ AMBIENTE_PRODUCAO: {
'servidor': 'nfe.sefaz.go.gov.br',
- WS_NFE_RECEPCAO_EVENTO: 'nfe/services/v2/RecepcaoEvento',
- WS_NFE_AUTORIZACAO: 'nfe/services/v2/NfeAutorizacao',
- WS_NFE_RET_AUTORIZACAO: 'nfe/services/v2/NfeRetAutorizacao',
- WS_NFE_INUTILIZACAO: 'nfe/services/v2/NfeInutilizacao2',
- WS_NFE_CONSULTA: 'nfe/services/v2/NfeConsulta2',
- WS_NFE_SITUACAO: 'nfe/services/v2/NfeStatusServico2',
- WS_NFE_CADASTRO: 'nfe/services/v2/CadConsultaCadastro2',
- WS_NFE_CANCELAMENTO: 'nfe/services/v2/RecepcaoEvento',
+ WS_NFE_INUTILIZACAO: 'nfe/services/NFeInutilizacao4?wsdl',
+ WS_NFE_CONSULTA: 'nfe/services/NFeConsultaProtocolo4?wsdl',
+ WS_NFE_SITUACAO: 'nfe/services/NFeStatusServico4?wsdl',
+ WS_NFE_RECEPCAO_EVENTO: 'nfe/services/NFeRecepcaoEvento4?wsdl',
+ WS_NFE_AUTORIZACAO: 'nfe/services/NFeAutorizacao4?wsdl',
+ WS_NFE_RET_AUTORIZACAO: 'nfe/services/NFeRetAutorizacao4?wsdl',
+ WS_NFE_CADASTRO: 'nfe/services/CadConsultaCadastro4?wsdl',
},
- NFE_AMBIENTE_HOMOLOGACAO: {
+ AMBIENTE_HOMOLOGACAO: {
'servidor': 'homolog.sefaz.go.gov.br',
- WS_NFE_RECEPCAO_EVENTO: 'nfe/services/v2/RecepcaoEvento',
- WS_NFE_AUTORIZACAO: 'nfe/services/v2/NfeAutorizacao',
- WS_NFE_RET_AUTORIZACAO: 'nfe/services/v2/NfeRetAutorizacao',
- WS_NFE_INUTILIZACAO: 'nfe/services/v2/NfeInutilizacao2',
- WS_NFE_CONSULTA: 'nfe/services/v2/NfeConsulta2',
- WS_NFE_SITUACAO: 'nfe/services/v2/NfeStatusServico2',
- WS_NFE_CADASTRO: 'nfe/services/v2/CadConsultaCadastro2',
- WS_NFE_CANCELAMENTO: 'nfe/services/v2/RecepcaoEvento',
+ WS_NFE_INUTILIZACAO: 'nfe/services/NFeInutilizacao4?wsdl',
+ WS_NFE_CONSULTA: 'nfe/services/NFeConsultaProtocolo4?wsdl',
+ WS_NFE_SITUACAO: 'nfe/services/NFeStatusServico4?wsdl',
+ WS_NFE_RECEPCAO_EVENTO: 'nfe/services/NFeRecepcaoEvento4?wsdl',
+ WS_NFE_AUTORIZACAO: 'nfe/services/NFeAutorizacao4?wsdl',
+ WS_NFE_RET_AUTORIZACAO: 'nfe/services/NFeRetAutorizacao4?wsdl',
+ WS_NFE_CADASTRO: 'nfe/services/CadConsultaCadastro4?wsdl',
}
}
UFMT = {
- NFE_AMBIENTE_PRODUCAO: {
+ AMBIENTE_PRODUCAO: {
'servidor': 'nfe.sefaz.mt.gov.br',
WS_NFE_AUTORIZACAO: 'nfews/v2/services/NfeAutorizacao',
WS_NFE_RET_AUTORIZACAO: 'nfews/v2/services/NfeRetAutorizacao',
@@ -411,9 +391,8 @@ UFMT = {
WS_NFE_SITUACAO: 'nfews/v2/services/NfeStatusServico2',
WS_NFE_CADASTRO: 'nfews/v2/services/CadConsultaCadastro2',
WS_NFE_RECEPCAO_EVENTO: 'nfews/v2/services/RecepcaoEvento',
- WS_NFE_CANCELAMENTO: 'nfews/v2/services/RecepcaoEvento',
},
- NFE_AMBIENTE_HOMOLOGACAO: {
+ AMBIENTE_HOMOLOGACAO: {
'servidor': 'homologacao.sefaz.mt.gov.br',
WS_NFE_AUTORIZACAO: 'nfews/v2/services/NfeAutorizacao',
WS_NFE_RET_AUTORIZACAO: 'nfews/v2/services/NfeRetAutorizacao',
@@ -422,12 +401,11 @@ UFMT = {
WS_NFE_SITUACAO: 'nfews/v2/services/NfeStatusServico2',
WS_NFE_CADASTRO: 'nfews/v2/services/CadConsultaCadastro2',
WS_NFE_RECEPCAO_EVENTO: 'nfews/v2/services/RecepcaoEvento',
- WS_NFE_CANCELAMENTO: 'nfews/v2/services/RecepcaoEvento',
}
}
UFMS = {
- NFE_AMBIENTE_PRODUCAO: {
+ AMBIENTE_PRODUCAO: {
'servidor': 'nfe.fazenda.ms.gov.br',
WS_NFE_RECEPCAO_EVENTO: 'producao/services2/RecepcaoEvento',
WS_NFE_AUTORIZACAO: 'producao/services2/NfeAutorizacao',
@@ -436,9 +414,8 @@ UFMS = {
WS_NFE_INUTILIZACAO: 'producao/services2/NfeInutilizacao2',
WS_NFE_CONSULTA: 'producao/services2/NfeConsulta2',
WS_NFE_SITUACAO: 'producao/services2/NfeStatusServico2',
- WS_NFE_CANCELAMENTO: 'producao/services2/RecepcaoEvento',
},
- NFE_AMBIENTE_HOMOLOGACAO: {
+ AMBIENTE_HOMOLOGACAO: {
'servidor': 'homologacao.nfe.ms.gov.br',
WS_NFE_RECEPCAO_EVENTO: 'homologacao/services2/RecepcaoEvento',
WS_NFE_AUTORIZACAO: 'homologacao/services2/NfeAutorizacao',
@@ -447,37 +424,35 @@ UFMS = {
WS_NFE_INUTILIZACAO: 'homologacao/services2/NfeInutilizacao2',
WS_NFE_CONSULTA: 'homologacao/services2/NfeConsulta2',
WS_NFE_SITUACAO: 'homologacao/services2/NfeStatusServico2',
- WS_NFE_CANCELAMENTO: 'homologacao/services2/RecepcaoEvento',
}
}
UFMG = {
- NFE_AMBIENTE_PRODUCAO: {
+ AMBIENTE_PRODUCAO: {
'servidor': 'nfe.fazenda.mg.gov.br',
- WS_NFE_AUTORIZACAO: 'nfe2/services/NfeAutorizacao',
- WS_NFE_RET_AUTORIZACAO: 'nfe2/services/NfeRetAutorizacao',
- WS_NFE_INUTILIZACAO: 'nfe2/services/NfeInutilizacao2',
- WS_NFE_CONSULTA: 'nfe2/services/NfeConsulta2',
- WS_NFE_SITUACAO: 'nfe2/services/NfeStatus2',
- WS_NFE_CADASTRO: 'nfe2/services/cadconsultacadastro2',
- WS_NFE_RECEPCAO_EVENTO: 'nfe2/services/RecepcaoEvento',
- WS_NFE_CANCELAMENTO: 'nfe2/services/RecepcaoEvento',
+ WS_NFE_INUTILIZACAO: 'nfe2/services/NFeInutilizacao4?wsdl',
+ WS_NFE_CONSULTA: 'nfe2/services/NFeConsultaProtocolo4?wsdl',
+ WS_NFE_SITUACAO: 'nfe2/services/NFeStatusServico4?wsdl',
+ WS_NFE_RECEPCAO_EVENTO: 'nfe2/services/NFeRecepcaoEvento4?wsdl',
+ WS_NFE_AUTORIZACAO: 'nfe2/services/NFeAutorizacao4?wsdl',
+ WS_NFE_RET_AUTORIZACAO: 'nfe2/services/NFeRetAutorizacao4?wsdl',
+ WS_NFE_CADASTRO: 'nfe2/services/cadconsultacadastro2?wsdl',
+
},
- NFE_AMBIENTE_HOMOLOGACAO: {
+ AMBIENTE_HOMOLOGACAO: {
'servidor': 'hnfe.fazenda.mg.gov.br',
- WS_NFE_AUTORIZACAO: 'nfe2/services/NfeAutorizacao',
- WS_NFE_RET_AUTORIZACAO: 'nfe2/services/NfeRetAutorizacao',
- WS_NFE_INUTILIZACAO: 'nfe2/services/NfeInutilizacao2',
- WS_NFE_CONSULTA: 'nfe2/services/NfeConsulta2',
- WS_NFE_SITUACAO: 'nfe2/services/NfeStatus2',
- WS_NFE_CADASTRO: 'nfe2/services/cadconsultacadastro2',
- WS_NFE_RECEPCAO_EVENTO: 'nfe2/services/RecepcaoEvento',
- WS_NFE_CANCELAMENTO: 'nfe2/services/RecepcaoEvento',
+ WS_NFE_INUTILIZACAO: 'nfe2/services/NFeInutilizacao4?wsdl',
+ WS_NFE_CONSULTA: 'nfe2/services/NFeConsultaProtocolo4?wsdl',
+ WS_NFE_SITUACAO: 'nfe2/services/NFeStatusServico4?wsdl',
+ WS_NFE_RECEPCAO_EVENTO: 'nfe2/services/NFeRecepcaoEvento4?wsdl',
+ WS_NFE_AUTORIZACAO: 'nfe2/services/NFeAutorizacao4?wsdl',
+ WS_NFE_RET_AUTORIZACAO: 'nfe2/services/NFeRetAutorizacao4?wsdl',
+ WS_NFE_CADASTRO: 'nfe2/services/cadconsultacadastro2?wsdl',
}
}
UFPR = {
- NFE_AMBIENTE_PRODUCAO: {
+ AMBIENTE_PRODUCAO: {
'servidor': 'nfe.fazenda.pr.gov.br',
WS_NFE_AUTORIZACAO: 'nfe/NFeAutorizacao3',
WS_NFE_RET_AUTORIZACAO: 'nfe/NFeRetAutorizacao3',
@@ -485,10 +460,9 @@ UFPR = {
WS_NFE_CONSULTA: 'nfe/NFeConsulta3',
WS_NFE_SITUACAO: 'nfe/NFeStatusServico3',
WS_NFE_CADASTRO: 'nfe/CadConsultaCadastro2',
- WS_NFE_RECEPCAO_EVENTO: 'nfe-evento/NFeRecepcaoEvento',
- WS_NFE_CANCELAMENTO: 'nfe-evento/NFeRecepcaoEvento',
+ WS_NFE_RECEPCAO_EVENTO: 'nfe/NFeRecepcaoEvento',
},
- NFE_AMBIENTE_HOMOLOGACAO: {
+ AMBIENTE_HOMOLOGACAO: {
'servidor': 'homologacao.nfe.fazenda.pr.gov.br',
WS_NFE_AUTORIZACAO: 'nfe/NFeAutorizacao3',
WS_NFE_RET_AUTORIZACAO: 'nfe/NFeRetAutorizacao3',
@@ -496,16 +470,14 @@ UFPR = {
WS_NFE_CONSULTA: 'nfe/NFeConsulta3',
WS_NFE_SITUACAO: 'nfe/NFeStatusServico3',
WS_NFE_CADASTRO: 'nfe/CadConsultaCadastro2',
- WS_NFE_RECEPCAO_EVENTO: 'nfe-evento/NFeRecepcaoEvento',
- WS_NFE_CANCELAMENTO: 'nfe-evento/NFeRecepcaoEvento',
+ WS_NFE_RECEPCAO_EVENTO: 'nfe/NFeRecepcaoEvento',
}
}
UFPE = {
- NFE_AMBIENTE_PRODUCAO: {
+ AMBIENTE_PRODUCAO: {
'servidor': 'nfe.sefaz.pe.gov.br',
WS_NFE_RECEPCAO_EVENTO: 'nfe-service/services/RecepcaoEvento',
- WS_NFE_CANCELAMENTO: 'nfe-service/services/RecepcaoEvento',
WS_NFE_AUTORIZACAO: 'nfe-service/services/NfeAutorizacao',
WS_NFE_RET_AUTORIZACAO: 'nfe-service/services/NfeRetAutorizacao',
WS_NFE_INUTILIZACAO: 'nfe-service/services/NfeInutilizacao2',
@@ -513,10 +485,9 @@ UFPE = {
WS_NFE_SITUACAO: 'nfe-service/services/NfeStatusServico2',
WS_NFE_CADASTRO: 'nfe-service/services/CadConsultaCadastro2',
},
- NFE_AMBIENTE_HOMOLOGACAO: {
+ AMBIENTE_HOMOLOGACAO: {
'servidor': 'nfehomolog.sefaz.pe.gov.br',
WS_NFE_RECEPCAO_EVENTO: 'nfe-service/services/RecepcaoEvento',
- WS_NFE_CANCELAMENTO: 'nfe-service/services/RecepcaoEvento',
WS_NFE_AUTORIZACAO: 'nfe-service/services/NfeAutorizacao',
WS_NFE_RET_AUTORIZACAO: 'nfe-service/services/NfeRetAutorizacao',
WS_NFE_INUTILIZACAO: 'nfe-service/services/NfeInutilizacao2',
@@ -529,7 +500,7 @@ UFPE = {
UFRS = {
NFE_MODELO: {
- NFE_AMBIENTE_PRODUCAO: {
+ AMBIENTE_PRODUCAO: {
'servidor': 'nfe.sefazrs.rs.gov.br',
WS_NFE_RECEPCAO_EVENTO: 'ws/recepcaoevento/recepcaoevento.asmx',
WS_NFE_AUTORIZACAO: 'ws/NfeAutorizacao/NFeAutorizacao.asmx',
@@ -538,9 +509,8 @@ UFRS = {
WS_NFE_INUTILIZACAO: 'ws/NfeInutilizacao/NfeInutilizacao2.asmx',
WS_NFE_CONSULTA: 'ws/NfeConsulta/NfeConsulta2.asmx',
WS_NFE_SITUACAO: 'ws/NfeStatusServico/NfeStatusServico2.asmx',
- WS_NFE_CANCELAMENTO: 'ws/recepcaoevento/recepcaoevento.asmx',
},
- NFE_AMBIENTE_HOMOLOGACAO: {
+ AMBIENTE_HOMOLOGACAO: {
'servidor': 'nfe-homologacao.sefazrs.rs.gov.br',
WS_NFE_RECEPCAO_EVENTO: 'ws/recepcaoevento/recepcaoevento.asmx',
WS_NFE_AUTORIZACAO: 'ws/NfeAutorizacao/NFeAutorizacao.asmx',
@@ -549,32 +519,29 @@ UFRS = {
WS_NFE_INUTILIZACAO: 'ws/NfeInutilizacao/NfeInutilizacao2.asmx',
WS_NFE_CONSULTA: 'ws/NfeConsulta/NfeConsulta2.asmx',
WS_NFE_SITUACAO: 'ws/NfeStatusServico/NfeStatusServico2.asmx',
- WS_NFE_CANCELAMENTO: 'ws/recepcaoevento/recepcaoevento.asmx',
}
},
NFCE_MODELO: {
- NFE_AMBIENTE_PRODUCAO: {
+ AMBIENTE_PRODUCAO: {
'servidor': 'nfce.sefazrs.rs.gov.br',
- WS_NFCE_RECEPCAO_EVENTO: 'ws/recepcaoevento/recepcaoevento.asmx',
- WS_NFCE_AUTORIZACAO: 'ws/NfeAutorizacao/NFeAutorizacao.asmx',
- WS_NFCE_RET_AUTORIZACAO: 'ws/NfeRetAutorizacao/NFeRetAutorizacao.asmx',
- WS_NFCE_CADASTRO: 'ws/cadconsultacadastro/cadconsultacadastro2.asmx',
- WS_NFCE_INUTILIZACAO: 'ws/NfeInutilizacao/NfeInutilizacao2.asmx',
- WS_NFCE_CONSULTA: 'ws/NfeConsulta/NfeConsulta2.asmx',
- WS_NFCE_SITUACAO: 'ws/NfeStatusServico/NfeStatusServico2.asmx',
- WS_NFCE_CANCELAMENTO: 'ws/recepcaoevento/recepcaoevento.asmx',
+ WS_NFE_RECEPCAO_EVENTO: 'ws/recepcaoevento/recepcaoevento.asmx',
+ WS_NFE_AUTORIZACAO: 'ws/NfeAutorizacao/NFeAutorizacao.asmx',
+ WS_NFE_RET_AUTORIZACAO: 'ws/NfeRetAutorizacao/NFeRetAutorizacao.asmx',
+ WS_NFE_CADASTRO: 'ws/cadconsultacadastro/cadconsultacadastro2.asmx',
+ WS_NFE_INUTILIZACAO: 'ws/NfeInutilizacao/NfeInutilizacao2.asmx',
+ WS_NFE_CONSULTA: 'ws/NfeConsulta/NfeConsulta2.asmx',
+ WS_NFE_SITUACAO: 'ws/NfeStatusServico/NfeStatusServico2.asmx',
WS_NFCE_QR_CODE: 'https://www.sefaz.rs.gov.br/NFCE/NFCE-COM.aspx',
},
- NFE_AMBIENTE_HOMOLOGACAO: {
+ AMBIENTE_HOMOLOGACAO: {
'servidor': 'nfce-homologacao.sefazrs.rs.gov.br',
- WS_NFCE_RECEPCAO_EVENTO: 'ws/recepcaoevento/recepcaoevento.asmx',
- WS_NFCE_AUTORIZACAO: 'ws/NfeAutorizacao/NFeAutorizacao.asmx',
- WS_NFCE_RET_AUTORIZACAO: 'ws/NfeRetAutorizacao/NFeRetAutorizacao.asmx',
- WS_NFCE_CADASTRO: 'ws/cadconsultacadastro/cadconsultacadastro2.asmx',
- WS_NFCE_INUTILIZACAO: 'ws/NfeInutilizacao/NfeInutilizacao2.asmx',
- WS_NFCE_CONSULTA: 'ws/NfeConsulta/NfeConsulta2.asmx',
- WS_NFCE_SITUACAO: 'ws/NfeStatusServico/NfeStatusServico2.asmx',
- WS_NFCE_CANCELAMENTO: 'ws/recepcaoevento/recepcaoevento.asmx',
+ WS_NFE_RECEPCAO_EVENTO: 'ws/recepcaoevento/recepcaoevento.asmx',
+ WS_NFE_AUTORIZACAO: 'ws/NfeAutorizacao/NFeAutorizacao.asmx',
+ WS_NFE_RET_AUTORIZACAO: 'ws/NfeRetAutorizacao/NFeRetAutorizacao.asmx',
+ WS_NFE_CADASTRO: 'ws/cadconsultacadastro/cadconsultacadastro2.asmx',
+ WS_NFE_INUTILIZACAO: 'ws/NfeInutilizacao/NfeInutilizacao2.asmx',
+ WS_NFE_CONSULTA: 'ws/NfeConsulta/NfeConsulta2.asmx',
+ WS_NFE_SITUACAO: 'ws/NfeStatusServico/NfeStatusServico2.asmx',
WS_NFCE_QR_CODE: 'https://www.sefaz.rs.gov.br/NFCE/NFCE-COM.aspx'
}
}
@@ -582,8 +549,30 @@ UFRS = {
UFSP = {
NFE_MODELO: {
- NFE_AMBIENTE_PRODUCAO: {
+ AMBIENTE_PRODUCAO: {
'servidor': 'nfe.fazenda.sp.gov.br',
+ WS_NFE_INUTILIZACAO: 'ws/nfeinutilizacao4.asmx?wsdl',
+ WS_NFE_CONSULTA: 'ws/nfeconsultaprotocolo4.asmx?wsdl',
+ WS_NFE_SITUACAO: 'ws/nfestatusservico4.asmx?wsdl',
+ WS_NFE_RECEPCAO_EVENTO: 'ws/nferecepcaoevento4.asmx?wsdl',
+ WS_NFE_AUTORIZACAO: 'ws/nfeautorizacao4.asmx?wsdl',
+ WS_NFE_RET_AUTORIZACAO: 'ws/nferetautorizacao4.asmx?wsdl',
+ WS_NFE_CADASTRO: 'ws/cadconsultacadastro4.asmx?wsdl',
+ },
+ AMBIENTE_HOMOLOGACAO: {
+ 'servidor': 'homologacao.nfe.fazenda.sp.gov.br',
+ WS_NFE_INUTILIZACAO: 'ws/nfeinutilizacao4.asmx?wsdl',
+ WS_NFE_CONSULTA: 'ws/nfeconsultaprotocolo4.asmx?wsdl',
+ WS_NFE_SITUACAO: 'ws/nfestatusservico4.asmx?wsdl',
+ WS_NFE_RECEPCAO_EVENTO: 'ws/nferecepcaoevento4.asmx?wsdl',
+ WS_NFE_AUTORIZACAO: 'ws/nfeautorizacao4.asmx?wsdl',
+ WS_NFE_RET_AUTORIZACAO: 'ws/nferetautorizacao4.asmx?wsdl',
+ WS_NFE_CADASTRO: 'ws/cadconsultacadastro4.asmx?wsdl',
+ }
+ },
+ NFCE_MODELO: {
+ AMBIENTE_PRODUCAO: {
+ 'servidor': 'nfce.fazenda.sp.gov.br',
WS_NFE_AUTORIZACAO: 'ws/nfeautorizacao.asmx',
WS_NFE_RET_AUTORIZACAO: 'ws/nferetautorizacao.asmx',
WS_NFE_INUTILIZACAO: 'ws/nfeinutilizacao2.asmx',
@@ -591,10 +580,10 @@ UFSP = {
WS_NFE_SITUACAO: 'ws/nfestatusservico2.asmx',
WS_NFE_CADASTRO: 'ws/cadconsultacadastro2.asmx',
WS_NFE_RECEPCAO_EVENTO: 'ws/recepcaoevento.asmx',
- WS_NFE_CANCELAMENTO: 'ws/recepcaoevento.asmx',
+ WS_NFCE_QR_CODE: '',
},
- NFE_AMBIENTE_HOMOLOGACAO: {
- 'servidor': 'homologacao.nfe.fazenda.sp.gov.br',
+ AMBIENTE_HOMOLOGACAO: {
+ 'servidor': 'homologacao.nfce.fazenda.sp.gov.br',
WS_NFE_AUTORIZACAO: 'ws/nfeautorizacao.asmx',
WS_NFE_RET_AUTORIZACAO: 'ws/nferetautorizacao.asmx',
WS_NFE_INUTILIZACAO: 'ws/nfeinutilizacao2.asmx',
@@ -602,31 +591,7 @@ UFSP = {
WS_NFE_SITUACAO: 'ws/nfestatusservico2.asmx',
WS_NFE_CADASTRO: 'ws/cadconsultacadastro2.asmx',
WS_NFE_RECEPCAO_EVENTO: 'ws/recepcaoevento.asmx',
- WS_NFE_CANCELAMENTO: 'ws/recepcaoevento.asmx',
- }
- },
- NFCE_MODELO: {
- NFCE_AMBIENTE_PRODUCAO: {
- 'servidor': 'nfce.fazenda.sp.gov.br',
- WS_NFCE_AUTORIZACAO: 'ws/nfeautorizacao.asmx',
- WS_NFCE_RET_AUTORIZACAO: 'ws/nferetautorizacao.asmx',
- WS_NFCE_INUTILIZACAO: 'ws/nfeinutilizacao2.asmx',
- WS_NFCE_CONSULTA: 'ws/nfeconsulta2.asmx',
- WS_NFCE_SITUACAO: 'ws/nfestatusservico2.asmx',
- WS_NFCE_CADASTRO: 'ws/cadconsultacadastro2.asmx',
- WS_NFCE_RECEPCAO_EVENTO: 'ws/recepcaoevento.asmx',
- WS_NFCE_QR_CODE: '',
- },
- NFCE_AMBIENTE_HOMOLOGACAO: {
- 'servidor': 'homologacao.nfce.fazenda.sp.gov.br',
- WS_NFCE_AUTORIZACAO: 'ws/nfeautorizacao.asmx',
- WS_NFCE_RET_AUTORIZACAO: 'ws/nferetautorizacao.asmx',
- WS_NFCE_INUTILIZACAO: 'ws/nfeinutilizacao2.asmx',
- WS_NFCE_CONSULTA: 'ws/nfeconsulta2.asmx',
- WS_NFCE_SITUACAO: 'ws/nfestatusservico2.asmx',
- WS_NFCE_CADASTRO: 'ws/cadconsultacadastro2.asmx',
- WS_NFCE_RECEPCAO_EVENTO: 'ws/recepcaoevento.asmx',
- WS_NFCE_QR_CODE: 'NFCEConsultaPublica/Paginas/ConstultaQRCode.aspx',
+ WS_NFCE_QR_CODE: 'https://homologacao.nfce.fazenda.sp.gov.br/NFCEConsultaPublica/Paginas/ConstultaQRCode.aspx',
}
}
}
@@ -660,47 +625,5 @@ ESTADO_WS = {
'SE': SVRS,
'SP': UFSP,
'TO': SVRS,
-}
-
-
-#
-# Informação obtida em
-# http://www.nfe.fazenda.gov.br/portal/webServices.aspx
-# Última verificação: 15/08/2014 16:22
-#
-# Autorizadores em contingência:
-# - UF que utilizam a SVC-AN - Sefaz Virtual de Contingência Ambiente Nacional:
-# AC, AL, AP, DF, ES, MG, PB, RJ, RN, RO, RR, RS, SC, SE, SP, TO
-# - UF que utilizam a SVC-RS - Sefaz Virtual de Contingência Rio Grande do Sul:
-# AM, BA, CE, GO, MA, MS, MT, PA, PE, PI, PR
-#
-
-ESTADO_WS_CONTINGENCIA = {
- 'AC': SVC_AN,
- 'AL': SVC_AN,
- 'AM': SVC_RS,
- 'AP': SVC_AN,
- 'BA': SVC_RS,
- 'CE': SVC_RS,
- 'DF': SVC_AN,
- 'ES': SVC_AN,
- 'GO': SVC_RS,
- 'MA': SVC_RS,
- 'MG': SVC_AN,
- 'MS': SVC_RS,
- 'MT': SVC_RS,
- 'PA': SVC_RS,
- 'PB': SVC_AN,
- 'PE': SVC_RS,
- 'PI': SVC_RS,
- 'PR': SVC_RS,
- 'RJ': SVC_AN,
- 'RN': SVC_AN,
- 'RO': SVC_AN,
- 'RR': SVC_AN,
- 'RS': SVC_AN,
- 'SC': SVC_AN,
- 'SE': SVC_AN,
- 'SP': SVC_AN,
- 'TO': SVC_AN,
+ 'AN': AN,
}
diff --git a/pytrustnfe/client.py b/pytrustnfe/client.py
index e6e67e3..7ed1c5a 100644
--- a/pytrustnfe/client.py
+++ b/pytrustnfe/client.py
@@ -2,11 +2,9 @@
# © 2016 Danimar Ribeiro, Trustcode
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-import urllib3
import requests
import suds.client
import suds_requests
-from requests.packages.urllib3.exceptions import InsecureRequestWarning
def get_authenticated_client(base_url, cert, key):
@@ -33,32 +31,3 @@ def get_client(base_url):
cache=cache,
transport=suds_requests.RequestsTransport(session)
)
-
-
-class HttpClient(object):
-
- def __init__(self, url, cert_path, key_path):
- self.url = url
- self.cert_path = cert_path
- self.key_path = key_path
-
- def _headers(self, action, send_raw):
- if send_raw:
- return {
- 'Content-type': 'text/xml; charset=utf-8;',
- 'SOAPAction': "http://www.portalfiscal.inf.br/nfe/wsdl/%s" % action,
- 'Accept': 'application/soap+xml; charset=utf-8',
- }
-
- return {
- 'Content-type': 'application/soap+xml; charset=utf-8;',
- 'SOAPAction': 'http://www.portalfiscal.inf.br/nfe/wsdl/%s' % action,
- }
-
- def post_soap(self, xml_soap, cabecalho, send_raw):
- header = self._headers(cabecalho.soap_action, send_raw)
- urllib3.disable_warnings(category=InsecureRequestWarning)
- res = requests.post(self.url, data=xml_soap.encode('utf-8'),
- cert=(self.cert_path, self.key_path),
- verify=False, headers=header)
- return res.text
diff --git a/pytrustnfe/nfe/__init__.py b/pytrustnfe/nfe/__init__.py
index c903014..0f80937 100644
--- a/pytrustnfe/nfe/__init__.py
+++ b/pytrustnfe/nfe/__init__.py
@@ -7,34 +7,16 @@ import os
import hashlib
import binascii
from lxml import etree
-from .comunicacao import executar_consulta
from .assinatura import Assinatura
-from pytrustnfe.xml import render_xml
-from pytrustnfe.utils import CabecalhoSoap
+from pytrustnfe.xml import render_xml, sanitize_response
from pytrustnfe.utils import gerar_chave, ChaveNFe
from pytrustnfe.Servidores import localizar_url, localizar_qrcode
-from pytrustnfe.xml.validate import valida_nfe
-from pytrustnfe.exceptions import NFeValidationException
-
-
-def _build_header(method, **kwargs):
- action = {
- 'NfeAutorizacao': ('NfeAutorizacao', '3.10', 'NfeAutorizacao/nfeAutorizacaoLote'),
- 'NfeRetAutorizacao': ('NfeRetAutorizacao', '3.10', 'NfeRetAutorizacao/nfeRetAutorizacaoLote'),
- 'NfeConsultaCadastro': ('CadConsultaCadastro2', '2.00', 'CadConsultaCadastro2/consultaCadastro2'),
- 'NfeInutilizacao': ('NfeInutilizacao2', '3.10', 'NfeInutilizacao2/nfeInutilizacaoNF2'),
- 'RecepcaoEventoCancelamento': ('RecepcaoEvento', '1.00', 'RecepcaoEvento/nfeRecepcaoEvento'),
- 'RecepcaoEventoCarta': ('RecepcaoEvento', '1.00', 'RecepcaoEvento/nfeRecepcaoEvento'),
- 'NFeDistribuicaoDFe': ('NFeDistribuicaoDFe/nfeDistDFeInteresse', '1.00', 'NFeDistribuicaoDFe/nfeDistDFeInteresse'),
- 'RecepcaoEventoManifesto': ('RecepcaoEvento', '1.00', 'RecepcaoEvento/nfeRecepcaoEvento'),
- }
- vals = {
- 'estado': kwargs['estado'],
- 'method': action[method][0],
- 'soap_action': action[method][2],
- 'versao': action[method][1]
- }
- return CabecalhoSoap(**vals)
+from pytrustnfe.certificado import extract_cert_and_key_from_pfx, save_cert_key
+
+# Zeep
+from requests import Session
+from zeep import Client
+from zeep.transports import Transport
def _generate_nfe_id(**kwargs):
@@ -56,26 +38,6 @@ def _generate_nfe_id(**kwargs):
item['infNFe']['ide']['cDV'] = chave_nfe[len(chave_nfe) - 1:]
-def _add_required_node(elemTree):
- ns = elemTree.nsmap
- if None in ns:
- ns['ns'] = ns[None]
- ns.pop(None)
-
- prods = elemTree.findall('ns:NFe/ns:infNFe/ns:det/ns:prod', namespaces=ns)
- for prod in prods:
- element = prod.find('ns:cEAN', namespaces=ns)
- if element is None:
- cEan = etree.Element('cEAN')
- prod.insert(1, cEan)
- element = prod.find('ns:cEANTrib', namespaces=ns)
- if element is None:
- cEANTrib = etree.Element('cEANTrib')
- vProd = prod.find('ns:vProd', namespaces=ns)
- prod.insert(prod.index(vProd) + 1, cEANTrib)
- return elemTree
-
-
def _add_qrCode(xml, **kwargs):
xml = etree.fromstring(xml)
inf_nfe = kwargs['NFes'][0]['infNFe']
@@ -89,9 +51,7 @@ def _add_qrCode(xml, **kwargs):
valor_total = inf_nfe['total']['vNF']
dest_cpf = 'Inexistente'
dest = nfe.find(".//{http://www.portalfiscal.inf.br/nfe}dest")
- if dest:
- dest_parent = dest.getparent()
- dest_parent.remove(dest)
+
if inf_nfe.get('dest', False):
if inf_nfe['dest'].get('CPF', False):
dest_cpf = inf_nfe['dest']['CPF']
@@ -99,7 +59,7 @@ def _add_qrCode(xml, **kwargs):
cpf = etree.Element('CPF')
cpf.text = dest_cpf
dest.append(cpf)
- dest_parent.append(dest)
+
icms_total = inf_nfe['total']['vICMS']
dig_val = binascii.hexlify(xml.find(
".//{http://www.w3.org/2000/09/xmldsig#}DigestValue").text.encode()).decode()
@@ -132,44 +92,17 @@ def _render(certificado, method, sign, **kwargs):
modelo = xmlElem_send.find(".//{http://www.portalfiscal.inf.br/nfe}mod")
modelo = modelo.text if modelo is not None else '55'
- if modelo == '65':
- pagamento = etree.Element('pag')
- tipo_pagamento = etree.Element('tPag')
- valor = etree.Element('vPag')
- valor_pago = kwargs['NFes'][0]['infNFe']['total']['vNF']
- metodo_pagamento = kwargs['NFes'][0]['infNFe']['pagamento']
- tipo_pagamento.text, valor.text = metodo_pagamento, valor_pago
- pagamento.append(tipo_pagamento)
- pagamento.append(valor)
- transp = xmlElem_send.find(
- ".//{http://www.portalfiscal.inf.br/nfe}transp")
- transp.addnext(pagamento)
if sign:
- # Caso for autorização temos que adicionar algumas tags tipo
- # cEan, cEANTrib porque o governo sempre complica e não segue padrão
- if method == 'NfeAutorizacao':
- xmlElem_send = _add_required_node(xmlElem_send)
-
signer = Assinatura(certificado.pfx, certificado.password)
if method == 'NfeInutilizacao':
xml_send = signer.assina_xml(xmlElem_send, kwargs['obj']['id'])
if method == 'NfeAutorizacao':
xml_send = signer.assina_xml(
xmlElem_send, kwargs['NFes'][0]['infNFe']['Id'])
- if 'validate' in kwargs:
- erros = valida_nfe(xml_send)
- if erros:
- raise NFeValidationException('Erro ao validar NFe',
- erros=erros,
- sent_xml=xml_send)
- elif method == 'RecepcaoEventoCancelamento':
+ elif method == 'RecepcaoEvento':
xml_send = signer.assina_xml(
xmlElem_send, kwargs['eventos'][0]['Id'])
-
- if method == 'RecepcaoEventoCarta':
- xml_send = signer.assina_xml(
- xmlElem_send, kwargs['Id'])
elif method == 'RecepcaoEventoManifesto':
xml_send = signer.assina_xml(
xmlElem_send, kwargs['manifesto']['identificador'])
@@ -184,21 +117,32 @@ def _render(certificado, method, sign, **kwargs):
def _send(certificado, method, **kwargs):
xml_send = kwargs["xml"]
- url = localizar_url(method, kwargs['estado'], '55',
- kwargs['ambiente'])
- cabecalho = _build_header(method, **kwargs)
-
- send_raw = False
- if method == 'NFeDistribuicaoDFe':
- send_raw = True
-
- response, obj = executar_consulta(certificado, url, cabecalho, xml_send,
- send_raw=send_raw)
- return {
- 'sent_xml': xml_send,
- 'received_xml': response.decode(),
- 'object': obj
- }
+ base_url = localizar_url(
+ method, kwargs['estado'], kwargs['modelo'], kwargs['ambiente'])
+
+ cert, key = extract_cert_and_key_from_pfx(
+ certificado.pfx, certificado.password)
+ cert, key = save_cert_key(cert, key)
+
+ session = Session()
+ session.cert = (cert, key)
+ session.verify = False
+ transport = Transport(session=session)
+
+ xml = etree.fromstring(xml_send)
+ client = Client(base_url, transport=transport)
+
+ port = next(iter(client.wsdl.port_types))
+ first_operation = [x for x in iter(
+ client.wsdl.port_types[port].operations) if "Zip" not in x][0]
+ with client.settings(raw_response=True):
+ response = client.service[first_operation](xml)
+ response, obj = sanitize_response(response.text)
+ return {
+ 'sent_xml': xml_send,
+ 'received_xml': response,
+ 'object': obj.Body.getchildren()[0]
+ }
def xml_autorizar_nfe(certificado, **kwargs):
@@ -223,13 +167,13 @@ def retorno_autorizar_nfe(certificado, **kwargs):
def xml_recepcao_evento_cancelamento(certificado, **kwargs): # Assinar
- return _render(certificado, 'RecepcaoEventoCancelamento', True, **kwargs)
+ return _render(certificado, 'RecepcaoEvento', True, **kwargs)
def recepcao_evento_cancelamento(certificado, **kwargs): # Assinar
if "xml" not in kwargs:
kwargs['xml'] = xml_recepcao_evento_cancelamento(certificado, **kwargs)
- return _send(certificado, 'RecepcaoEventoCancelamento', **kwargs)
+ return _send(certificado, 'RecepcaoEvento', **kwargs)
def xml_inutilizar_nfe(certificado, **kwargs):
@@ -243,7 +187,7 @@ def inutilizar_nfe(certificado, **kwargs):
def xml_consultar_protocolo_nfe(certificado, **kwargs):
- return _render(certificado, 'NfeConsultaProtocolo', True, **kwargs)
+ return _render(certificado, 'NfeConsultaProtocolo', False, **kwargs)
def consultar_protocolo_nfe(certificado, **kwargs):
@@ -269,38 +213,29 @@ def xml_consulta_cadastro(certificado, **kwargs):
def consulta_cadastro(certificado, **kwargs):
if "xml" not in kwargs:
kwargs['xml'] = xml_consulta_cadastro(certificado, **kwargs)
+ kwargs['modelo'] = '55'
return _send(certificado, 'NfeConsultaCadastro', **kwargs)
def xml_recepcao_evento_carta_correcao(certificado, **kwargs): # Assinar
- return _render(certificado, 'RecepcaoEventoCarta', True, **kwargs)
+ return _render(certificado, 'RecepcaoEvento', True, **kwargs)
def recepcao_evento_carta_correcao(certificado, **kwargs): # Assinar
if "xml" not in kwargs:
kwargs['xml'] = xml_recepcao_evento_carta_correcao(
certificado, **kwargs)
- return _send(certificado, 'RecepcaoEventoCarta', **kwargs)
+ return _send(certificado, 'RecepcaoEvento', **kwargs)
def xml_recepcao_evento_manifesto(certificado, **kwargs): # Assinar
- return _render(certificado, 'RecepcaoEventoManifesto', True, **kwargs)
+ return _render(certificado, 'RecepcaoEvento', True, **kwargs)
def recepcao_evento_manifesto(certificado, **kwargs): # Assinar
if "xml" not in kwargs:
kwargs['xml'] = xml_recepcao_evento_manifesto(certificado, **kwargs)
- return _send(certificado, 'RecepcaoEventoManifesto', **kwargs)
-
-
-def xml_recepcao_evento_epec(certificado, **kwargs): # Assinar
- return _render(certificado, 'RecepcaoEventoEPEC', True, **kwargs)
-
-
-def recepcao_evento_epec(certificado, **kwargs): # Assinar
- if "xml" not in kwargs:
- kwargs['xml'] = xml_recepcao_evento_epec(certificado, **kwargs)
- return _send(certificado, 'RecepcaoEventoEPEC', **kwargs)
+ return _send(certificado, 'RecepcaoEvento', **kwargs)
def xml_consulta_distribuicao_nfe(certificado, **kwargs): # Assinar
@@ -310,7 +245,34 @@ def xml_consulta_distribuicao_nfe(certificado, **kwargs): # Assinar
def consulta_distribuicao_nfe(certificado, **kwargs):
if "xml" not in kwargs:
kwargs['xml'] = xml_consulta_distribuicao_nfe(certificado, **kwargs)
- return _send(certificado, 'NFeDistribuicaoDFe', **kwargs)
+ xml_send = kwargs["xml"]
+ base_url = localizar_url(
+ 'NFeDistribuicaoDFe', kwargs['estado'], kwargs['modelo'],
+ kwargs['ambiente'])
+
+ cert, key = extract_cert_and_key_from_pfx(
+ certificado.pfx, certificado.password)
+ cert, key = save_cert_key(cert, key)
+
+ session = Session()
+ session.cert = (cert, key)
+ session.verify = False
+ transport = Transport(session=session)
+
+ xml = etree.fromstring(xml_send)
+ xml_um = etree.fromstring('AN1.00')
+ client = Client(base_url, transport=transport)
+
+ port = next(iter(client.wsdl.port_types))
+ first_operation = next(iter(client.wsdl.port_types[port].operations))
+ with client.settings(raw_response=True):
+ response = client.service[first_operation](nfeDadosMsg=xml, _soapheaders=[xml_um])
+ response, obj = sanitize_response(response.text)
+ return {
+ 'sent_xml': xml_send,
+ 'received_xml': response,
+ 'object': obj.Body.nfeDistDFeInteresseResponse.nfeDistDFeInteresseResult
+ }
def xml_download_nfe(certificado, **kwargs): # Assinar
diff --git a/pytrustnfe/nfe/comunicacao.py b/pytrustnfe/nfe/comunicacao.py
deleted file mode 100644
index 34c550e..0000000
--- a/pytrustnfe/nfe/comunicacao.py
+++ /dev/null
@@ -1,34 +0,0 @@
-# -*- coding: utf-8 -*-
-# © 2016 Danimar Ribeiro, Trustcode
-# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-
-
-from pytrustnfe.client import HttpClient
-from pytrustnfe.certificado import save_cert_key, extract_cert_and_key_from_pfx
-
-from ..xml import sanitize_response
-
-
-def _soap_xml(body, cabecalho):
- xml = ''
- xml += ''
- xml += ''
- xml += '' + cabecalho.estado + '' + cabecalho.versao + ''
- xml += ''
- xml += body
- xml += ''
- return xml.rstrip('\n')
-
-
-def executar_consulta(certificado, url, cabecalho, xmlEnviar, send_raw=False):
- cert, key = extract_cert_and_key_from_pfx(
- certificado.pfx, certificado.password)
- cert_path, key_path = save_cert_key(cert, key)
- client = HttpClient(url, cert_path, key_path)
-
- xml_enviar = _soap_xml(xmlEnviar, cabecalho)
- if send_raw:
- xml = '' + xmlEnviar.rstrip('\n')
- xml_enviar = xml
- xml_retorno = client.post_soap(xml_enviar, cabecalho, send_raw)
- return sanitize_response(xml_retorno.encode())
diff --git a/pytrustnfe/nfe/danfce.py b/pytrustnfe/nfe/danfce.py
new file mode 100644
index 0000000..e245ada
--- /dev/null
+++ b/pytrustnfe/nfe/danfce.py
@@ -0,0 +1,460 @@
+# -*- coding: utf-8 -*-
+# © 2017 Johny Chen Jy, Trustcode
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+
+import re
+from textwrap import wrap
+from io import BytesIO
+
+from reportlab.lib import utils
+from reportlab.pdfgen import canvas
+from reportlab.lib.units import cm, mm
+from reportlab.graphics.barcode import qr
+from reportlab.graphics import renderPDF
+from reportlab.graphics.shapes import Drawing
+from reportlab.platypus import Table, TableStyle, Paragraph, Image
+from reportlab.lib.enums import TA_CENTER
+from reportlab.lib.styles import ParagraphStyle
+
+
+def format_cnpj_cpf(value):
+ if len(value) < 12: # CPF
+ cValue = '%s.%s.%s-%s' % (value[:-8], value[-8:-5],
+ value[-5:-2], value[-2:])
+ else:
+ cValue = '%s.%s.%s/%s-%s' % (value[:-12], value[-12:-9],
+ value[-9:-6], value[-6:-2], value[-2:])
+ return cValue
+
+
+def getdateUTC(cDateUTC):
+ cDt = cDateUTC[0:10].split('-')
+ cDt.reverse()
+ return '/'.join(cDt), cDateUTC[11:16]
+
+
+def format_number(cNumber, precision=0, group_sep='.', decimal_sep=','):
+ if cNumber:
+ number = float(cNumber)
+ return ("{:,." + str(precision) + "f}").format(number).\
+ replace(",", "X").replace(".", ",").replace("X", ".")
+ return ""
+
+
+def tagtext(oNode=None, cTag=None):
+ try:
+ xpath = ".//{http://www.portalfiscal.inf.br/nfe}%s" % (cTag)
+ cText = oNode.find(xpath).text
+ except:
+ cText = ''
+ return cText
+
+
+def get_image(path, width=1 * cm):
+ img = utils.ImageReader(path)
+ iw, ih = img.getSize()
+ aspect = ih / float(iw)
+ return Image(path, width=width, height=(width * aspect))
+
+
+def format_telefone(telefone):
+ telefone = re.sub('[^0-9]', '', telefone)
+ if len(telefone) == 10:
+ telefone = '(%s) %s-%s' % (telefone[0:2],
+ telefone[2:6],
+ telefone[6:])
+ elif len(telefone) == 11:
+ telefone = '(%s) %s-%s' % (telefone[0:2],
+ telefone[2:7],
+ telefone[7:])
+ return telefone
+
+
+class danfce(object):
+
+ def __init__(self, list_xml, logo=None):
+
+ self.current_font_size = 7
+ self.current_font_name = 'NimbusSanL-Regu'
+
+ self.max_height = 840
+ self.min_height = 1
+ self.min_width = 5
+ self.max_width = 200
+ self.current_height = 840
+
+ self.oPDF_IO = BytesIO()
+ self.canvas = canvas.Canvas(self.oPDF_IO, pagesize=(7.2 * cm, 30 * cm))
+ self.canvas.setTitle('DANFCE')
+ self.canvas.setLineWidth(.5)
+ self.canvas.setFont(self.current_font_name, self.current_font_size)
+
+ self.list_xml = list_xml
+ self.logo = logo
+
+ self.nfce_generate()
+
+ def ide_emit(self, oXML=None):
+
+ elem_emit = oXML.find(".//{http://www.portalfiscal.inf.br/nfe}emit")
+
+ # Razão Social emitente
+ nomeEmpresa = tagtext(oNode=elem_emit, cTag='xFant')
+ self.drawTitle(nomeEmpresa, 10)
+
+ if self.logo:
+ img = get_image(self.logo, width=10 * mm)
+ img.drawOn(self.canvas, 5, 830)
+
+ cEnd = tagtext(oNode=elem_emit, cTag="xNome") + '
'
+ cEnd += "CNPJ: %s " % (format_cnpj_cpf(
+ tagtext(oNode=elem_emit, cTag='CNPJ')))
+ cEnd += "IE: %s" % (tagtext(oNode=elem_emit, cTag="IE")) + '
'
+ cEnd += tagtext(oNode=elem_emit, cTag='xLgr') + ', ' + tagtext(
+ oNode=elem_emit, cTag='nro') + ' - '
+ cEnd += tagtext(oNode=elem_emit, cTag='xBairro') + '
' + tagtext(
+ oNode=elem_emit, cTag='xMun') + ' - '
+ cEnd += tagtext(oNode=elem_emit, cTag='UF') + ' - ' + tagtext(
+ oNode=elem_emit, cTag='CEP') + '
'
+ cEnd += 'Fone: ' + format_telefone(tagtext(
+ oNode=elem_emit, cTag='fone'))
+
+ self._drawCenteredParagraph(cEnd)
+ self.drawLine()
+
+ def danfce_information(self):
+ self.drawTitle(
+ "DANFE NFC-e - Documento Auxiliar da Nota Fiscal de",
+ 7, 'NimbusSanL-Bold')
+
+ self.drawTitle("Consumidor Eletrônica", 7, 'NimbusSanL-Bold')
+
+ self.drawString(
+ "NFC-e não permite aproveitamento de crédito de ICMS", True)
+ self.drawLine()
+
+ def produtos(self, oXML=None, el_det=None, oPaginator=None,
+ list_desc=None, list_cod_prod=None):
+
+ rows = [['Cód', 'Descrição', 'Qtde', 'Un', 'Unit.', 'Total']]
+ colWidths = (25, 90, 15, 15, 25, 25)
+ rowHeights = [7]
+
+ for id in range(oPaginator[0], oPaginator[1]):
+
+ item = el_det[id]
+ el_prod = item.find(".//{http://www.portalfiscal.inf.br/nfe}prod")
+
+ cod = tagtext(oNode=el_prod, cTag='cProd')
+ descricao = tagtext(oNode=el_prod, cTag='xProd')
+ descricao = (descricao[:20] + '..') if len(descricao) > 20 else descricao
+ Un = tagtext(oNode=el_prod, cTag='uCom')
+ Un = (Un[:2]) if len(Un) > 2 else Un
+ qtde = format_number(tagtext(oNode=el_prod, cTag='qCom'),
+ precision=2)
+ vl_unit = format_number(tagtext(oNode=el_prod, cTag='vUnCom'),
+ precision=2)
+ vl_total = format_number(
+ tagtext(oNode=el_prod, cTag='vProd'), precision=2)
+
+ new_row = [cod, descricao, qtde, Un, vl_unit, vl_total]
+
+ rows.append(new_row)
+ rowHeights.append(self.current_font_size + 2)
+
+ self._draw_product_table(rows, colWidths, rowHeights)
+
+ def _draw_product_table(self, rows, colWidths, rowHeights):
+ table = Table(rows, colWidths, tuple(rowHeights))
+ table.setStyle(TableStyle([
+ ('FONTSIZE', (0, 0), (-1, -1), 7),
+ ('FONT', (0, 1), (-1, -1), 'NimbusSanL-Regu'),
+ ('FONT', (0, 0), (-1, 0), 'NimbusSanL-Bold'),
+ ('ALIGN', (0, 0), (-1, 0), "LEFT"),
+ ('ALIGN', (1, 0), (-1, 0), "LEFT"),
+ ('ALIGN', (2, 0), (-1, 0), "CENTER"),
+ ('ALIGN', (3, 0), (-1, 0), "CENTER"),
+ ('ALIGN', (0, 1), (-1, -1), "LEFT"),
+ ('ALIGN', (1, 1), (-1, -1), "LEFT"),
+ ('ALIGN', (2, 1), (-1, -1), "CENTER"),
+ ('ALIGN', (3, 1), (-1, -1), "CENTER"),
+ ]))
+
+ w, h = table.wrapOn(self.canvas, 200, 450)
+ table.drawOn(self.canvas, 0, self.current_height - (h * 1.2))
+ self.current_height -= (h * 1.1)
+
+ def totais(self, oXML=None):
+ # Impostos
+ el_total = oXML.find(".//{http://www.portalfiscal.inf.br/nfe}total")
+
+ total_tributo = format_number(tagtext(oNode=el_total, cTag='vTotTrib'),
+ precision=2)
+ valor_total = format_number(tagtext(oNode=el_total, cTag='vProd'),
+ precision=2)
+ desconto = format_number(tagtext(oNode=el_total, cTag='vDesc'),
+ precision=2)
+ valor_a_pagar = format_number(tagtext(oNode=el_total, cTag='vNF'),
+ precision=2)
+ el_pag = oXML.find(".//{http://www.portalfiscal.inf.br/nfe}pag")
+ troco = format_number(tagtext(oNode=el_pag, cTag="vTroco"))
+
+ payment_method_list = {'01': 'Dinheiro',
+ '02': 'Cheque',
+ '03': 'Cartão de Crédito',
+ '04': 'Cartão de Débito',
+ "05": "Crédito Loja",
+ '10': 'Vale Alimentação',
+ '11': 'Vale Refeição',
+ '12': 'Vale Presente',
+ '13': 'Vale Combustível',
+ '14': 'Duplicata Mercantil',
+ '15': 'Boleto Bancario',
+ '90': 'Sem Pagamento',
+ '99': 'Outros'}
+ quant_produtos = len(oXML.findall(
+ ".//{http://www.portalfiscal.inf.br/nfe}det"))
+
+ payment_methods = []
+
+ for pagId, item in enumerate(el_pag):
+ if 'tPag' not in item.tag:
+ continue
+
+ payment = []
+ method = payment_method_list[item.text]
+
+ payment.append(method)
+ payment.append(format_number(item.getnext().text, precision=2))
+ payment_methods.append(payment)
+
+ values = {'quantidade_itens': quant_produtos,
+ 'total_tributo': total_tributo,
+ 'valor_total': valor_total,
+ 'desconto': desconto,
+ 'valor_a_pagar': valor_a_pagar,
+ 'formas_de_pagamento': payment_methods,
+ 'troco': troco,
+ }
+
+ self.draw_totals_table(values)
+
+ self.drawLine()
+
+ def draw_totals_table(self, values):
+ rowHeights = [7, 7, 7, 7, 10]
+ data = [['QTD.TOTAL DE ITENS', values['quantidade_itens']],
+ ['VALOR TOTAL R$', values['valor_total']],
+ ['DESCONTO R$', values['desconto']],
+ ['VALOR A PAGAR R$', values['valor_a_pagar']],
+ ['FORMA DE PAGAMENTO', 'VALOR PAGO R$'],
+ ]
+
+ for item in values['formas_de_pagamento']:
+ data.append([item[0], item[1]])
+ rowHeights.append(7)
+ data.append(['TROCO', format_number(values['troco'], precision=2)])
+ rowHeights.append(7)
+
+ table2 = Table(data, colWidths=(150, 50), rowHeights=tuple(rowHeights))
+ table2.setStyle(TableStyle([
+ ('FONTSIZE', (0, 0), (-1, -1), 7),
+ ('FONT', (0, 0), (1, -1), 'NimbusSanL-Regu'),
+ ('FONT', (0, 4), (1, 4), 'NimbusSanL-Bold'),
+ ('ALIGN', (1, 0), (1, -1), "RIGHT")
+ ]))
+ w, h = table2.wrapOn(self.canvas, 200, 450)
+ table2.drawOn(self.canvas, 0, self.current_height - (h * 1.1))
+ self.current_height -= h
+
+ def inf_authentication(self, oXML=None):
+ el_infNFe = oXML.find(".//{http://www.portalfiscal.inf.br/nfe}infNFe")
+ # n nfce, serie e data de solicitacao
+ el_ide = oXML.find(".//{http://www.portalfiscal.inf.br/nfe}ide")
+
+ el_NFeSupl = oXML.find(
+ ".//{http://www.portalfiscal.inf.br/nfe}infNFeSupl")
+
+ el_dest = el_infNFe.find(".//{http://www.portalfiscal.inf.br/nfe}dest")
+ # chave, n protocolo, data autorizacao
+ el_prot_nfe = oXML.find(
+ ".//{http://www.portalfiscal.inf.br/nfe}protNFe")
+
+ el_infAdic = oXML.find(
+ ".//{http://www.portalfiscal.inf.br/nfe}infAdic")
+
+ url_chave = tagtext(oNode=el_NFeSupl, cTag='urlChave')
+ access_key = tagtext(oNode=el_prot_nfe, cTag="chNFe")
+
+ frase_chave_acesso = 'Consulte pela Chave de Acesso em:
\
+%s
%s' % (url_chave, access_key)
+
+ qrcode = tagtext(oNode=el_NFeSupl, cTag='qrCode')
+
+ cnpj = tagtext(oNode=el_dest, cTag='CNPJ')
+ cpf = tagtext(oNode=el_dest, cTag='CPF')
+ if cnpj:
+ cnpj_cpf = format_cnpj_cpf(cnpj)
+ cnpj_cpf = "CONSUMIDOR CNPJ: %s" % (cnpj)
+ elif cpf:
+ cnpj_cpf = format_cnpj_cpf(cpf)
+ cnpj_cpf = "CONSUMIDOR CPF: %s" % (cpf)
+ else:
+ cnpj_cpf = u"CONSUMIDOR NÃO IDENTIFICADO"
+
+ nNFC = tagtext(oNode=el_ide, cTag="nNF")
+ serie = tagtext(oNode=el_ide, cTag='serie')
+
+ dataSolicitacao = getdateUTC(tagtext(oNode=el_ide, cTag="dhEmi"))
+ dataSolicitacao = dataSolicitacao[0] + " " + dataSolicitacao[1]
+
+ numProtocolo = tagtext(oNode=el_prot_nfe, cTag="nProt")
+
+ dataAutorizacao = getdateUTC(tagtext(oNode=el_prot_nfe,
+ cTag='dhRecbto'))
+ dataAutorizacao = dataAutorizacao[0] + " " + dataAutorizacao[1]
+
+ text = u"%s
%s
NFC-e nº%s Série %s %s
\
+Protocolo de autorização: %s
Data de autorização %s
\
+" % (frase_chave_acesso, cnpj_cpf, nNFC, serie, dataSolicitacao,
+ numProtocolo, dataAutorizacao)
+
+ self._drawCenteredParagraph(text)
+
+ self.draw_qr_code(qrcode)
+
+ infAdFisco = tagtext(oNode=el_infAdic, cTag='infAdFisco')
+ self._drawCenteredParagraph(infAdFisco)
+
+ infCpl = tagtext(oNode=el_infAdic, cTag='infCpl')
+ self._drawCenteredParagraph(infCpl)
+
+ def _drawCenteredParagraph(self, text):
+
+ style = ParagraphStyle(
+ name='Normal',
+ fontName='NimbusSanL-Regu',
+ fontSize=7,
+ alignment=TA_CENTER,
+ leading=7,
+ )
+
+ paragraph = Paragraph(text, style=style)
+ w, h = paragraph.wrapOn(self.canvas, 180, 300)
+ paragraph.drawOn(self.canvas, 10, self.current_height - h)
+ self.current_height -= (h*1.1)
+
+ def drawString(self, string, centered=False):
+ if centered:
+ self.canvas.drawCentredString(
+ self.max_width / 2, self.current_height, string)
+ self.current_height -= self.current_font_size
+ else:
+ self.canvas.drawString(self.min_width, self.current_height, string)
+ self.current_height -= self.current_font_size
+
+ def drawTitle(self, string, size, font='NimbusSanL-Regu'):
+ self.canvas.setFont(font, size)
+ self.canvas.drawCentredString(
+ self.max_width / 2, self.current_height, string)
+ self.current_height -= self.current_font_size
+ self.canvas.setFont(self.current_font_name, self.current_font_size)
+
+ def drawLine(self):
+ self.canvas.line(self.min_width, self.current_height,
+ self.max_width, self.current_height)
+ self.current_height -= self.current_font_size
+
+ def draw_qr_code(self, string):
+ qr_code = qr.QrCodeWidget(string)
+ drawing = Drawing(23 * mm, 23 * mm)
+ drawing.add(qr_code)
+ renderPDF.draw(drawing, self.canvas, 20 * mm, self.current_height - 85)
+ self.current_height -= 85
+
+ def newpage(self):
+ self.current_height = self.max_height
+ self.Page += 1
+ self.canvas.showPage()
+
+ def nfce_generate(self):
+ for oXML in self.list_xml:
+ oXML_cobr = oXML.find(
+ ".//{http://www.portalfiscal.inf.br/nfe}cobr")
+
+ self.NrPages = 1
+ self.Page = 1
+
+ # Calculando total linhas usadas para descrições dos itens
+ # Com bloco fatura, apenas 29 linhas para itens na primeira folha
+ nNr_Lin_Pg_1 = 34 if oXML_cobr is None else 30
+ # [ rec_ini , rec_fim , lines , limit_lines ]
+ oPaginator = [[0, 0, 0, nNr_Lin_Pg_1]]
+ el_det = oXML.findall(".//{http://www.portalfiscal.inf.br/nfe}det")
+ if el_det is not None:
+ list_desc = []
+ list_cod_prod = []
+ nPg = 0
+ for nId, item in enumerate(el_det):
+ el_prod = item.find(
+ ".//{http://www.portalfiscal.inf.br/nfe}prod")
+ infAdProd = item.find(
+ ".//{http://www.portalfiscal.inf.br/nfe}infAdProd")
+
+ list_ = wrap(tagtext(oNode=el_prod, cTag='xProd'), 56)
+ if infAdProd is not None:
+ list_.extend(wrap(infAdProd.text, 56))
+ list_desc.append(list_)
+
+ list_cProd = wrap(tagtext(oNode=el_prod, cTag='cProd'), 14)
+ list_cod_prod.append(list_cProd)
+
+ # Nr linhas necessárias p/ descrição item
+ nLin_Itens = len(list_)
+
+ if (oPaginator[nPg][2] + nLin_Itens) >= oPaginator[nPg][3]:
+ oPaginator.append([0, 0, 0, 77])
+ nPg += 1
+ oPaginator[nPg][0] = nId
+ oPaginator[nPg][1] = nId + 1
+ oPaginator[nPg][2] = nLin_Itens
+ else:
+ # adiciona-se 1 pelo funcionamento de xrange
+ oPaginator[nPg][1] = nId + 1
+ oPaginator[nPg][2] += nLin_Itens
+
+ self.NrPages = len(oPaginator) # Calculando nr. páginas
+
+ self.ide_emit(oXML=oXML)
+ # self.destinatario(oXML=oXML)
+ self.danfce_information()
+
+ self.produtos(oXML=oXML, el_det=el_det, oPaginator=oPaginator[0],
+ list_desc=list_desc, list_cod_prod=list_cod_prod)
+
+ self.drawLine()
+
+ self.totais(oXML=oXML)
+
+ self.inf_authentication(oXML=oXML)
+
+ # Gera o restante das páginas do XML
+ for oPag in oPaginator[1:]:
+ if oPag:
+ self.newpage()
+ self.ide_emit(oXML=oXML)
+ # self.destinatario(oXML=oXML)
+ self.produtos(oXML=oXML, el_det=el_det, oPaginator=oPag,
+ list_desc=list_desc,
+ list_cod_prod=list_cod_prod)
+ self.totais(oXML=oXML)
+ self.inf_authentication(oXML=oXML)
+
+ self.newpage()
+
+ self.canvas.save()
+
+ def writeto_pdf(self, fileObj):
+ pdf_out = self.oPDF_IO.getvalue()
+ self.oPDF_IO.close()
+ fileObj.write(pdf_out)
diff --git a/pytrustnfe/nfe/danfe.py b/pytrustnfe/nfe/danfe.py
index 6561538..63decf9 100644
--- a/pytrustnfe/nfe/danfe.py
+++ b/pytrustnfe/nfe/danfe.py
@@ -323,7 +323,7 @@ class danfe(object):
P = Paragraph(tagtext(oNode=elem_emit, cTag='xNome'), styleN)
w, h = P.wrap(55 * mm, 40 * mm)
P.drawOn(self.canvas, (self.nLeft + 30) * mm,
- (self.height - self.nlin - ((5*h + 12)/12)) * mm)
+ (self.height - self.nlin - ((4.3*h + 12)/12)) * mm)
if self.logo:
img = get_image(self.logo, width=2 * cm)
@@ -347,7 +347,7 @@ class danfe(object):
P = Paragraph(cEnd, styleN)
w, h = P.wrap(55 * mm, 30 * mm)
P.drawOn(self.canvas, (self.nLeft + 30) * mm,
- (self.height - self.nlin - 31) * mm)
+ (self.height - self.nlin - 33) * mm)
# Homologação
if tagtext(oNode=elem_ide, cTag='tpAmb') == '2':
@@ -584,6 +584,8 @@ obsCont[@xCampo='NomeVendedor']")
def transportes(self, oXML=None):
el_transp = oXML.find(".//{http://www.portalfiscal.inf.br/nfe}transp")
+ veic_transp = oXML.find(
+ ".//{http://www.portalfiscal.inf.br/nfe}veicTransp")
nMr = self.width - self.nRight
self.canvas.setFont('NimbusSanL-Bold', 7)
@@ -627,6 +629,12 @@ obsCont[@xCampo='NomeVendedor']")
tagtext(oNode=el_transp, cTag='xNome')[:40])
self.string(self.nLeft + 71, self.nlin + 7.7,
self.oFrete[tagtext(oNode=el_transp, cTag='modFrete')])
+ self.string(self.nLeft + 99, self.nlin + 7.7,
+ tagtext(oNode=el_transp, cTag='RNTC'))
+ self.string(self.nLeft + 116, self.nlin + 7.7,
+ tagtext(oNode=el_transp, cTag='placa'))
+ self.string(self.nLeft + 142, self.nlin + 7.7,
+ tagtext(oNode=veic_transp, cTag='UF'))
self.string(nMr - 39, self.nlin + 7.7,
format_cnpj_cpf(tagtext(oNode=el_transp, cTag='CNPJ')))
self.string(self.nLeft + 1, self.nlin + 14.2,
diff --git a/pytrustnfe/nfe/templates/NFeDistribuicaoDFe.xml b/pytrustnfe/nfe/templates/NFeDistribuicaoDFe.xml
index 9e4d774..cd3fc38 100644
--- a/pytrustnfe/nfe/templates/NFeDistribuicaoDFe.xml
+++ b/pytrustnfe/nfe/templates/NFeDistribuicaoDFe.xml
@@ -1,19 +1,11 @@
-
-
-
-
-
- {{ ambiente }}
- {{ estado }}
- {{ cnpj_cpf }}
-
- {{ ultimo_nsu }}
-
-
- {{ chave_nfe }}
-
-
-
-
-
-
+
+ {{ ambiente }}
+ {{ estado }}
+ {{ cnpj_cpf }}
+
+ {{ ultimo_nsu }}
+
+
+ {{ chave_nfe }}
+
+
diff --git a/pytrustnfe/nfe/templates/NfeAutorizacao.xml b/pytrustnfe/nfe/templates/NfeAutorizacao.xml
index b135806..bf1cc8b 100644
--- a/pytrustnfe/nfe/templates/NfeAutorizacao.xml
+++ b/pytrustnfe/nfe/templates/NfeAutorizacao.xml
@@ -1,15 +1,14 @@
-
+
{{ idLote }}
{{ indSinc }}
{% for NFe in NFes %}
-
+
{% with ide = NFe.infNFe.ide %}
{{ ide.cUF }}
{{ ide.cNF }}
{{ ide.natOp }}
- {{ ide.indPag }}
{{ ide.mod }}
{{ ide.serie }}
{{ ide.nNF }}
@@ -182,6 +181,9 @@
{{ prod.NCM }}
{{ prod.NVE }}
{{ prod.CEST }}
+ {{ prod.indEscala }}
+ {{ prod.CNPJFab }}
+ {{ prod.cBenef }}
{{ prod.EXTIPI }}
{{ prod.CFOP }}
{{ prod.uCom }}
@@ -244,6 +246,21 @@
{{ prod.xPed }}
{{ prod.nItemPed }}
{{ prod.nFCI }}
+ {% for rastro in prod.rastro %}
+
+ {{ rastro.nLote }}
+ {{ rastro.qLote }}
+ {{ rastro.dFab }}
+ {{ rastro.dVal }}
+ {{ rastro.cAgreg }}
+
+ {% endfor %}
+ {% for med in prod.med %}
+
+ {{ med.cProdANVISA }}
+ {{ med.vPMC }}
+
+ {% endfor %}
{% endwith %}
@@ -258,6 +275,8 @@
{{ imposto.ICMS.vBC }}
{{ imposto.ICMS.pICMS }}
{{ imposto.ICMS.vICMS }}
+ {{ imposto.ICMS.pFCP }}
+ {{ imposto.ICMS.vFCP }}
{% endif %}
{% if imposto.ICMS.CST == '10' -%}
@@ -268,12 +287,18 @@
{{ imposto.ICMS.vBC }}
{{ imposto.ICMS.pICMS }}
{{ imposto.ICMS.vICMS }}
+ {{ imposto.ICMS.vBCFCP }}
+ {{ imposto.ICMS.pFCP }}
+ {{ imposto.ICMS.vFCP }}
{{ imposto.ICMS.modBCST }}
{{ imposto.ICMS.pMVAST }}
{{ imposto.ICMS.pRedBCST }}
{{ imposto.ICMS.vBCST }}
{{ imposto.ICMS.pICMSST }}
{{ imposto.ICMS.vICMSST }}
+ {{ imposto.ICMS.vBCFCPST }}
+ {{ imposto.ICMS.pFCPST }}
+ {{ imposto.ICMS.vFCPST }}
{% endif %}
{% if imposto.ICMS.CST == '20' -%}
@@ -285,6 +310,9 @@
{{ imposto.ICMS.vBC }}
{{ imposto.ICMS.pICMS }}
{{ imposto.ICMS.vICMS }}
+ {{ imposto.ICMS.vBCFCP }}
+ {{ imposto.ICMS.pFCP }}
+ {{ imposto.ICMS.vFCP }}
{{ imposto.ICMS.vICMSDeson }}
{{ imposto.ICMS.motDesICMS }}
@@ -299,6 +327,9 @@
{{ imposto.ICMS.vBCST }}
{{ imposto.ICMS.pICMSST }}
{{ imposto.ICMS.vICMSST }}
+ {{ imposto.ICMS.vBCFCPST }}
+ {{ imposto.ICMS.pFCPST }}
+ {{ imposto.ICMS.vFCPST }}
{{ imposto.ICMS.vICMSDeson }}
{{ imposto.ICMS.motDesICMS }}
@@ -323,6 +354,9 @@
{{ imposto.ICMS.pDif }}
{{ imposto.ICMS.vICMSDif }}
{{ imposto.ICMS.vICMS }}
+ {{ imposto.ICMS.vBCFCP }}
+ {{ imposto.ICMS.pFCP }}
+ {{ imposto.ICMS.vFCP }}
{% endif %}
{% if imposto.ICMS.CST == '60' -%}
@@ -330,7 +364,11 @@
{{ imposto.ICMS.orig }}
{{ imposto.ICMS.CST }}
{{ imposto.ICMS.vBCSTRet }}
+ {{ imposto.ICMS.pST }}
{{ imposto.ICMS.vICMSSTRet }}
+ {{ imposto.ICMS.vBCFCPSTRet }}
+ {{ imposto.ICMS.pFCPSTRet }}
+ {{ imposto.ICMS.vFCPSTRet }}
{% endif %}
{% if imposto.ICMS.CST == '70' -%}
@@ -342,12 +380,18 @@
{{ imposto.ICMS.vBC }}
{{ imposto.ICMS.pICMS }}
{{ imposto.ICMS.vICMS }}
+ {{ imposto.ICMS.vBCFCP }}
+ {{ imposto.ICMS.pFCP }}
+ {{ imposto.ICMS.vFCP }}
{{ imposto.ICMS.modBCST }}
{{ imposto.ICMS.pMVAST }}
{{ imposto.ICMS.pRedBCST }}
{{ imposto.ICMS.vBCST }}
{{ imposto.ICMS.pICMSST }}
{{ imposto.ICMS.vICMSST }}
+ {{ imposto.ICMS.vBCFCPST }}
+ {{ imposto.ICMS.pFCPST }}
+ {{ imposto.ICMS.vFCPST }}
{{ imposto.ICMS.vICMSDeson }}
{{ imposto.ICMS.motDesICMS }}
@@ -361,12 +405,18 @@
{{ imposto.ICMS.pRedBC }}
{{ imposto.ICMS.pICMS }}
{{ imposto.ICMS.vICMS }}
+ {{ imposto.ICMS.vBCFCP }}
+ {{ imposto.ICMS.pFCP }}
+ {{ imposto.ICMS.pFCP }}
{{ imposto.ICMS.modBCST }}
{{ imposto.ICMS.pMVAST }}
{{ imposto.ICMS.pRedBCST }}
{{ imposto.ICMS.vBCST }}
{{ imposto.ICMS.pICMSST }}
{{ imposto.ICMS.vICMSST }}
+ {{ imposto.ICMS.vBCFCPST }}
+ {{ imposto.ICMS.pFCPST }}
+ {{ imposto.ICMS.vFCPST }}
{{ imposto.ICMS.vICMSDeson }}
{{ imposto.ICMS.motDesICMS }}
@@ -380,12 +430,10 @@
{{ imposto.ICMSPart.pRedBC }}
{{ imposto.ICMSPart.pICMS }}
{{ imposto.ICMSPart.vICMS }}
+ {{ imposto.ICMS.vBCST }}
{{ imposto.ICMSPart.modBCST }}
{{ imposto.ICMSPart.pMVAST }}
{{ imposto.ICMSPart.pRedBCST }}
- {{ imposto.ICMSPart.vBCST }}
- {{ imposto.ICMSPart.pICMSST }}
- {{ imposto.ICMSPart.vICMSST }}
{{ imposto.ICMSPart.pBCOp }}
{{ imposto.ICMSPart.UFST }}
@@ -424,6 +472,9 @@
{{ imposto.ICMS.vBCST }}
{{ imposto.ICMS.pICMSST }}
{{ imposto.ICMS.vICMSST }}
+ {{ imposto.ICMS.vBCFCPST }}
+ {{ imposto.ICMS.pFCPST }}
+ {{ imposto.ICMS.vFCPST }}
{{ imposto.ICMS.pCredSN }}
{{ imposto.ICMS.vCredICMSSN }}
@@ -438,6 +489,9 @@
{{ imposto.ICMS.vBCST }}
{{ imposto.ICMS.pICMSST }}
{{ imposto.ICMS.vICMSST }}
+ {{ imposto.ICMS.vBCFCPST }}
+ {{ imposto.ICMS.pFCPST }}
+ {{ imposto.ICMS.vFCPST }}
{% endif %}
{% if imposto.ICMS.CST == '500' -%}
@@ -445,7 +499,11 @@
{{ imposto.ICMS.orig }}
{{ imposto.ICMS.CST }}
{{ imposto.ICMS.vBCSTRet }}
+ {{ imposto.ICMS.pST }}
{{ imposto.ICMS.vICMSSTRet }}
+ {{ imposto.ICMS.vBCFCPSTRet }}
+ {{ imposto.ICMS.pFCPSTRet }}
+ {{ imposto.ICMS.pFCPSTRet }}
{% endif %}
{% if imposto.ICMS.CST == '900' -%}
@@ -463,6 +521,9 @@
{{ imposto.ICMS.vBCST }}
{{ imposto.ICMS.pICMSST }}
{{ imposto.ICMS.vICMSST }}
+ {{ imposto.ICMS.vBCFCPST }}
+ {{ imposto.ICMS.pFCPST }}
+ {{ imposto.ICMS.vFCPST }}
{{ imposto.ICMS.pCredSN }}
{{ imposto.ICMS.vCredICMSSN }}
@@ -491,7 +552,6 @@
{% endif %}
- {% endif %}
{% if imposto.II is defined %}
{{ imposto.II.vBC }}
@@ -500,6 +560,7 @@
{{ imposto.II.vIOF }}
{% endif %}
+ {% endif %}
{% if imposto.PIS.CST in ('01', '02') %}
@@ -607,8 +668,9 @@
{% if imposto.ICMSUFDest is defined %}
{{ imposto.ICMSUFDest.vBCUFDest }}
+ {{ imposto.ICMSUFDest.vBCFCPUFDest }}
{{ imposto.ICMSUFDest.pFCPUFDest }}
- {{ imposto.ICMSUFDest.pICMSInter }}
+ {{ imposto.ICMSUFDest.pICMSUFDest }}
{{ imposto.ICMSUFDest.pICMSInter }}
{{ imposto.ICMSUFDest.pICMSInterPart }}
{{ imposto.ICMSUFDest.vFCPUFDest }}
@@ -639,14 +701,18 @@
{{ total.vFCPUFDest }}
{{ total.vICMSUFDest }}
{{ total.vICMSUFRemet }}
+ {{ total.vFCP }}
{{ total.vBCST }}
{{ total.vST }}
+ {{ total.vFCPST }}
+ {{ total.vFCPSTRet }}
{{ total.vProd }}
{{ total.vFrete }}
{{ total.vSeg }}
{{ total.vDesc }}
{{ total.vII }}
{{ total.vIPI }}
+ {{ total.vIPIDevol }}
{{ total.vPIS }}
{{ total.vCOFINS }}
{{ total.vOutro }}
@@ -750,19 +816,24 @@
{% endif %}
{% endif %}
{% if NFe.infNFe.pag is defined %}
- {% for pag in NFe.infNFe.pag %}
- {{ pag.tPag }}
- {{ pag.vPag }}
- {% if pag.card is defined %}
-
- {{ pag.card.CNPJ }}
- {{ pag.card.tBand }}
- {{ pag.card.cAut }}
-
- {% endif %}
+ {% for pag in NFe.infNFe.pag %}
+
+ {{ pag.indPag }}
+ {{ pag.tPag }}
+ {{ pag.vPag }}
+ {% if pag.card is defined %}
+
+ {{ pag.card.tpIntegra }}
+ {{ pag.card.CNPJ }}
+ {{ pag.card.tBand }}
+ {{ pag.card.cAut }}
+
+ {% endif %}
+ {{ pag.vTroco }}
+
+ {% endfor %}
- {% endfor %}
{% endif %}
{{ NFe.infNFe.infAdic.infAdFisco|normalize|escape }}
diff --git a/pytrustnfe/nfe/templates/NfeConsultaProtocolo.xml b/pytrustnfe/nfe/templates/NfeConsultaProtocolo.xml
index 0156d9e..588c6d8 100644
--- a/pytrustnfe/nfe/templates/NfeConsultaProtocolo.xml
+++ b/pytrustnfe/nfe/templates/NfeConsultaProtocolo.xml
@@ -1,6 +1,5 @@
-
-
+
{{ obj.ambiente }}
CONSULTAR
{{ obj.chave_nfe }}
-
\ No newline at end of file
+
diff --git a/pytrustnfe/nfe/templates/NfeInutilizacao.xml b/pytrustnfe/nfe/templates/NfeInutilizacao.xml
index d495f82..d8a7739 100644
--- a/pytrustnfe/nfe/templates/NfeInutilizacao.xml
+++ b/pytrustnfe/nfe/templates/NfeInutilizacao.xml
@@ -1,4 +1,4 @@
-
+
{{ obj.ambiente }}
INUTILIZAR
diff --git a/pytrustnfe/nfe/templates/NfeRetAutorizacao.xml b/pytrustnfe/nfe/templates/NfeRetAutorizacao.xml
index 7eb4729..c2f07f1 100644
--- a/pytrustnfe/nfe/templates/NfeRetAutorizacao.xml
+++ b/pytrustnfe/nfe/templates/NfeRetAutorizacao.xml
@@ -1,4 +1,4 @@
-
+
{{ obj.ambiente }}
{{ obj.numero_recibo }}
diff --git a/pytrustnfe/nfe/templates/NfeStatusServico.xml b/pytrustnfe/nfe/templates/NfeStatusServico.xml
index 1d41a30..ae84f20 100644
--- a/pytrustnfe/nfe/templates/NfeStatusServico.xml
+++ b/pytrustnfe/nfe/templates/NfeStatusServico.xml
@@ -1,6 +1,6 @@
-
+
{{ obj.ambiente }}
{{ obj.estado }}
STATUS
-
\ No newline at end of file
+
diff --git a/pytrustnfe/nfe/templates/RecepcaoEventoCancelamento.xml b/pytrustnfe/nfe/templates/RecepcaoEvento.xml
similarity index 76%
rename from pytrustnfe/nfe/templates/RecepcaoEventoCancelamento.xml
rename to pytrustnfe/nfe/templates/RecepcaoEvento.xml
index 35d587e..be0f9ef 100644
--- a/pytrustnfe/nfe/templates/RecepcaoEventoCancelamento.xml
+++ b/pytrustnfe/nfe/templates/RecepcaoEvento.xml
@@ -8,13 +8,15 @@
{{ evento.CNPJ }}
{{ evento.chNFe }}
{{ evento.dhEvento }}
- 110111
+ {{ evento.tpEvento }}
{{ evento.nSeqEvento }}
1.00
- Cancelamento
+ {{ evento.descEvento }}
{{ evento.nProt }}
{{ evento.xJust|normalize|escape }}
+ {{ evento.xCorrecao|normalize|escape }}
+ {{ evento.xCondUso }}
diff --git a/pytrustnfe/nfe/templates/RecepcaoEventoCarta.xml b/pytrustnfe/nfe/templates/RecepcaoEventoCarta.xml
deleted file mode 100644
index ced435c..0000000
--- a/pytrustnfe/nfe/templates/RecepcaoEventoCarta.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
- {{ idLote }}
-
-
- {{ cOrgao }}
- {{ tpAmb }}
- {{ CNPJ }}
- {{ CPF }}
- {{ chNFe }}
- {{ dhEvento }}
- {{ tpEvento }}
- {{ nSeqEvento }}
- 1.00
-
- Carta de Correcao
- {{ xCorrecao|normalize|escape }}
- A Carta de Correcao e disciplinada pelo paragrafo 1o-A do art. 7o do Convenio S/N, de 15 de dezembro de 1970 e pode ser utilizada para regularizacao de erro ocorrido na emissao de documento fiscal, 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 operacao ou da prestacao; II - a correcao de dados cadastrais que implique mudanca do remetente ou do destinatario; III - a data de emissao ou de saida.
-
-
-
-
diff --git a/pytrustnfe/nfe/templates/RecepcaoEventoEPEC.xml b/pytrustnfe/nfe/templates/RecepcaoEventoEPEC.xml
deleted file mode 100644
index 12a8478..0000000
--- a/pytrustnfe/nfe/templates/RecepcaoEventoEPEC.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-
- 00106151340701
-
-
- 91
- 2
- 10142785000190
- 35140810142785000190550010010615134079599952
- 2014-08-07T04:52:51-03:00
- 110140
- 1
- 1.00
-
- EPEC
- 35
- 1
- 1.26
- 2014-08-07T00:00:00-03:00
- 1
- 495171423115
-
- SP
- 00000000191
- 86.00
- 6.02
- 0
-
-
-
-
-
\ No newline at end of file
diff --git a/pytrustnfe/nfe/templates/RecepcaoEventoManifesto.xml b/pytrustnfe/nfe/templates/RecepcaoEventoManifesto.xml
index 0d77fa3..d592678 100644
--- a/pytrustnfe/nfe/templates/RecepcaoEventoManifesto.xml
+++ b/pytrustnfe/nfe/templates/RecepcaoEventoManifesto.xml
@@ -1,7 +1,7 @@
{{ lote }}
-
+
91
{{ ambiente }}
{{ manifesto.cnpj_empresa }}
diff --git a/pytrustnfe/nfse/bh/__init__.py b/pytrustnfe/nfse/bh/__init__.py
index 4c9fd3f..f96f89c 100644
--- a/pytrustnfe/nfse/bh/__init__.py
+++ b/pytrustnfe/nfse/bh/__init__.py
@@ -2,14 +2,14 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
import os
-
+from lxml import etree
from requests import Session
from zeep import Client
from zeep.transports import Transport
from pytrustnfe.certificado import extract_cert_and_key_from_pfx, save_cert_key
from pytrustnfe.xml import render_xml, sanitize_response
-from pytrustnfe.nfe.assinatura import Assinatura
+from pytrustnfe.nfse.bh.assinatura import Assinatura
def _render(certificado, method, **kwargs):
@@ -18,12 +18,14 @@ def _render(certificado, method, **kwargs):
reference = ''
if method == 'GerarNfse':
- reference = 'r%s' % kwargs['rps']['numero']
+ reference = 'rps:%s' % kwargs['rps']['numero']
+ ref_lote = 'lote%s' % kwargs['rps']['numero_lote']
elif method == 'CancelarNfse':
reference = 'Cancelamento_NF%s' % kwargs['cancelamento']['numero_nfse']
signer = Assinatura(certificado.pfx, certificado.password)
xml_send = signer.assina_xml(xml_send, reference)
+ xml_send = signer.assina_xml(etree.fromstring(xml_send), ref_lote)
return xml_send.encode('utf-8')
@@ -35,7 +37,9 @@ def _send(certificado, method, **kwargs):
base_url = 'https://bhisshomologa.pbh.gov.br/bhiss-ws/nfse?wsdl'
xml_send = kwargs["xml"].decode('utf-8')
- xml_cabecalho = ''
+ xml_cabecalho = '\
+ \
+ 1.00'
cert, key = extract_cert_and_key_from_pfx(
certificado.pfx, certificado.password)
@@ -50,10 +54,10 @@ def _send(certificado, method, **kwargs):
response = client.service[method](xml_cabecalho, xml_send)
- response, obj = sanitize_response(response)
+ response, obj = sanitize_response(response.encode('utf-8'))
return {
- 'sent_xml': str(xml_send),
- 'received_xml': str(response),
+ 'sent_xml': xml_send,
+ 'received_xml': response.decode('utf-8'),
'object': obj
}
diff --git a/pytrustnfe/nfse/bh/assinatura.py b/pytrustnfe/nfse/bh/assinatura.py
new file mode 100644
index 0000000..1831379
--- /dev/null
+++ b/pytrustnfe/nfse/bh/assinatura.py
@@ -0,0 +1,44 @@
+# -*- coding: utf-8 -*-
+# © 2016 Danimar Ribeiro, Trustcode
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+
+import signxml
+from lxml import etree
+from pytrustnfe.certificado import extract_cert_and_key_from_pfx
+from signxml import XMLSigner
+
+
+class Assinatura(object):
+
+ def __init__(self, arquivo, senha):
+ self.arquivo = arquivo
+ self.senha = senha
+
+ def assina_xml(self, xml_element, reference):
+ cert, key = extract_cert_and_key_from_pfx(self.arquivo, self.senha)
+
+ for element in xml_element.iter("*"):
+ if element.text is not None and not element.text.strip():
+ element.text = None
+
+ signer = XMLSigner(
+ method=signxml.methods.enveloped, signature_algorithm="rsa-sha1",
+ digest_algorithm='sha1',
+ c14n_algorithm='http://www.w3.org/TR/2001/REC-xml-c14n-20010315')
+
+ ns = {}
+ ns[None] = signer.namespaces['ds']
+ signer.namespaces = ns
+
+ ref_uri = ('#%s' % reference) if reference else None
+ signed_root = signer.sign(
+ xml_element, key=key.encode(), cert=cert.encode(),
+ reference_uri=ref_uri)
+ if reference:
+ element_signed = signed_root.find(".//*[@Id='%s']" % reference)
+ signature = signed_root.find(".//*[@URI='#%s']" % reference).getparent().getparent()
+
+ if element_signed is not None and signature is not None:
+ parent = element_signed.getparent()
+ parent.append(signature)
+ return etree.tostring(signed_root, encoding=str)
diff --git a/pytrustnfe/nfse/bh/templates/GerarNfse.xml b/pytrustnfe/nfse/bh/templates/GerarNfse.xml
index c6ead33..6b35d4d 100644
--- a/pytrustnfe/nfse/bh/templates/GerarNfse.xml
+++ b/pytrustnfe/nfse/bh/templates/GerarNfse.xml
@@ -1,8 +1,8 @@
-
- {{ nfse.numero_lote }}
- {{ nfse.cnpj_prestador }}
- {{ nfse.inscricao_municipal }}
+
+ {{ rps.numero_lote }}
+ {{ rps.prestador.cnpj }}
+ {{ rps.prestador.inscricao_municipal }}
1
{% include 'Rps.xml' %}
diff --git a/pytrustnfe/nfse/bh/templates/Rps.xml b/pytrustnfe/nfse/bh/templates/Rps.xml
index 7b883af..0dfd0cf 100644
--- a/pytrustnfe/nfse/bh/templates/Rps.xml
+++ b/pytrustnfe/nfse/bh/templates/Rps.xml
@@ -1,5 +1,5 @@
-
+
{{ rps.numero }}
{{ rps.serie }}
diff --git a/pytrustnfe/nfse/ginfes/__init__.py b/pytrustnfe/nfse/ginfes/__init__.py
index 80e969b..fb27677 100644
--- a/pytrustnfe/nfse/ginfes/__init__.py
+++ b/pytrustnfe/nfse/ginfes/__init__.py
@@ -3,9 +3,12 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
import os
-import suds
+from requests import Session
+from zeep import Client
+from zeep.transports import Transport
+from requests.packages.urllib3 import disable_warnings
+
from pytrustnfe.xml import render_xml, sanitize_response
-from pytrustnfe.client import get_authenticated_client
from pytrustnfe.certificado import extract_cert_and_key_from_pfx, save_cert_key
from pytrustnfe.nfe.assinatura import Assinatura
@@ -33,19 +36,21 @@ def _send(certificado, method, **kwargs):
cert, key = extract_cert_and_key_from_pfx(
certificado.pfx, certificado.password)
cert, key = save_cert_key(cert, key)
- client = get_authenticated_client(base_url, cert, key)
- try:
- xml_send = kwargs['xml']
- header = '3' #noqa
- response = getattr(client.service, method)(header, xml_send)
- except suds.WebFault as e:
- return {
- 'sent_xml': xml_send,
- 'received_xml': e.fault.faultstring,
- 'object': None
- }
-
- response, obj = sanitize_response(response)
+
+ header = '3' #noqa
+
+ disable_warnings()
+ session = Session()
+ session.cert = (cert, key)
+ session.verify = False
+ transport = Transport(session=session)
+
+ client = Client(base_url, transport=transport)
+
+ xml_send = kwargs['xml']
+ response = client.service[method](header, xml_send)
+
+ response, obj = sanitize_response(response.encode('utf-8'))
return {
'sent_xml': xml_send,
'received_xml': response,
diff --git a/pytrustnfe/nfse/mga/__init__.py b/pytrustnfe/nfse/mga/__init__.py
new file mode 100644
index 0000000..ee0cbbc
--- /dev/null
+++ b/pytrustnfe/nfse/mga/__init__.py
@@ -0,0 +1,75 @@
+# © 2018 Danimar Ribeiro, Trustcode
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+
+import os
+from requests import Session
+from zeep import Client
+from zeep.transports import Transport
+
+from pytrustnfe.certificado import extract_cert_and_key_from_pfx, save_cert_key
+from pytrustnfe.xml import render_xml, sanitize_response
+from pytrustnfe.nfse.mga.assinatura import Assinatura
+
+
+def _render(certificado, method, **kwargs):
+ path = os.path.join(os.path.dirname(__file__), 'templates')
+ xml_send = render_xml(path, '%s.xml' % method, True, **kwargs)
+
+ reference = ''
+ if method == 'GerarNfse':
+ reference = 'rps:%s' % kwargs['rps']['numero']
+ elif method == 'CancelarNfse':
+ reference = 'Cancelamento_NF%s' % kwargs['cancelamento']['numero_nfse']
+
+ signer = Assinatura(certificado.pfx, certificado.password)
+ xml_send = signer.assina_xml(xml_send, reference)
+ return xml_send.encode('utf-8')
+
+
+def _send(certificado, method, **kwargs):
+ base_url = ''
+ if kwargs['ambiente'] == 'producao':
+ base_url = 'https://isse.maringa.pr.gov.br/ws/?wsdl'
+ else:
+ base_url = 'https://isseteste.maringa.pr.gov.br/ws/?wsdl'
+
+ xml_send = kwargs["xml"].decode('utf-8')
+
+ cert, key = extract_cert_and_key_from_pfx(
+ certificado.pfx, certificado.password)
+ cert, key = save_cert_key(cert, key)
+
+ session = Session()
+ session.cert = (cert, key)
+ session.verify = False
+ transport = Transport(session=session)
+
+ client = Client(base_url, transport=transport)
+ response = client.service[method](xml_send)
+
+ response, obj = sanitize_response(response.encode('utf-8'))
+ return {
+ 'sent_xml': str(xml_send),
+ 'received_xml': str(response),
+ 'object': obj
+ }
+
+
+def xml_gerar_nfse(certificado, **kwargs):
+ return _render(certificado, 'GerarNfse', **kwargs)
+
+
+def gerar_nfse(certificado, **kwargs):
+ if "xml" not in kwargs:
+ kwargs['xml'] = xml_gerar_nfse(certificado, **kwargs)
+ return _send(certificado, 'GerarNfse', **kwargs)
+
+
+def xml_cancelar_nfse(certificado, **kwargs):
+ return _render(certificado, 'CancelarNfse', **kwargs)
+
+
+def cancelar_nfse(certificado, **kwargs):
+ if "xml" not in kwargs:
+ kwargs['xml'] = xml_cancelar_nfse(certificado, **kwargs)
+ return _send(certificado, 'CancelarNfse', **kwargs)
diff --git a/pytrustnfe/nfse/mga/assinatura.py b/pytrustnfe/nfse/mga/assinatura.py
new file mode 100644
index 0000000..3b302fe
--- /dev/null
+++ b/pytrustnfe/nfse/mga/assinatura.py
@@ -0,0 +1,45 @@
+# -*- coding: utf-8 -*-
+# © 2016 Danimar Ribeiro, Trustcode
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+
+import signxml
+from lxml import etree
+from pytrustnfe.certificado import extract_cert_and_key_from_pfx
+from signxml import XMLSigner
+
+
+class Assinatura(object):
+
+ def __init__(self, arquivo, senha):
+ self.arquivo = arquivo
+ self.senha = senha
+
+ def assina_xml(self, xml_element, reference):
+ cert, key = extract_cert_and_key_from_pfx(self.arquivo, self.senha)
+
+ for element in xml_element.iter("*"):
+ if element.text is not None and not element.text.strip():
+ element.text = None
+
+ signer = XMLSigner(
+ method=signxml.methods.enveloped, signature_algorithm=u"rsa-sha1",
+ digest_algorithm=u'sha1',
+ c14n_algorithm=u'http://www.w3.org/TR/2001/REC-xml-c14n-20010315')
+
+ ns = {}
+ ns[None] = signer.namespaces['ds']
+ signer.namespaces = ns
+ element_to_be_signed = xml_element.getchildren()[0].getchildren()[0]
+
+ signed_root = signer.sign(
+ element_to_be_signed, key=key.encode(), cert=cert.encode())
+ if reference:
+ element_signed = signed_root.find(".//*[@Id='%s']" % reference)
+
+ signature = signed_root.find(
+ ".//{http://www.w3.org/2000/09/xmldsig#}Signature")
+
+ if element_signed is not None and signature is not None:
+ parent = xml_element.getchildren()[0]
+ parent.append(signature)
+ return etree.tostring(xml_element, encoding=str)
diff --git a/pytrustnfe/nfse/mga/templates/CancelarNfse.xml b/pytrustnfe/nfse/mga/templates/CancelarNfse.xml
new file mode 100644
index 0000000..6c95398
--- /dev/null
+++ b/pytrustnfe/nfse/mga/templates/CancelarNfse.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ {{ cancelamento.numero_nfse }}
+
+ {{ cancelamento.cnpj_prestador }}
+
+ {{ cancelamento.inscricao_municipal }}
+ {{ cancelamento.cidade }}
+
+ 1
+
+
+
diff --git a/pytrustnfe/nfse/mga/templates/GerarNfse.xml b/pytrustnfe/nfse/mga/templates/GerarNfse.xml
new file mode 100644
index 0000000..ae702fd
--- /dev/null
+++ b/pytrustnfe/nfse/mga/templates/GerarNfse.xml
@@ -0,0 +1,3 @@
+
+ {% include 'Rps.xml' %}
+
diff --git a/pytrustnfe/nfse/mga/templates/Rps.xml b/pytrustnfe/nfse/mga/templates/Rps.xml
new file mode 100644
index 0000000..489db01
--- /dev/null
+++ b/pytrustnfe/nfse/mga/templates/Rps.xml
@@ -0,0 +1,81 @@
+
+
+
+
+ {{ rps.numero }}
+ {{ rps.serie }}
+ {{ rps.tipo_rps }}
+
+ {{ rps.data_emissao }}
+ {{ rps.status }}
+
+ {{ rps.data_emissao }}
+
+
+ {{ rps.valor_servico }}
+ {{ rps.valor_deducao }}
+ {{ rps.valor_pis }}
+ {{ rps.valor_cofins }}
+ {{ rps.valor_inss }}
+ {{ rps.valor_ir }}
+ {{ rps.valor_csll }}
+ {{ rps.outras_retencoes }}
+ {{ rps.valor_iss }}
+ {{ rps.aliquota_issqn }}
+ {{ rps.desconto_incondicionado }}
+ {{ rps.desconto_condicionado }}
+
+ {{ rps.iss_retido }}
+ {{ rps.codigo_servico }}
+ {{ rps.cnae_servico }}
+ {{ rps.codigo_tributacao_municipio }}
+ {{ rps.descricao }}
+ {{ rps.codigo_municipio }}
+ {{ rps.codigo_pais }}
+ {{ rps.exigibilidade_iss}}
+
+
+
+ {{ rps.prestador.cnpj }}
+
+ {{ rps.prestador.inscricao_municipal }}
+
+
+
+
+ {% if rps.tomador.cnpj_cpf|length == 14 %}
+ {{ rps.tomador.cnpj_cpf }}
+ {% endif %}
+ {% if rps.tomador.cnpj_cpf|length == 11 %}
+ {{ rps.tomador.cnpj_cpf }}
+ {% endif %}
+
+ {{ rps.tomador.inscricao_municipal }}
+
+ {{ rps.tomador.razao_social }}
+
+ {{ rps.tomador.logradouro }}
+ {{ rps.tomador.numero }}
+ {{ rps.tomador.complemento }}
+ {{ rps.tomador.bairro }}
+ {{ rps.tomador.cidade }}
+ {{ rps.tomador.uf }}
+ {{ rps.tomador.codigo_pais }}
+ {{ rps.tomador.cep }}
+
+
+ {{ rps.tomador.telefone }}
+ {{ rps.tomador.email }}
+
+
+ {% if rps.construcao_civil is defined -%}
+
+ {{ rps.construcao_civil.codigo_obra }}
+ {{ rps.construcao_civil.art }}
+
+ {% endif %}
+ {{ rps.regime_tributacao }}
+ {{ rps.optante_simples }}
+ {{ rps.incentivador_cultural }}
+
+
diff --git a/pytrustnfe/nfse/paulistana/__init__.py b/pytrustnfe/nfse/paulistana/__init__.py
index 44019b8..ed0611b 100644
--- a/pytrustnfe/nfse/paulistana/__init__.py
+++ b/pytrustnfe/nfse/paulistana/__init__.py
@@ -54,10 +54,10 @@ def _send(certificado, method, **kwargs):
'object': None
}
- response, obj = sanitize_response(response.encode('utf-8'))
+ response, obj = sanitize_response(response)
return {
'sent_xml': xml_send,
- 'received_xml': response.decode(),
+ 'received_xml': response,
'object': obj
}
diff --git a/pytrustnfe/utils.py b/pytrustnfe/utils.py
index b5964ae..1c369d2 100644
--- a/pytrustnfe/utils.py
+++ b/pytrustnfe/utils.py
@@ -8,15 +8,6 @@ from datetime import date, datetime
import lxml.etree as ET
-class CabecalhoSoap(object):
-
- def __init__(self, **kwargs):
- self.versao = kwargs.pop('versao', '')
- self.estado = kwargs.pop('estado', '')
- self.method = kwargs.pop('method', '')
- self.soap_action = kwargs.pop('soap_action', '')
-
-
class ChaveNFe(object):
def __init__(self, **kwargs):
@@ -85,7 +76,7 @@ def _find_node(xml, node):
def gerar_nfeproc(envio, recibo):
NSMAP = {None: 'http://www.portalfiscal.inf.br/nfe'}
- root = ET.Element("nfeProc", versao="3.10", nsmap=NSMAP)
+ root = ET.Element("nfeProc", versao="4.00", nsmap=NSMAP)
parser = ET.XMLParser(encoding='utf-8')
docEnvio = ET.fromstring(envio.encode('utf-8'), parser=parser)
docRecibo = ET.fromstring(recibo.encode('utf-8'), parser=parser)
diff --git a/pytrustnfe/xml/__init__.py b/pytrustnfe/xml/__init__.py
index cc1907e..edf230b 100644
--- a/pytrustnfe/xml/__init__.py
+++ b/pytrustnfe/xml/__init__.py
@@ -15,18 +15,6 @@ def recursively_empty(e):
return all((recursively_empty(c) for c in e.iterchildren()))
-def recursively_normalize(vals):
- for item in vals:
- if type(vals[item]) is str:
- vals[item] = vals[item].strip()
- elif type(vals[item]) is dict:
- recursively_normalize(vals[item])
- elif type(vals[item]) is list:
- for a in vals[item]:
- recursively_normalize(a)
- return vals
-
-
def render_xml(path, template_name, remove_empty, **nfe):
nfe = recursively_normalize(nfe)
env = Environment(
@@ -58,7 +46,8 @@ def render_xml(path, template_name, remove_empty, **nfe):
def sanitize_response(response):
- tree = etree.fromstring(response)
+ parser = etree.XMLParser(encoding='utf-8')
+ tree = etree.fromstring(response.encode('UTF-8'), parser=parser)
# Remove namespaces inuteis na resposta
for elem in tree.getiterator():
if not hasattr(elem.tag, 'find'):
diff --git a/pytrustnfe/xml/schemas/enviNFe_v3.10.xsd b/pytrustnfe/xml/schemas/enviNFe_v4.00.xsd
similarity index 87%
rename from pytrustnfe/xml/schemas/enviNFe_v3.10.xsd
rename to pytrustnfe/xml/schemas/enviNFe_v4.00.xsd
index 85bf09a..05ee5dc 100755
--- a/pytrustnfe/xml/schemas/enviNFe_v3.10.xsd
+++ b/pytrustnfe/xml/schemas/enviNFe_v4.00.xsd
@@ -1,9 +1,9 @@
-
-
-
-
-
- Schema XML de validação do Pedido de Concessão de Autorização da Nota Fiscal Eletrônica
-
-
-
\ No newline at end of file
+
+
+
+
+
+ Schema XML de validação do Pedido de Concessão de Autorização da Nota Fiscal Eletrônica
+
+
+
diff --git a/pytrustnfe/xml/schemas/leiauteNFe_v3.10.xsd b/pytrustnfe/xml/schemas/leiauteNFe_v4.00.xsd
similarity index 83%
rename from pytrustnfe/xml/schemas/leiauteNFe_v3.10.xsd
rename to pytrustnfe/xml/schemas/leiauteNFe_v4.00.xsd
index fdd83f3..8cde564 100755
--- a/pytrustnfe/xml/schemas/leiauteNFe_v3.10.xsd
+++ b/pytrustnfe/xml/schemas/leiauteNFe_v4.00.xsd
@@ -1,6060 +1,6480 @@
-
-
-
-
-
-
-
-
-
-
- Tipo Nota Fiscal Eletrônica
-
-
-
-
- Informações da Nota Fiscal eletrônica
-
-
-
-
-
- identificação da NF-e
-
-
-
-
-
- Código da UF do emitente do Documento Fiscal. 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 NF-e.
-
-
-
-
-
-
-
-
-
-
- Descrição da Natureza da Operação
-
-
-
-
-
-
-
-
-
-
- Indicador da forma de pagamento:
-0 – pagamento à vista;
-1 – pagamento à prazo;
-2 – outros.
-
-
-
-
-
-
-
-
-
-
-
-
- Código do modelo do Documento Fiscal. 55 = NF-e; 65 = NFC-e.
-
-
-
-
- Série do Documento Fiscal
-série normal 0-889
-Avulsa Fisco 890-899
-SCAN 900-999
-
-
-
-
- Número do Documento Fiscal
-
-
-
-
- Data e Hora de emissão do Documento Fiscal (AAAA-MM-DDThh:mm:ssTZD) ex.: 2012-09-01T13:00:00-03:00
-
-
-
-
- Data e Hora da saída ou de entrada da mercadoria / produto (AAAA-MM-DDTHH:mm:ssTZD)
-
-
-
-
- Tipo do Documento Fiscal (0 - entrada; 1 - saída)
-
-
-
-
-
-
-
-
-
-
-
- Identificador de Local de destino da operação (1-Interna;2-Interestadual;3-Exterior)
-
-
-
-
-
-
-
-
-
-
-
-
- Código do Município de Ocorrência do Fato Gerador (utilizar a tabela do IBGE)
-
-
-
-
- Formato de impressão do DANFE (0-sem DANFE;1-DANFe Retrato; 2-DANFe Paisagem;3-DANFe Simplificado;
- 4-DANFe NFC-e;5-DANFe NFC-e em mensagem eletrônica)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Forma de emissão da NF-e
-1 - Normal;
-2 - Contingência FS
-3 - Contingência SCAN
-4 - Contingência DPEC
-5 - Contingência FSDA
-6 - Contingência SVC - AN
-7 - Contingência SVC - RS
-9 - Contingência off-line NFC-e
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Digito Verificador da Chave de Acesso da NF-e
-
-
-
-
-
-
-
-
-
-
- Identificação do Ambiente:
-1 - Produção
-2 - Homologação
-
-
-
-
- Finalidade da emissão da NF-e:
-1 - NFe normal
-2 - NFe complementar
-3 - NFe de ajuste
-4 - Devolução/Retorno
-
-
-
-
- Indica operação com consumidor final (0-Não;1-Consumidor Final)
-
-
-
-
-
-
-
-
-
-
-
- Indicador de presença do comprador no estabelecimento comercial no momento da oepração
- (0-Não se aplica (ex.: Nota Fiscal complementar ou de ajuste;1-Operação presencial;2-Não presencial, internet;3-Não presencial, teleatendimento;4-NFC-e entrega em domicílio;9-Não presencial, outros)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Processo de emissão utilizado com a seguinte codificação:
-0 - emissão de NF-e com aplicativo do contribuinte;
-1 - emissão de NF-e avulsa pelo Fisco;
-2 - emissão de NF-e avulsa, pelo contribuinte com seu certificado digital, através do site
-do Fisco;
-3- emissão de NF-e pelo contribuinte com aplicativo fornecido pelo Fisco.
-
-
-
-
- versão do aplicativo utilizado no processo de
-emissão
-
-
-
-
-
-
-
-
-
-
- Informar apenas
-para tpEmis diferente de 1
-
-
-
- Informar a data e hora de entrada em contingência contingência no formato (AAAA-MM-DDThh:mm:ssTZD) ex.: 2012-09-01T13:00:00-03:00.
-
-
-
-
- Informar a Justificativa da entrada
-
-
-
-
-
-
-
-
-
-
-
- Grupo de infromações da NF referenciada
-
-
-
-
-
- Chave de acesso das NF-e referenciadas. Chave de acesso compostas por Código da UF (tabela do IBGE) + AAMM da emissão + CNPJ do Emitente + modelo, série e número da NF-e Referenciada + Código Numérico + DV.
-
-
-
-
- Dados da NF modelo 1/1A referenciada
-
-
-
-
-
- Código da UF do emitente do Documento Fiscal. Utilizar a Tabela do IBGE.
-
-
-
-
- AAMM da emissão
-
-
-
-
-
-
-
-
-
-
- CNPJ do emitente do documento fiscal referenciado
-
-
-
-
- Código do modelo do Documento Fiscal. Utilizar 01 para NF modelo 1/1A
-
-
-
-
-
-
-
-
-
-
- Série do Documento Fiscal, informar zero se inexistente
-
-
-
-
- Número do Documento Fiscal
-
-
-
-
-
-
-
- Grupo com as informações NF de produtor referenciada
-
-
-
-
-
- Código da UF do emitente do Documento FiscalUtilizar a Tabela do IBGE (Anexo IV - Tabela de UF, Município e País)
-
-
-
-
- AAMM da emissão da NF de produtor
-
-
-
-
-
-
-
-
-
-
-
- CNPJ do emitente da NF de produtor
-
-
-
-
- CPF do emitente da NF de produtor
-
-
-
-
-
- IE do emitente da NF de Produtor
-
-
-
-
- Código do modelo do Documento Fiscal - utilizar 04 para NF de produtor ou 01 para NF Avulsa
-
-
-
-
-
-
-
-
-
-
-
- Série do Documento Fiscal, informar zero se inexistentesérie
-
-
-
-
- Número do Documento Fiscal - 1 – 999999999
-
-
-
-
-
-
-
- Utilizar esta TAG para referenciar um CT-e emitido anteriormente, vinculada a NF-e atual
-
-
-
-
- Grupo do Cupom Fiscal vinculado à NF-e
-
-
-
-
-
- Código do modelo do Documento Fiscal
-Preencher com "2B", quando se tratar de Cupom Fiscal emitido por máquina registradora (não ECF), com "2C", quando se tratar de Cupom Fiscal PDV, ou "2D", quando se tratar de Cupom Fiscal (emitido por ECF)
-
-
-
-
-
-
-
-
-
-
-
-
- Informar o número de ordem seqüencial do ECF que emitiu o Cupom Fiscal vinculado à NF-e
-
-
-
-
-
-
-
-
-
-
- Informar o Número do Contador de Ordem de Operação - COO vinculado à NF-e
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Identificação do emitente
-
-
-
-
-
-
- Número do CNPJ do emitente
-
-
-
-
- Número do CPF do emitente
-
-
-
-
-
- Razão Social ou Nome do emitente
-
-
-
-
-
-
-
-
-
-
- Nome fantasia
-
-
-
-
-
-
-
-
-
-
- Endereço do emitente
-
-
-
-
- Inscrição Estadual do Emitente
-
-
-
-
- Inscricao Estadual do Substituto Tributário
-
-
-
-
- Grupo de informações de interesse da Prefeitura
-
-
-
- Inscrição Municipal
-
-
-
-
-
-
-
-
-
-
- CNAE Fiscal
-
-
-
-
-
-
-
-
-
-
-
- Código de Regime Tributário.
-Este campo será obrigatoriamente preenchido com:
-1 – Simples Nacional;
-2 – Simples Nacional – excesso de sublimite de receita bruta;
-3 – Regime Normal.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Emissão de avulsa, informar os dados do Fisco emitente
-
-
-
-
-
- CNPJ do Órgão emissor
-
-
-
-
- Órgão emitente
-
-
-
-
-
-
-
-
-
-
- Matrícula do agente
-
-
-
-
-
-
-
-
-
-
- Nome do agente
-
-
-
-
-
-
-
-
-
-
- Telefone
-
-
-
-
-
-
-
-
-
-
- Sigla da Unidade da Federação
-
-
-
-
- Número do Documento de Arrecadação de Receita
-
-
-
-
-
-
-
-
-
-
- Data de emissão do DAR (AAAA-MM-DD)
-
-
-
-
- Valor Total constante no DAR
-
-
-
-
- Repartição Fiscal emitente
-
-
-
-
-
-
-
-
-
-
- Data de pagamento do DAR (AAAA-MM-DD)
-
-
-
-
-
-
-
- Identificação do Destinatário
-
-
-
-
-
-
- Número do CNPJ
-
-
-
-
- Número do CPF
-
-
-
-
- Identificador do destinatário, em caso de comprador estrangeiro
-
-
-
-
-
-
-
-
-
-
-
- Razão Social ou nome do destinatário
-
-
-
-
-
-
-
-
-
-
- Dados do endereço
-
-
-
-
- Indicador da IE do destinatário:
-1 – Contribuinte ICMSpagamento à vista;
-2 – Contribuinte isento de inscrição;
-9 – Não Contribuinte
-
-
-
-
-
-
-
-
-
-
-
-
- Inscrição Estadual (obrigatório nas operações com contribuintes do ICMS)
-
-
-
-
- Inscrição na SUFRAMA (Obrigatório nas operações com as áreas com benefícios de incentivos fiscais sob controle da SUFRAMA) PL_005d - 11/08/09 - alterado para aceitar 8 ou 9 dígitos
-
-
-
-
-
-
-
-
-
-
- Inscrição Municipal do tomador do serviço
-
-
-
-
-
-
-
-
-
-
- Informar o e-mail do destinatário. O campo pode ser utilizado para informar o e-mail
-de recepção da NF-e indicada pelo destinatário
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Identificação do Local de Retirada (informar apenas quando for diferente do endereço do remetente)
-
-
-
-
- Identificação do Local de Entrega (informar apenas quando for diferente do endereço do destinatário)
-
-
-
-
- Pessoas autorizadas para o download do XML da NF-e
-
-
-
-
-
- CNPJ Autorizado
-
-
-
-
- CPF Autorizado
-
-
-
-
-
-
-
- Dados dos detalhes da NF-e
-
-
-
-
-
- Dados dos produtos e serviços da NF-e
-
-
-
-
-
- Código do produto ou serviço. Preencher com CFOP caso se trate de itens não relacionados com mercadorias/produto e que o contribuinte não possua codificação própria
-Formato ”CFOP9999”.
-
-
-
-
-
-
-
-
-
-
- GTIN (Global Trade Item Number) do produto, antigo código EAN ou código de barras
-
-
-
-
-
-
-
-
-
-
- Descrição do produto ou serviço
-
-
-
-
-
-
-
-
-
-
- Código NCM (8 posições), será permitida a informação do gênero (posição do capítulo do NCM) quando a operação não for de comércio exterior (importação/exportação) ou o produto não seja tributado pelo IPI. Em caso de item de serviço ou item que não tenham produto (Ex. transferência de crédito, crédito do ativo imobilizado, etc.), informar o código 00 (zeros) (v2.0)
-
-
-
-
-
-
-
-
-
-
- Nomenclatura de Valor aduaneio e Estatístico
-
-
-
-
-
-
-
-
-
-
- Codigo especificador da Substuicao Tributaria - CEST, que identifica a mercadoria sujeita aos regimes de substituicao tributária e de antecipação do recolhimento do imposto
-
-
-
-
-
-
-
-
-
-
-
- Código EX TIPI (3 posições)
-
-
-
-
-
-
-
-
-
-
- Cfop
-
-
-
-
-
-
-
-
-
-
- Unidade comercial
-
-
-
-
-
-
-
-
-
-
- Quantidade Comercial do produto, alterado para aceitar de 0 a 4 casas decimais e 11 inteiros.
-
-
-
-
- Valor unitário de comercialização - alterado para aceitar 0 a 10 casas decimais e 11 inteiros
-
-
-
-
- Valor bruto do produto ou serviço.
-
-
-
-
- GTIN (Global Trade Item Number) da unidade tributável, antigo código EAN ou código de barras
-
-
-
-
-
-
-
-
-
-
- Unidade Tributável
-
-
-
-
-
-
-
-
-
-
- Quantidade Tributável - alterado para aceitar de 0 a 4 casas decimais e 11 inteiros
-
-
-
-
- Valor unitário de tributação - - alterado para aceitar 0 a 10 casas decimais e 11 inteiros
-
-
-
-
- Valor Total do Frete
-
-
-
-
- Valor Total do Seguro
-
-
-
-
- Valor do Desconto
-
-
-
-
- Outras despesas acessórias
-
-
-
-
- Este campo deverá ser preenchido com:
- 0 – o valor do item (vProd) não compõe o valor total da NF-e (vProd)
- 1 – o valor do item (vProd) compõe o valor total da NF-e (vProd)
-
-
-
-
-
-
-
-
-
-
-
-
- Delcaração de Importação
-(NT 2011/004)
-
-
-
-
-
- Numero do Documento de Importação DI/DSI/DA/DRI-E (DI/DSI/DA/DRI-E) (NT2011/004)
-
-
-
-
-
-
-
-
-
-
- Data de registro da DI/DSI/DA (AAAA-MM-DD)
-
-
-
-
- Local do desembaraço aduaneiro
-
-
-
-
-
-
-
-
-
-
- UF onde ocorreu o desembaraço aduaneiro
-
-
-
-
- Data do desembaraço aduaneiro (AAAA-MM-DD)
-
-
-
-
- Via de transporte internacional informada na DI
- 1-Maritima;2-Fluvial;3-Lacustre;4-Aerea;5-Postal;6-Ferroviaria;7-Rodoviaria;8-Conduto;9-Meios Proprios;10-Entrada/Saida Ficta.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Valor Adicional ao frete para renovação de marinha mercante
-
-
-
-
- Forma de Importação quanto a intermediação
- 1-por conta propria;2-por conta e ordem;3-encomenda
-
-
-
-
-
-
-
-
-
-
-
-
- CNPJ do adquirente ou do encomendante
-
-
-
-
- Sigla da UF do adquirente ou do encomendante
-
-
-
-
- Código do exportador (usado nos sistemas internos de informação do emitente da NF-e)
-
-
-
-
-
-
-
-
-
-
- Adições (NT 2011/004)
-
-
-
-
-
- Número da Adição
-
-
-
-
-
-
-
-
-
-
- Número seqüencial do item dentro da Adição
-
-
-
-
-
-
-
-
-
-
- Código do fabricante estrangeiro (usado nos sistemas internos de informação do emitente da NF-e)
-
-
-
-
-
-
-
-
-
-
- Valor do desconto do item da DI – adição
-
-
-
-
- Número do ato concessório de Drawback
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Detalhe da exportação
-
-
-
-
-
- Número do ato concessório de Drawback
-
-
-
-
-
-
-
-
-
-
- Exportação indireta
-
-
-
-
-
- Registro de exportação
-
-
-
-
-
-
-
-
-
-
- Chave de acesso da NF-e recebida para exportação
-
-
-
-
- Quantidade do item efetivamente exportado
-
-
-
-
-
-
-
-
-
-
- pedido de compra - Informação de interesse do emissor para controle do B2B.
-
-
-
-
-
-
-
-
-
-
- Número do Item do Pedido de Compra - Identificação do número do item do pedido de Compra
-
-
-
-
-
-
-
-
-
-
- Número de controle da FCI - Ficha de Conteúdo de Importação.
-
-
-
-
- Informações específicas de produtos e serviços
-
-
-
- Veículos novos
-
-
-
-
-
- Tipo da Operação (1 - Venda concessionária; 2 - Faturamento direto; 3 - Venda direta; 0 - Outros)
-
-
-
-
-
-
-
-
-
-
-
-
-
- Chassi do veículo - VIN (código-identificação-veículo)
-
-
-
-
-
-
-
-
-
-
-
- Cor do veículo (código de cada montadora)
-
-
-
-
-
-
-
-
-
-
- Descrição da cor
-
-
-
-
-
-
-
-
-
-
- Potência máxima do motor do veículo em cavalo vapor (CV). (potência-veículo)
-
-
-
-
-
-
-
-
-
-
- Capacidade voluntária do motor expressa em centímetros cúbicos (CC). (cilindradas)
-
-
-
-
-
-
-
-
-
-
- Peso líquido
-
-
-
-
-
-
-
-
-
-
- Peso bruto
-
-
-
-
-
-
-
-
-
-
- Serial (série)
-
-
-
-
-
-
-
-
-
-
- Tipo de combustível-Tabela RENAVAM: 01-Álcool; 02-Gasolina; 03-Diesel; 16-Álcool/Gas.; 17-Gas./Álcool/GNV; 18-Gasolina/Elétrico
-
-
-
-
-
-
-
-
-
-
- Número do motor
-
-
-
-
-
-
-
-
-
-
- CMT-Capacidade Máxima de Tração - em Toneladas 4 casas decimais
-
-
-
-
-
-
-
-
-
-
- Distância entre eixos
-
-
-
-
-
-
-
-
-
-
- Ano Modelo de Fabricação
-
-
-
-
-
-
-
-
-
-
- Ano de Fabricação
-
-
-
-
-
-
-
-
-
-
- Tipo de pintura
-
-
-
-
-
-
-
-
-
- Tipo de veículo (utilizar tabela RENAVAM)
-
-
-
-
-
-
-
-
-
-
- Espécie de veículo (utilizar tabela RENAVAM)
-
-
-
-
-
-
-
-
-
-
- Informa-se o veículo tem VIN (chassi) remarcado.
-R-Remarcado
-N-NormalVIN
-
-
-
-
-
-
-
-
-
-
-
- Condição do veículo (1 - acabado; 2 - inacabado; 3 - semi-acabado)
-
-
-
-
-
-
-
-
-
-
-
-
- Código Marca Modelo (utilizar tabela RENAVAM)
-
-
-
-
-
-
-
-
-
-
- Código da Cor Segundo as regras de pré-cadastro do DENATRAN: 01-AMARELO;02-AZUL;03-BEGE;04-BRANCA;05-CINZA;06-DOURADA;07-GRENA
-08-LARANJA;09-MARROM;10-PRATA;11-PRETA;12-ROSA;13-ROXA;14-VERDE;15-VERMELHA;16-FANTASIA
-
-
-
-
-
-
-
-
-
-
-
-
- Quantidade máxima de permitida de passageiros sentados, inclusive motorista.
-
-
-
-
-
-
-
-
-
-
-
-
- Restrição
-0 - Não há;
-1 - Alienação Fiduciária;
-2 - Arrendamento Mercantil;
-3 - Reserva de Domínio;
-4 - Penhor de Veículos;
-9 - outras.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- grupo do detalhamento de Medicamentos e de matérias-primas farmacêuticas
-
-
-
-
-
- Número do lote do medicamento
-
-
-
-
-
-
-
-
-
-
- Quantidade de produtos no lote
-
-
-
-
- Data de Fabricação do medicamento (AAAA-MM-DD)
-
-
-
-
- Data de validade do medicamento (AAAA-MM-DD)
-
-
-
-
- Preço Máximo ao Consumidor
-
-
-
-
-
-
-
- Armamentos
-
-
-
-
-
- Indicador do tipo de arma de fogo (0 - Uso permitido; 1 - Uso restrito)
-
-
-
-
-
-
-
-
-
-
-
- Número de série da arma
-
-
-
-
-
-
-
-
-
-
- Número de série do cano
-
-
-
-
-
-
-
-
-
-
- Descrição completa da arma, compreendendo: calibre, marca, capacidade, tipo de funcionamento, comprimento e demais elementos que permitam a sua perfeita identificação.
-
-
-
-
-
-
-
-
-
-
-
-
-
- Informar apenas para operações com combustíveis líquidos
-
-
-
-
-
- Código de produto da ANP. codificação de produtos do SIMP (http://www.anp.gov.br)
-
-
-
-
-
-
-
-
-
-
- Percentual de gas natural para o produto GLP
-
-
-
-
- Código de autorização / registro do CODIF. Informar apenas quando a UF utilizar o CODIF (Sistema de Controle do Diferimento do Imposto nas Operações com AEAC - Álcool Etílico Anidro Combustível).
-
-
-
-
-
-
-
-
-
-
- Quantidade de combustível
-faturada à temperatura ambiente.
-Informar quando a quantidade
-faturada informada no campo
-qCom (I10) tiver sido ajustada para
-uma temperatura diferente da
-ambiente.
-
-
-
-
- Sigla da UF de Consumo
-
-
-
-
- CIDE Combustíveis
-
-
-
-
-
- BC do CIDE ( Quantidade comercializada)
-
-
-
-
- Alíquota do CIDE (em reais)
-
-
-
-
- Valor do CIDE
-
-
-
-
-
-
-
- Informações do grupo de "encerrante"
-
-
-
-
-
- Numero de identificação do Bico utilizado no abastecimento
-
-
-
-
-
-
-
-
-
-
- Numero de identificação da bomba ao qual o bico está interligado
-
-
-
-
-
-
-
-
-
-
- Numero de identificação do tanque ao qual o bico está interligado
-
-
-
-
-
-
-
-
-
-
- Valor do Encerrante no ínicio do abastecimento
-
-
-
-
- Valor do Encerrante no final do abastecimento
-
-
-
-
-
-
-
-
-
-
- Número do RECOPI
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Tributos incidentes nos produtos ou serviços da NF-e
-
-
-
-
-
- Valor estimado total de impostos federais, estaduais e municipais
-
-
-
-
-
-
- Dados do ICMS Normal e ST
-
-
-
-
-
- Tributação pelo ICMS
-00 - Tributada integralmente
-
-
-
-
-
- origem da mercadoria: 0 - Nacional
-1 - Estrangeira - Importação direta
-2 - Estrangeira - Adquirida no mercado interno
-
-
-
-
-
- Tributção pelo ICMS
-00 - Tributada integralmente
-
-
-
-
-
-
-
-
-
-
-
- Modalidade de determinação da BC do ICMS:
-0 - Margem Valor Agregado (%);
-1 - Pauta (valor);
-2 - Preço Tabelado Máximo (valor);
-3 - Valor da Operação.
-
-
-
-
-
-
-
-
-
-
-
-
-
- Valor da BC do ICMS
-
-
-
-
- Alíquota do ICMS
-
-
-
-
- Valor do ICMS
-
-
-
-
-
-
-
- Tributação pelo ICMS
-10 - Tributada e com cobrança do ICMS por substituição tributária
-
-
-
-
-
- origem da mercadoria: 0 - Nacional
-1 - Estrangeira - Importação direta
-2 - Estrangeira - Adquirida no mercado interno
-
-
-
-
-
- 10 - Tributada e com cobrança do ICMS por substituição tributária
-
-
-
-
-
-
-
-
-
-
- Modalidade de determinação da BC do ICMS:
-0 - Margem Valor Agregado (%);
-1 - Pauta (valor);
-2 - Preço Tabelado Máximo (valor);
-3 - Valor da Operação.
-
-
-
-
-
-
-
-
-
-
-
-
-
- Valor da BC do ICMS
-
-
-
-
- Alíquota do ICMS
-
-
-
-
- Valor do ICMS
-
-
-
-
- Modalidade de determinação da BC do ICMS ST:
-0 – Preço tabelado ou máximo sugerido;
-1 - Lista Negativa (valor);
-2 - Lista Positiva (valor);
-3 - Lista Neutra (valor);
-4 - Margem Valor Agregado (%);
-5 - Pauta (valor);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Percentual da Margem de Valor Adicionado ICMS ST
-
-
-
-
- Percentual de redução da BC ICMS ST
-
-
-
-
- Valor da BC do ICMS ST
-
-
-
-
- Alíquota do ICMS ST
-
-
-
-
- Valor do ICMS ST
-
-
-
-
-
-
-
- Tributção pelo ICMS
-20 - Com redução de base de cálculo
-
-
-
-
-
- origem da mercadoria: 0 - Nacional
-1 - Estrangeira - Importação direta
-2 - Estrangeira - Adquirida no mercado interno
-
-
-
-
-
- Tributção pelo ICMS
-20 - Com redução de base de cálculo
-
-
-
-
-
-
-
-
-
-
- Modalidade de determinação da BC do ICMS:
-0 - Margem Valor Agregado (%);
-1 - Pauta (valor);
-2 - Preço Tabelado Máximo (valor);
-3 - Valor da Operação.
-
-
-
-
-
-
-
-
-
-
-
-
-
- Percentual de redução da BC
-
-
-
-
- Valor da BC do ICMS
-
-
-
-
- Alíquota do ICMS
-
-
-
-
- Valor do ICMS
-
-
-
-
- Grupo desoneração
-
-
-
- Valor do ICMS de desoneração
-
-
-
-
- Motivo da desoneração do ICMS:3-Uso na agropecuária;9-Outros;12-Fomento agropecuário
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Tributação pelo ICMS
-30 - Isenta ou não tributada e com cobrança do ICMS por substituição tributária
-
-
-
-
-
- origem da mercadoria: 0 - Nacional
-1 - Estrangeira - Importação direta
-2 - Estrangeira - Adquirida no mercado interno
-
-
-
-
-
- Tributção pelo ICMS
-30 - Isenta ou não tributada e com cobrança do ICMS por substituição tributária
-
-
-
-
-
-
-
-
-
-
- Modalidade de determinação da BC do ICMS ST:
-0 – Preço tabelado ou máximo sugerido;
-1 - Lista Negativa (valor);
-2 - Lista Positiva (valor);
-3 - Lista Neutra (valor);
-4 - Margem Valor Agregado (%);
-5 - Pauta (valor).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Percentual da Margem de Valor Adicionado ICMS ST
-
-
-
-
- Percentual de redução da BC ICMS ST
-
-
-
-
- Valor da BC do ICMS ST
-
-
-
-
- Alíquota do ICMS ST
-
-
-
-
- Valor do ICMS ST
-
-
-
-
- Grupo desoneração
-
-
-
- Valor do ICMS de desoneração
-
-
-
-
- Motivo da desoneração do ICMS:6-Utilitários Motocicleta AÁrea Livre;7-SUFRAMA;9-Outros
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Tributação pelo ICMS
-40 - Isenta
-41 - Não tributada
-50 - Suspensão
-
-
-
-
-
- origem da mercadoria: 0 - Nacional
-1 - Estrangeira - Importação direta
-2 - Estrangeira - Adquirida no mercado interno
-
-
-
-
-
- Tributação pelo ICMS
-40 - Isenta
-41 - Não tributada
-50 - Suspensão
-51 - Diferimento
-
-
-
-
-
-
-
-
-
-
-
-
-
- O valor do ICMS será informado apenas nas operações com veículos beneficiados com a desoneração condicional do ICMS.
-
-
-
-
- Este campo será preenchido quando o campo anterior estiver preenchido.
-Informar o motivo da desoneração:
-1 – Táxi;
-3 – Produtor Agropecuário;
-4 – Frotista/Locadora;
-5 – Diplomático/Consular;
-6 – Utilitários e Motocicletas da Amazônia Ocidental e Áreas de Livre Comércio (Resolução 714/88 e 790/94 – CONTRAN e suas alterações);
-7 – SUFRAMA;
-8 - Venda a órgão Público;
-9 – Outros
-10- Deficiente Condutor
-11- Deficiente não condutor
-16 - Olimpíadas Rio 2016
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Tributção pelo ICMS
-51 - Diferimento
-A exigência do preenchimento das informações do ICMS diferido fica à critério de cada UF.
-
-
-
-
-
- origem da mercadoria: 0 - Nacional
-1 - Estrangeira - Importação direta
-2 - Estrangeira - Adquirida no mercado interno
-
-
-
-
-
- Tributção pelo ICMS
-20 - Com redução de base de cálculo
-
-
-
-
-
-
-
-
-
-
- Modalidade de determinação da BC do ICMS:
-0 - Margem Valor Agregado (%);
-1 - Pauta (valor);
-2 - Preço Tabelado Máximo (valor);
-3 - Valor da Operação.
-
-
-
-
-
-
-
-
-
-
-
-
-
- Percentual de redução da BC
-
-
-
-
- Valor da BC do ICMS
-
-
-
-
- Alíquota do ICMS
-
-
-
-
- Valor do ICMS da Operação
-
-
-
-
- Percentual do diferemento
-
-
-
-
- Valor do ICMS da diferido
-
-
-
-
- Valor do ICMS
-
-
-
-
-
-
-
- Tributação pelo ICMS
-60 - ICMS cobrado anteriormente por substituição tributária
-
-
-
-
-
- origem da mercadoria: 0 - Nacional
-1 - Estrangeira - Importação direta
-2 - Estrangeira - Adquirida no mercado interno
-
-
-
-
-
- Tributação pelo ICMS
-60 - ICMS cobrado anteriormente por substituição tributária
-
-
-
-
-
-
-
-
-
-
- NT2010/004
-
-
-
- Valor da BC do ICMS ST retido anteriormente
-
-
-
-
- Valor do ICMS ST retido anteriormente
-
-
-
-
-
-
-
-
- Tributação pelo ICMS
-70 - Com redução de base de cálculo e cobrança do ICMS por substituição tributária
-
-
-
-
-
- origem da mercadoria: 0 - Nacional
-1 - Estrangeira - Importação direta
-2 - Estrangeira - Adquirida no mercado interno
-
-
-
-
-
- Tributção pelo ICMS
-70 - Com redução de base de cálculo e cobrança do ICMS por substituição tributária
-
-
-
-
-
-
-
-
-
-
- Modalidade de determinação da BC do ICMS:
-0 - Margem Valor Agregado (%);
-1 - Pauta (valor);
-2 - Preço Tabelado Máximo (valor);
-3 - Valor da Operação.
-
-
-
-
-
-
-
-
-
-
-
-
-
- Percentual de redução da BC
-
-
-
-
- Valor da BC do ICMS
-
-
-
-
- Alíquota do ICMS
-
-
-
-
- Valor do ICMS
-
-
-
-
- Modalidade de determinação da BC do ICMS ST:
-0 – Preço tabelado ou máximo sugerido;
-1 - Lista Negativa (valor);
-2 - Lista Positiva (valor);
-3 - Lista Neutra (valor);
-4 - Margem Valor Agregado (%);
-5 - Pauta (valor).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Percentual da Margem de Valor Adicionado ICMS ST
-
-
-
-
- Percentual de redução da BC ICMS ST
-
-
-
-
- Valor da BC do ICMS ST
-
-
-
-
- Alíquota do ICMS ST
-
-
-
-
- Valor do ICMS ST
-
-
-
-
- Grupo desoneração
-
-
-
- Valor do ICMS de desoneração
-
-
-
-
- Motivo da desoneração do ICMS:3-Uso na agropecuária;9-Outros;12-Fomento agropecuário
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Tributação pelo ICMS
-90 - Outras
-
-
-
-
-
- origem da mercadoria: 0 - Nacional
-1 - Estrangeira - Importação direta
-2 - Estrangeira - Adquirida no mercado interno
-
-
-
-
-
- Tributção pelo ICMS
-90 - Outras
-
-
-
-
-
-
-
-
-
-
-
- Modalidade de determinação da BC do ICMS:
-0 - Margem Valor Agregado (%);
-1 - Pauta (valor);
-2 - Preço Tabelado Máximo (valor);
-3 - Valor da Operação.
-
-
-
-
-
-
-
-
-
-
-
-
-
- Valor da BC do ICMS
-
-
-
-
- Percentual de redução da BC
-
-
-
-
- Alíquota do ICMS
-
-
-
-
- Valor do ICMS
-
-
-
-
-
-
- Modalidade de determinação da BC do ICMS ST:
-0 – Preço tabelado ou máximo sugerido;
-1 - Lista Negativa (valor);
-2 - Lista Positiva (valor);
-3 - Lista Neutra (valor);
-4 - Margem Valor Agregado (%);
-5 - Pauta (valor).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Percentual da Margem de Valor Adicionado ICMS ST
-
-
-
-
- Percentual de redução da BC ICMS ST
-
-
-
-
- Valor da BC do ICMS ST
-
-
-
-
- Alíquota do ICMS ST
-
-
-
-
- Valor do ICMS ST
-
-
-
-
-
- Grupo desoneração
-
-
-
- Valor do ICMS de desoneração
-
-
-
-
- Motivo da desoneração do ICMS:3-Uso na agropecuária;9-Outros;12-Fomento agropecuário
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Partilha do ICMS entre a UF de origem e UF de destino ou a UF definida na legislação
-Operação interestadual para consumidor final com partilha do ICMS devido na operação entre a UF de origem e a UF do destinatário ou ou a UF definida na legislação. (Ex. UF da concessionária de entrega do veículos)
-
-
-
-
-
- origem da mercadoria: 0 - Nacional
-1 - Estrangeira - Importação direta
-2 - Estrangeira - Adquirida no mercado interno
-
-
-
-
-
- Tributação pelo ICMS
-10 - Tributada e com cobrança do ICMS por substituição tributária;
-90 – Outros.
-
-
-
-
-
-
-
-
-
-
-
- Modalidade de determinação da BC do ICMS:
-0 - Margem Valor Agregado (%);
-1 - Pauta (valor);
-2 - Preço Tabelado Máximo (valor);
-3 - Valor da Operação.
-
-
-
-
-
-
-
-
-
-
-
-
-
- Valor da BC do ICMS
-
-
-
-
- Percentual de redução da BC
-
-
-
-
- Alíquota do ICMS
-
-
-
-
- Valor do ICMS
-
-
-
-
- Modalidade de determinação da BC do ICMS ST:
-0 – Preço tabelado ou máximo sugerido;
-1 - Lista Negativa (valor);
-2 - Lista Positiva (valor);
-3 - Lista Neutra (valor);
-4 - Margem Valor Agregado (%);
-5 - Pauta (valor).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Percentual da Margem de Valor Adicionado ICMS ST
-
-
-
-
- Percentual de redução da BC ICMS ST
-
-
-
-
- Valor da BC do ICMS ST
-
-
-
-
- Alíquota do ICMS ST
-
-
-
-
- Valor do ICMS ST
-
-
-
-
- Percentual para determinação do valor da Base de Cálculo da operação própria.
-
-
-
-
- Sigla da UF para qual é devido o ICMS ST da operação.
-
-
-
-
-
-
-
- Grupo de informação do ICMSST devido para a UF de destino, nas operações interestaduais de produtos que tiveram retenção antecipada de ICMS por ST na UF do remetente. Repasse via Substituto Tributário.
-
-
-
-
-
- origem da mercadoria: 0 - Nacional
-1 - Estrangeira - Importação direta
-2 - Estrangeira - Adquirida no mercado interno
-
-
-
-
-
- Tributção pelo ICMS
-41-Não Tributado
-
-
-
-
-
-
-
-
-
-
- Informar o valor da BC do ICMS ST retido na UF remetente
-
-
-
-
- Informar o valor do ICMS ST retido na UF remetente (iv2.0))
-
-
-
-
- Informar o valor da BC do ICMS ST da UF destino
-
-
-
-
- Informar o valor da BC do ICMS ST da UF destino (v2.0)
-
-
-
-
-
-
-
- Tributação do ICMS pelo SIMPLES NACIONAL e CSOSN=101 (v.2.0)
-
-
-
-
-
- origem da mercadoria: 0 - Nacional
-1 - Estrangeira - Importação direta
-2 - Estrangeira - Adquirida no mercado interno
-(v2.0)
-
-
-
-
- 101- Tributada pelo Simples Nacional com permissão de crédito. (v.2.0)
-
-
-
-
-
-
-
-
-
-
- Alíquota aplicável de cálculo do crédito (Simples Nacional). (v2.0)
-
-
-
-
- Valor crédito do ICMS que pode ser aproveitado nos termos do art. 23 da LC 123 (Simples Nacional) (v2.0)
-
-
-
-
-
-
-
- Tributação do ICMS pelo SIMPLES NACIONAL e CSOSN=102, 103, 300 ou 400 (v.2.0))
-
-
-
-
-
- origem da mercadoria: 0 - Nacional
-1 - Estrangeira - Importação direta
-2 - Estrangeira - Adquirida no mercado interno
-(v2.0)
-
-
-
-
- 102- Tributada pelo Simples Nacional sem permissão de crédito.
-103 – Isenção do ICMS no Simples Nacional para faixa de receita bruta.
-300 – Imune.
-400 – Não tributda pelo Simples Nacional (v.2.0) (v.2.0)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Tributação do ICMS pelo SIMPLES NACIONAL e CSOSN=201 (v.2.0)
-
-
-
-
-
- Origem da mercadoria:
-0 – Nacional;
-1 – Estrangeira – Importação direta;
-2 – Estrangeira – Adquirida no mercado interno. (v2.0)
-
-
-
-
- 201- Tributada pelo Simples Nacional com permissão de crédito e com cobrança do ICMS por Substituição Tributária (v.2.0)
-
-
-
-
-
-
-
-
-
-
- Modalidade de determinação da BC do ICMS ST:
-0 – Preço tabelado ou máximo sugerido;
-1 - Lista Negativa (valor);
-2 - Lista Positiva (valor);
-3 - Lista Neutra (valor);
-4 - Margem Valor Agregado (%);
-5 - Pauta (valor). (v2.0)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Percentual da Margem de Valor Adicionado ICMS ST (v2.0)
-
-
-
-
- Percentual de redução da BC ICMS ST (v2.0)
-
-
-
-
- Valor da BC do ICMS ST (v2.0)
-
-
-
-
- Alíquota do ICMS ST (v2.0)
-
-
-
-
- Valor do ICMS ST (v2.0)
-
-
-
-
- Alíquota aplicável de cálculo do crédito (Simples Nacional). (v2.0)
-
-
-
-
- Valor crédito do ICMS que pode ser aproveitado nos termos do art. 23 da LC 123 (Simples Nacional) (v2.0)
-
-
-
-
-
-
-
- Tributação do ICMS pelo SIMPLES NACIONAL e CSOSN=202 ou 203 (v.2.0)
-
-
-
-
-
- Origem da mercadoria:
-0 – Nacional;
-1 – Estrangeira – Importação direta;
-2 – Estrangeira – Adquirida no mercado interno. (v2.0)
-
-
-
-
- 202- Tributada pelo Simples Nacional sem permissão de crédito e com cobrança do ICMS por Substituição Tributária;
-203- Isenção do ICMS nos Simples Nacional para faixa de receita bruta e com cobrança do ICMS por Substituição Tributária (v.2.0)
-
-
-
-
-
-
-
-
-
-
-
- Modalidade de determinação da BC do ICMS ST:
-0 – Preço tabelado ou máximo sugerido;
-1 - Lista Negativa (valor);
-2 - Lista Positiva (valor);
-3 - Lista Neutra (valor);
-4 - Margem Valor Agregado (%);
-5 - Pauta (valor). (v2.0)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Percentual da Margem de Valor Adicionado ICMS ST (v2.0)
-
-
-
-
- Percentual de redução da BC ICMS ST (v2.0)
-
-
-
-
- Valor da BC do ICMS ST (v2.0)
-
-
-
-
- Alíquota do ICMS ST (v2.0)
-
-
-
-
- Valor do ICMS ST (v2.0)
-
-
-
-
-
-
-
- Tributação do ICMS pelo SIMPLES NACIONAL,CRT=1 – Simples Nacional e CSOSN=500 (v.2.0)
-
-
-
-
-
- origem da mercadoria: 0 - Nacional
-1 - Estrangeira - Importação direta
-2 - Estrangeira - Adquirida no mercado interno
-
-
-
-
-
- 500 – ICMS cobrado anterirmente por substituição tributária (substituído) ou por antecipação
-(v.2.0)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Valor da BC do ICMS ST retido anteriormente (v2.0)
-
-
-
-
- Valor do ICMS ST retido anteriormente (v2.0)
-
-
-
-
-
-
-
-
- Tributação do ICMS pelo SIMPLES NACIONAL, CRT=1 – Simples Nacional e CSOSN=900 (v2.0)
-
-
-
-
-
- origem da mercadoria: 0 - Nacional
-1 - Estrangeira - Importação direta
-2 - Estrangeira - Adquirida no mercado interno
-
-
-
-
-
- Tributação pelo ICMS 900 - Outros(v2.0)
-
-
-
-
-
-
-
-
-
-
-
- Modalidade de determinação da BC do ICMS:
-0 - Margem Valor Agregado (%);
-1 - Pauta (valor);
-2 - Preço Tabelado Máximo (valor);
-3 - Valor da Operação.
-
-
-
-
-
-
-
-
-
-
-
-
-
- Valor da BC do ICMS
-
-
-
-
- Percentual de redução da BC
-
-
-
-
- Alíquota do ICMS
-
-
-
-
- Valor do ICMS
-
-
-
-
-
-
- Modalidade de determinação da BC do ICMS ST:
-0 – Preço tabelado ou máximo sugerido;
-1 - Lista Negativa (valor);
-2 - Lista Positiva (valor);
-3 - Lista Neutra (valor);
-4 - Margem Valor Agregado (%);
-5 - Pauta (valor).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Percentual da Margem de Valor Adicionado ICMS ST
-
-
-
-
- Percentual de redução da BC ICMS ST
-
-
-
-
- Valor da BC do ICMS ST
-
-
-
-
- Alíquota do ICMS ST
-
-
-
-
- Valor do ICMS ST
-
-
-
-
-
-
- Alíquota aplicável de cálculo do crédito (Simples Nacional). (v2.0)
-
-
-
-
- Valor crédito do ICMS que pode ser aproveitado nos termos do art. 23 da LC 123 (Simples Nacional) (v2.0)
-
-
-
-
-
-
-
-
-
-
-
-
- Dados do Imposto de Importação
-
-
-
-
-
- Base da BC do Imposto de Importação
-
-
-
-
- Valor das despesas aduaneiras
-
-
-
-
- Valor do Imposto de Importação
-
-
-
-
- Valor do Imposto sobre Operações Financeiras
-
-
-
-
-
-
-
-
-
-
- ISSQN
-
-
-
-
-
- Valor da BC do ISSQN
-
-
-
-
- Alíquota do ISSQN
-
-
-
-
- Valor da do ISSQN
-
-
-
-
- Informar o município de ocorrência do fato gerador do ISSQN. Utilizar a Tabela do IBGE (Anexo VII - Tabela de UF, Município e País). “Atenção, não vincular com os campos B12, C10 ou E10” v2.0
-
-
-
-
- Informar o Item da lista de serviços da LC 116/03 em que se classifica o serviço.
-
-
-
-
- Valor dedução para redução da base de cálculo
-
-
-
-
- Valor outras retenções
-
-
-
-
- Valor desconto incondicionado
-
-
-
-
- Valor desconto condicionado
-
-
-
-
- Valor Retenção ISS
-
-
-
-
- Exibilidade do ISS:1-Exigível;2-Não incidente;3-Isenção;4-Exportação;5-Imunidade;6-Exig.Susp. Judicial;7-Exig.Susp. ADM
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Código do serviço prestado dentro do município
-
-
-
-
-
-
-
-
-
-
-
- Código do Município de Incidência do Imposto
-
-
-
-
- Código de Pais
-
-
-
-
-
-
-
-
-
-
- Número do Processo administrativo ou judicial de suspenção do processo
-
-
-
-
-
-
-
-
-
-
-
- Indicador de Incentivo Fiscal. 1=Sim; 2=Não
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Dados do PIS
-
-
-
-
-
- Código de Situação Tributária do PIS.
- 01 – Operação Tributável - Base de Cálculo = Valor da Operação Alíquota Normal (Cumulativo/Não Cumulativo);
-02 - Operação Tributável - Base de Calculo = Valor da Operação (Alíquota Diferenciada);
-
-
-
-
-
- Código de Situação Tributária do PIS.
- 01 – Operação Tributável - Base de Cálculo = Valor da Operação Alíquota Normal (Cumulativo/Não Cumulativo);
-02 - Operação Tributável - Base de Calculo = Valor da Operação (Alíquota Diferenciada);
-
-
-
-
-
-
-
-
-
-
-
- Valor da BC do PIS
-
-
-
-
- Alíquota do PIS (em percentual)
-
-
-
-
- Valor do PIS
-
-
-
-
-
-
-
- Código de Situação Tributária do PIS.
-03 - Operação Tributável - Base de Calculo = Quantidade Vendida x Alíquota por Unidade de Produto;
-
-
-
-
-
- Código de Situação Tributária do PIS.
-03 - Operação Tributável - Base de Calculo = Quantidade Vendida x Alíquota por Unidade de Produto;
-
-
-
-
-
-
-
-
-
-
- Quantidade Vendida (NT2011/004)
-
-
-
-
- Alíquota do PIS (em reais) (NT2011/004)
-
-
-
-
- Valor do PIS
-
-
-
-
-
-
-
- Código de Situação Tributária do PIS.
-04 - Operação Tributável - Tributação Monofásica - (Alíquota Zero);
-06 - Operação Tributável - Alíquota Zero;
-07 - Operação Isenta da contribuição;
-08 - Operação Sem Incidência da contribuição;
-09 - Operação com suspensão da contribuição;
-
-
-
-
-
- Código de Situação Tributária do PIS.
-04 - Operação Tributável - Tributação Monofásica - (Alíquota Zero);
-05 - Operação Tributável (ST);
-06 - Operação Tributável - Alíquota Zero;
-07 - Operação Isenta da contribuição;
-08 - Operação Sem Incidência da contribuição;
-09 - Operação com suspensão da contribuição;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Código de Situação Tributária do PIS.
-99 - Outras Operações.
-
-
-
-
-
- Código de Situação Tributária do PIS.
-99 - Outras Operações.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Valor da BC do PIS
-
-
-
-
- Alíquota do PIS (em percentual)
-
-
-
-
-
-
- Quantidade Vendida (NT2011/004)
-
-
-
-
- Alíquota do PIS (em reais) (NT2011/004)
-
-
-
-
-
-
- Valor do PIS
-
-
-
-
-
-
-
-
-
-
- Dados do PIS Substituição Tributária
-
-
-
-
-
-
-
- Valor da BC do PIS ST
-
-
-
-
- Alíquota do PIS ST (em percentual)
-
-
-
-
-
-
- Quantidade Vendida
-
-
-
-
- Alíquota do PIS ST (em reais)
-
-
-
-
-
-
- Valor do PIS ST
-
-
-
-
-
-
-
- Dados do COFINS
-
-
-
-
-
- Código de Situação Tributária do COFINS.
- 01 – Operação Tributável - Base de Cálculo = Valor da Operação Alíquota Normal (Cumulativo/Não Cumulativo);
-02 - Operação Tributável - Base de Calculo = Valor da Operação (Alíquota Diferenciada);
-
-
-
-
-
- Código de Situação Tributária do COFINS.
- 01 – Operação Tributável - Base de Cálculo = Valor da Operação Alíquota Normal (Cumulativo/Não Cumulativo);
-02 - Operação Tributável - Base de Calculo = Valor da Operação (Alíquota Diferenciada);
-
-
-
-
-
-
-
-
-
-
-
- Valor da BC do COFINS
-
-
-
-
- Alíquota do COFINS (em percentual)
-
-
-
-
- Valor do COFINS
-
-
-
-
-
-
-
- Código de Situação Tributária do COFINS.
-03 - Operação Tributável - Base de Calculo = Quantidade Vendida x Alíquota por Unidade de Produto;
-
-
-
-
-
- Código de Situação Tributária do COFINS.
-03 - Operação Tributável - Base de Calculo = Quantidade Vendida x Alíquota por Unidade de Produto;
-
-
-
-
-
-
-
-
-
- Quantidade Vendida (NT2011/004)
-
-
-
-
- Alíquota do COFINS (em reais) (NT2011/004)
-
-
-
-
- Valor do COFINS
-
-
-
-
-
-
-
- Código de Situação Tributária do COFINS:
-04 - Operação Tributável - Tributação Monofásica - (Alíquota Zero);
-06 - Operação Tributável - Alíquota Zero;
-07 - Operação Isenta da contribuição;
-08 - Operação Sem Incidência da contribuição;
-09 - Operação com suspensão da contribuição;
-
-
-
-
-
- Código de Situação Tributária do COFINS:
-04 - Operação Tributável - Tributação Monofásica - (Alíquota Zero);
-05 - Operação Tributável (ST);
-06 - Operação Tributável - Alíquota Zero;
-07 - Operação Isenta da contribuição;
-08 - Operação Sem Incidência da contribuição;
-09 - Operação com suspensão da contribuição;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Código de Situação Tributária do COFINS:
-49 - Outras Operações de Saída
-50 - Operação com Direito a Crédito - Vinculada Exclusivamente a Receita Tributada no Mercado Interno
-51 - Operação com Direito a Crédito – Vinculada Exclusivamente a Receita Não Tributada no Mercado Interno
-52 - Operação com Direito a Crédito - Vinculada Exclusivamente a Receita de Exportação
-53 - Operação com Direito a Crédito - Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno
-54 - Operação com Direito a Crédito - Vinculada a Receitas Tributadas no Mercado Interno e de Exportação
-55 - Operação com Direito a Crédito - Vinculada a Receitas Não-Tributadas no Mercado Interno e de Exportação
-56 - Operação com Direito a Crédito - Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno, e de Exportação
-60 - Crédito Presumido - Operação de Aquisição Vinculada Exclusivamente a Receita Tributada no Mercado Interno
-61 - Crédito Presumido - Operação de Aquisição Vinculada Exclusivamente a Receita Não-Tributada no Mercado Interno
-62 - Crédito Presumido - Operação de Aquisição Vinculada Exclusivamente a Receita de Exportação
-63 - Crédito Presumido - Operação de Aquisição Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno
-64 - Crédito Presumido - Operação de Aquisição Vinculada a Receitas Tributadas no Mercado Interno e de Exportação
-65 - Crédito Presumido - Operação de Aquisição Vinculada a Receitas Não-Tributadas no Mercado Interno e de Exportação
-66 - Crédito Presumido - Operação de Aquisição Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno, e de Exportação
-67 - Crédito Presumido - Outras Operações
-70 - Operação de Aquisição sem Direito a Crédito
-71 - Operação de Aquisição com Isenção
-72 - Operação de Aquisição com Suspensão
-73 - Operação de Aquisição a Alíquota Zero
-74 - Operação de Aquisição sem Incidência da Contribuição
-75 - Operação de Aquisição por Substituição Tributária
-98 - Outras Operações de Entrada
-99 - Outras Operações.
-
-
-
-
-
- Código de Situação Tributária do COFINS:
-49 - Outras Operações de Saída
-50 - Operação com Direito a Crédito - Vinculada Exclusivamente a Receita Tributada no Mercado Interno
-51 - Operação com Direito a Crédito – Vinculada Exclusivamente a Receita Não Tributada no Mercado Interno
-52 - Operação com Direito a Crédito - Vinculada Exclusivamente a Receita de Exportação
-53 - Operação com Direito a Crédito - Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno
-54 - Operação com Direito a Crédito - Vinculada a Receitas Tributadas no Mercado Interno e de Exportação
-55 - Operação com Direito a Crédito - Vinculada a Receitas Não-Tributadas no Mercado Interno e de Exportação
-56 - Operação com Direito a Crédito - Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno, e de Exportação
-60 - Crédito Presumido - Operação de Aquisição Vinculada Exclusivamente a Receita Tributada no Mercado Interno
-61 - Crédito Presumido - Operação de Aquisição Vinculada Exclusivamente a Receita Não-Tributada no Mercado Interno
-62 - Crédito Presumido - Operação de Aquisição Vinculada Exclusivamente a Receita de Exportação
-63 - Crédito Presumido - Operação de Aquisição Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno
-64 - Crédito Presumido - Operação de Aquisição Vinculada a Receitas Tributadas no Mercado Interno e de Exportação
-65 - Crédito Presumido - Operação de Aquisição Vinculada a Receitas Não-Tributadas no Mercado Interno e de Exportação
-66 - Crédito Presumido - Operação de Aquisição Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno, e de Exportação
-67 - Crédito Presumido - Outras Operações
-70 - Operação de Aquisição sem Direito a Crédito
-71 - Operação de Aquisição com Isenção
-72 - Operação de Aquisição com Suspensão
-73 - Operação de Aquisição a Alíquota Zero
-74 - Operação de Aquisição sem Incidência da Contribuição
-75 - Operação de Aquisição por Substituição Tributária
-98 - Outras Operações de Entrada
-99 - Outras Operações.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Valor da BC do COFINS
-
-
-
-
- Alíquota do COFINS (em percentual)
-
-
-
-
-
-
- Quantidade Vendida (NT2011/004)
-
-
-
-
- Alíquota do COFINS (em reais) (NT2011/004)
-
-
-
-
-
-
- Valor do COFINS
-
-
-
-
-
-
-
-
-
-
- Dados do COFINS da
-Substituição Tributaria;
-
-
-
-
-
-
-
- Valor da BC do COFINS ST
-
-
-
-
- Alíquota do COFINS ST(em percentual)
-
-
-
-
-
-
- Quantidade Vendida
-
-
-
-
- Alíquota do COFINS ST(em reais)
-
-
-
-
-
-
- Valor do COFINS ST
-
-
-
-
-
-
-
- Grupo a ser informado nas vendas interestarduais para consumidor final, não contribuinte de ICMS
-
-
-
-
-
- Valor da Base de Cálculo do ICMS na UF do destinatário.
-
-
-
-
- Percentual adicional inserido na alíquota interna da UF de destino, relativo ao Fundo de Combate à Pobreza (FCP) naquela UF.
-
-
-
-
- Alíquota adotada nas operações internas na UF do destinatário para o produto / mercadoria.
-
-
-
-
- Alíquota interestadual das UF envolvidas: - 4% alíquota interestadual para produtos importados; - 7% para os Estados de origem do Sul e Sudeste (exceto ES), destinado para os Estados do Norte e Nordeste ou ES; - 12% para os demais casos.
-
-
-
-
-
-
-
-
-
-
-
-
- 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 destino.
-
-
-
-
- Valor do ICMS de partilha para a UF do destinatário.
-
-
-
-
- Valor do ICMS de partilha para a UF do remetente. Nota: A partir de 2019, este valor será zero.
-
-
-
-
-
-
-
-
-
-
-
-
-
- Percentual de mercadoria devolvida
-
-
-
-
- Informação de IPI devolvido
-
-
-
-
-
- Valor do IPI devolvido
-
-
-
-
-
-
-
-
-
-
- Informações adicionais do produto (norma referenciada, informações complementares, etc)
-
-
-
-
-
-
-
-
-
-
-
- Número do item do NF
-
-
-
-
-
-
-
-
-
-
-
-
- Dados dos totais da NF-e
-
-
-
-
-
- Totais referentes ao ICMS
-
-
-
-
-
- BC do ICMS
-
-
-
-
- Valor Total do ICMS
-
-
-
-
- Valor Total do ICMS desonerado
-
-
-
-
- Valor total do ICMS relativo ao Fundo de Combate à Pobreza (FCP) para a UF de destino.
-
-
-
-
- Valor total do ICMS de partilha para a UF do destinatário
-
-
-
-
- Valor total do ICMS de partilha para a UF do remetente
-
-
-
-
- BC do ICMS ST
-
-
-
-
- Valor Total do ICMS ST
-
-
-
-
- Valor Total dos produtos e serviços
-
-
-
-
- Valor Total do Frete
-
-
-
-
- Valor Total do Seguro
-
-
-
-
- Valor Total do Desconto
-
-
-
-
- Valor Total do II
-
-
-
-
- Valor Total do IPI
-
-
-
-
- Valor do PIS
-
-
-
-
- Valor do COFINS
-
-
-
-
- Outras Despesas acessórias
-
-
-
-
- Valor Total da NF-e
-
-
-
-
- Valor estimado total de impostos federais, estaduais e municipais
-
-
-
-
-
-
-
- Totais referentes ao ISSQN
-
-
-
-
-
- Valor Total dos Serviços sob não-incidência ou não tributados pelo ICMS
-
-
-
-
- Base de Cálculo do ISS
-
-
-
-
- Valor Total do ISS
-
-
-
-
- Valor do PIS sobre serviços
-
-
-
-
- Valor do COFINS sobre serviços
-
-
-
-
- Data da prestação do serviço (AAAA-MM-DD)
-
-
-
-
- Valor dedução para redução da base de cálculo
-
-
-
-
- Valor outras retenções
-
-
-
-
- Valor desconto incondicionado
-
-
-
-
- Valor desconto condicionado
-
-
-
-
- Valor Total Retenção ISS
-
-
-
-
- Código do regime especial de tributação
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Retenção de Tributos Federais
-
-
-
-
-
- Valor Retido de PIS
-
-
-
-
- Valor Retido de COFINS
-
-
-
-
- Valor Retido de CSLL
-
-
-
-
- Base de Cálculo do IRRF
-
-
-
-
- Valor Retido de IRRF
-
-
-
-
- Base de Cálculo da Retenção da Previdêncica Social
-
-
-
-
- Valor da Retenção da Previdêncica Social
-
-
-
-
-
-
-
-
-
-
- Dados dos transportes da NF-e
-
-
-
-
-
- Modalidade do frete
-0- Por conta do emitente;
-1- Por conta do destinatário/remetente;
-2- Por conta de terceiros;
-9- Sem frete (v2.0)
-
-
-
-
-
-
-
-
-
-
-
-
-
- Dados do transportador
-
-
-
-
-
-
- CNPJ do transportador
-
-
-
-
- CPF do transportador
-
-
-
-
-
- Razão Social ou nome do transportador
-
-
-
-
-
-
-
-
-
-
- Inscrição Estadual (v2.0)
-
-
-
-
- Endereço completo
-
-
-
-
-
-
-
-
-
-
- Nome do munícipio
-
-
-
-
-
-
-
-
-
-
- Sigla da UF
-
-
-
-
-
-
-
- Dados da retenção ICMS do Transporte
-
-
-
-
-
- Valor do Serviço
-
-
-
-
- BC da Retenção do ICMS
-
-
-
-
- Alíquota da Retenção
-
-
-
-
- Valor do ICMS Retido
-
-
-
-
- Código Fiscal de Operações e Prestações
-
-
-
-
-
-
-
-
-
-
- Código do Município de Ocorrência do Fato Gerador (utilizar a tabela do IBGE)
-
-
-
-
-
-
-
-
-
- Dados do veículo
-
-
-
-
- Dados do reboque/Dolly (v2.0)
-
-
-
-
-
- Identificação do vagão (v2.0)
-
-
-
-
-
-
-
-
-
-
- Identificação da balsa (v2.0)
-
-
-
-
-
-
-
-
-
-
-
- Dados dos volumes
-
-
-
-
-
- Quantidade de volumes transportados
-
-
-
-
-
-
-
-
-
-
- Espécie dos volumes transportados
-
-
-
-
-
-
-
-
-
-
- Marca dos volumes transportados
-
-
-
-
-
-
-
-
-
-
- Numeração dos volumes transportados
-
-
-
-
-
-
-
-
-
-
- Peso líquido (em kg)
-
-
-
-
- Peso bruto (em kg)
-
-
-
-
-
-
-
- Número dos Lacres
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Dados da cobrança da NF-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 NT 2011/004
-
-
-
-
-
- Número da duplicata
-
-
-
-
-
-
-
-
-
-
- Data de vencimento da duplicata (AAAA-MM-DD)
-
-
-
-
- Valor da duplicata
-
-
-
-
-
-
-
-
-
-
- Dados de Pagamento. Obrigatório apenas para (NFC-e) NT 2012/004
-
-
-
-
-
- Forma de Pagamento:01-Dinheiro;02-Cheque;03-Cartão de Crédito;04-Cartão de Débito;05-Crédito Loja;10-Vale Alimentação;11-Vale Refeição;12-Vale Presente;13-Vale Combustível;99 - Outros
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Valor do Pagamento
-
-
-
-
- Grupo de Cartões
-
-
-
-
-
- Tipo de Integração do processo de pagamento com o sistema de automação da empresa/
- 1=Pagamento integrado com o sistema de automação da empresa Ex. equipamento TEF , Comercio Eletronico
- 2=Pagamento não integrado com o sistema de automação da empresa Ex: equipamento POS
-
-
-
-
-
-
-
-
-
-
-
-
- CNPJ da credenciadora de cartão de crédito/débito
-
-
-
-
- Bandeira da operadora de cartão de crédito/débito:01–Visa; 02–Mastercard; 03–American Express; 04–Sorocred; 99–Outros
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Número de autorização da operação cartão de crédito/débito
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Informações adicionais da NF-e
-
-
-
-
-
- Informações adicionais de interesse do Fisco (v2.0)
-
-
-
-
-
-
-
-
-
-
- Informações complementares de interesse do Contribuinte
-
-
-
-
-
-
-
-
-
-
- Campo de uso livre do contribuinte
-informar o nome do campo no atributo xCampo
-e o conteúdo do campo no xTexto
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Campo de uso exclusivo do Fisco
-informar o nome do campo no atributo xCampo
-e o conteúdo do campo no xTexto
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Grupo de informações do processo referenciado
-
-
-
-
-
- Indentificador do processo ou ato
-concessório
-
-
-
-
-
-
-
-
-
-
- Origem do processo, informar com:
-0 - SEFAZ;
-1 - Justiça Federal;
-2 - Justiça Estadual;
-3 - Secex/RFB;
-9 - Outros
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Informações de exportação
-
-
-
-
-
- Sigla da UF de Embarque ou de transposição de fronteira
-
-
-
-
- Local de Embarque ou de transposição de fronteira
-
-
-
-
-
-
-
-
-
-
- Descrição do local de despacho
-
-
-
-
-
-
-
-
-
-
-
-
-
- Informações de compras (Nota de Empenho, Pedido e Contrato)
-
-
-
-
-
- Informação da Nota de Empenho de compras públicas (NT2011/004)
-
-
-
-
-
-
-
-
-
-
- Informação do pedido
-
-
-
-
-
-
-
-
-
-
- Informação do contrato
-
-
-
-
-
-
-
-
-
-
-
-
-
- Informações de registro aquisições de cana
-
-
-
-
-
- Identificação da safra
-
-
-
-
-
-
-
-
-
-
- Mês e Ano de Referência, formato: MM/AAAA
-
-
-
-
-
-
-
-
-
-
- Fornecimentos diários
-
-
-
-
-
- Quantidade em quilogramas - peso líquido
-
-
-
-
-
- Número do dia
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Total do mês
-
-
-
-
- Total Anterior
-
-
-
-
- Total Geral
-
-
-
-
- Deduções - Taxas e Contribuições
-
-
-
-
-
- Descrição da Dedução
-
-
-
-
-
-
-
-
-
-
- valor da dedução
-
-
-
-
-
-
-
- Valor dos fornecimentos
-
-
-
-
- Valor Total das Deduções
-
-
-
-
- Valor Líquido dos fornecimentos
-
-
-
-
-
-
-
-
- Versão do leiaute (v2.0)
-
-
-
-
- PL_005d - 11/08/09 - validação do Id
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Informações suplementares Nota Fiscal
-
-
-
-
-
- Texto com o QR-Code impresso no DANFE NFC-e
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Tipo Protocolo de status resultado do processamento da NF-e
-
-
-
-
- Dados do protocolo de status
-
-
-
-
-
- Identificação do Ambiente:
-1 - Produção
-2 - Homologação
-
-
-
-
- Versão do Aplicativo que processou a NF-e
-
-
-
-
- Chaves de acesso da NF-e, compostas por: UF do emitente, AAMM da emissão da NFe, CNPJ do emitente, modelo, série e número da NF-e e código numérico+DV.
-
-
-
-
- Data e hora de processamento, no formato AAAA-MM-DDTHH:MM:SSTZD. 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 NF-e enviado.
-
-
-
-
- Número do Protocolo de Status da NF-e. 1 posição (1 – Secretaria de Fazenda Estadual 2 – Receita Federal); 2 - códiga da UF - 2 posições ano; 10 seqüencial no ano.
-
-
-
-
- Digest Value da NF-e processada. Utilizado para conferir a integridade da NF-e original.
-
-
-
-
- Código do status da mensagem enviada.
-
-
-
-
- Descrição literal do status do serviço solicitado.
-
-
-
-
-
-
-
-
-
-
-
-
- Tipo Pedido de Concessão de Autorização da Nota Fiscal Eletrônica
-
-
-
-
-
- Indicador de processamento síncrono. 0=NÃO; 1=SIM=Síncrono
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Tipo Retorno do Pedido de Autorização da Nota Fiscal Eletrônica
-
-
-
-
- Identificação do Ambiente:
-1 - Produção
-2 - Homologação
-
-
-
-
- Versão do Aplicativo que recebeu o Lote.
-
-
-
-
- Código do status da mensagem enviada.
-
-
-
-
- Descrição literal do status do serviço solicitado.
-
-
-
-
- código da UF de atendimento
-
-
-
-
- Data e hora do recebimento, no formato AAAA-MM-DDTHH:MM:SSTZD
-
-
-
-
-
- Dados do Recibo do Lote
-
-
-
-
-
- Número do Recibo
-
-
-
-
- Tempo médio de resposta do serviço (em segundos) dos últimos 5 minutos
-
-
-
-
-
-
-
- Protocolo de status resultado do processamento sincrono da NFC-e
-
-
-
-
-
-
-
-
- Tipo Pedido de Consulta do Recido do Lote de Notas Fiscais Eletrônicas
-
-
-
-
- Identificação do Ambiente:
-1 - Produção
-2 - Homologação
-
-
-
-
- Número do Recibo
-
-
-
-
-
-
-
- Tipo Retorno do Pedido de Consulta do Recido do Lote de Notas Fiscais Eletrônicas
-
-
-
-
- Identificação do Ambiente:
-1 - Produção
-2 - Homologação
-
-
-
-
- Versão do Aplicativo que processou a NF-e
-
-
-
-
- Número do Recibo Consultado
-
-
-
-
- Código do status da mensagem enviada.
-
-
-
-
- Descrição literal do status do serviço solicitado.
-
-
-
-
- código da UF de atendimento
-
-
-
-
- Data e hora de processamento, no formato AAAA-MM-DDTHH:MM:SSTZD. Em caso de Rejeição, com data e hora do recebimento do Lote de NF-e enviado.
-
-
-
-
-
-
- Código da Mensagem (v2.0)
-alterado para tamanho variavel 1-4. (NT2011/004)
-
-
-
-
-
-
-
-
-
-
- Mensagem da SEFAZ para o emissor. (v2.0)
-
-
-
-
-
-
-
-
-
-
-
- Protocolo de status resultado do processamento da NF-e
-
-
-
-
-
-
-
- Tipo da NF-e processada
-
-
-
-
-
-
-
-
-
- Tipo Dados do Endereço // 24/10/08 - tamanho mínimo
-
-
-
-
- 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.
-
-
-
-
- CEP
-
-
-
-
-
-
-
-
-
-
- Código de Pais
-
-
-
-
-
-
-
-
-
-
- Nome do país
-
-
-
-
-
-
-
-
-
-
- Telefone, preencher com Código DDD + número do telefone , nas operações com exterior é permtido informar o código do país + código da localidade + número do telefone
-
-
-
-
-
-
-
-
-
-
-
-
- Tipo Dados do Endereço do Emitente // 24/10/08 - desmembrado / tamanho mínimo
-
-
-
-
- Logradouro
-
-
-
-
-
-
-
-
-
-
- Número
-
-
-
-
-
-
-
-
-
-
- Complemento
-
-
-
-
-
-
-
-
-
-
- Bairro
-
-
-
-
-
-
-
-
-
-
- Código do município
-
-
-
-
- Nome do município
-
-
-
-
-
-
-
-
-
-
- Sigla da UF
-
-
-
-
- CEP - NT 2011/004
-
-
-
-
-
-
-
-
-
-
- Código do país
-
-
-
-
-
-
-
-
-
- Nome do país
-
-
-
-
-
-
-
-
-
-
- Preencher com Código DDD + número do telefone (v.2.0)
-
-
-
-
-
-
-
-
-
-
-
-
- Tipo Dados do Local de Retirada ou Entrega // 24/10/08 - tamanho mínimo // v2.0
-
-
-
-
-
- CNPJ
-
-
-
-
- CPF (v2.0)
-
-
-
-
-
- Logradouro
-
-
-
-
-
-
-
-
-
-
- Número
-
-
-
-
-
-
-
-
-
-
- Complemento
-
-
-
-
-
-
-
-
-
-
- Bairro
-
-
-
-
-
-
-
-
-
-
- Código do município (utilizar a tabela do IBGE)
-
-
-
-
- Nome do município
-
-
-
-
-
-
-
-
-
-
- Sigla da UF
-
-
-
-
-
-
- Tipo Dados do Veículo
-
-
-
-
- Placa do veículo (NT2011/004)
-
-
-
-
-
-
-
-
-
-
- Sigla da UF
-
-
-
-
- Registro Nacional de Transportador de Carga (ANTT)
-
-
-
-
-
-
-
-
-
-
-
-
- Tipo Origem da mercadoria CST ICMS origem da mercadoria: 0-Nacional exceto as indicadas nos códigos 3, 4, 5 e 8;
-1-Estrangeira - Importação direta; 2-Estrangeira - Adquirida no mercado interno; 3-Nacional, conteudo superior 40% e inferior ou igual a 70%; 4-Nacional, processos produtivos básicos; 5-Nacional, conteudo inferior 40%; 6-Estrangeira - Importação direta, com similar nacional, lista CAMEX; 7-Estrangeira - mercado interno, sem simular,lista CAMEX;8-Nacional, Conteúdo de Importação superior a 70%.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Tipo Finalidade da NF-e (1=Normal; 2=Complementar; 3=Ajuste; 4=Devolução/Retorno)
-
-
-
-
-
-
-
-
-
-
-
- Tipo processo de emissão da NF-e
-
-
-
-
-
-
-
-
-
-
-
- Tipo Código da Lista de Serviços LC 116/2003
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Tipo Identificação de Lote
-
-
-
-
-
-
-
-
- Tipo Versão da NF-e - 3.10
-
-
-
-
-
-
-
-
- Identificador único (Globally Unique Identifier)
-
-
-
-
-
-
-
-
- Tipo: Dados do IPI
-
-
-
-
- Classe de Enquadramento do IPI para Cigarros e Bebidas
-
-
-
-
-
-
-
-
-
-
- CNPJ do produtor da mercadoria, quando diferente do emitente. Somente para os casos de exportação direta ou indireta.
-
-
-
-
- Código do selo de controle do IPI
-
-
-
-
-
-
-
-
-
-
- Quantidade de selo de controle do IPI
-
-
-
-
-
-
-
-
-
-
- Código de Enquadramento Legal do IPI (tabela a ser criada pela RFB)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Código da Situação Tributária do IPI:
-00-Entrada com recuperação de crédito
-49 - Outras entradas
-50-Saída tributada
-99-Outras saídas
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Valor da BC do IPI
-
-
-
-
- Alíquota do IPI
-
-
-
-
-
-
- Quantidade total na unidade padrão para tributação
-
-
-
-
- Valor por Unidade Tributável. Informar o valor do imposto Pauta por unidade de medida.
-
-
-
-
-
-
- Valor do IPI
-
-
-
-
-
-
-
-
-
-
- Código da Situação Tributária do IPI:
-01-Entrada tributada com alíquota zero
-02-Entrada isenta
-03-Entrada não-tributada
-04-Entrada imune
-05-Entrada com suspensão
-51-Saída tributada com alíquota zero
-52-Saída isenta
-53-Saída não-tributada
-54-Saída imune
-55-Saída com suspensão
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Nota Fiscal Eletrônica
+
+
+
+
+ Informações da Nota Fiscal eletrônica
+
+
+
+
+
+ identificação da NF-e
+
+
+
+
+
+ Código da UF do emitente do Documento Fiscal. 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 NF-e.
+
+
+
+
+
+
+
+
+
+
+ Descrição da Natureza da Operação
+
+
+
+
+
+
+
+
+
+
+ Código do modelo do Documento Fiscal. 55 = NF-e; 65 = NFC-e.
+
+
+
+
+ Série do Documento Fiscal
+série normal 0-889
+Avulsa Fisco 890-899
+SCAN 900-999
+
+
+
+
+ Número do Documento Fiscal
+
+
+
+
+ Data e Hora de emissão do Documento Fiscal (AAAA-MM-DDThh:mm:ssTZD) ex.: 2012-09-01T13:00:00-03:00
+
+
+
+
+ Data e Hora da saída ou de entrada da mercadoria / produto (AAAA-MM-DDTHH:mm:ssTZD)
+
+
+
+
+ Tipo do Documento Fiscal (0 - entrada; 1 - saída)
+
+
+
+
+
+
+
+
+
+
+
+ Identificador de Local de destino da operação (1-Interna;2-Interestadual;3-Exterior)
+
+
+
+
+
+
+
+
+
+
+
+
+ Código do Município de Ocorrência do Fato Gerador (utilizar a tabela do IBGE)
+
+
+
+
+ Formato de impressão do DANFE (0-sem DANFE;1-DANFe Retrato; 2-DANFe Paisagem;3-DANFe Simplificado;
+ 4-DANFe NFC-e;5-DANFe NFC-e em mensagem eletrônica)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Forma de emissão da NF-e
+1 - Normal;
+2 - Contingência FS
+3 - Contingência SCAN
+4 - Contingência DPEC
+5 - Contingência FSDA
+6 - Contingência SVC - AN
+7 - Contingência SVC - RS
+9 - Contingência off-line NFC-e
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Digito Verificador da Chave de Acesso da NF-e
+
+
+
+
+
+
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+ Finalidade da emissão da NF-e:
+1 - NFe normal
+2 - NFe complementar
+3 - NFe de ajuste
+4 - Devolução/Retorno
+
+
+
+
+ Indica operação com consumidor final (0-Não;1-Consumidor Final)
+
+
+
+
+
+
+
+
+
+
+
+ Indicador de presença do comprador no estabelecimento comercial no momento da oepração
+ (0-Não se aplica (ex.: Nota Fiscal complementar ou de ajuste;1-Operação presencial;2-Não presencial, internet;3-Não presencial, teleatendimento;4-NFC-e entrega em domicílio;5-Operação presencial, fora do estabelecimento;9-Não presencial, outros)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Processo de emissão utilizado com a seguinte codificação:
+0 - emissão de NF-e com aplicativo do contribuinte;
+1 - emissão de NF-e avulsa pelo Fisco;
+2 - emissão de NF-e avulsa, pelo contribuinte com seu certificado digital, através do site
+do Fisco;
+3- emissão de NF-e pelo contribuinte com aplicativo fornecido pelo Fisco.
+
+
+
+
+ versão do aplicativo utilizado no processo de
+emissão
+
+
+
+
+
+
+
+
+
+
+ Informar apenas
+para tpEmis diferente de 1
+
+
+
+ Informar a data e hora de entrada em contingência contingência no formato (AAAA-MM-DDThh:mm:ssTZD) ex.: 2012-09-01T13:00:00-03:00.
+
+
+
+
+ Informar a Justificativa da entrada
+
+
+
+
+
+
+
+
+
+
+
+ Grupo de infromações da NF referenciada
+
+
+
+
+
+ Chave de acesso das NF-e referenciadas. Chave de acesso compostas por Código da UF (tabela do IBGE) + AAMM da emissão + CNPJ do Emitente + modelo, série e número da NF-e Referenciada + Código Numérico + DV.
+
+
+
+
+ Dados da NF modelo 1/1A referenciada ou NF modelo 2 referenciada
+
+
+
+
+
+ Código da UF do emitente do Documento Fiscal. Utilizar a Tabela do IBGE.
+
+
+
+
+ AAMM da emissão
+
+
+
+
+
+
+
+
+
+
+ CNPJ do emitente do documento fiscal referenciado
+
+
+
+
+ Código do modelo do Documento Fiscal. Utilizar 01 para NF modelo 1/1A e 02 para NF modelo 02
+
+
+
+
+
+
+
+
+
+
+
+ Série do Documento Fiscal, informar zero se inexistente
+
+
+
+
+ Número do Documento Fiscal
+
+
+
+
+
+
+
+ Grupo com as informações NF de produtor referenciada
+
+
+
+
+
+ Código da UF do emitente do Documento FiscalUtilizar a Tabela do IBGE (Anexo IV - Tabela de UF, Município e País)
+
+
+
+
+ AAMM da emissão da NF de produtor
+
+
+
+
+
+
+
+
+
+
+
+ CNPJ do emitente da NF de produtor
+
+
+
+
+ CPF do emitente da NF de produtor
+
+
+
+
+
+ IE do emitente da NF de Produtor
+
+
+
+
+ Código do modelo do Documento Fiscal - utilizar 04 para NF de produtor ou 01 para NF Avulsa
+
+
+
+
+
+
+
+
+
+
+
+ Série do Documento Fiscal, informar zero se inexistentesérie
+
+
+
+
+ Número do Documento Fiscal - 1 – 999999999
+
+
+
+
+
+
+
+ Utilizar esta TAG para referenciar um CT-e emitido anteriormente, vinculada a NF-e atual
+
+
+
+
+ Grupo do Cupom Fiscal vinculado à NF-e
+
+
+
+
+
+ Código do modelo do Documento Fiscal
+Preencher com "2B", quando se tratar de Cupom Fiscal emitido por máquina registradora (não ECF), com "2C", quando se tratar de Cupom Fiscal PDV, ou "2D", quando se tratar de Cupom Fiscal (emitido por ECF)
+
+
+
+
+
+
+
+
+
+
+
+
+ Informar o número de ordem seqüencial do ECF que emitiu o Cupom Fiscal vinculado à NF-e
+
+
+
+
+
+
+
+
+
+
+ Informar o Número do Contador de Ordem de Operação - COO vinculado à NF-e
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Identificação do emitente
+
+
+
+
+
+
+ Número do CNPJ do emitente
+
+
+
+
+ Número do CPF do emitente
+
+
+
+
+
+ Razão Social ou Nome do emitente
+
+
+
+
+
+
+
+
+
+
+ Nome fantasia
+
+
+
+
+
+
+
+
+
+
+ Endereço do emitente
+
+
+
+
+ Inscrição Estadual do Emitente
+
+
+
+
+ Inscricao Estadual do Substituto Tributário
+
+
+
+
+ Grupo de informações de interesse da Prefeitura
+
+
+
+ Inscrição Municipal
+
+
+
+
+
+
+
+
+
+
+ CNAE Fiscal
+
+
+
+
+
+
+
+
+
+
+
+ Código de Regime Tributário.
+Este campo será obrigatoriamente preenchido com:
+1 – Simples Nacional;
+2 – Simples Nacional – excesso de sublimite de receita bruta;
+3 – Regime Normal.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Emissão de avulsa, informar os dados do Fisco emitente
+
+
+
+
+
+ CNPJ do Órgão emissor
+
+
+
+
+ Órgão emitente
+
+
+
+
+
+
+
+
+
+
+ Matrícula do agente
+
+
+
+
+
+
+
+
+
+
+ Nome do agente
+
+
+
+
+
+
+
+
+
+
+ Telefone
+
+
+
+
+
+
+
+
+
+
+ Sigla da Unidade da Federação
+
+
+
+
+ Número do Documento de Arrecadação de Receita
+
+
+
+
+
+
+
+
+
+
+ Data de emissão do DAR (AAAA-MM-DD)
+
+
+
+
+ Valor Total constante no DAR
+
+
+
+
+ Repartição Fiscal emitente
+
+
+
+
+
+
+
+
+
+
+ Data de pagamento do DAR (AAAA-MM-DD)
+
+
+
+
+
+
+
+ Identificação do Destinatário
+
+
+
+
+
+
+ Número do CNPJ
+
+
+
+
+ Número do CPF
+
+
+
+
+ Identificador do destinatário, em caso de comprador estrangeiro
+
+
+
+
+
+
+
+
+
+
+
+ Razão Social ou nome do destinatário
+
+
+
+
+
+
+
+
+
+
+ Dados do endereço
+
+
+
+
+ Indicador da IE do destinatário:
+1 – Contribuinte ICMSpagamento à vista;
+2 – Contribuinte isento de inscrição;
+9 – Não Contribuinte
+
+
+
+
+
+
+
+
+
+
+
+
+ Inscrição Estadual (obrigatório nas operações com contribuintes do ICMS)
+
+
+
+
+ Inscrição na SUFRAMA (Obrigatório nas operações com as áreas com benefícios de incentivos fiscais sob controle da SUFRAMA) PL_005d - 11/08/09 - alterado para aceitar 8 ou 9 dígitos
+
+
+
+
+
+
+
+
+
+
+ Inscrição Municipal do tomador do serviço
+
+
+
+
+
+
+
+
+
+
+ Informar o e-mail do destinatário. O campo pode ser utilizado para informar o e-mail
+de recepção da NF-e indicada pelo destinatário
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Identificação do Local de Retirada (informar apenas quando for diferente do endereço do remetente)
+
+
+
+
+ Identificação do Local de Entrega (informar apenas quando for diferente do endereço do destinatário)
+
+
+
+
+ Pessoas autorizadas para o download do XML da NF-e
+
+
+
+
+
+ CNPJ Autorizado
+
+
+
+
+ CPF Autorizado
+
+
+
+
+
+
+
+ Dados dos detalhes da NF-e
+
+
+
+
+
+ Dados dos produtos e serviços da NF-e
+
+
+
+
+
+ Código do produto ou serviço. Preencher com CFOP caso se trate de itens não relacionados com mercadorias/produto e que o contribuinte não possua codificação própria
+Formato ”CFOP9999”.
+
+
+
+
+
+
+
+
+
+
+ GTIN (Global Trade Item Number) do produto, antigo código EAN ou código de barras
+
+
+
+
+
+
+
+
+
+
+ Descrição do produto ou serviço
+
+
+
+
+
+
+
+
+
+
+ Código NCM (8 posições), será permitida a informação do gênero (posição do capítulo do NCM) quando a operação não for de comércio exterior (importação/exportação) ou o produto não seja tributado pelo IPI. Em caso de item de serviço ou item que não tenham produto (Ex. transferência de crédito, crédito do ativo imobilizado, etc.), informar o código 00 (zeros) (v2.0)
+
+
+
+
+
+
+
+
+
+
+ Nomenclatura de Valor aduaneio e Estatístico
+
+
+
+
+
+
+
+
+
+
+
+ Codigo especificador da Substuicao Tributaria - CEST, que identifica a mercadoria sujeita aos regimes de substituicao tributária e de antecipação do recolhimento do imposto
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CNPJ do Fabricante da Mercadoria, obrigatório para produto em escala NÃO relevante.
+
+
+
+
+
+
+
+
+
+
+
+
+ Código EX TIPI (3 posições)
+
+
+
+
+
+
+
+
+
+
+ Cfop
+
+
+
+
+
+
+
+
+
+
+ Unidade comercial
+
+
+
+
+
+
+
+
+
+
+ Quantidade Comercial do produto, alterado para aceitar de 0 a 4 casas decimais e 11 inteiros.
+
+
+
+
+ Valor unitário de comercialização - alterado para aceitar 0 a 10 casas decimais e 11 inteiros
+
+
+
+
+ Valor bruto do produto ou serviço.
+
+
+
+
+ GTIN (Global Trade Item Number) da unidade tributável, antigo código EAN ou código de barras
+
+
+
+
+
+
+
+
+
+
+ Unidade Tributável
+
+
+
+
+
+
+
+
+
+
+ Quantidade Tributável - alterado para aceitar de 0 a 4 casas decimais e 11 inteiros
+
+
+
+
+ Valor unitário de tributação - - alterado para aceitar 0 a 10 casas decimais e 11 inteiros
+
+
+
+
+ Valor Total do Frete
+
+
+
+
+ Valor Total do Seguro
+
+
+
+
+ Valor do Desconto
+
+
+
+
+ Outras despesas acessórias
+
+
+
+
+ Este campo deverá ser preenchido com:
+ 0 – o valor do item (vProd) não compõe o valor total da NF-e (vProd)
+ 1 – o valor do item (vProd) compõe o valor total da NF-e (vProd)
+
+
+
+
+
+
+
+
+
+
+
+ Delcaração de Importação
+(NT 2011/004)
+
+
+
+
+
+ Numero do Documento de Importação DI/DSI/DA/DRI-E (DI/DSI/DA/DRI-E) (NT2011/004)
+
+
+
+
+
+
+
+
+
+
+ Data de registro da DI/DSI/DA (AAAA-MM-DD)
+
+
+
+
+ Local do desembaraço aduaneiro
+
+
+
+
+
+
+
+
+
+
+ UF onde ocorreu o desembaraço aduaneiro
+
+
+
+
+ Data do desembaraço aduaneiro (AAAA-MM-DD)
+
+
+
+
+ Via de transporte internacional informada na DI
+ 1-Maritima;2-Fluvial;3-Lacustre;4-Aerea;5-Postal;6-Ferroviaria;7-Rodoviaria;8-Conduto;9-Meios Proprios;10-Entrada/Saida Ficta.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Valor Adicional ao frete para renovação de marinha mercante
+
+
+
+
+ Forma de Importação quanto a intermediação
+ 1-por conta propria;2-por conta e ordem;3-encomenda
+
+
+
+
+
+
+
+
+
+
+
+
+ CNPJ do adquirente ou do encomendante
+
+
+
+
+ Sigla da UF do adquirente ou do encomendante
+
+
+
+
+ Código do exportador (usado nos sistemas internos de informação do emitente da NF-e)
+
+
+
+
+
+
+
+
+
+
+ Adições (NT 2011/004)
+
+
+
+
+
+ Número da Adição
+
+
+
+
+
+
+
+
+
+
+ Número seqüencial do item dentro da Adição
+
+
+
+
+
+
+
+
+
+
+ Código do fabricante estrangeiro (usado nos sistemas internos de informação do emitente da NF-e)
+
+
+
+
+
+
+
+
+
+
+ Valor do desconto do item da DI – adição
+
+
+
+
+ Número do ato concessório de Drawback
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Detalhe da exportação
+
+
+
+
+
+ Número do ato concessório de Drawback
+
+
+
+
+
+
+
+
+
+
+ Exportação indireta
+
+
+
+
+
+ Registro de exportação
+
+
+
+
+
+
+
+
+
+
+ Chave de acesso da NF-e recebida para exportação
+
+
+
+
+ Quantidade do item efetivamente exportado
+
+
+
+
+
+
+
+
+
+
+ pedido de compra - Informação de interesse do emissor para controle do B2B.
+
+
+
+
+
+
+
+
+
+
+ Número do Item do Pedido de Compra - Identificação do número do item do pedido de Compra
+
+
+
+
+
+
+
+
+
+
+ Número de controle da FCI - Ficha de Conteúdo de Importação.
+
+
+
+
+
+
+
+ Número do lote do produto.
+
+
+
+
+
+
+
+
+
+
+ Quantidade de produto no lote.
+
+
+
+
+ Data de fabricação/produção. Formato "AAAA-MM-DD".
+
+
+
+
+ Data de validade. Informar o último dia do mês caso a validade não especifique o dia. Formato "AAAA-MM-DD".
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Informações específicas de produtos e serviços
+
+
+
+ Veículos novos
+
+
+
+
+
+ Tipo da Operação (1 - Venda concessionária; 2 - Faturamento direto; 3 - Venda direta; 0 - Outros)
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Chassi do veículo - VIN (código-identificação-veículo)
+
+
+
+
+
+
+
+
+
+
+
+ Cor do veículo (código de cada montadora)
+
+
+
+
+
+
+
+
+
+
+ Descrição da cor
+
+
+
+
+
+
+
+
+
+
+ Potência máxima do motor do veículo em cavalo vapor (CV). (potência-veículo)
+
+
+
+
+
+
+
+
+
+
+ Capacidade voluntária do motor expressa em centímetros cúbicos (CC). (cilindradas)
+
+
+
+
+
+
+
+
+
+
+ Peso líquido
+
+
+
+
+
+
+
+
+
+
+ Peso bruto
+
+
+
+
+
+
+
+
+
+
+ Serial (série)
+
+
+
+
+
+
+
+
+
+
+ Tipo de combustível-Tabela RENAVAM: 01-Álcool; 02-Gasolina; 03-Diesel; 16-Álcool/Gas.; 17-Gas./Álcool/GNV; 18-Gasolina/Elétrico
+
+
+
+
+
+
+
+
+
+
+ Número do motor
+
+
+
+
+
+
+
+
+
+
+ CMT-Capacidade Máxima de Tração - em Toneladas 4 casas decimais
+
+
+
+
+
+
+
+
+
+
+ Distância entre eixos
+
+
+
+
+
+
+
+
+
+
+ Ano Modelo de Fabricação
+
+
+
+
+
+
+
+
+
+
+ Ano de Fabricação
+
+
+
+
+
+
+
+
+
+
+ Tipo de pintura
+
+
+
+
+
+
+
+
+
+ Tipo de veículo (utilizar tabela RENAVAM)
+
+
+
+
+
+
+
+
+
+
+ Espécie de veículo (utilizar tabela RENAVAM)
+
+
+
+
+
+
+
+
+
+
+ Informa-se o veículo tem VIN (chassi) remarcado.
+R-Remarcado
+N-NormalVIN
+
+
+
+
+
+
+
+
+
+
+
+ Condição do veículo (1 - acabado; 2 - inacabado; 3 - semi-acabado)
+
+
+
+
+
+
+
+
+
+
+
+
+ Código Marca Modelo (utilizar tabela RENAVAM)
+
+
+
+
+
+
+
+
+
+
+ Código da Cor Segundo as regras de pré-cadastro do DENATRAN: 01-AMARELO;02-AZUL;03-BEGE;04-BRANCA;05-CINZA;06-DOURADA;07-GRENA
+08-LARANJA;09-MARROM;10-PRATA;11-PRETA;12-ROSA;13-ROXA;14-VERDE;15-VERMELHA;16-FANTASIA
+
+
+
+
+
+
+
+
+
+
+
+
+ Quantidade máxima de permitida de passageiros sentados, inclusive motorista.
+
+
+
+
+
+
+
+
+
+
+
+
+ Restrição
+0 - Não há;
+1 - Alienação Fiduciária;
+2 - Arrendamento Mercantil;
+3 - Reserva de Domínio;
+4 - Penhor de Veículos;
+9 - outras.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ grupo do detalhamento de Medicamentos e de matérias-primas farmacêuticas
+
+
+
+
+
+ Utilizar o número do registro ANVISA
+Obs.: Para medicamento isento de registro na ANVISA, utilizar o número da decisão que o isenta, como por exemplo o número da Resolução da Diretoria Colegiada da ANVISA (RDC).
+
+
+
+
+
+
+
+
+
+ Preço Máximo ao Consumidor.
+
+
+
+
+
+
+
+ Armamentos
+
+
+
+
+
+ Indicador do tipo de arma de fogo (0 - Uso permitido; 1 - Uso restrito)
+
+
+
+
+
+
+
+
+
+
+
+ Número de série da arma
+
+
+
+
+
+
+
+
+
+
+ Número de série do cano
+
+
+
+
+
+
+
+
+
+
+ Descrição completa da arma, compreendendo: calibre, marca, capacidade, tipo de funcionamento, comprimento e demais elementos que permitam a sua perfeita identificação.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Informar apenas para operações com combustíveis líquidos
+
+
+
+
+
+ Código de produto da ANP. codificação de produtos do SIMP (http://www.anp.gov.br)
+
+
+
+
+
+
+
+
+
+
+ Descrição do Produto conforme ANP. Utilizar a descrição de produtos do Sistema de Informações de Movimentação de Produtos - SIMP (http://www.anp.gov.br/simp/).
+
+
+
+
+
+
+
+
+
+
+ Percentual do GLP derivado do petróleo no produto GLP (cProdANP=210203001). Informar em número decimal o percentual do GLP derivado de petróleo no produto GLP. Valores 0 a 100.
+
+
+
+
+ Percentual de gás natural nacional - GLGNn para o produto GLP (cProdANP=210203001). Informar em número decimal o percentual do Gás Natural Nacional - GLGNn para o produto GLP. Valores de 0 a 100.
+
+
+
+
+ Percentual de gás natural importado GLGNi para o produto GLP (cProdANP=210203001). Informar em número deciaml o percentual do Gás Natural Importado - GLGNi para o produto GLP. Valores de 0 a 100.
+
+
+
+
+ Valor de partida (cProdANP=210203001). Deve ser informado neste campo o valor por quilograma sem ICMS.
+
+
+
+
+ Código de autorização / registro do CODIF. Informar apenas quando a UF utilizar o CODIF (Sistema de Controle do Diferimento do Imposto nas Operações com AEAC - Álcool Etílico Anidro Combustível).
+
+
+
+
+
+
+
+
+
+
+ Quantidade de combustível
+faturada à temperatura ambiente.
+Informar quando a quantidade
+faturada informada no campo
+qCom (I10) tiver sido ajustada para
+uma temperatura diferente da
+ambiente.
+
+
+
+
+ Sigla da UF de Consumo
+
+
+
+
+ CIDE Combustíveis
+
+
+
+
+
+ BC do CIDE ( Quantidade comercializada)
+
+
+
+
+ Alíquota do CIDE (em reais)
+
+
+
+
+ Valor do CIDE
+
+
+
+
+
+
+
+ Informações do grupo de "encerrante"
+
+
+
+
+
+ Numero de identificação do Bico utilizado no abastecimento
+
+
+
+
+
+
+
+
+
+
+ Numero de identificação da bomba ao qual o bico está interligado
+
+
+
+
+
+
+
+
+
+
+ Numero de identificação do tanque ao qual o bico está interligado
+
+
+
+
+
+
+
+
+
+
+ Valor do Encerrante no ínicio do abastecimento
+
+
+
+
+ Valor do Encerrante no final do abastecimento
+
+
+
+
+
+
+
+
+
+
+ Número do RECOPI
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tributos incidentes nos produtos ou serviços da NF-e
+
+
+
+
+
+ Valor estimado total de impostos federais, estaduais e municipais
+
+
+
+
+
+
+ Dados do ICMS Normal e ST
+
+
+
+
+
+ Tributação pelo ICMS
+00 - Tributada integralmente
+
+
+
+
+
+ origem da mercadoria: 0 - Nacional
+1 - Estrangeira - Importação direta
+2 - Estrangeira - Adquirida no mercado interno
+
+
+
+
+ Tributção pelo ICMS
+00 - Tributada integralmente
+
+
+
+
+
+
+
+
+
+
+ Modalidade de determinação da BC do ICMS:
+0 - Margem Valor Agregado (%);
+1 - Pauta (valor);
+2 - Preço Tabelado Máximo (valor);
+3 - Valor da Operação.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Valor da BC do ICMS
+
+
+
+
+ Alíquota do ICMS
+
+
+
+
+ Valor do ICMS
+
+
+
+
+
+ Percentual de ICMS relativo ao Fundo de Combate à Pobreza (FCP).
+
+
+
+
+ Valor do ICMS relativo ao Fundo de Combate à Pobreza (FCP).
+
+
+
+
+
+
+
+
+ Tributação pelo ICMS
+10 - Tributada e com cobrança do ICMS por substituição tributária
+
+
+
+
+
+ origem da mercadoria: 0 - Nacional
+1 - Estrangeira - Importação direta
+2 - Estrangeira - Adquirida no mercado interno
+
+
+
+
+ 10 - Tributada e com cobrança do ICMS por substituição tributária
+
+
+
+
+
+
+
+
+
+
+ Modalidade de determinação da BC do ICMS:
+0 - Margem Valor Agregado (%);
+1 - Pauta (valor);
+2 - Preço Tabelado Máximo (valor);
+3 - Valor da Operação.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Valor da BC do ICMS
+
+
+
+
+ Alíquota do ICMS
+
+
+
+
+ Valor do ICMS
+
+
+
+
+
+ Valor da Base de cálculo do FCP.
+
+
+
+
+ Percentual de ICMS relativo ao Fundo de Combate à Pobreza (FCP).
+
+
+
+
+ Valor do ICMS relativo ao Fundo de Combate à Pobreza (FCP).
+
+
+
+
+
+ Modalidade de determinação da BC do ICMS ST:
+0 – Preço tabelado ou máximo sugerido;
+1 - Lista Negativa (valor);
+2 - Lista Positiva (valor);
+3 - Lista Neutra (valor);
+4 - Margem Valor Agregado (%);
+5 - Pauta (valor);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Percentual da Margem de Valor Adicionado ICMS ST
+
+
+
+
+ Percentual de redução da BC ICMS ST
+
+
+
+
+ Valor da BC do ICMS ST
+
+
+
+
+ Alíquota do ICMS ST
+
+
+
+
+ Valor do ICMS ST
+
+
+
+
+
+ Valor da Base de cálculo do FCP retido por substituicao tributaria.
+
+
+
+
+ Percentual de FCP retido por substituição tributária.
+
+
+
+
+ Valor do FCP retido por substituição tributária.
+
+
+
+
+
+
+
+
+ Tributção pelo ICMS
+20 - Com redução de base de cálculo
+
+
+
+
+
+ origem da mercadoria: 0 - Nacional
+1 - Estrangeira - Importação direta
+2 - Estrangeira - Adquirida no mercado interno
+
+
+
+
+ Tributção pelo ICMS
+20 - Com redução de base de cálculo
+
+
+
+
+
+
+
+
+
+
+ Modalidade de determinação da BC do ICMS:
+0 - Margem Valor Agregado (%);
+1 - Pauta (valor);
+2 - Preço Tabelado Máximo (valor);
+3 - Valor da Operação.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Percentual de redução da BC
+
+
+
+
+ Valor da BC do ICMS
+
+
+
+
+ Alíquota do ICMS
+
+
+
+
+ Valor do ICMS
+
+
+
+
+
+ Valor da Base de cálculo do FCP.
+
+
+
+
+ Percentual de ICMS relativo ao Fundo de Combate à Pobreza (FCP).
+
+
+
+
+ Valor do ICMS relativo ao Fundo de Combate à Pobreza (FCP).
+
+
+
+
+
+ Grupo desoneração
+
+
+
+ Valor do ICMS de desoneração
+
+
+
+
+ Motivo da desoneração do ICMS:3-Uso na agropecuária;9-Outros;12-Fomento agropecuário
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tributação pelo ICMS
+30 - Isenta ou não tributada e com cobrança do ICMS por substituição tributária
+
+
+
+
+
+ origem da mercadoria: 0 - Nacional
+1 - Estrangeira - Importação direta
+2 - Estrangeira - Adquirida no mercado interno
+
+
+
+
+ Tributção pelo ICMS
+30 - Isenta ou não tributada e com cobrança do ICMS por substituição tributária
+
+
+
+
+
+
+
+
+
+
+ Modalidade de determinação da BC do ICMS ST:
+0 – Preço tabelado ou máximo sugerido;
+1 - Lista Negativa (valor);
+2 - Lista Positiva (valor);
+3 - Lista Neutra (valor);
+4 - Margem Valor Agregado (%);
+5 - Pauta (valor).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Percentual da Margem de Valor Adicionado ICMS ST
+
+
+
+
+ Percentual de redução da BC ICMS ST
+
+
+
+
+ Valor da BC do ICMS ST
+
+
+
+
+ Alíquota do ICMS ST
+
+
+
+
+ Valor do ICMS ST
+
+
+
+
+
+ Valor da Base de cálculo do FCP.
+
+
+
+
+ Percentual de FCP retido por substituição tributária.
+
+
+
+
+ Valor do FCP retido por substituição tributária.
+
+
+
+
+
+ Grupo desoneração
+
+
+
+ Valor do ICMS de desoneração
+
+
+
+
+ Motivo da desoneração do ICMS:6-Utilitários Motocicleta AÁrea Livre;7-SUFRAMA;9-Outros
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tributação pelo ICMS
+40 - Isenta
+41 - Não tributada
+50 - Suspensão
+
+
+
+
+
+ origem da mercadoria: 0 - Nacional
+1 - Estrangeira - Importação direta
+2 - Estrangeira - Adquirida no mercado interno
+
+
+
+
+ Tributação pelo ICMS
+40 - Isenta
+41 - Não tributada
+50 - Suspensão
+51 - Diferimento
+
+
+
+
+
+
+
+
+
+
+
+
+
+ O valor do ICMS será informado apenas nas operações com veículos beneficiados com a desoneração condicional do ICMS.
+
+
+
+
+ Este campo será preenchido quando o campo anterior estiver preenchido.
+Informar o motivo da desoneração:
+1 – Táxi;
+3 – Produtor Agropecuário;
+4 – Frotista/Locadora;
+5 – Diplomático/Consular;
+6 – Utilitários e Motocicletas da Amazônia Ocidental e Áreas de Livre Comércio (Resolução 714/88 e 790/94 – CONTRAN e suas alterações);
+7 – SUFRAMA;
+8 - Venda a órgão Público;
+9 – Outros
+10- Deficiente Condutor
+11- Deficiente não condutor
+16 - Olimpíadas Rio 2016
+90 - Solicitado pelo Fisco
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tributção pelo ICMS
+51 - Diferimento
+A exigência do preenchimento das informações do ICMS diferido fica à critério de cada UF.
+
+
+
+
+
+ origem da mercadoria: 0 - Nacional
+1 - Estrangeira - Importação direta
+2 - Estrangeira - Adquirida no mercado interno
+
+
+
+
+ Tributção pelo ICMS
+20 - Com redução de base de cálculo
+
+
+
+
+
+
+
+
+
+
+ Modalidade de determinação da BC do ICMS:
+0 - Margem Valor Agregado (%);
+1 - Pauta (valor);
+2 - Preço Tabelado Máximo (valor);
+3 - Valor da Operação.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Percentual de redução da BC
+
+
+
+
+ Valor da BC do ICMS
+
+
+
+
+ Alíquota do imposto
+
+
+
+
+ Valor do ICMS da Operação
+
+
+
+
+ Percentual do diferemento
+
+
+
+
+ Valor do ICMS da diferido
+
+
+
+
+ Valor do ICMS
+
+
+
+
+
+ Valor da Base de cálculo do FCP.
+
+
+
+
+ Percentual de ICMS relativo ao Fundo de Combate à Pobreza (FCP).
+
+
+
+
+ Valor do ICMS relativo ao Fundo de Combate à Pobreza (FCP).
+
+
+
+
+
+
+
+
+ Tributação pelo ICMS
+60 - ICMS cobrado anteriormente por substituição tributária
+
+
+
+
+
+ origem da mercadoria: 0 - Nacional
+1 - Estrangeira - Importação direta
+2 - Estrangeira - Adquirida no mercado interno
+
+
+
+
+ Tributação pelo ICMS
+60 - ICMS cobrado anteriormente por substituição tributária
+
+
+
+
+
+
+
+
+
+
+ NT2010/004
+
+
+
+ Valor da BC do ICMS ST retido anteriormente
+
+
+
+
+ Aliquota suportada pelo consumidor final.
+
+
+
+
+ Valor do ICMS ST retido anteriormente
+
+
+
+
+
+
+ Valor da Base de cálculo do FCP retido anteriormente por ST.
+
+
+
+
+ Percentual de FCP retido anteriormente por substituição tributária.
+
+
+
+
+ Valor do FCP retido por substituição tributária.
+
+
+
+
+
+
+
+
+ Percentual de redução da base de cálculo efetiva.
+
+
+
+
+ Valor da base de cálculo efetiva.
+
+
+
+
+ Alíquota do ICMS efetiva.
+
+
+
+
+ Valor do ICMS efetivo.
+
+
+
+
+
+
+
+
+ Tributação pelo ICMS
+70 - Com redução de base de cálculo e cobrança do ICMS por substituição tributária
+
+
+
+
+
+ origem da mercadoria: 0 - Nacional
+1 - Estrangeira - Importação direta
+2 - Estrangeira - Adquirida no mercado interno
+
+
+
+
+ Tributção pelo ICMS
+70 - Com redução de base de cálculo e cobrança do ICMS por substituição tributária
+
+
+
+
+
+
+
+
+
+
+ Modalidade de determinação da BC do ICMS:
+0 - Margem Valor Agregado (%);
+1 - Pauta (valor);
+2 - Preço Tabelado Máximo (valor);
+3 - Valor da Operação.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Percentual de redução da BC
+
+
+
+
+ Valor da BC do ICMS
+
+
+
+
+ Alíquota do ICMS
+
+
+
+
+ Valor do ICMS
+
+
+
+
+
+ Valor da Base de cálculo do FCP.
+
+
+
+
+ Percentual de ICMS relativo ao Fundo de Combate à Pobreza (FCP).
+
+
+
+
+ Valor do ICMS relativo ao Fundo de Combate à Pobreza (FCP).
+
+
+
+
+
+ Modalidade de determinação da BC do ICMS ST:
+0 – Preço tabelado ou máximo sugerido;
+1 - Lista Negativa (valor);
+2 - Lista Positiva (valor);
+3 - Lista Neutra (valor);
+4 - Margem Valor Agregado (%);
+5 - Pauta (valor).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Percentual da Margem de Valor Adicionado ICMS ST
+
+
+
+
+ Percentual de redução da BC ICMS ST
+
+
+
+
+ Valor da BC do ICMS ST
+
+
+
+
+ Alíquota do ICMS ST
+
+
+
+
+ Valor do ICMS ST
+
+
+
+
+
+ Valor da Base de cálculo do FCP retido por substituição tributária.
+
+
+
+
+ Percentual de FCP retido por substituição tributária.
+
+
+
+
+ Valor do FCP retido por substituição tributária.
+
+
+
+
+
+ Grupo desoneração
+
+
+
+ Valor do ICMS de desoneração
+
+
+
+
+ Motivo da desoneração do ICMS:3-Uso na agropecuária;9-Outros;12-Fomento agropecuário
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tributação pelo ICMS
+90 - Outras
+
+
+
+
+
+ origem da mercadoria: 0 - Nacional
+1 - Estrangeira - Importação direta
+2 - Estrangeira - Adquirida no mercado interno
+
+
+
+
+ Tributção pelo ICMS
+90 - Outras
+
+
+
+
+
+
+
+
+
+
+
+ Modalidade de determinação da BC do ICMS:
+0 - Margem Valor Agregado (%);
+1 - Pauta (valor);
+2 - Preço Tabelado Máximo (valor);
+3 - Valor da Operação.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Valor da BC do ICMS
+
+
+
+
+ Percentual de redução da BC
+
+
+
+
+ Alíquota do ICMS
+
+
+
+
+ Valor do ICMS
+
+
+
+
+
+ Valor da Base de cálculo do FCP.
+
+
+
+
+ Percentual de ICMS relativo ao Fundo de Combate à Pobreza (FCP).
+
+
+
+
+ Valor do ICMS relativo ao Fundo de Combate à Pobreza (FCP).
+
+
+
+
+
+
+
+ Modalidade de determinação da BC do ICMS ST:
+0 – Preço tabelado ou máximo sugerido;
+1 - Lista Negativa (valor);
+2 - Lista Positiva (valor);
+3 - Lista Neutra (valor);
+4 - Margem Valor Agregado (%);
+5 - Pauta (valor).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Percentual da Margem de Valor Adicionado ICMS ST
+
+
+
+
+ Percentual de redução da BC ICMS ST
+
+
+
+
+ Valor da BC do ICMS ST
+
+
+
+
+ Alíquota do ICMS ST
+
+
+
+
+ Valor do ICMS ST
+
+
+
+
+
+ Valor da Base de cálculo do FCP.
+
+
+
+
+ Percentual de FCP retido por substituição tributária.
+
+
+
+
+ Valor do FCP retido por substituição tributária.
+
+
+
+
+
+
+ Grupo desoneração
+
+
+
+ Valor do ICMS de desoneração
+
+
+
+
+ Motivo da desoneração do ICMS:3-Uso na agropecuária;9-Outros;12-Fomento agropecuário
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Partilha do ICMS entre a UF de origem e UF de destino ou a UF definida na legislação
+Operação interestadual para consumidor final com partilha do ICMS devido na operação entre a UF de origem e a UF do destinatário ou ou a UF definida na legislação. (Ex. UF da concessionária de entrega do veículos)
+
+
+
+
+
+ origem da mercadoria: 0 - Nacional
+1 - Estrangeira - Importação direta
+2 - Estrangeira - Adquirida no mercado interno
+
+
+
+
+ Tributação pelo ICMS
+10 - Tributada e com cobrança do ICMS por substituição tributária;
+90 – Outros.
+
+
+
+
+
+
+
+
+
+
+
+ Modalidade de determinação da BC do ICMS:
+0 - Margem Valor Agregado (%);
+1 - Pauta (valor);
+2 - Preço Tabelado Máximo (valor);
+3 - Valor da Operação.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Valor da BC do ICMS
+
+
+
+
+ Percentual de redução da BC
+
+
+
+
+ Alíquota do ICMS
+
+
+
+
+ Valor do ICMS
+
+
+
+
+ Modalidade de determinação da BC do ICMS ST:
+0 – Preço tabelado ou máximo sugerido;
+1 - Lista Negativa (valor);
+2 - Lista Positiva (valor);
+3 - Lista Neutra (valor);
+4 - Margem Valor Agregado (%);
+5 - Pauta (valor).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Percentual da Margem de Valor Adicionado ICMS ST
+
+
+
+
+ Percentual de redução da BC ICMS ST
+
+
+
+
+ Valor da BC do ICMS ST
+
+
+
+
+ Alíquota do ICMS ST
+
+
+
+
+ Valor do ICMS ST
+
+
+
+
+ Percentual para determinação do valor da Base de Cálculo da operação própria.
+
+
+
+
+ Sigla da UF para qual é devido o ICMS ST da operação.
+
+
+
+
+
+
+
+ Grupo de informação do ICMSST devido para a UF de destino, nas operações interestaduais de produtos que tiveram retenção antecipada de ICMS por ST na UF do remetente. Repasse via Substituto Tributário.
+
+
+
+
+
+ origem da mercadoria: 0 - Nacional
+1 - Estrangeira - Importação direta
+2 - Estrangeira - Adquirida no mercado interno
+
+
+
+
+ Tributção pelo ICMS
+41-Não Tributado.
+60-Cobrado anteriormente por substituição tributária.
+
+
+
+
+
+
+
+
+
+
+
+ Informar o valor da BC do ICMS ST retido na UF remetente
+
+
+
+
+ Informar o valor do ICMS ST retido na UF remetente (iv2.0))
+
+
+
+
+ Informar o valor da BC do ICMS ST da UF destino
+
+
+
+
+ Informar o valor da BC do ICMS ST da UF destino (v2.0)
+
+
+
+
+
+
+
+ Tributação do ICMS pelo SIMPLES NACIONAL e CSOSN=101 (v.2.0)
+
+
+
+
+
+ origem da mercadoria: 0 - Nacional
+1 - Estrangeira - Importação direta
+2 - Estrangeira - Adquirida no mercado interno
+(v2.0)
+
+
+
+
+ 101- Tributada pelo Simples Nacional com permissão de crédito. (v.2.0)
+
+
+
+
+
+
+
+
+
+
+ Alíquota aplicável de cálculo do crédito (Simples Nacional). (v2.0)
+
+
+
+
+ Valor crédito do ICMS que pode ser aproveitado nos termos do art. 23 da LC 123 (Simples Nacional) (v2.0)
+
+
+
+
+
+
+
+ Tributação do ICMS pelo SIMPLES NACIONAL e CSOSN=102, 103, 300 ou 400 (v.2.0))
+
+
+
+
+
+ origem da mercadoria: 0 - Nacional
+1 - Estrangeira - Importação direta
+2 - Estrangeira - Adquirida no mercado interno
+(v2.0)
+
+
+
+
+ 102- Tributada pelo Simples Nacional sem permissão de crédito.
+103 – Isenção do ICMS no Simples Nacional para faixa de receita bruta.
+300 – Imune.
+400 – Não tributda pelo Simples Nacional (v.2.0) (v.2.0)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tributação do ICMS pelo SIMPLES NACIONAL e CSOSN=201 (v.2.0)
+
+
+
+
+
+ Origem da mercadoria:
+0 – Nacional;
+1 – Estrangeira – Importação direta;
+2 – Estrangeira – Adquirida no mercado interno. (v2.0)
+
+
+
+
+ 201- Tributada pelo Simples Nacional com permissão de crédito e com cobrança do ICMS por Substituição Tributária (v.2.0)
+
+
+
+
+
+
+
+
+
+
+ Modalidade de determinação da BC do ICMS ST:
+0 – Preço tabelado ou máximo sugerido;
+1 - Lista Negativa (valor);
+2 - Lista Positiva (valor);
+3 - Lista Neutra (valor);
+4 - Margem Valor Agregado (%);
+5 - Pauta (valor). (v2.0)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Percentual da Margem de Valor Adicionado ICMS ST (v2.0)
+
+
+
+
+ Percentual de redução da BC ICMS ST (v2.0)
+
+
+
+
+ Valor da BC do ICMS ST (v2.0)
+
+
+
+
+ Alíquota do ICMS ST (v2.0)
+
+
+
+
+ Valor do ICMS ST (v2.0)
+
+
+
+
+
+ Valor da Base de cálculo do FCP.
+
+
+
+
+ Percentual de FCP retido por substituição tributária.
+
+
+
+
+ Valor do FCP retido por substituição tributária.
+
+
+
+
+
+ Alíquota aplicável de cálculo do crédito (Simples Nacional). (v2.0)
+
+
+
+
+ Valor crédito do ICMS que pode ser aproveitado nos termos do art. 23 da LC 123 (Simples Nacional) (v2.0)
+
+
+
+
+
+
+
+ Tributação do ICMS pelo SIMPLES NACIONAL e CSOSN=202 ou 203 (v.2.0)
+
+
+
+
+
+ Origem da mercadoria:
+0 – Nacional;
+1 – Estrangeira – Importação direta;
+2 – Estrangeira – Adquirida no mercado interno. (v2.0)
+
+
+
+
+ 202- Tributada pelo Simples Nacional sem permissão de crédito e com cobrança do ICMS por Substituição Tributária;
+203- Isenção do ICMS nos Simples Nacional para faixa de receita bruta e com cobrança do ICMS por Substituição Tributária (v.2.0)
+
+
+
+
+
+
+
+
+
+
+
+ Modalidade de determinação da BC do ICMS ST:
+0 – Preço tabelado ou máximo sugerido;
+1 - Lista Negativa (valor);
+2 - Lista Positiva (valor);
+3 - Lista Neutra (valor);
+4 - Margem Valor Agregado (%);
+5 - Pauta (valor). (v2.0)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Percentual da Margem de Valor Adicionado ICMS ST (v2.0)
+
+
+
+
+ Percentual de redução da BC ICMS ST (v2.0)
+
+
+
+
+ Valor da BC do ICMS ST (v2.0)
+
+
+
+
+ Alíquota do ICMS ST (v2.0)
+
+
+
+
+ Valor do ICMS ST (v2.0)
+
+
+
+
+
+ Valor da Base de cálculo do FCP.
+
+
+
+
+ Percentual de FCP retido por substituição tributária.
+
+
+
+
+ Valor do FCP retido por substituição tributária.
+
+
+
+
+
+
+
+
+ Tributação do ICMS pelo SIMPLES NACIONAL,CRT=1 – Simples Nacional e CSOSN=500 (v.2.0)
+
+
+
+
+
+ origem da mercadoria: 0 - Nacional
+1 - Estrangeira - Importação direta
+2 - Estrangeira - Adquirida no mercado interno
+
+
+
+
+ 500 – ICMS cobrado anterirmente por substituição tributária (substituído) ou por antecipação
+(v.2.0)
+
+
+
+
+
+
+
+
+
+
+
+ Valor da BC do ICMS ST retido anteriormente (v2.0)
+
+
+
+
+ Aliquota suportada pelo consumidor final.
+
+
+
+
+ Valor do ICMS ST retido anteriormente (v2.0)
+
+
+
+
+
+
+ Valor da Base de cálculo do FCP retido anteriormente.
+
+
+
+
+ Percentual de FCP retido anteriormente por substituição tributária.
+
+
+
+
+ Valor do FCP retido por substituição tributária.
+
+
+
+
+
+
+
+
+ Percentual de redução da base de cálculo efetiva.
+
+
+
+
+ Valor da base de cálculo efetiva.
+
+
+
+
+ Alíquota do ICMS efetiva.
+
+
+
+
+ Valor do ICMS efetivo.
+
+
+
+
+
+
+
+
+
+ Tributação do ICMS pelo SIMPLES NACIONAL, CRT=1 – Simples Nacional e CSOSN=900 (v2.0)
+
+
+
+
+
+ origem da mercadoria: 0 - Nacional
+1 - Estrangeira - Importação direta
+2 - Estrangeira - Adquirida no mercado interno
+
+
+
+
+ Tributação pelo ICMS 900 - Outros(v2.0)
+
+
+
+
+
+
+
+
+
+
+
+ Modalidade de determinação da BC do ICMS:
+0 - Margem Valor Agregado (%);
+1 - Pauta (valor);
+2 - Preço Tabelado Máximo (valor);
+3 - Valor da Operação.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Valor da BC do ICMS
+
+
+
+
+ Percentual de redução da BC
+
+
+
+
+ Alíquota do ICMS
+
+
+
+
+ Valor do ICMS
+
+
+
+
+
+
+ Modalidade de determinação da BC do ICMS ST:
+0 – Preço tabelado ou máximo sugerido;
+1 - Lista Negativa (valor);
+2 - Lista Positiva (valor);
+3 - Lista Neutra (valor);
+4 - Margem Valor Agregado (%);
+5 - Pauta (valor).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Percentual da Margem de Valor Adicionado ICMS ST
+
+
+
+
+ Percentual de redução da BC ICMS ST
+
+
+
+
+ Valor da BC do ICMS ST
+
+
+
+
+ Alíquota do ICMS ST
+
+
+
+
+ Valor do ICMS ST
+
+
+
+
+
+ Valor da Base de cálculo do FCP.
+
+
+
+
+ Percentual de FCP retido por substituição tributária.
+
+
+
+
+ Valor do FCP retido por substituição tributária.
+
+
+
+
+
+
+
+ Alíquota aplicável de cálculo do crédito (Simples Nacional). (v2.0)
+
+
+
+
+ Valor crédito do ICMS que pode ser aproveitado nos termos do art. 23 da LC 123 (Simples Nacional) (v2.0)
+
+
+
+
+
+
+
+
+
+
+
+
+ Dados do Imposto de Importação
+
+
+
+
+
+ Base da BC do Imposto de Importação
+
+
+
+
+ Valor das despesas aduaneiras
+
+
+
+
+ Valor do Imposto de Importação
+
+
+
+
+ Valor do Imposto sobre Operações Financeiras
+
+
+
+
+
+
+
+
+
+
+ ISSQN
+
+
+
+
+
+ Valor da BC do ISSQN
+
+
+
+
+ Alíquota do ISSQN
+
+
+
+
+ Valor da do ISSQN
+
+
+
+
+ Informar o município de ocorrência do fato gerador do ISSQN. Utilizar a Tabela do IBGE (Anexo VII - Tabela de UF, Município e País). “Atenção, não vincular com os campos B12, C10 ou E10” v2.0
+
+
+
+
+ Informar o Item da lista de serviços da LC 116/03 em que se classifica o serviço.
+
+
+
+
+ Valor dedução para redução da base de cálculo
+
+
+
+
+ Valor outras retenções
+
+
+
+
+ Valor desconto incondicionado
+
+
+
+
+ Valor desconto condicionado
+
+
+
+
+ Valor Retenção ISS
+
+
+
+
+ Exibilidade do ISS:1-Exigível;2-Não incidente;3-Isenção;4-Exportação;5-Imunidade;6-Exig.Susp. Judicial;7-Exig.Susp. ADM
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Código do serviço prestado dentro do município
+
+
+
+
+
+
+
+
+
+
+
+ Código do Município de Incidência do Imposto
+
+
+
+
+ Código de Pais
+
+
+
+
+
+
+
+
+
+
+ Número do Processo administrativo ou judicial de suspenção do processo
+
+
+
+
+
+
+
+
+
+
+
+ Indicador de Incentivo Fiscal. 1=Sim; 2=Não
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Dados do PIS
+
+
+
+
+
+ Código de Situação Tributária do PIS.
+ 01 – Operação Tributável - Base de Cálculo = Valor da Operação Alíquota Normal (Cumulativo/Não Cumulativo);
+02 - Operação Tributável - Base de Calculo = Valor da Operação (Alíquota Diferenciada);
+
+
+
+
+
+ Código de Situação Tributária do PIS.
+ 01 – Operação Tributável - Base de Cálculo = Valor da Operação Alíquota Normal (Cumulativo/Não Cumulativo);
+02 - Operação Tributável - Base de Calculo = Valor da Operação (Alíquota Diferenciada);
+
+
+
+
+
+
+
+
+
+
+
+ Valor da BC do PIS
+
+
+
+
+ Alíquota do PIS (em percentual)
+
+
+
+
+ Valor do PIS
+
+
+
+
+
+
+
+ Código de Situação Tributária do PIS.
+03 - Operação Tributável - Base de Calculo = Quantidade Vendida x Alíquota por Unidade de Produto;
+
+
+
+
+
+ Código de Situação Tributária do PIS.
+03 - Operação Tributável - Base de Calculo = Quantidade Vendida x Alíquota por Unidade de Produto;
+
+
+
+
+
+
+
+
+
+
+ Quantidade Vendida (NT2011/004)
+
+
+
+
+ Alíquota do PIS (em reais) (NT2011/004)
+
+
+
+
+ Valor do PIS
+
+
+
+
+
+
+
+ Código de Situação Tributária do PIS.
+04 - Operação Tributável - Tributação Monofásica - (Alíquota Zero);
+06 - Operação Tributável - Alíquota Zero;
+07 - Operação Isenta da contribuição;
+08 - Operação Sem Incidência da contribuição;
+09 - Operação com suspensão da contribuição;
+
+
+
+
+
+ Código de Situação Tributária do PIS.
+04 - Operação Tributável - Tributação Monofásica - (Alíquota Zero);
+05 - Operação Tributável (ST);
+06 - Operação Tributável - Alíquota Zero;
+07 - Operação Isenta da contribuição;
+08 - Operação Sem Incidência da contribuição;
+09 - Operação com suspensão da contribuição;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Código de Situação Tributária do PIS.
+99 - Outras Operações.
+
+
+
+
+
+ Código de Situação Tributária do PIS.
+99 - Outras Operações.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Valor da BC do PIS
+
+
+
+
+ Alíquota do PIS (em percentual)
+
+
+
+
+
+
+ Quantidade Vendida (NT2011/004)
+
+
+
+
+ Alíquota do PIS (em reais) (NT2011/004)
+
+
+
+
+
+
+ Valor do PIS
+
+
+
+
+
+
+
+
+
+
+ Dados do PIS Substituição Tributária
+
+
+
+
+
+
+
+ Valor da BC do PIS ST
+
+
+
+
+ Alíquota do PIS ST (em percentual)
+
+
+
+
+
+
+ Quantidade Vendida
+
+
+
+
+ Alíquota do PIS ST (em reais)
+
+
+
+
+
+
+ Valor do PIS ST
+
+
+
+
+
+
+
+ Dados do COFINS
+
+
+
+
+
+ Código de Situação Tributária do COFINS.
+ 01 – Operação Tributável - Base de Cálculo = Valor da Operação Alíquota Normal (Cumulativo/Não Cumulativo);
+02 - Operação Tributável - Base de Calculo = Valor da Operação (Alíquota Diferenciada);
+
+
+
+
+
+ Código de Situação Tributária do COFINS.
+ 01 – Operação Tributável - Base de Cálculo = Valor da Operação Alíquota Normal (Cumulativo/Não Cumulativo);
+02 - Operação Tributável - Base de Calculo = Valor da Operação (Alíquota Diferenciada);
+
+
+
+
+
+
+
+
+
+
+
+ Valor da BC do COFINS
+
+
+
+
+ Alíquota do COFINS (em percentual)
+
+
+
+
+ Valor do COFINS
+
+
+
+
+
+
+
+ Código de Situação Tributária do COFINS.
+03 - Operação Tributável - Base de Calculo = Quantidade Vendida x Alíquota por Unidade de Produto;
+
+
+
+
+
+ Código de Situação Tributária do COFINS.
+03 - Operação Tributável - Base de Calculo = Quantidade Vendida x Alíquota por Unidade de Produto;
+
+
+
+
+
+
+
+
+
+ Quantidade Vendida (NT2011/004)
+
+
+
+
+ Alíquota do COFINS (em reais) (NT2011/004)
+
+
+
+
+ Valor do COFINS
+
+
+
+
+
+
+
+ Código de Situação Tributária do COFINS:
+04 - Operação Tributável - Tributação Monofásica - (Alíquota Zero);
+06 - Operação Tributável - Alíquota Zero;
+07 - Operação Isenta da contribuição;
+08 - Operação Sem Incidência da contribuição;
+09 - Operação com suspensão da contribuição;
+
+
+
+
+
+ Código de Situação Tributária do COFINS:
+04 - Operação Tributável - Tributação Monofásica - (Alíquota Zero);
+05 - Operação Tributável (ST);
+06 - Operação Tributável - Alíquota Zero;
+07 - Operação Isenta da contribuição;
+08 - Operação Sem Incidência da contribuição;
+09 - Operação com suspensão da contribuição;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Código de Situação Tributária do COFINS:
+49 - Outras Operações de Saída
+50 - Operação com Direito a Crédito - Vinculada Exclusivamente a Receita Tributada no Mercado Interno
+51 - Operação com Direito a Crédito – Vinculada Exclusivamente a Receita Não Tributada no Mercado Interno
+52 - Operação com Direito a Crédito - Vinculada Exclusivamente a Receita de Exportação
+53 - Operação com Direito a Crédito - Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno
+54 - Operação com Direito a Crédito - Vinculada a Receitas Tributadas no Mercado Interno e de Exportação
+55 - Operação com Direito a Crédito - Vinculada a Receitas Não-Tributadas no Mercado Interno e de Exportação
+56 - Operação com Direito a Crédito - Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno, e de Exportação
+60 - Crédito Presumido - Operação de Aquisição Vinculada Exclusivamente a Receita Tributada no Mercado Interno
+61 - Crédito Presumido - Operação de Aquisição Vinculada Exclusivamente a Receita Não-Tributada no Mercado Interno
+62 - Crédito Presumido - Operação de Aquisição Vinculada Exclusivamente a Receita de Exportação
+63 - Crédito Presumido - Operação de Aquisição Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno
+64 - Crédito Presumido - Operação de Aquisição Vinculada a Receitas Tributadas no Mercado Interno e de Exportação
+65 - Crédito Presumido - Operação de Aquisição Vinculada a Receitas Não-Tributadas no Mercado Interno e de Exportação
+66 - Crédito Presumido - Operação de Aquisição Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno, e de Exportação
+67 - Crédito Presumido - Outras Operações
+70 - Operação de Aquisição sem Direito a Crédito
+71 - Operação de Aquisição com Isenção
+72 - Operação de Aquisição com Suspensão
+73 - Operação de Aquisição a Alíquota Zero
+74 - Operação de Aquisição sem Incidência da Contribuição
+75 - Operação de Aquisição por Substituição Tributária
+98 - Outras Operações de Entrada
+99 - Outras Operações.
+
+
+
+
+
+ Código de Situação Tributária do COFINS:
+49 - Outras Operações de Saída
+50 - Operação com Direito a Crédito - Vinculada Exclusivamente a Receita Tributada no Mercado Interno
+51 - Operação com Direito a Crédito – Vinculada Exclusivamente a Receita Não Tributada no Mercado Interno
+52 - Operação com Direito a Crédito - Vinculada Exclusivamente a Receita de Exportação
+53 - Operação com Direito a Crédito - Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno
+54 - Operação com Direito a Crédito - Vinculada a Receitas Tributadas no Mercado Interno e de Exportação
+55 - Operação com Direito a Crédito - Vinculada a Receitas Não-Tributadas no Mercado Interno e de Exportação
+56 - Operação com Direito a Crédito - Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno, e de Exportação
+60 - Crédito Presumido - Operação de Aquisição Vinculada Exclusivamente a Receita Tributada no Mercado Interno
+61 - Crédito Presumido - Operação de Aquisição Vinculada Exclusivamente a Receita Não-Tributada no Mercado Interno
+62 - Crédito Presumido - Operação de Aquisição Vinculada Exclusivamente a Receita de Exportação
+63 - Crédito Presumido - Operação de Aquisição Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno
+64 - Crédito Presumido - Operação de Aquisição Vinculada a Receitas Tributadas no Mercado Interno e de Exportação
+65 - Crédito Presumido - Operação de Aquisição Vinculada a Receitas Não-Tributadas no Mercado Interno e de Exportação
+66 - Crédito Presumido - Operação de Aquisição Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno, e de Exportação
+67 - Crédito Presumido - Outras Operações
+70 - Operação de Aquisição sem Direito a Crédito
+71 - Operação de Aquisição com Isenção
+72 - Operação de Aquisição com Suspensão
+73 - Operação de Aquisição a Alíquota Zero
+74 - Operação de Aquisição sem Incidência da Contribuição
+75 - Operação de Aquisição por Substituição Tributária
+98 - Outras Operações de Entrada
+99 - Outras Operações.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Valor da BC do COFINS
+
+
+
+
+ Alíquota do COFINS (em percentual)
+
+
+
+
+
+
+ Quantidade Vendida (NT2011/004)
+
+
+
+
+ Alíquota do COFINS (em reais) (NT2011/004)
+
+
+
+
+
+
+ Valor do COFINS
+
+
+
+
+
+
+
+
+
+
+ Dados do COFINS da
+Substituição Tributaria;
+
+
+
+
+
+
+
+ Valor da BC do COFINS ST
+
+
+
+
+ Alíquota do COFINS ST(em percentual)
+
+
+
+
+
+
+ Quantidade Vendida
+
+
+
+
+ Alíquota do COFINS ST(em reais)
+
+
+
+
+
+
+ Valor do COFINS ST
+
+
+
+
+
+
+
+ Grupo a ser informado nas vendas interestarduais para consumidor final, não contribuinte de ICMS
+
+
+
+
+
+ Valor da Base de Cálculo do ICMS na UF do destinatário.
+
+
+
+
+ Valor da Base de Cálculo do FCP na UF do destinatário.
+
+
+
+
+ Percentual adicional inserido na alíquota interna da UF de destino, relativo ao Fundo de Combate à Pobreza (FCP) naquela UF.
+
+
+
+
+ Alíquota adotada nas operações internas na UF do destinatário para o produto / mercadoria.
+
+
+
+
+ Alíquota interestadual das UF envolvidas: - 4% alíquota interestadual para produtos importados; - 7% para os Estados de origem do Sul e Sudeste (exceto ES), destinado para os Estados do Norte e Nordeste ou ES; - 12% para os demais casos.
+
+
+
+
+
+
+
+
+
+
+
+
+ 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 destino.
+
+
+
+
+ Valor do ICMS de partilha para a UF do destinatário.
+
+
+
+
+ Valor do ICMS de partilha para a UF do remetente. Nota: A partir de 2019, este valor será zero.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Percentual de mercadoria devolvida
+
+
+
+
+ Informação de IPI devolvido
+
+
+
+
+
+ Valor do IPI devolvido
+
+
+
+
+
+
+
+
+
+
+ Informações adicionais do produto (norma referenciada, informações complementares, etc)
+
+
+
+
+
+
+
+
+
+
+
+ Número do item do NF
+
+
+
+
+
+
+
+
+
+
+
+
+ Dados dos totais da NF-e
+
+
+
+
+
+ Totais referentes ao ICMS
+
+
+
+
+
+ BC do ICMS
+
+
+
+
+ Valor Total do ICMS
+
+
+
+
+ Valor Total do ICMS desonerado
+
+
+
+
+ Valor total do ICMS relativo ao Fundo de Combate à Pobreza (FCP) para a UF de destino.
+
+
+
+
+ Valor total do ICMS de partilha para a UF do destinatário
+
+
+
+
+ Valor total do ICMS de partilha para a UF do remetente
+
+
+
+
+ Valor Total do FCP (Fundo de Combate à Pobreza).
+
+
+
+
+ BC do ICMS ST
+
+
+
+
+ Valor Total do ICMS ST
+
+
+
+
+ Valor Total do FCP (Fundo de Combate à Pobreza) retido por substituição tributária.
+
+
+
+
+ Valor Total do FCP (Fundo de Combate à Pobreza) retido anteriormente por substituição tributária.
+
+
+
+
+ Valor Total dos produtos e serviços
+
+
+
+
+ Valor Total do Frete
+
+
+
+
+ Valor Total do Seguro
+
+
+
+
+ Valor Total do Desconto
+
+
+
+
+ Valor Total do II
+
+
+
+
+ Valor Total do IPI
+
+
+
+
+ Valor Total do IPI devolvido. Deve ser informado quando preenchido o Grupo Tributos Devolvidos na emissão de nota finNFe=4 (devolução) nas operações com não contribuintes do IPI. Corresponde ao total da soma dos campos id: UA04.
+
+
+
+
+ Valor do PIS
+
+
+
+
+ Valor do COFINS
+
+
+
+
+ Outras Despesas acessórias
+
+
+
+
+ Valor Total da NF-e
+
+
+
+
+ Valor estimado total de impostos federais, estaduais e municipais
+
+
+
+
+
+
+
+ Totais referentes ao ISSQN
+
+
+
+
+
+ Valor Total dos Serviços sob não-incidência ou não tributados pelo ICMS
+
+
+
+
+ Base de Cálculo do ISS
+
+
+
+
+ Valor Total do ISS
+
+
+
+
+ Valor do PIS sobre serviços
+
+
+
+
+ Valor do COFINS sobre serviços
+
+
+
+
+ Data da prestação do serviço (AAAA-MM-DD)
+
+
+
+
+ Valor dedução para redução da base de cálculo
+
+
+
+
+ Valor outras retenções
+
+
+
+
+ Valor desconto incondicionado
+
+
+
+
+ Valor desconto condicionado
+
+
+
+
+ Valor Total Retenção ISS
+
+
+
+
+ Código do regime especial de tributação
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Retenção de Tributos Federais
+
+
+
+
+
+ Valor Retido de PIS
+
+
+
+
+ Valor Retido de COFINS
+
+
+
+
+ Valor Retido de CSLL
+
+
+
+
+ Base de Cálculo do IRRF
+
+
+
+
+ Valor Retido de IRRF
+
+
+
+
+ Base de Cálculo da Retenção da Previdêncica Social
+
+
+
+
+ Valor da Retenção da Previdêncica Social
+
+
+
+
+
+
+
+
+
+
+ Dados dos transportes da NF-e
+
+
+
+
+
+ Modalidade do frete
+0- Contratação do Frete por conta do Remetente (CIF);
+1- Contratação do Frete por conta do destinatário/remetente (FOB);
+2- Contratação do Frete por conta de terceiros;
+3- Transporte próprio por conta do remetente;
+4- Transporte próprio por conta do destinatário;
+9- Sem Ocorrência de transporte.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Dados do transportador
+
+
+
+
+
+
+ CNPJ do transportador
+
+
+
+
+ CPF do transportador
+
+
+
+
+
+ Razão Social ou nome do transportador
+
+
+
+
+
+
+
+
+
+
+ Inscrição Estadual (v2.0)
+
+
+
+
+ Endereço completo
+
+
+
+
+
+
+
+
+
+
+ Nome do munícipio
+
+
+
+
+
+
+
+
+
+
+ Sigla da UF
+
+
+
+
+
+
+
+ Dados da retenção ICMS do Transporte
+
+
+
+
+
+ Valor do Serviço
+
+
+
+
+ BC da Retenção do ICMS
+
+
+
+
+ Alíquota da Retenção
+
+
+
+
+ Valor do ICMS Retido
+
+
+
+
+ Código Fiscal de Operações e Prestações
+
+
+
+
+
+
+
+
+
+
+ Código do Município de Ocorrência do Fato Gerador (utilizar a tabela do IBGE)
+
+
+
+
+
+
+
+
+
+ Dados do veículo
+
+
+
+
+ Dados do reboque/Dolly (v2.0)
+
+
+
+
+
+ Identificação do vagão (v2.0)
+
+
+
+
+
+
+
+
+
+
+ Identificação da balsa (v2.0)
+
+
+
+
+
+
+
+
+
+
+
+ Dados dos volumes
+
+
+
+
+
+ Quantidade de volumes transportados
+
+
+
+
+
+
+
+
+
+
+ Espécie dos volumes transportados
+
+
+
+
+
+
+
+
+
+
+ Marca dos volumes transportados
+
+
+
+
+
+
+
+
+
+
+ Numeração dos volumes transportados
+
+
+
+
+
+
+
+
+
+
+ Peso líquido (em kg)
+
+
+
+
+ Peso bruto (em kg)
+
+
+
+
+
+
+
+ Número dos Lacres
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Dados da cobrança da NF-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 NT 2011/004
+
+
+
+
+
+ Número da duplicata
+
+
+
+
+
+
+
+
+
+
+ Data de vencimento da duplicata (AAAA-MM-DD)
+
+
+
+
+ Valor da duplicata
+
+
+
+
+
+
+
+
+
+
+ Dados de Pagamento. Obrigatório apenas para (NFC-e) NT 2012/004
+
+
+
+
+
+ Grupo de detalhamento da forma de pagamento.
+
+
+
+
+
+ Indicador da Forma de Pagamento:0-Pagamento à Vista;1-Pagamento à Prazo;
+
+
+
+
+
+
+
+
+
+
+
+ Forma de Pagamento:01-Dinheiro;02-Cheque;03-Cartão de Crédito;04-Cartão de Débito;05-Crédito Loja;10-Vale Alimentação;11-Vale Refeição;12-Vale Presente;13-Vale Combustível;14 - Duplicata Mercantil;15 - Boleto Bancario;90 - Sem Pagamento;99 - Outros
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Valor do Pagamento. Esta tag poderá ser omitida quando a tag tPag=90 (Sem Pagamento), caso contrário deverá ser preenchida.
+
+
+
+
+ Grupo de Cartões
+
+
+
+
+
+ Tipo de Integração do processo de pagamento com o sistema de automação da empresa/
+ 1=Pagamento integrado com o sistema de automação da empresa Ex. equipamento TEF , Comercio Eletronico
+ 2=Pagamento não integrado com o sistema de automação da empresa Ex: equipamento POS
+
+
+
+
+
+
+
+
+
+
+
+ CNPJ da credenciadora de cartão de crédito/débito
+
+
+
+
+ Bandeira da operadora de cartão de crédito/débito:01–Visa; 02–Mastercard; 03–American Express; 04–Sorocred;05-Diners Club;06-Elo;07-Hipercard;08-Aura;09-Cabal;99–Outros
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Número de autorização da operação cartão de crédito/débito
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Valor do Troco.
+
+
+
+
+
+
+
+ Informações adicionais da NF-e
+
+
+
+
+
+ Informações adicionais de interesse do Fisco (v2.0)
+
+
+
+
+
+
+
+
+
+
+ Informações complementares de interesse do Contribuinte
+
+
+
+
+
+
+
+
+
+
+ Campo de uso livre do contribuinte
+informar o nome do campo no atributo xCampo
+e o conteúdo do campo no xTexto
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Campo de uso exclusivo do Fisco
+informar o nome do campo no atributo xCampo
+e o conteúdo do campo no xTexto
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Grupo de informações do processo referenciado
+
+
+
+
+
+ Indentificador do processo ou ato
+concessório
+
+
+
+
+
+
+
+
+
+
+ Origem do processo, informar com:
+0 - SEFAZ;
+1 - Justiça Federal;
+2 - Justiça Estadual;
+3 - Secex/RFB;
+9 - Outros
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Informações de exportação
+
+
+
+
+
+ Sigla da UF de Embarque ou de transposição de fronteira
+
+
+
+
+ Local de Embarque ou de transposição de fronteira
+
+
+
+
+
+
+
+
+
+
+ Descrição do local de despacho
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Informações de compras (Nota de Empenho, Pedido e Contrato)
+
+
+
+
+
+ Informação da Nota de Empenho de compras públicas (NT2011/004)
+
+
+
+
+
+
+
+
+
+
+ Informação do pedido
+
+
+
+
+
+
+
+
+
+
+ Informação do contrato
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Informações de registro aquisições de cana
+
+
+
+
+
+ Identificação da safra
+
+
+
+
+
+
+
+
+
+
+ Mês e Ano de Referência, formato: MM/AAAA
+
+
+
+
+
+
+
+
+
+
+ Fornecimentos diários
+
+
+
+
+
+ Quantidade em quilogramas - peso líquido
+
+
+
+
+
+ Número do dia
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Total do mês
+
+
+
+
+ Total Anterior
+
+
+
+
+ Total Geral
+
+
+
+
+ Deduções - Taxas e Contribuições
+
+
+
+
+
+ Descrição da Dedução
+
+
+
+
+
+
+
+
+
+
+ valor da dedução
+
+
+
+
+
+
+
+ Valor dos fornecimentos
+
+
+
+
+ Valor Total das Deduções
+
+
+
+
+ Valor Líquido dos fornecimentos
+
+
+
+
+
+
+
+
+ Versão do leiaute (v4.00)
+
+
+
+
+ PL_005d - 11/08/09 - validação do Id
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Informações suplementares Nota Fiscal
+
+
+
+
+
+ Texto com o QR-Code impresso no DANFE NFC-e
+
+
+
+
+
+
+
+
+
+
+
+
+ Informar a URL da "Consulta por chave de acesso da NFC-e". A mesma URL que deve estar informada no DANFE NFC-e para consulta por chave de acesso.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Protocolo de status resultado do processamento da NF-e
+
+
+
+
+ Dados do protocolo de status
+
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+ Versão do Aplicativo que processou a NF-e
+
+
+
+
+ Chaves de acesso da NF-e, compostas por: UF do emitente, AAMM da emissão da NFe, CNPJ do emitente, modelo, série e número da NF-e e código numérico+DV.
+
+
+
+
+ Data e hora de processamento, no formato AAAA-MM-DDTHH:MM:SSTZD. 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 NF-e enviado.
+
+
+
+
+ Número do Protocolo de Status da NF-e. 1 posição (1 – Secretaria de Fazenda Estadual 2 – Receita Federal); 2 - códiga da UF - 2 posições ano; 10 seqüencial no ano.
+
+
+
+
+ Digest Value da NF-e processada. Utilizado para conferir a integridade da NF-e original.
+
+
+
+
+ Código do status da mensagem enviada.
+
+
+
+
+ Descrição literal do status do serviço solicitado.
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Pedido de Concessão de Autorização da Nota Fiscal Eletrônica
+
+
+
+
+
+ Indicador de processamento síncrono. 0=NÃO; 1=SIM=Síncrono
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Retorno do Pedido de Autorização da Nota Fiscal Eletrônica
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+ Versão do Aplicativo que recebeu o Lote.
+
+
+
+
+ Código do status da mensagem enviada.
+
+
+
+
+ Descrição literal do status do serviço solicitado.
+
+
+
+
+ código da UF de atendimento
+
+
+
+
+ Data e hora do recebimento, no formato AAAA-MM-DDTHH:MM:SSTZD
+
+
+
+
+
+ Dados do Recibo do Lote
+
+
+
+
+
+ Número do Recibo
+
+
+
+
+ Tempo médio de resposta do serviço (em segundos) dos últimos 5 minutos
+
+
+
+
+
+
+
+ Protocolo de status resultado do processamento sincrono da NFC-e
+
+
+
+
+
+
+
+
+ Tipo Pedido de Consulta do Recido do Lote de Notas Fiscais Eletrônicas
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+ Número do Recibo
+
+
+
+
+
+
+
+ Tipo Retorno do Pedido de Consulta do Recido do Lote de Notas Fiscais Eletrônicas
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+ Versão do Aplicativo que processou a NF-e
+
+
+
+
+ Número do Recibo Consultado
+
+
+
+
+ Código do status da mensagem enviada.
+
+
+
+
+ Descrição literal do status do serviço solicitado.
+
+
+
+
+ código da UF de atendimento
+
+
+
+
+ Data e hora de processamento, no formato AAAA-MM-DDTHH:MM:SSTZD. Em caso de Rejeição, com data e hora do recebimento do Lote de NF-e enviado.
+
+
+
+
+
+ Código da Mensagem (v2.0)
+alterado para tamanho variavel 1-4. (NT2011/004)
+
+
+
+
+
+
+
+
+
+
+ Mensagem da SEFAZ para o emissor. (v2.0)
+
+
+
+
+
+
+
+
+
+
+
+ Protocolo de status resultado do processamento da NF-e
+
+
+
+
+
+
+
+ Tipo da NF-e processada
+
+
+
+
+
+
+
+
+
+ Tipo Dados do Endereço // 24/10/08 - tamanho mínimo
+
+
+
+
+ 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.
+
+
+
+
+ CEP
+
+
+
+
+
+
+
+
+
+
+ Código de Pais
+
+
+
+
+
+
+
+
+
+
+ Nome do país
+
+
+
+
+
+
+
+
+
+
+ Telefone, preencher com Código DDD + número do telefone , nas operações com exterior é permtido informar o código do país + código da localidade + número do telefone
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Dados do Endereço do Emitente // 24/10/08 - desmembrado / tamanho mínimo
+
+
+
+
+ Logradouro
+
+
+
+
+
+
+
+
+
+
+ Número
+
+
+
+
+
+
+
+
+
+
+ Complemento
+
+
+
+
+
+
+
+
+
+
+ Bairro
+
+
+
+
+
+
+
+
+
+
+ Código do município
+
+
+
+
+ Nome do município
+
+
+
+
+
+
+
+
+
+
+ Sigla da UF
+
+
+
+
+ CEP - NT 2011/004
+
+
+
+
+
+
+
+
+
+
+ Código do país
+
+
+
+
+
+
+
+
+
+ Nome do país
+
+
+
+
+
+
+
+
+
+
+ Preencher com Código DDD + número do telefone (v.2.0)
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Dados do Local de Retirada ou Entrega // 24/10/08 - tamanho mínimo // v2.0
+
+
+
+
+
+ CNPJ
+
+
+
+
+ CPF (v2.0)
+
+
+
+
+
+ Logradouro
+
+
+
+
+
+
+
+
+
+
+ Número
+
+
+
+
+
+
+
+
+
+
+ Complemento
+
+
+
+
+
+
+
+
+
+
+ Bairro
+
+
+
+
+
+
+
+
+
+
+ Código do município (utilizar a tabela do IBGE)
+
+
+
+
+ Nome do município
+
+
+
+
+
+
+
+
+
+
+ Sigla da UF
+
+
+
+
+
+
+ Tipo Dados do Veículo
+
+
+
+
+ Placa do veículo (NT2011/004)
+
+
+
+
+
+
+
+
+
+
+ Sigla da UF
+
+
+
+
+ Registro Nacional de Transportador de Carga (ANTT)
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Origem da mercadoria CST ICMS origem da mercadoria: 0-Nacional exceto as indicadas nos códigos 3, 4, 5 e 8;
+1-Estrangeira - Importação direta; 2-Estrangeira - Adquirida no mercado interno; 3-Nacional, conteudo superior 40% e inferior ou igual a 70%; 4-Nacional, processos produtivos básicos; 5-Nacional, conteudo inferior 40%; 6-Estrangeira - Importação direta, com similar nacional, lista CAMEX; 7-Estrangeira - mercado interno, sem simular,lista CAMEX;8-Nacional, Conteúdo de Importação superior a 70%.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Finalidade da NF-e (1=Normal; 2=Complementar; 3=Ajuste; 4=Devolução/Retorno)
+
+
+
+
+
+
+
+
+
+
+
+ Tipo processo de emissão da NF-e
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Código da Lista de Serviços LC 116/2003
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Identificação de Lote
+
+
+
+
+
+
+
+
+ Tipo Versão da NF-e - 4.00
+
+
+
+
+
+
+
+
+ Identificador único (Globally Unique Identifier)
+
+
+
+
+
+
+
+
+ Tipo: Dados do IPI
+
+
+
+
+ CNPJ do produtor da mercadoria, quando diferente do emitente. Somente para os casos de exportação direta ou indireta.
+
+
+
+
+ Código do selo de controle do IPI
+
+
+
+
+
+
+
+
+
+
+ Quantidade de selo de controle do IPI
+
+
+
+
+
+
+
+
+
+
+ Código de Enquadramento Legal do IPI (tabela a ser criada pela RFB)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Código da Situação Tributária do IPI:
+00-Entrada com recuperação de crédito
+49 - Outras entradas
+50-Saída tributada
+99-Outras saídas
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Valor da BC do IPI
+
+
+
+
+ Alíquota do IPI
+
+
+
+
+
+
+ Quantidade total na unidade padrão para tributação
+
+
+
+
+ Valor por Unidade Tributável. Informar o valor do imposto Pauta por unidade de medida.
+
+
+
+
+
+
+ Valor do IPI
+
+
+
+
+
+
+
+
+
+
+ Código da Situação Tributária do IPI:
+01-Entrada tributada com alíquota zero
+02-Entrada isenta
+03-Entrada não-tributada
+04-Entrada imune
+05-Entrada com suspensão
+51-Saída tributada com alíquota zero
+52-Saída isenta
+53-Saída não-tributada
+54-Saída imune
+55-Saída com suspensão
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pytrustnfe/xml/schemas/nfe_v3.10.xsd b/pytrustnfe/xml/schemas/nfe_v4.00.xsd
similarity index 86%
rename from pytrustnfe/xml/schemas/nfe_v3.10.xsd
rename to pytrustnfe/xml/schemas/nfe_v4.00.xsd
index 9e435ee..4fe917a 100755
--- a/pytrustnfe/xml/schemas/nfe_v3.10.xsd
+++ b/pytrustnfe/xml/schemas/nfe_v4.00.xsd
@@ -1,9 +1,9 @@
-
-
-
-
-
- Nota Fiscal Eletrônica
-
-
-
\ No newline at end of file
+
+
+
+
+
+ Nota Fiscal Eletrônica
+
+
+
diff --git a/pytrustnfe/xml/schemas/tiposBasico_v3.10.xsd b/pytrustnfe/xml/schemas/tiposBasico_v4.00.xsd
similarity index 95%
rename from pytrustnfe/xml/schemas/tiposBasico_v3.10.xsd
rename to pytrustnfe/xml/schemas/tiposBasico_v4.00.xsd
index 1dfe7d0..dc7aaf5 100755
--- a/pytrustnfe/xml/schemas/tiposBasico_v3.10.xsd
+++ b/pytrustnfe/xml/schemas/tiposBasico_v4.00.xsd
@@ -1,571 +1,589 @@
-
-
-
-
-
- Tipo Código da UF da tabela do IBGE
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Tipo Código do Município da tabela do IBGE
-
-
-
-
-
-
-
-
- Tipo Chave da Nota Fiscal Eletrônica
-
-
-
-
-
-
-
-
-
- Tipo Número do Protocolo de Status
-
-
-
-
-
-
-
-
-
- Tipo Número do Recibo do envio de lote de NF-e
-
-
-
-
-
-
-
-
-
- Tipo Código da Mensagem enviada
-
-
-
-
-
-
-
-
-
- Tipo Número do CNPJ
-
-
-
-
-
-
-
-
-
- Tipo Número do CNPJ tmanho 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 Decimal com até 2 dígitos inteiros, podendo ter de 1 até 4 decimais
-
-
-
-
-
-
-
-
- Tipo Decimal com até 3 dígitos inteiros, podendo ter de 2 até 4 decimais
-
-
-
-
-
-
-
-
- Tipo Decimal com até 3 dígitos inteiros e 2 até 4 decimais. Utilizados em TAGs opcionais, não aceita valor zero.
-
-
-
-
-
-
-
-
- Tipo Decimal com 3 inteiros (no máximo 100), com 2 decimais
-
-
-
-
-
-
-
-
- Tipo Decimal com 3 inteiros (no máximo 100), com até 4 decimais
-
-
-
-
-
-
-
-
- Tipo Decimal com 8 inteiros, podendo ter de 1 até 3 decimais
-
-
-
-
-
-
-
-
- Tipo Decimal com 11 inteiros, podendo ter 4 decimais
-
-
-
-
-
-
-
-
- Tipo Decimal com 11 inteiros, podendo ter de 1 até 4 decimais
-
-
-
-
-
-
-
-
- Tipo Decimal com 11 inteiros, podendo ter 4 decimais (utilizado em tags opcionais)
-
-
-
-
-
-
-
-
- Tipo Decimal com 11 inteiros, podendo ter de 1 até 10 decimais
-
-
-
-
-
-
-
-
- Tipo Decimal com 12 inteiros, podendo ter 3 decimais
-
-
-
-
-
-
-
-
- Tipo Decimal com 12 inteiros e 4 decimais
-
-
-
-
-
-
-
-
- Tipo Decimal com 12 inteiros de 1 até 4 decimais
-
-
-
-
-
-
-
-
- Tipo Decimal com 12 inteiros com 1 até 4 decimais
-
-
-
-
-
-
-
-
- Tipo Decimal com 12 inteiros, 1 a 4 decimais
-
-
-
-
-
-
-
-
- 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 Destinatário // alterado para aceitar vazio ou ISENTO - maio/2010 v2.0
-
-
-
-
-
-
-
-
-
- Tipo Inscrição Estadual do Destinatário // alterado para aceitar vazio ou ISENTO - maio/2010 v2.0
-
-
-
-
-
-
-
-
-
- Tipo Inscrição Estadual do ST // acrescentado EM 24/10/08
-
-
-
-
-
-
-
-
-
- Tipo Inscrição Estadual do Emitente // alterado EM 24/10/08 para aceitar ISENTO
-
-
-
-
-
-
-
-
-
- Tipo Modelo Documento Fiscal
-
-
-
-
-
-
-
-
-
- Tipo Número do Documento Fiscal
-
-
-
-
-
-
-
-
- Tipo Série do Documento Fiscal
-
-
-
-
-
-
-
-
- Tipo Sigla da UF
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Tipo Sigla da UF de emissor // acrescentado em 24/10/08
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Tipo Ambiente
-
-
-
-
-
-
-
-
-
- Tipo Versão do Aplicativo
-
-
-
-
-
-
-
-
- Tipo Motivo
-
-
-
-
-
-
-
-
- Tipo Justificativa
-
-
-
-
-
-
-
-
- Tipo Serviço solicitado
-
-
-
-
-
- Tipo ano
-
-
-
-
-
-
-
-
- Tipo temp médio em segundos
-
-
-
-
-
-
-
-
- Tipo string genérico
-
-
-
-
-
-
-
-
- Tipo data AAAA-MM-DD
-
-
-
-
-
-
-
-
- Tipo hora HH:MM:SS // tipo acrescentado na v2.0
-
-
-
-
-
-
-
-
- Data e Hora, formato UTC (AAAA-MM-DDThh:mm:ssTZD, onde TZD = +hh:mm ou -hh:mm)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Tipo Código de orgão (UF da tabela do IBGE + 90 RFB)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+ Tipo Código da UF da tabela do IBGE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Código do Município da tabela do IBGE
+
+
+
+
+
+
+
+
+ Tipo Chave da Nota Fiscal Eletrônica
+
+
+
+
+
+
+
+
+
+ Tipo Número do Protocolo de Status
+
+
+
+
+
+
+
+
+
+ Tipo Número do Recibo do envio de lote de NF-e
+
+
+
+
+
+
+
+
+
+ Tipo Código da Mensagem enviada
+
+
+
+
+
+
+
+
+
+ Tipo Número do CNPJ
+
+
+
+
+
+
+
+
+
+ Tipo Número do CNPJ tmanho 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 Decimal com até 1 dígitos inteiros, podendo ter de 1 até 4 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com até 2 dígitos inteiros, podendo ter de 1 até 4 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com até 3 dígitos inteiros, podendo ter de 2 até 4 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com até 3 dígitos inteiros e 2 até 4 decimais. Utilizados em TAGs opcionais, não aceita valor zero.
+
+
+
+
+
+
+
+
+ Tipo Decimal com 3 inteiros (no máximo 100), com 2 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 3 inteiros (no máximo 100), com 4 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 3 inteiros (no máximo 100), com até 4 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 8 inteiros, podendo ter de 1 até 3 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 11 inteiros, podendo ter 4 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 11 inteiros, podendo ter de 1 até 4 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 11 inteiros, podendo ter 4 decimais (utilizado em tags opcionais)
+
+
+
+
+
+
+
+
+ Tipo Decimal com 11 inteiros, podendo ter de 1 até 10 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 12 inteiros, podendo ter 3 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 12 inteiros e 4 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 12 inteiros de 1 até 4 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 12 inteiros com 1 até 4 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 12 inteiros, 1 a 4 decimais
+
+
+
+
+
+
+
+
+ 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 Destinatário // alterado para aceitar vazio ou ISENTO - maio/2010 v2.0
+
+
+
+
+
+
+
+
+
+ Tipo Inscrição Estadual do Destinatário // alterado para aceitar vazio ou ISENTO - maio/2010 v2.0
+
+
+
+
+
+
+
+
+
+ Tipo Inscrição Estadual do ST // acrescentado EM 24/10/08
+
+
+
+
+
+
+
+
+
+ Tipo Inscrição Estadual do Emitente // alterado EM 24/10/08 para aceitar ISENTO
+
+
+
+
+
+
+
+
+
+ Tipo Modelo Documento Fiscal
+
+
+
+
+
+
+
+
+
+ Tipo Número do Documento Fiscal
+
+
+
+
+
+
+
+
+ Tipo Série do Documento Fiscal
+
+
+
+
+
+
+
+
+ Tipo Sigla da UF
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Sigla da UF de emissor // acrescentado em 24/10/08
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Ambiente
+
+
+
+
+
+
+
+
+
+ Tipo Versão do Aplicativo
+
+
+
+
+
+
+
+
+ Tipo Motivo
+
+
+
+
+
+
+
+
+ Tipo Justificativa
+
+
+
+
+
+
+
+
+ Tipo Serviço solicitado
+
+
+
+
+
+ Tipo ano
+
+
+
+
+
+
+
+
+ Tipo temp médio em segundos
+
+
+
+
+
+
+
+
+ Tipo string genérico
+
+
+
+
+
+
+
+
+ Tipo data AAAA-MM-DD
+
+
+
+
+
+
+
+
+ Tipo hora HH:MM:SS // tipo acrescentado na v2.0
+
+
+
+
+
+
+
+
+ Data e Hora, formato UTC (AAAA-MM-DDThh:mm:ssTZD, onde TZD = +hh:mm ou -hh:mm)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Código de orgão (UF da tabela do IBGE + 90 RFB)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pytrustnfe/xml/validate.py b/pytrustnfe/xml/validate.py
index 3306b57..3f672ba 100644
--- a/pytrustnfe/xml/validate.py
+++ b/pytrustnfe/xml/validate.py
@@ -7,7 +7,7 @@ import os
from lxml import etree
PATH = os.path.dirname(os.path.abspath(__file__))
-SCHEMA = os.path.join(PATH, 'schemas/enviNFe_v3.10.xsd')
+SCHEMA = os.path.join(PATH, 'schemas/enviNFe_v4.00.xsd')
def valida_nfe(xml_nfe):
diff --git a/requirements.txt b/requirements.txt
index 92f9079..63f4786 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -15,3 +15,4 @@ reportlab
pytest
pytest-cov
pytz
+zeep
diff --git a/setup.py b/setup.py
index 17d5399..a15e6cf 100644
--- a/setup.py
+++ b/setup.py
@@ -2,7 +2,7 @@
from setuptools import setup, find_packages
-VERSION = "0.9.20"
+VERSION = "0.10.4"
setup(
@@ -37,6 +37,8 @@ later (LGPLv2+)',
'nfse/imperial/templates/*xml',
'nfse/floripa/templates/*xml',
'nfse/carioca/templates/*xml',
+ 'nfse/bh/templates/*xml',
+ 'nfse/mga/templates/*xml',
'xml/schemas/*xsd',
]},
url='https://github.com/danimaribeiro/PyTrustNFe',
@@ -52,6 +54,7 @@ later (LGPLv2+)',
'suds-jurko-requests >= 1.2',
'reportlab',
'pytz',
+ 'zeep',
],
tests_require=[
'pytest',
diff --git a/tests/test_comunicacao.py b/tests/test_comunicacao.py
deleted file mode 100644
index b47c3a1..0000000
--- a/tests/test_comunicacao.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# coding=utf-8
-'''
-Created on Jun 16, 2015
-
-@author: danimar
-'''
-import unittest
-import os.path
-
-
-XML_RETORNO = '103' \
- '42'
-
-
-class test_comunicacao(unittest.TestCase):
-
- caminho = os.path.dirname(__file__)
-
- def test_envio_nfe(self):
- pass
diff --git a/tests/test_consulta_cadastro.py b/tests/test_consulta_cadastro.py
deleted file mode 100644
index a284b56..0000000
--- a/tests/test_consulta_cadastro.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# coding=utf-8
-
-import mock
-import os.path
-import unittest
-from pytrustnfe.certificado import Certificado
-from pytrustnfe.nfe import consulta_cadastro
-
-
-class test_consulta_cadastro(unittest.TestCase):
-
- caminho = os.path.dirname(__file__)
-
- def test_conta_de_cadastro(self):
- pfx_source = open(os.path.join(self.caminho, 'teste.pfx'), 'rb').read()
- pfx = Certificado(pfx_source, '123456')
-
- obj = {'cnpj': '12345678901234', 'estado': '42'}
- consulta_cadastro(pfx, obj=obj, ambiente=1, estado='42')
diff --git a/tests/test_servidores.py b/tests/test_servidores.py
index 2083f2c..3a492df 100644
--- a/tests/test_servidores.py
+++ b/tests/test_servidores.py
@@ -7,22 +7,22 @@ Created on Jun 14, 2015
import unittest
from pytrustnfe.Servidores import localizar_url, localizar_qrcode
-url_ba = 'https://nfe.sefaz.ba.gov.br/webservices/NfeAutorizacao/NfeAutoriza\
-cao.asmx'
+url_ba = 'https://nfe.sefaz.ba.gov.br/webservices/NFeAutorizacao4/NFeAutoriza\
+cao4.asmx?wsdl'
-url_sp = 'https://nfe.fazenda.sp.gov.br/ws/nfeautorizacao.asmx'
+url_sp = 'https://nfe.fazenda.sp.gov.br/ws/nfeautorizacao4.asmx?wsdl'
url_qrcode_homologacao_sp = 'https://homologacao.nfce.fazenda.sp.gov.br/NFCEConsultaPublica/Paginas/ConstultaQRCode.aspx'
-url_sc = 'https://nfe.svrs.rs.gov.br/ws/NfeAutorizacao/NfeAutorizacao.asmx'
+url_sc = 'https://nfe.svrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao4.asmx?wsdl'
url_rs = 'https://nfe.sefazrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao.asmx'
url_cad_rs = 'https://cad.sefazrs.rs.gov.br/ws/cadconsultacadastro/cadcon\
sultacadastro2.asmx'
-url_cad_sc = 'https://cad.svrs.rs.gov.br/ws/CadConsultaCadastro/CadConsult\
-aCadastro2.asmx'
+url_cad_sc = 'https://cad.svrs.rs.gov.br/ws/cadconsultacadastro/cadconsulta\
+cadastro2.asmx?wsdl'
class test_servidores(unittest.TestCase):
diff --git a/tests/test_utils.py b/tests/test_utils.py
index 247327d..dce9ff0 100644
--- a/tests/test_utils.py
+++ b/tests/test_utils.py
@@ -8,7 +8,7 @@ import unittest
import datetime
from pytrustnfe.utils import date_tostring, datetime_tostring, \
gerar_chave
-from pytrustnfe.utils import ChaveNFe, CabecalhoSoap
+from pytrustnfe.utils import ChaveNFe
class test_utils(unittest.TestCase):
@@ -18,12 +18,6 @@ class test_utils(unittest.TestCase):
'tipo': 0, 'codigo': '26730161'
}
- def test_cabecalho_soap(self):
- head = CabecalhoSoap(versao=1, estado='SC', soap_action='Autorizacao')
- self.assertEqual(head.versao, 1)
- self.assertEqual(head.estado, 'SC')
- self.assertEqual(head.soap_action, 'Autorizacao')
-
def test_date_tostring(self):
hoje = datetime.date.today()
data = date_tostring(hoje)