Browse Source

Atualização de schemas XSD

pull/1/head
Junior Tada 11 years ago
parent
commit
a32fcd72c1
  1. 78
      README
  2. 9
      pynfe/data/XSDs/cancNFe_v1.07.xsd
  3. 4
      pynfe/data/XSDs/consReciNFe_v3.10.xsd
  4. 6
      pynfe/data/XSDs/consSitNFe_v3.10.xsd
  5. 4
      pynfe/data/XSDs/consStatServ_v3.10.xsd
  6. 42
      pynfe/data/XSDs/e110111_v1.00.xsd
  7. 9
      pynfe/data/XSDs/envEventoCancNFe_v1.00.xsd
  8. 9
      pynfe/data/XSDs/enviNFe_v3.10.xsd
  9. 9
      pynfe/data/XSDs/eventoCancNFe_v1.00.xsd
  10. 6
      pynfe/data/XSDs/inutNFe_v3.10.xsd
  11. 104
      pynfe/data/XSDs/leiauteConsSitNFe_v1.07.xsd
  12. 539
      pynfe/data/XSDs/leiauteConsSitNFe_v3.10.xsd
  13. 22
      pynfe/data/XSDs/leiauteConsStatServ_v3.10.xsd
  14. 394
      pynfe/data/XSDs/leiauteEventoCancNFe_v1.00.xsd
  15. 31
      pynfe/data/XSDs/leiauteInutNFe_v3.10.xsd
  16. 4679
      pynfe/data/XSDs/leiauteNFe_v1.10.xsd
  17. 7210
      pynfe/data/XSDs/leiauteNFe_v3.10.xsd
  18. 4
      pynfe/data/XSDs/nfe_v3.10.xsd
  19. 9
      pynfe/data/XSDs/procCancNFe_v1.07.xsd
  20. 9
      pynfe/data/XSDs/procEventoCancNFe_v1.00.xsd
  21. 8
      pynfe/data/XSDs/procInutNFe_v3.10.xsd
  22. 4
      pynfe/data/XSDs/procNFe_v3.10.xsd
  23. 9
      pynfe/data/XSDs/retCancNFe_v1.07.xsd
  24. 4
      pynfe/data/XSDs/retConsReciNFe_v3.10.xsd
  25. 4
      pynfe/data/XSDs/retConsSitNFe_v3.10.xsd
  26. 6
      pynfe/data/XSDs/retConsStatServ_v3.10.xsd
  27. 9
      pynfe/data/XSDs/retEnvEventoCancNFe_v1.00.xsd
  28. 6
      pynfe/data/XSDs/retEnviNFe_v3.10.xsd
  29. 6
      pynfe/data/XSDs/retInutNFe_v3.10.xsd
  30. 123
      pynfe/data/XSDs/tiposBasico_v3.10.xsd
  31. 2
      pynfe/data/XSDs/xmldsig-core-schema_v1.01.xsd
  32. 8
      pynfe/processamento/comunicacao.py

78
README

