def inutilizar_nota(self, cnpj, serie, numero, justificativa, cert, key, versao=u'2.00',
                     ambiente=2, estado=u'MG', tipo_contingencia=False):
     """
     Realiza a inutilização do número de uma nota fiscal
     @param cnpj:cnpj do emitente
     @param serie: serie da nfe
     @param numero: número da nota que deseja inutilizar
     @param justificativa: justificativa da inutilização 
     @param cert: string do certificado digital A1,
     @param key: chave privada do certificado digital,
     @param versao: versão da nfe,
     @param ambiente: ambiente da consulta, pode ser 1 para o ambiente de produção e 2 para homologação,
     @param estado: estado em que realizará o processamento,
     @param tipo_contingencia: habilita a contigência .
     @return: Dicionário com o envio,resposta e reason.
     """
     p = ProcessadorNFe()
     p.versao = versao
     p.estado = estado
     p.ambiente = ambiente
     p.certificado.cert_str = cert
     p.certificado.key_str = key
     p.salvar_arquivos = False
     p.tipo_contingencia = tipo_contingencia
     p.caminho = u''
     processo = p.inutilizar_nota(cnpj=cnpj, serie=serie, numero_inicial=numero, justificativa=justificativa)
     processo.envio.xml
     processo.resposta.xml
     processo.resposta.reason
     vals = {'envio': processo.envio.xml,
             'resposta': processo.resposta.xml,
             'status_resposta': processo.resposta.infInut.cStat.valor,
             'status_motivo': processo.resposta.infInut.xMotivo.valor,
             'reason': processo.resposta.reason}
     return vals
Esempio n. 2
0
 def inutilizar_faixa_numeracao(self,cnpj,serie,numero_inicial,numero_final,justificativa,cert,key,versao=u'2.00',ambiente=2,estado=u'MG',scan=False):
     
     """
     Realiza a inutilização de faixa de numeração de nota fiscal
     @param cnpj:cnpj do emitente
     @param serie: série da nfe
     @param numero_inicial: faixa inicial da nota que deseja inutilizar
     @param numero_final: faixa final da nota que deseja inutilizar
     @param justificativa: justificativa da inutilização 
     @param cert: string do certificado digital A1,
     @param key: chave privada do certificado digital,
     @param versao: versão da nfe,
     @param ambiente: ambiente da consulta, pode ser 1 para o ambiente de produção e 2 para homologação,
     @param estado: estado em que realizará o processamento,
     @param scan: habilita a contigência SCAN. 
     @return: Dicionário com o envio,resposta e reason.
     """
     
     p = ProcessadorNFe()
     p.versao= u'2.00'
     p.estado= u'MG'
     p.ambiente= 2
     p.certificado.cert_str=cert
     p.certificado.key_str=key
     p.salvar_arquivos=False
     p.contingencia_SCAN=scan
     p.caminho = u''
     processo = p.inutilizar_nota(cnpj=cnpj,serie=serie,numero_inicial=numero_inicial,numero_final=numero_final,justificativa=justificativa)
     processo.envio.xml
     processo.resposta.xml
     processo.resposta.reason
     
     return {'envio':processo.envio.xml,'resposta':processo.resposta.xml,'reason':processo.resposta.reason}
Esempio n. 3
0
    def inutilizar_faixa_numeracao(self,
                                   cnpj,
                                   serie,
                                   numero_inicial,
                                   numero_final,
                                   justificativa,
                                   cert,
                                   key,
                                   versao=u'2.00',
                                   ambiente=2,
                                   estado=u'MG',
                                   tipo_contingencia=False):
        """
        Realiza a inutilização de faixa de numeração de nota fiscal
        @param cnpj:cnpj do emitente
        @param serie: série da nfe
        @param numero_inicial: faixa inicial da nota que deseja inutilizar
        @param numero_final: faixa final da nota que deseja inutilizar
        @param justificativa: justificativa da inutilização 
        @param cert: string do certificado digital A1,
        @param key: chave privada do certificado digital,
        @param versao: versão da nfe,
        @param ambiente: ambiente da consulta, pode ser 1 para o ambiente de produção e 2 para homologação,
        @param estado: estado em que realizará o processamento,
        @param tipo_contingencia: habilita a contigência .
        @return: Dicionário com o envio,resposta e reason.
        """

        p = ProcessadorNFe()
        p.versao = versao
        p.estado = estado
        p.ambiente = ambiente
        p.certificado.cert_str = cert
        p.certificado.key_str = key
        p.salvar_arquivos = False
        p.tipo_contingencia = tipo_contingencia
        p.caminho = u''
        processo = p.inutilizar_nota(cnpj=cnpj,
                                     serie=serie,
                                     numero_inicial=numero_inicial,
                                     numero_final=numero_final,
                                     justificativa=justificativa)
        processo.envio.xml
        processo.resposta.xml
        processo.resposta.reason
        vals = {
            'envio': processo.envio.xml,
            'resposta': processo.resposta.xml,
            'status_resposta': processo.resposta.infInut.cStat.valor,
            'status_motivo': processo.resposta.infInut.xMotivo.valor,
            'reason': processo.resposta.reason
        }
        if processo.resposta.infInut.cStat.valor == '102':
            vals['protocolo'] = processo.resposta.infInut.nProt.valor

        return vals