@ -2,25 +2,25 @@ Visão Geral
-----------
Biblioteca de interface com o webservice de Nota Fiscal Eletronica,
da SEFAZ, oficializada pelo Ministerio da Fazendo do Governo do
Brasil.
(NF-e/NFC-e) da SEFAZ, oficializada pelo Ministerio da Fazendo do
Governo do Brasil.
A NF-e visa substituir as notas fiscais séries 1 e 1A
A NF-e visa substituir as notas fiscais séries 1 e 1A.
A NFC-e visa substituir as notas fiscais modelo 2 e
cupom fiscal emitido por ECF.
Dependências
------------
- Geraldo Reports (http://geraldo.sourceforge.net/)
- Java 8u51
- para a geração da DANFE
- lxml
- biblioteca de leitura e gravação de arquivos XML, de alta
performance e fácil de implementar.
- openssl
- ?
- MS CAPICOM
- evitar seu uso, usar somente se obrigatório
- XmlSEC
- xmlsec1 e openssl
- assinatura e validação do XML
- requests
- biblioteca para a comunicação com os webservices da SEFAZ
Referências
-----------
@ -28,47 +28,23 @@ Referências
- Site oficial da Nota Fiscal eletrônica
- http://www.nfe.fazenda.gov.br/portal/
- Noções gerais da NF-e
- http://pt.wikipedia.org/wiki/Nota_fiscal_eletrônica
- Componente para Delphi ACBrNFe
- http://acbr.sourceforge.net/drupal/?q=node/36
- http://devmedia.com.br/articles/viewcomp.asp?comp=12237
- Exemplos de arquivos XML
- http://nf-eletronica.com/blog/?p=77
- lxml
- http://lxml.de/
- Exemplos de consumação do WebService
- http://nf-eletronica.com/blog/?p=75
- Tutorial de lxml
- http://codespeak.net/lxml/tutorial.html
- Tutorial e outras documentações
- http://www.icert.com.br/gestor/tutoriais/conteudo/15,0_Nota-Fiscal-Eletronica-NF-e.html
- requests
- http://docs.python-requests.org/en/latest/
- https://github.com/kennethreitz/requests
- https://pypi.python.org/pypi/requests
- Manual oficial de integração
- http://www.nfe.fazenda.gov.br/portal/integracao.aspx
- Exemplos de arquivos XML
- http://www.javac.com.br/jc/downloads.javac?cat=3
- Schemas para validação dos arquivos
- http://www.nfe.fazenda.gov.br/portal/schemas.aspx
- Criação de certificados X.509 com OpenVPN
- http://www.guiadohardware.net/tutoriais/openvpn_2/pagina2.html
- verificar se pode ser usado para testes sem ter um certificado oficial
- Assinador - disseminação da assinatura digital
- http://www.nfe.fazenda.gov.br/portal/assinador.aspx
- Planilha com CNAEs obrigadas a emitir NF-e
- http://portalnfe.fazenda.mg.gov.br/downloads/CNAEs_Obrigadas_NFe_061009.xls
- Visualizador Documento Fiscal Eletrônico (NF-e e CT-e)
- http://www.nfe.fazenda.gov.br/portal/visualizador.aspx
- Texto sobre Python + SOAP + SSL + NF-e
- http://victorpoluceno.blogspot.com/2008/03/python-ssl-certificado-digital.html
- Tutorial de lxml
- http://codespeak.net/lxml/tutorial.html
- Validao de XML via XSD no lxml
- http://codespeak.net/lxml/validation.html#xmlschema
@ -81,9 +57,6 @@ Referências
- Documentação do módulo de geração de Code128 no ReportLab
- http://www.reportlab.com/apis/reportlab/reportlab.graphics.barcode.code128-module.html
- Exemplo de codigo de barras da DANF-e usando ReportLab
- http://pastebin.com/f17b153a8
- Thread da lista pyhton-brasil sobre streching do codigo de barras
- http://br.groups.yahoo.com/group/python-brasil/message/41299
@ -93,3 +66,16 @@ Referências
- Certificado para testes
- http://nf-eletronica.com/blog/?p=133
- Exemplo de uso
- Consulta Status
from pynfe.processamento.comunicacao import ComunicacaoSefaz
certificado = "/home/user/certificado.pfx"
senha = 'senha'
uf = 'pr'
homologacao = True
con = ComunicacaoSefaz(uf, certificado, senha, homologacao)
xml = con.status_servico('nfe')
print (xml.text)

9
pynfe/data/XSDs/cancNFe_v1.07.xsd

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="leiauteCancNFe_v1.07.xsd"/>
<xs:element name="cancNFe" type="TCancNFe">
<xs:annotation>
<xs:documentation>Schema XML de validação do Pedido de Cancelamento da Nota Fiscal Eletrônica</xs:documentation>
</xs:annotation>
</xs:element>
</xs:schema>

4
pynfe/data/XSDs/consReciNFe_v1.10.xsd → pynfe/data/XSDs/consReciNFe_v3.10.xsd

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="leiauteNFe_v1.10.xsd"/>
<xs:include schemaLocation="leiauteNFe_v3.10.xsd"/>
<xs:element name="consReciNFe" type="TConsReciNFe">
<xs:annotation>
<xs:documentation>Schema XML de validação do Pedido de Consulta do Recido do Lote de Notas Fiscais Eletrônicas</xs:documentation>
</xs:annotation>
</xs:element>
</xs:schema>
</xs:schema>

6
pynfe/data/XSDs/consSitNFe_v1.07.xsd → pynfe/data/XSDs/consSitNFe_v3.10.xsd

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.portalfiscal.inf.br/nfe" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="leiauteConsSitNFe_v1.07.xsd"/>
<xs:include schemaLocation="leiauteConsSitNFe_v3.10.xsd"/>
<xs:element name="consSitNFe" type="TConsSitNFe">
<xs:annotation>
<xs:documentation>Schema de validação XML dp Pedido de Consulta da Situação Atual da Nota Fiscal Eletrônica</xs:documentation>
</xs:annotation>
</xs:element>
</xs:schema>
</xs:schema>

4
pynfe/data/XSDs/consStatServ_v1.07.xsd → pynfe/data/XSDs/consStatServ_v3.10.xsd

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="leiauteConsStatServ_v1.07.xsd"/>
<xs:include schemaLocation="leiauteConsStatServ_v3.10.xsd"/>
<xs:element name="consStatServ" type="TConsStatServ">
<xs:annotation>
<xs:documentation>Schema XML de validação do Pedido de Consulta do Status do Serviço</xs:documentation>
</xs:annotation>
</xs:element>
</xs:schema>
</xs:schema>

42
pynfe/data/XSDs/e110111_v1.00.xsd

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="tiposBasico_v1.03.xsd"/>
<xs:element name="detEvento">
<xs:annotation>
<xs:documentation>Schema XML de validação do evento do cancelamento 1101111</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="descEvento">
<xs:annotation>
<xs:documentation>Descrição do Evento - “Cancelamento”</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:enumeration value="Cancelamento"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="nProt" type="TProt">
<xs:annotation>
<xs:documentation>Número do Protocolo de Status da NF-e. 1 posição (1 – Secretaria de Fazenda Estadual 2 – Receita Federal); 2 posições ano; 10 seqüencial no ano.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="xJust" type="TJust">
<xs:annotation>
<xs:documentation>Justificativa do cancelamento</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="versao" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:enumeration value="1.00"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:schema>

9
pynfe/data/XSDs/envEventoCancNFe_v1.00.xsd

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="leiauteEventoCancNFe_v1.00.xsd"/>
<xs:element name="envEvento" type="TEnvEvento">
<xs:annotation>
<xs:documentation>Schema XML de validação do lote de envio do evento cancelamento</xs:documentation>
</xs:annotation>
</xs:element>
</xs:schema>

9
pynfe/data/XSDs/enviNFe_v3.10.xsd

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="leiauteNFe_v3.10.xsd"/>
<xs:element name="enviNFe" type="TEnviNFe">
<xs:annotation>
<xs:documentation>Schema XML de validação do Pedido de Concessão de Autorização da Nota Fiscal Eletrônica</xs:documentation>
</xs:annotation>
</xs:element>
</xs:schema>

9
pynfe/data/XSDs/eventoCancNFe_v1.00.xsd

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="leiauteEventoCancNFe_v1.00.xsd"/>
<xs:element name="evento" type="TEvento">
<xs:annotation>
<xs:documentation>Schema XML de validação do evento Cancelamento</xs:documentation>
</xs:annotation>
</xs:element>
</xs:schema>

6
pynfe/data/XSDs/inutNFe_v1.07.xsd → pynfe/data/XSDs/inutNFe_v3.10.xsd

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="leiauteInutNFe_v1.07.xsd"/>
<xs:include schemaLocation="leiauteInutNFe_v3.10.xsd"/>
<xs:element name="inutNFe" type="TInutNFe">
<xs:annotation>
<xs:documentation>Schema XML de validação do Pedido de Inutilização de Numeração da Nota Fiscal Eletrônica</xs:documentation>
</xs:annotation>
</xs:element>
</xs:schema>
</xs:schema>

104
pynfe/data/XSDs/leiauteConsSitNFe_v1.07.xsd

@ -1,104 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="tiposBasico_v1.02.xsd"/>
<xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema_v1.01.xsd"/>
<xs:complexType name="TConsSitNFe">
<xs:annotation>
<xs:documentation>Tipo Pedido de Consulta da Situação Atual da Nota Fiscal Eletrônica</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="tpAmb" type="TAmb">
<xs:annotation>
<xs:documentation>Identificação do Ambiente:
1 - Produção
2 - Homologação</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="xServ" type="TServ" fixed="CONSULTAR">
<xs:annotation>
<xs:documentation>Serviço Solicitado</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="chNFe" type="TChNFe">
<xs:annotation>
<xs:documentation>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.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="versao" type="TVerConsSitNFe" use="required"/>
</xs:complexType>
<xs:complexType name="TRetConsSitNFe">
<xs:annotation>
<xs:documentation>Tipo Retorno de Pedido de Consulta da Situação Atual da Nota Fiscal Eletrônica </xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="infProt">
<xs:annotation>
<xs:documentation>Situação atual da NF-e</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="tpAmb" type="TAmb">
<xs:annotation>
<xs:documentation>Identificação do Ambiente:
1 - Produção
2 - Homologação</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="verAplic" type="TVerAplic">
<xs:annotation>
<xs:documentation>Versão do Aplicativo que processou a NF-e</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="cStat" type="TStat">
<xs:annotation>
<xs:documentation>Código do status da mensagem enviada.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="xMotivo" type="TMotivo">
<xs:annotation>
<xs:documentation>Descrição literal do status do serviço solicitado.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="cUF" type="TCodUfIBGE">
<xs:annotation>
<xs:documentation>código da UF de atendimento</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="chNFe" type="TChNFe" minOccurs="0">
<xs:annotation>
<xs:documentation>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.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="dhRecbto" type="xs:dateTime" minOccurs="0">
<xs:annotation>
<xs:documentation>Data e hora de processamento, no formato AAAA-MM-DDTHH:MM:SS</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="nProt" type="TProt" minOccurs="0">
<xs:annotation>
<xs:documentation>Número do Protocolo de Status da NF-e. 1 posição (1 – Secretaria de Fazenda Estadual 2 – Receita Federal); 2 - código da UF - 2 posições ano; 10 seqüencial no ano.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="digVal" type="ds:DigestValueType" minOccurs="0">
<xs:annotation>
<xs:documentation>Digest Value da NF-e processada. Utilizado para conferir a integridade da NF-e original.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:ID" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element ref="ds:Signature" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="versao" type="TVerConsSitNFe" use="required"/>
</xs:complexType>
<xs:simpleType name="TVerConsSitNFe">
<xs:annotation>
<xs:documentation>Tipo Versão do Leiaute da Cosulta situação NF-e - 1.07</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:token">
<xs:pattern value="1\.07"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>

539
pynfe/data/XSDs/leiauteConsSitNFe_v3.10.xsd

@ -0,0 +1,539 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- 13-05-2011 - correcao do pattern da data para aceitar -4:00 -->
<!-- 03-03-2011 - alteracoes na enumeracao das versoes e no detalhamento do evento -->
<!-- PL_006eventos versao alterada para consultar eventos 30/08/2010 -->
<!-- PL_006f versao com correcoes no xServ para tornar a literal CONSULTAR obrigatoria 21/05/2010 -->
<!-- PL_006c versao com correcoes 24/12/2009 -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="tiposBasico_v3.10.xsd"/>
<xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema_v1.01.xsd"/>
<xs:complexType name="TConsSitNFe">
<xs:annotation>
<xs:documentation>Tipo Pedido de Consulta da Situação Atual da Nota Fiscal Eletrônica</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="tpAmb" type="TAmb">
<xs:annotation>
<xs:documentation>Identificação do Ambiente:
1 - Produção
2 - Homologação</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="xServ">
<xs:annotation>
<xs:documentation>Serviço Solicitado</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TServ">
<xs:enumeration value="CONSULTAR"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="chNFe" type="TChNFe">
<xs:annotation>
<xs:documentation>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.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="versao" type="TVerConsSitNFe" use="required"/>
</xs:complexType>
<xs:complexType name="TRetConsSitNFe">
<xs:annotation>
<xs:documentation>Tipo Retorno de Pedido de Consulta da Situação Atual da Nota Fiscal Eletrônica </xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="tpAmb" type="TAmb">
<xs:annotation>
<xs:documentation>Identificação do Ambiente:
1 - Produção
2 - Homologação</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="verAplic" type="TVerAplic">
<xs:annotation>
<xs:documentation>Versão do Aplicativo que processou a NF-e</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="cStat" type="TStat">
<xs:annotation>
<xs:documentation>Código do status da mensagem enviada.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="xMotivo" type="TMotivo">
<xs:annotation>
<xs:documentation>Descrição literal do status do serviço solicitado.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="cUF" type="TCodUfIBGE">
<xs:annotation>
<xs:documentation>código da UF de atendimento</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="dhRecbto" type="TDateTimeUTC">
<xs:annotation>
<xs:documentation>AAAA-MM-DDTHH:MM:SSTZD</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="chNFe" type="TChNFe">
<xs:annotation>
<xs:documentation>Chaves de acesso da NF-e consultada</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="protNFe" type="TProtNFe" minOccurs="0">
<xs:annotation>
<xs:documentation>Protocolo de autorização de uso da NF-e</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="retCancNFe" type="TRetCancNFe" minOccurs="0">
<xs:annotation>
<xs:documentation>Protocolo de homologação de cancelamento de uso da NF-e</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="procEventoNFe" type="TProcEvento" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Protocolo de registro de evento da NF-e</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="versao" type="TVerConsSitNFe" use="required"/>
</xs:complexType>
<xs:complexType name="TProtNFe">
<xs:annotation>
<xs:documentation>Tipo Protocolo de status resultado do processamento da NF-e</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="infProt">
<xs:annotation>
<xs:documentation>Dados do protocolo de status</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="tpAmb" type="TAmb">
<xs:annotation>
<xs:documentation>Identificação do Ambiente:
1 - Produção
2 - Homologação</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="verAplic" type="TVerAplic">
<xs:annotation>
<xs:documentation>Versão do Aplicativo que processou a NF-e</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="chNFe" type="TChNFe">
<xs:annotation>
<xs:documentation>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.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="dhRecbto" type="xs:dateTime">
<xs:annotation>
<xs:documentation>Data e hora de processamento, no formato AAAA-MM-DDTHH:MM:SS (ou AAAA-MM-DDTHH:MM:SSTZD, de acordo com versão). 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.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="nProt" type="TProt" minOccurs="0">
<xs:annotation>
<xs:documentation>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.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="digVal" type="ds:DigestValueType" minOccurs="0">
<xs:annotation>
<xs:documentation>Digest Value da NF-e processada. Utilizado para conferir a integridade da NF-e original.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="cStat" type="TStat">
<xs:annotation>
<xs:documentation>Código do status da mensagem enviada.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="xMotivo" type="TMotivo">
<xs:annotation>
<xs:documentation>Descrição literal do status do serviço solicitado.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:ID" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element ref="ds:Signature" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="versao" type="TVerNFe" use="required"/>
</xs:complexType>
<xs:complexType name="TRetCancNFe">
<xs:annotation>
<xs:documentation>Tipo retorno Pedido de Cancelamento da Nota Fiscal Eletrônica</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="infCanc">
<xs:annotation>
<xs:documentation>Dados do Resultado do Pedido de Cancelamento da Nota Fiscal Eletrônica</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="tpAmb" type="TAmb">
<xs:annotation>
<xs:documentation>Identificação do Ambiente:
1 - Produção
2 - Homologação</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="verAplic" type="TVerAplic">
<xs:annotation>
<xs:documentation>Versão do Aplicativo que processou o pedido de cancelamento</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="cStat" type="TStat">
<xs:annotation>
<xs:documentation>Código do status da mensagem enviada.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="xMotivo" type="TMotivo">
<xs:annotation>
<xs:documentation>Descrição literal do status do serviço solicitado.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="cUF" type="TCodUfIBGE">
<xs:annotation>
<xs:documentation>código da UF de atendimento</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="chNFe" type="TChNFe" minOccurs="0">
<xs:annotation>
<xs:documentation>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.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="dhRecbto" type="xs:dateTime" minOccurs="0">
<xs:annotation>
<xs:documentation>Data e hora de recebimento, no formato AAAA-MM-DDTHH:MM:SS. Deve ser preenchida com data e hora da gravação no Banco em caso de Confirmação.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="nProt" type="TProt" minOccurs="0">
<xs:annotation>
<xs:documentation>Número do Protocolo de Status da NF-e. 1 posição (1 – Secretaria de Fazenda Estadual 2 – Receita Federal); 2 - código da UF - 2 posições ano; 10 seqüencial no ano.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:ID" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element ref="ds:Signature" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="versao" type="TVerCancNFe" use="required"/>
</xs:complexType>
<xs:complexType name="TEvento">
<xs:annotation>
<xs:documentation>Tipo Evento</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="infEvento">
<xs:complexType>
<xs:sequence>
<xs:element name="cOrgao" type="TCOrgaoIBGE">
<xs:annotation>
<xs:documentation>Código do órgão de recepção do Evento. Utilizar a Tabela do IBGE extendida, utilizar 90 para identificar o Ambiente Nacional</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="tpAmb" type="TAmb">
<xs:annotation>
<xs:documentation>Identificação do Ambiente:
1 - Produção
2 - Homologação</xs:documentation>
</xs:annotation>
</xs:element>
<xs:choice>
<xs:annotation>
<xs:documentation>Identificação do autor do evento</xs:documentation>
</xs:annotation>
<xs:element name="CNPJ" type="TCnpjOpc">
<xs:annotation>
<xs:documentation>CNPJ</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CPF" type="TCpf">
<xs:annotation>
<xs:documentation>CPF</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:element name="chNFe" type="TChNFe">
<xs:annotation>
<xs:documentation>Chave de Acesso da NF-e vinculada ao evento</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="dhEvento" type="TDateTimeUTC">
<xs:annotation>
<xs:documentation>Data e Hora do Evento, formato UTC (AAAA-MM-DDThh:mm:ssTZD, onde TZD = +hh:mm ou -hh:mm)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="tpEvento">
<xs:annotation>
<xs:documentation>Tipo do Evento</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:pattern value="[0-9]{6}"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="nSeqEvento">
<xs:annotation>
<xs:documentation>Seqüencial do evento para o mesmo tipo de evento. Para maioria dos eventos será 1, nos casos em que possa existir mais de um evento, como é o caso da carta de correção, o autor do evento deve numerar de forma seqüencial.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:pattern value="[1-9][0-9]{0,1}"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="verEvento">
<xs:annotation>
<xs:documentation>Versão do Tipo do Evento</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="detEvento">
<xs:annotation>
<xs:documentation>Detalhe Específico do Evento</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:any processContents="skip" maxOccurs="unbounded"/>
</xs:sequence>
<xs:anyAttribute processContents="skip"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" use="required">
<xs:annotation>
<xs:documentation>Identificador da TAG a ser assinada, a regra de formação do Id é:
“ID” + tpEvento + chave da NF-e + nSeqEvento</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:ID">
<xs:pattern value="ID[0-9]{52}"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element ref="ds:Signature"/>
</xs:sequence>
<xs:attribute name="versao" type="TVerEvento" use="required"/>
</xs:complexType>
<xs:complexType name="TRetEvento">
<xs:annotation>
<xs:documentation>Tipo retorno do Evento</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="infEvento">
<xs:complexType>
<xs:sequence>
<xs:element name="tpAmb" type="TAmb">
<xs:annotation>
<xs:documentation>Identificação do Ambiente:
1 - Produção
2 - Homologação</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="verAplic" type="TVerAplic">
<xs:annotation>
<xs:documentation>Versão do Aplicativo que recebeu o Evento</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="cOrgao" type="TCOrgaoIBGE">
<xs:annotation>
<xs:documentation>Código do órgão de recepção do Evento. Utilizar a Tabela do IBGE extendida, utilizar 90 para identificar o Ambiente Nacional</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="cStat" type="TStat">
<xs:annotation>
<xs:documentation>Código do status da registro do Evento</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="xMotivo" type="TMotivo">
<xs:annotation>
<xs:documentation>Descrição literal do status do registro do Evento</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="chNFe" type="TChNFe" minOccurs="0">
<xs:annotation>
<xs:documentation>Chave de Acesso NF-e vinculada</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="tpEvento" minOccurs="0">
<xs:annotation>
<xs:documentation>Tipo do Evento vinculado</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:pattern value="[0-9]{6}"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="xEvento" minOccurs="0">
<xs:annotation>
<xs:documentation>Descrição do Evento</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TString">
<xs:minLength value="5"/>
<xs:maxLength value="60"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="nSeqEvento" minOccurs="0">
<xs:annotation>
<xs:documentation>Seqüencial do evento</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:pattern value="[1-9][0-9]{0,1}"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:choice minOccurs="0">
<xs:annotation>
<xs:documentation>Identificação do destinatpario da NF-e</xs:documentation>
</xs:annotation>
<xs:element name="CNPJDest" type="TCnpjOpc">
<xs:annotation>
<xs:documentation>CNPJ Destinatário</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CPFDest" type="TCpf">
<xs:annotation>
<xs:documentation>CPF Destiantário</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:element name="emailDest" minOccurs="0">
<xs:annotation>
<xs:documentation>email do destinatário</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TString">
<xs:minLength value="1"/>
<xs:maxLength value="60"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="dhRegEvento" type="TDateTimeUTC">
<xs:annotation>
<xs:documentation>Data e Hora de registro do evento formato UTC AAAA-MM-DDTHH:MM:SSTZD</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="nProt" type="TProt" minOccurs="0">
<xs:annotation>
<xs:documentation>Número do protocolo de registro do evento</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" use="optional">
<xs:simpleType>
<xs:restriction base="xs:ID">
<xs:pattern value="ID[0-9]{15}"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element ref="ds:Signature" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="versao" type="TRetVerEvento" use="required"/>
</xs:complexType>
<xs:complexType name="TProcEvento">
<xs:annotation>
<xs:documentation>Tipo procEvento</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="evento" type="TEvento"/>
<xs:element name="retEvento" type="TRetEvento"/>
</xs:sequence>
<xs:attribute name="versao" type="TVerEvento" use="required"/>
</xs:complexType>
<xs:simpleType name="TVerNFe">
<xs:annotation>
<xs:documentation> Tipo Versão da NF-e</xs:documentation>
</xs:annotation>
<xs:restriction base="TString">
<xs:pattern value="[1-9]{1}\.[0-9]{2}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TVerCancNFe">
<xs:annotation>
<xs:documentation>Tipo Versão do leiaute de Cancelamento de NF-e - 2.00/1.07</xs:documentation>
</xs:annotation>
<xs:restriction base="TString">
<xs:pattern value="[1-9]{1}\.[0-9]{2}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TVerEvento">
<xs:annotation>
<xs:documentation>Tipo Versão do Evento 1.00</xs:documentation>
</xs:annotation>
<xs:restriction base="TString">
<xs:pattern value="[1-9]{1}\.[0-9]{2}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TRetVerEvento">
<xs:annotation>
<xs:documentation>Tipo Versão do Evento</xs:documentation>
</xs:annotation>
<xs:restriction base="TString">
<xs:pattern value="[1-9]{1}\.[0-9]{2}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TVerConsSitNFe">
<xs:annotation>
<xs:documentation>Tipo Versão do Leiaute da Cosulta situação NF-e - 3.10</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:enumeration value="3.10"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TCOrgaoIBGE">
<xs:annotation>
<xs:documentation>Tipo Código de orgão (UF da tabela do IBGE + 91 RFB)</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:enumeration value="11"/>
<xs:enumeration value="12"/>
<xs:enumeration value="13"/>
<xs:enumeration value="14"/>
<xs:enumeration value="15"/>
<xs:enumeration value="16"/>
<xs:enumeration value="17"/>
<xs:enumeration value="21"/>
<xs:enumeration value="22"/>
<xs:enumeration value="23"/>
<xs:enumeration value="24"/>
<xs:enumeration value="25"/>
<xs:enumeration value="26"/>
<xs:enumeration value="27"/>
<xs:enumeration value="28"/>
<xs:enumeration value="29"/>
<xs:enumeration value="31"/>
<xs:enumeration value="32"/>
<xs:enumeration value="33"/>
<xs:enumeration value="35"/>
<xs:enumeration value="41"/>
<xs:enumeration value="42"/>
<xs:enumeration value="43"/>
<xs:enumeration value="50"/>
<xs:enumeration value="51"/>
<xs:enumeration value="52"/>
<xs:enumeration value="53"/>
<xs:enumeration value="90"/>
<xs:enumeration value="91"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>

22
pynfe/data/XSDs/leiauteConsStatServ_v1.07.xsd → pynfe/data/XSDs/leiauteConsStatServ_v3.10.xsd

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- PL_006f versao com correcoes no xServ para tornar a literal STATUS obrigatoria 21/05/2010 -->
<xs:schema xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="tiposBasico_v1.02.xsd"/>
<xs:include schemaLocation="tiposBasico_v3.10.xsd"/>
<xs:complexType name="TConsStatServ">
<xs:annotation>
<xs:documentation>Tipo Pedido de Consulta do Status do Serviço</xs:documentation>
@ -18,10 +19,15 @@
<xs:documentation>Sigla da UF consultada</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="xServ" type="TServ" fixed="STATUS">
<xs:element name="xServ">
<xs:annotation>
<xs:documentation>Serviço Solicitado</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TServ">
<xs:enumeration value="STATUS"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
<xs:attribute name="versao" type="TVerConsStatServ" use="required"/>
@ -58,9 +64,9 @@
<xs:documentation>Código da UF responsável pelo serviço</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="dhRecbto" type="xs:dateTime">
<xs:element name="dhRecbto" type="TDateTimeUTC">
<xs:annotation>
<xs:documentation>AAAA-MM-DDTHH:MM:SS</xs:documentation>
<xs:documentation>Data e hora do recebimento da consulta no formato AAAA-MM-DDTHH:MM:SSTZD</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="tMed" type="TMed" minOccurs="0">
@ -68,7 +74,7 @@
<xs:documentation>Tempo médio de resposta do serviço (em segundos) dos últimos 5 minutos</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="dhRetorno" type="xs:dateTime" minOccurs="0">
<xs:element name="dhRetorno" type="TDateTimeUTC" minOccurs="0">
<xs:annotation>
<xs:documentation>AAAA-MM-DDTHH:MM:SSDeve ser preenchida com data e hora previstas para o retorno dos serviços prestados.</xs:documentation>
</xs:annotation>
@ -83,10 +89,10 @@
</xs:complexType>
<xs:simpleType name="TVerConsStatServ">
<xs:annotation>
<xs:documentation>Tipo versão do leiuate da Consulta Status do Serviço 1.07</xs:documentation>
<xs:documentation>Tipo versão do leiuate da Consulta Status do Serviço 3.10</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:token">
<xs:pattern value="1\.07"/>
<xs:pattern value="3\.10"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
</xs:schema>

394
pynfe/data/XSDs/leiauteEventoCancNFe_v1.00.xsd

@ -0,0 +1,394 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.portalfiscal.inf.br/nfe" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema_v1.01.xsd"/>
<xs:include schemaLocation="tiposBasico_v1.03.xsd"/>
<xs:complexType name="TEvento">
<xs:annotation>
<xs:documentation>Tipo Evento</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="infEvento">
<xs:complexType>
<xs:sequence>
<xs:element name="cOrgao" type="TCOrgaoIBGE">
<xs:annotation>
<xs:documentation>Código do órgão de recepção do Evento. Utilizar a Tabela do IBGE extendida, utilizar 91 para identificar o Ambiente Nacional</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="tpAmb" type="TAmb">
<xs:annotation>
<xs:documentation>Identificação do Ambiente:
1 - Produção
2 - Homologação</xs:documentation>
</xs:annotation>
</xs:element>
<xs:choice>
<xs:annotation>
<xs:documentation>Identificação do autor do evento</xs:documentation>
</xs:annotation>
<xs:element name="CNPJ" type="TCnpjOpc">
<xs:annotation>
<xs:documentation>CNPJ</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CPF" type="TCpf">
<xs:annotation>
<xs:documentation>CPF</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:element name="chNFe" type="TChNFe">
<xs:annotation>
<xs:documentation>Chave de Acesso da NF-e vinculada ao evento</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="dhEvento" type="TDateTimeUTC">
<xs:annotation>
<xs:documentation>Data e Hora do Evento, formato UTC (AAAA-MM-DDThh:mm:ssTZD, onde TZD = +hh:mm ou -hh:mm)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="tpEvento">
<xs:annotation>
<xs:documentation>Tipo do Evento</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:pattern value="[0-9]{6}"/>
<xs:enumeration value="110111"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="nSeqEvento">
<xs:annotation>
<xs:documentation>Seqüencial do evento para o mesmo tipo de evento. Para maioria dos eventos será 1, nos casos em que possa existir mais de um evento, como é o caso da carta de correção, o autor do evento deve numerar de forma seqüencial.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:pattern value="[1-9]|[1][0-9]{0,1}|20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="verEvento">
<xs:annotation>
<xs:documentation>Versão do Tipo do Evento</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:enumeration value="1.00"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="detEvento">
<xs:annotation>
<xs:documentation>Schema XML de validação do evento do cancelamento 1101111</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="descEvento">
<xs:annotation>
<xs:documentation>Descrição do Evento - “Cancelamento”</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:enumeration value="Cancelamento"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="nProt" type="TProt">
<xs:annotation>
<xs:documentation>Número do Protocolo de Status da NF-e. 1 posição (1 – Secretaria de Fazenda Estadual 2 – Receita Federal); 2 posições ano; 10 seqüencial no ano.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="xJust" type="TJust">
<xs:annotation>
<xs:documentation>Justificativa do cancelamento</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="versao" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:enumeration value="1.00"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" use="required">
<xs:annotation>
<xs:documentation>Identificador da TAG a ser assinada, a regra de formação do Id é:
“ID” + tpEvento + chave da NF-e + nSeqEvento</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:ID">
<xs:pattern value="ID[0-9]{52}"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element ref="ds:Signature"/>
</xs:sequence>
<xs:attribute name="versao" type="TVerEvento" use="required"/>
</xs:complexType>
<xs:complexType name="TRetEvento">
<xs:annotation>
<xs:documentation>Tipo retorno do Evento</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="infEvento">
<xs:complexType>
<xs:sequence>
<xs:element name="tpAmb" type="TAmb">
<xs:annotation>
<xs:documentation>Identificação do Ambiente:
1 - Produção
2 - Homologação</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="verAplic" type="TVerAplic">
<xs:annotation>
<xs:documentation>Versão do Aplicativo que recebeu o Evento</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="cOrgao" type="TCOrgaoIBGE">
<xs:annotation>
<xs:documentation>Código do órgão de recepção do Evento. Utilizar a Tabela do IBGE extendida, utilizar 91 para identificar o Ambiente Nacional</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="cStat" type="TStat">
<xs:annotation>
<xs:documentation>Código do status da registro do Evento</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="xMotivo" type="TMotivo">
<xs:annotation>
<xs:documentation>Descrição literal do status do registro do Evento</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="chNFe" type="TChNFe" minOccurs="0">
<xs:annotation>
<xs:documentation>Chave de Acesso NF-e vinculada</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="tpEvento" minOccurs="0">
<xs:annotation>
<xs:documentation>Tipo do Evento vinculado</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:pattern value="[0-9]{6}"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="xEvento" minOccurs="0">
<xs:annotation>
<xs:documentation>Descrição do Evento</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TString">
<xs:minLength value="5"/>
<xs:maxLength value="60"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="nSeqEvento" minOccurs="0">
<xs:annotation>
<xs:documentation>Seqüencial do evento</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:pattern value="[1-9][0-9]{0,1}"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:choice minOccurs="0">
<xs:annotation>
<xs:documentation>Identificação do destinatário da NF-e</xs:documentation>
</xs:annotation>
<xs:element name="CNPJDest" type="TCnpjOpc">
<xs:annotation>
<xs:documentation>CNPJ Destinatário</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CPFDest" type="TCpf">
<xs:annotation>
<xs:documentation>CPF Destiantário</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:element name="emailDest" minOccurs="0">
<xs:annotation>
<xs:documentation>email do destinatário</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TString">
<xs:minLength value="1"/>
<xs:maxLength value="60"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="dhRegEvento">
<xs:annotation>
<xs:documentation>Data e Hora de do recebimento do evento ou do registro do evento formato UTC AAAA-MM-DDThh:mm:ssTZD.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:pattern value="(((20(([02468][048])|([13579][26]))-02-29))|(20[0-9][0-9])-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|(2[0-8])))|((((0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))-(29|30)))))T(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d-0[1-4]:00"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="nProt" type="TProt" minOccurs="0">
<xs:annotation>
<xs:documentation>Número do protocolo de registro do evento</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" use="optional">
<xs:simpleType>
<xs:restriction base="xs:ID">
<xs:pattern value="ID[0-9]{15}"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element ref="ds:Signature" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="versao" type="TVerEvento" use="required"/>
</xs:complexType>
<xs:complexType name="TEnvEvento">
<xs:annotation>
<xs:documentation> Tipo Lote de Envio</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="idLote">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:pattern value="[0-9]{1,15}"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="evento" type="TEvento" maxOccurs="20"/>
</xs:sequence>
<xs:attribute name="versao" type="TVerEnvEvento" use="required"/>
</xs:complexType>
<xs:complexType name="TRetEnvEvento">
<xs:annotation>
<xs:documentation> Tipo Retorno de Lote de Envio</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="idLote">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:pattern value="[0-9]{1,15}"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="tpAmb" type="TAmb">
<xs:annotation>
<xs:documentation>Identificação do Ambiente:
1 - Produção
2 - Homologação</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="verAplic" type="TVerAplic">
<xs:annotation>
<xs:documentation>Versão do Aplicativo que recebeu o Evento</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="cOrgao" type="TCOrgaoIBGE">
<xs:annotation>
<xs:documentation>Código do òrgao que registrou o Evento</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="cStat" type="TStat">
<xs:annotation>
<xs:documentation>Código do status da registro do Evento</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="xMotivo" type="TMotivo">
<xs:annotation>
<xs:documentation>Descrição literal do status do registro do Evento</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="retEvento" type="TRetEvento" minOccurs="0" maxOccurs="20"/>
</xs:sequence>
<xs:attribute name="versao" type="TVerEnvEvento" use="required"/>
</xs:complexType>
<xs:complexType name="TProcEvento">
<xs:annotation>
<xs:documentation>Tipo procEvento</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="evento" type="TEvento"/>
<xs:element name="retEvento" type="TRetEvento"/>
</xs:sequence>
<xs:attribute name="versao" type="TVerEvento" use="required"/>
</xs:complexType>
<xs:simpleType name="TVerEnvEvento">
<xs:annotation>
<xs:documentation>Tipo Versão do EnvEvento</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:pattern value="1\.00"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TVerEvento">
<xs:annotation>
<xs:documentation>Tipo Versão do Evento</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:pattern value="1\.00"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TCOrgaoIBGE">
<xs:annotation>
<xs:documentation>Tipo Código de orgão (UF da tabela do IBGE + 91 RFB)</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:enumeration value="11"/>
<xs:enumeration value="12"/>
<xs:enumeration value="13"/>
<xs:enumeration value="14"/>
<xs:enumeration value="15"/>
<xs:enumeration value="16"/>
<xs:enumeration value="17"/>
<xs:enumeration value="21"/>
<xs:enumeration value="22"/>
<xs:enumeration value="23"/>
<xs:enumeration value="24"/>
<xs:enumeration value="25"/>
<xs:enumeration value="26"/>
<xs:enumeration value="27"/>
<xs:enumeration value="28"/>
<xs:enumeration value="29"/>
<xs:enumeration value="31"/>
<xs:enumeration value="32"/>
<xs:enumeration value="33"/>
<xs:enumeration value="35"/>
<xs:enumeration value="41"/>
<xs:enumeration value="42"/>
<xs:enumeration value="43"/>
<xs:enumeration value="50"/>
<xs:enumeration value="51"/>
<xs:enumeration value="52"/>
<xs:enumeration value="53"/>
<xs:enumeration value="91"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>

31
pynfe/data/XSDs/leiauteInutNFe_v1.07.xsd → pynfe/data/XSDs/leiauteInutNFe_v3.10.xsd

@ -1,7 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<!-- PL_006f versao com correcoes no xServ para tornar a literal INUTILIZAR obrigatoria 21/05/2010 -->
<!-- PL_006c versao com correcoes 24/12/2009 -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema_v1.01.xsd"/>
<xs:include schemaLocation="tiposBasico_v1.02.xsd"/>
<xs:include schemaLocation="tiposBasico_v3.10.xsd"/>
<xs:complexType name="TInutNFe">
<xs:annotation>
<xs:documentation>Tipo Pedido de Inutilização de Numeração da Nota Fiscal Eletrônica</xs:documentation>
@ -20,10 +22,15 @@
2 - Homologação</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="xServ" type="TServ" fixed="INUTILIZAR">
<xs:element name="xServ">
<xs:annotation>
<xs:documentation>Serviço Solicitado</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TServ">
<xs:enumeration value="INUTILIZAR"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="cUF" type="TCodUfIBGE">
<xs:annotation>
@ -42,7 +49,7 @@
</xs:element>
<xs:element name="mod" type="TMod">
<xs:annotation>
<xs:documentation>Modelo da NF-e (55, etc.)</xs:documentation>
<xs:documentation>Modelo da NF-e (55, 65 etc.)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="serie" type="TSerie">
@ -66,7 +73,13 @@
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:ID" use="required"/>
<xs:attribute name="Id" use="required">
<xs:simpleType>
<xs:restriction base="xs:ID">
<xs:pattern value="ID[0-9]{41}"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element ref="ds:Signature"/>
@ -141,7 +154,7 @@
<xs:documentation>Número da NF-e final</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="dhRecbto" type="xs:dateTime" minOccurs="0">
<xs:element name="dhRecbto" type="TDateTimeUTC">
<xs:annotation>
<xs:documentation>Data e hora de recebimento, no formato AAAA-MM-DDTHH:MM:SS. Deve ser preenchida com data e hora da gravação no Banco em caso de Confirmação. Em caso de Rejeição, com data e hora do recebimento do Pedido de Inutilização.</xs:documentation>
</xs:annotation>
@ -171,10 +184,10 @@
</xs:complexType>
<xs:simpleType name="TVerInutNFe">
<xs:annotation>
<xs:documentation>Tipo Versão do leiaute de Inutilização 1.07</xs:documentation>
<xs:documentation>Tipo Versão do leiaute de Inutilização 3.10</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:token">
<xs:pattern value="1\.07"/>
<xs:pattern value="3\.10"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
</xs:schema>

4679
pynfe/data/XSDs/leiauteNFe_v1.10.xsd
File diff suppressed because it is too large
View File

7210
pynfe/data/XSDs/leiauteNFe_v3.10.xsd
File diff suppressed because it is too large
View File

4
pynfe/data/XSDs/nfe_v1.10.xsd → pynfe/data/XSDs/nfe_v3.10.xsd

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.portalfiscal.inf.br/nfe" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="leiauteNFe_v1.10.xsd"/>
<xs:include schemaLocation="leiauteNFe_v3.10.xsd"/>
<xs:element name="NFe" type="TNFe">
<xs:annotation>
<xs:documentation>Nota Fiscal Eletrônica</xs:documentation>
</xs:annotation>
</xs:element>
</xs:schema>
</xs:schema>

9
pynfe/data/XSDs/procCancNFe_v1.07.xsd

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.portalfiscal.inf.br/nfe" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="leiauteCancNFe_v1.07.xsd"/>
<xs:element name="procCancNFe" type="TProcCancNFe">
<xs:annotation>
<xs:documentation>Pedido de Cancelamento de NF-e processado</xs:documentation>
</xs:annotation>
</xs:element>
</xs:schema>

9
pynfe/data/XSDs/procEventoCancNFe_v1.00.xsd

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="leiauteEventoCancNFe_v1.00.xsd"/>
<xs:element name="procEventoNFe" type="TProcEvento">
<xs:annotation>
<xs:documentation>Schema XML de validação do proc Cancelamento</xs:documentation>
</xs:annotation>
</xs:element>
</xs:schema>

8
pynfe/data/XSDs/procInutNFe_v1.07.xsd → pynfe/data/XSDs/procInutNFe_v3.10.xsd

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.portalfiscal.inf.br/nfe" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="leiauteInutNFe_v1.07.xsd"/>
<xs:include schemaLocation="leiauteInutNFe_v3.10.xsd"/>
<xs:element name="ProcInutNFe" type="TProcInutNFe">
<xs:annotation>
<xs:documentation>Pedido de inutilzação de númeração de NF-e processado</xs:documentation>
<xs:documentation>Pedido de inutilização de númeração de NF-e processado</xs:documentation>
</xs:annotation>
</xs:element>
</xs:schema>
</xs:schema>

4
pynfe/data/XSDs/procNFe_v1.10.xsd → pynfe/data/XSDs/procNFe_v3.10.xsd

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.portalfiscal.inf.br/nfe" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="leiauteNFe_v1.10.xsd"/>
<xs:include schemaLocation="leiauteNFe_v3.10.xsd"/>
<xs:element name="nfeProc" type="TNfeProc">
<xs:annotation>
<xs:documentation>NF-e processada</xs:documentation>
</xs:annotation>
</xs:element>
</xs:schema>
</xs:schema>

9
pynfe/data/XSDs/retCancNFe_v1.07.xsd

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="leiauteCancNFe_v1.07.xsd"/>
<xs:element name="retCancNFe" type="TRetCancNFe">
<xs:annotation>
<xs:documentation>Schema XML de validação do retorno Pedido de Cancelamento da Nota Fiscal Eletrônica</xs:documentation>
</xs:annotation>
</xs:element>
</xs:schema>

4
pynfe/data/XSDs/retConsReciNFe_v1.10.xsd → pynfe/data/XSDs/retConsReciNFe_v3.10.xsd

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="leiauteNFe_v1.10.xsd"/>
<xs:include schemaLocation="leiauteNFe_v3.10.xsd"/>
<xs:element name="retConsReciNFe" type="TRetConsReciNFe">
<xs:annotation>
<xs:documentation>Schema XML de validação do retorno do Pedido de Consulta do Recido do Lote de Notas Fiscais Eletrônicas</xs:documentation>
</xs:annotation>
</xs:element>
</xs:schema>
</xs:schema>

4
pynfe/data/XSDs/retConsSitNFe_v1.07.xsd → pynfe/data/XSDs/retConsSitNFe_v3.10.xsd

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="leiauteConsSitNFe_v1.07.xsd"/>
<xs:include schemaLocation="leiauteConsSitNFe_v3.10.xsd"/>
<xs:element name="retConsSitNFe" type="TRetConsSitNFe">
<xs:annotation>
<xs:documentation>Schema XML de validação do retorno da consulta da situação atual da NF-e</xs:documentation>
</xs:annotation>
</xs:element>
</xs:schema>
</xs:schema>

6
pynfe/data/XSDs/retConsStatServ_v1.07.xsd → pynfe/data/XSDs/retConsStatServ_v3.10.xsd

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="leiauteConsStatServ_v1.07.xsd"/>
<xs:include schemaLocation="leiauteConsStatServ_v3.10.xsd"/>
<xs:element name="retConsStatServ" type="TRetConsStatServ">
<xs:annotation>
<xs:documentation>Schema XML de validação do Resultado da Consulta do Status do Serviço</xs:documentation>
</xs:annotation>
</xs:element>
</xs:schema>
</xs:schema>

9
pynfe/data/XSDs/retEnvEventoCancNFe_v1.00.xsd

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="leiauteEventoCancNFe_v1.00.xsd"/>
<xs:element name="retEnvEvento" type="TRetEnvEvento">
<xs:annotation>
<xs:documentation>Schema XML de Retorno da envio do Evento Cancelamento</xs:documentation>
</xs:annotation>
</xs:element>
</xs:schema>

6
pynfe/data/XSDs/retEnviNFe_v1.10.xsd → pynfe/data/XSDs/retEnviNFe_v3.10.xsd

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="leiauteNFe_v1.10.xsd"/>
<xs:include schemaLocation="leiauteNFe_v3.10.xsd"/>
<xs:element name="retEnviNFe" type="TRetEnviNFe">
<xs:annotation>
<xs:documentation>Schema XML de validação do retorno do Pedido de Concessão de Autorização da Nota Fiscal Eletrônica</xs:documentation>
</xs:annotation>
</xs:element>
</xs:schema>
</xs:schema>

6
pynfe/data/XSDs/retInutNFe_v1.07.xsd → pynfe/data/XSDs/retInutNFe_v3.10.xsd

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="leiauteInutNFe_v1.07.xsd"/>
<xs:include schemaLocation="leiauteInutNFe_v3.10.xsd"/>
<xs:element name="retInutNFe" type="TRetInutNFe">
<xs:annotation>
<xs:documentation>Schema XML de validação do retorno do Pedido de Inutilização de Numeração da Nota Fiscal Eletrônica</xs:documentation>
</xs:annotation>
</xs:element>
</xs:schema>
</xs:schema>

123
pynfe/data/XSDs/tiposBasico_v1.02.xsd → pynfe/data/XSDs/tiposBasico_v3.10.xsd

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- PL_005d - 11/08/09 - alteração no enumeration do tpais -->
<!-- PL_005b - 24/10/08 - acrescentado a tabela do tpais e outras alterações para eliminar os brancos no início e fim do campo -->
<!-- PL_008 - 30/07/2013- NT 2013/005 -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:nfe="http://www.portalfiscal.inf.br/nfe" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:simpleType name="TCodUfIBGE">
<xs:annotation>
@ -52,6 +51,7 @@
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:maxLength value="44"/>
<xs:pattern value="[0-9]{44}"/>
</xs:restriction>
</xs:simpleType>
@ -61,6 +61,7 @@
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:maxLength value="15"/>
<xs:pattern value="[0-9]{15}"/>
</xs:restriction>
</xs:simpleType>
@ -70,6 +71,7 @@
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:maxLength value="15"/>
<xs:pattern value="[0-9]{15}"/>
</xs:restriction>
</xs:simpleType>
@ -79,6 +81,7 @@
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:maxLength value="3"/>
<xs:pattern value="[0-9]{3}"/>
</xs:restriction>
</xs:simpleType>
@ -88,6 +91,7 @@
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:maxLength value="14"/>
<xs:pattern value="[0-9]{14}"/>
</xs:restriction>
</xs:simpleType>
@ -97,6 +101,7 @@
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:maxLength value="14"/>
<xs:pattern value="[0-9]{3,14}"/>
</xs:restriction>
</xs:simpleType>
@ -106,6 +111,7 @@
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:maxLength value="14"/>
<xs:pattern value="[0-9]{0}|[0-9]{14}"/>
</xs:restriction>
</xs:simpleType>
@ -115,6 +121,7 @@
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:maxLength value="11"/>
<xs:pattern value="[0-9]{11}"/>
</xs:restriction>
</xs:simpleType>
@ -124,111 +131,130 @@
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:maxLength value="11"/>
<xs:pattern value="[0-9]{3,11}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TDec_0302">
<xs:simpleType name="TDec_0204v">
<xs:annotation>
<xs:documentation>Tipo Decimal com 5 dígitos, sendo 3 de corpo e 2 decimais</xs:documentation>
<xs:documentation>Tipo Decimal com até 2 dígitos inteiros, podendo ter de 1 até 4 decimais</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:pattern value="0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2})?"/>
<xs:pattern value="0|0\.[0-9]{1,4}|[1-9]{1}[0-9]{0,1}(\.[0-9]{1,4})?"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TDec_0302Opc">
<xs:simpleType name="TDec_0302a04">
<xs:annotation>
<xs:documentation>Tipo Decimal com 5 dígitos, sendo 3 de corpo e 2 decimais, utilizado em tags opcionais</xs:documentation>
<xs:documentation>Tipo Decimal com até 3 dígitos inteiros, podendo ter de 2 até 4 decimais</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:pattern value="0\.[0-9]{1}[1-9]{1}|0\.[1-9]{1}[0-9]{1}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2})?"/>
<xs:pattern value="0|0\.[0-9]{2,4}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2,4})?"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TDec_0803">
<xs:simpleType name="TDec_0302a04Opc">
<xs:annotation>
<xs:documentation>Tipo Decimal com 11 dígitos, sendo 8 de corpo e 3 decimais</xs:documentation>
<xs:documentation>Tipo Decimal com até 3 dígitos inteiros e 2 até 4 decimais. Utilizados em TAGs opcionais, não aceita valor zero.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:pattern value="0|0\.[0-9]{3}|[1-9]{1}[0-9]{0,7}(\.[0-9]{3})?"/>
<xs:pattern value="0\.[0-9]{2,4}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2,4})?"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TDec_0803Opc">
<xs:simpleType name="TDec_0302Max100">
<xs:annotation>
<xs:documentation>Tipo Decimal com 11 dígitos, sendo 8 de corpo e 3 decimais utilizado em tags opcionais</xs:documentation>
<xs:documentation>Tipo Decimal com 3 inteiros (no máximo 100), com 2 decimais</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:pattern value="0\.[1-9]{1}[0-9]{2}|0\.[0-9]{2}[1-9]{1}|0\.[0-9]{1}[1-9]{1}[0-9]{1}|[1-9]{1}[0-9]{0,7}(\.[0-9]{3})?"/>
<xs:pattern value="0(\.[0-9]{2})?|100(\.00)?|[1-9]{1}[0-9]{0,1}(\.[0-9]{2})?"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TDec_0804">
<xs:simpleType name="TDec_0803v">
<xs:annotation>
<xs:documentation>Tipo Decimal com 12 dígitos, sendo 8 de corpo e 4decimais</xs:documentation>
<xs:documentation>Tipo Decimal com 8 inteiros, podendo ter de 1 até 3 decimais</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:pattern value="0|0\.[0-9]{4}|[1-9]{1}[0-9]{0,7}(\.[0-9]{4})?"/>
<xs:pattern value="0|0\.[0-9]{3}|[1-9]{1}[0-9]{0,7}(\.[0-9]{1,3})?"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TDec_0804Opc">
<xs:simpleType name="TDec_1104">
<xs:annotation>
<xs:documentation>Tipo Decimal com 12 dígitos, sendo 8 de corpo e 4 decimais, utilizado em tags opcionais</xs:documentation>
<xs:documentation>Tipo Decimal com 11 inteiros, podendo ter 4 decimais</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:pattern value="0\.[1-9]{1}[0-9]{3}|0\.[0-9]{3}[1-9]{1}|0\.[0-9]{2}[1-9]{1}[0-9]{1}|0\.[0-9]{1}[1-9]{1}[0-9]{2}|[1-9]{1}[0-9]{0,7}(\.[0-9]{4})?"/>
<xs:pattern value="0|0\.[0-9]{4}|[1-9]{1}[0-9]{0,10}(\.[0-9]{4})?"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TDec_1104">
<xs:simpleType name="TDec_1104v">
<xs:annotation>
<xs:documentation>Tipo Decimal com 15 dígitos, sendo 11 de corpo e 4 decimais</xs:documentation>
<xs:documentation>Tipo Decimal com 11 inteiros, podendo ter de 1 até 4 decimais</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:pattern value="0|0\.[0-9]{4}|[1-9]{1}[0-9]{0,10}(\.[0-9]{4})?"/>
<xs:pattern value="0|0\.[0-9]{1,4}|[1-9]{1}[0-9]{0,10}|[1-9]{1}[0-9]{0,10}(\.[0-9]{1,4})?"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TDec_1104Opc">
<xs:annotation>
<xs:documentation>Tipo Decimal com 15 dígitos, sendo 11 de corpo e 4 decimais, utilizado em tags opcionais</xs:documentation>
<xs:documentation>Tipo Decimal com 11 inteiros, podendo ter 4 decimais (utilizado em tags opcionais)</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:pattern value="0\.[1-9]{1}[0-9]{3}|0\.[0-9]{3}[1-9]{1}|0\.[0-9]{2}[1-9]{1}[0-9]{1}|0\.[0-9]{1}[1-9]{1}[0-9]{2}|[1-9]{1}[0-9]{0,10}(\.[0-9]{4})?"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TDec_1110v">
<xs:annotation>
<xs:documentation>Tipo Decimal com 11 inteiros, podendo ter de 1 até 10 decimais</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:pattern value="0|0\.[0-9]{1,10}|[1-9]{1}[0-9]{0,10}|[1-9]{1}[0-9]{0,10}(\.[0-9]{1,10})?"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TDec_1203">
<xs:annotation>
<xs:documentation>Tipo Decimal com 15 dígitos, sendo 12 de corpo e 3 decimais</xs:documentation>
<xs:documentation>Tipo Decimal com 12 inteiros, podendo ter 3 decimais</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:pattern value="0|0\.[0-9]{3}|[1-9]{1}[0-9]{0,11}(\.[0-9]{3})?"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TDec_1203Opc">
<xs:simpleType name="TDec_1204">
<xs:annotation>
<xs:documentation>Tipo Decimal com 15 dígitos, sendo 12 de corpo e 3 decimais, utilizado em tags opcionais</xs:documentation>
<xs:documentation>Tipo Decimal com 12 inteiros e 4 decimais</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:pattern value="0\.[1-9]{1}[0-9]{2}|0\.[0-9]{2}[1-9]{1}|0\.[0-9]{1}[1-9]{1}[0-9]{1}|[1-9]{1}[0-9]{0,11}(\.[0-9]{3})?"/>
<xs:pattern value="0|0\.[0-9]{1,4}|[1-9]{1}[0-9]{0,11}|[1-9]{1}[0-9]{0,11}(\.[0-9]{4})?"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TDec_1204">
<xs:simpleType name="TDec_1204v">
<xs:annotation>
<xs:documentation>Tipo Decimal com 16 dígitos, sendo 12 de corpo e 4 decimais</xs:documentation>
<xs:documentation>Tipo Decimal com 12 inteiros de 1 até 4 decimais</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:pattern value="0|0\.[0-9]{4}|[1-9]{1}[0-9]{0,11}(\.[0-9]{4})?"/>
<xs:pattern value="0|0\.[0-9]{1,4}|[1-9]{1}[0-9]{0,11}|[1-9]{1}[0-9]{0,11}(\.[0-9]{1,4})?"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TDec_1204Opc">
<xs:annotation>
<xs:documentation>Tipo Decimal com 16 dígitos, sendo 12 de corpo e 4 decimais, utilizado em tags opcionais</xs:documentation>
<xs:documentation>Tipo Decimal com 12 inteiros com 1 até 4 decimais</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:pattern value="0\.[0-9]{1,4}|[1-9]{1}[0-9]{0,11}|[1-9]{1}[0-9]{0,11}(\.[0-9]{1,4})?"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TDec_1204temperatura">
<xs:annotation>
<xs:documentation>Tipo Decimal com 12 inteiros, 1 a 4 decimais</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
@ -255,11 +281,12 @@
</xs:simpleType>
<xs:simpleType name="TIeDest">
<xs:annotation>
<xs:documentation>Tipo Inscrição Estadual do Destinatário // aperfeiçoado em 24/10/08 para aceitar vazio, ISENTO ou PR9999 a PR99999999</xs:documentation>
<xs:documentation>Tipo Inscrição Estadual do Destinatário // alterado para aceitar vazio ou ISENTO - maio/2010 v2.0</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:pattern value="[0-9]{0,14}|ISENTO|PR[0-9]{4,8}"/>
<xs:maxLength value="14"/>
<xs:pattern value="ISENTO|[0-9]{2,14}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TIeST">
@ -268,6 +295,7 @@
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:maxLength value="14"/>
<xs:pattern value="[0-9]{2,14}"/>
</xs:restriction>
</xs:simpleType>
@ -277,6 +305,7 @@
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:maxLength value="14"/>
<xs:pattern value="[0-9]{2,14}|ISENTO"/>
</xs:restriction>
</xs:simpleType>
@ -287,6 +316,7 @@
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:enumeration value="55"/>
<xs:enumeration value="65"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TNF">
@ -320,8 +350,11 @@ acrescentado:
9946 A DESIGNAR
9950 BANCOS CENTRAIS
9970 ORGANIZACOES INTERNACIONAIS
// PL_005b - 24/10/08
// Acrescentado:
4235 - LEBUAN,ILHAS
4885 - MAYOTTE (ILHAS FRANCESAS)
// NT2011/004
acrescentado a tabela de paises</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
@ -468,6 +501,7 @@ acrescentado:
<xs:enumeration value="4030"/>
<xs:enumeration value="4111"/>
<xs:enumeration value="4200"/>
<xs:enumeration value="4235"/>
<xs:enumeration value="4260"/>
<xs:enumeration value="4278"/>
<xs:enumeration value="4316"/>
@ -491,6 +525,7 @@ acrescentado:
<xs:enumeration value="4774"/>
<xs:enumeration value="4855"/>
<xs:enumeration value="4880"/>
<xs:enumeration value="4885"/>
<xs:enumeration value="4901"/>
<xs:enumeration value="4936"/>
<xs:enumeration value="4944"/>
@ -751,4 +786,22 @@ acrescentado:
<xs:pattern value="(((20(([02468][048])|([13579][26]))-02-29))|(20[0-9][0-9])-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|(2[0-8])))|((((0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))-(29|30)))))"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TTime">
<xs:annotation>
<xs:documentation> Tipo hora HH:MM:SS // tipo acrescentado na v2.0</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:pattern value="(([0-1][0-9])|([2][0-3])):([0-5][0-9]):([0-5][0-9])"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TDateTimeUTC">
<xs:annotation>
<xs:documentation>Data e Hora, formato UTC (AAAA-MM-DDThh:mm:ssTZD, onde TZD = +hh:mm ou -hh:mm)</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:pattern value="(((20(([02468][048])|([13579][26]))-02-29))|(20[0-9][0-9])-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|(2[0-8])))|((((0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))-(29|30)))))T(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d[\-,\+](0[0-9]|10|11|12):00"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>

2
pynfe/data/XSDs/xmldsig-core-schema_v1.01.xsd

@ -95,4 +95,4 @@
<enumeration value="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
</restriction>
</simpleType>
</schema>
</schema>

8
pynfe/processamento/comunicacao.py

@ -30,12 +30,12 @@ class ComunicacaoSefaz(Comunicacao):
_versao = VERSAO_PADRAO
_assinatura = AssinaturaA1
def autorizacao(self, modelo, nota_fiscal):
def autorizacao(self, modelo, nota_fiscal, idlote=1):
# url do serviço
url = self._get_url(modelo=modelo, consulta='AUTORIZACAO')
# Monta XML do corpo da requisição
raiz = etree.Element('enviNFe', xmlns=NAMESPACE_NFE, versao=VERSAO_PADRAO)
etree.SubElement(raiz, 'idLote').text = str(2) # numero autoincremental gerado pelo sistema
etree.SubElement(raiz, 'idLote').text = str(idlote) # numero autoincremental gerado pelo sistema
etree.SubElement(raiz, 'indSinc').text = str(1) # 0 para assincrono, 1 para sincrono
raiz.append(nota_fiscal)
# Monta XML para envio da requisição
@ -78,13 +78,13 @@ class ComunicacaoSefaz(Comunicacao):
return self._post(url, xml)
def cancelar(self, modelo, evento):
def cancelar(self, modelo, evento, idlote=1):
""" Envia um evento de cancelamento de nota fiscal """
# url do serviço
url = self._get_url(modelo=modelo, consulta='EVENTOS')
# Monta XML do corpo da requisição
raiz = etree.Element('envEvento', versao='1.00', xmlns=NAMESPACE_NFE)
etree.SubElement(raiz, 'idLote').text = str(1) # numero autoincremental gerado pelo sistema
etree.SubElement(raiz, 'idLote').text = str(idlote) # numero autoincremental gerado pelo sistema
raiz.append(evento)
xml = self._construir_xml_status_pr(cabecalho=self._cabecalho_soap(metodo='RecepcaoEvento'), metodo='RecepcaoEvento', dados=raiz)
return self._post(url, xml)

Loading…
Cancel
Save