Logo Python

Emita Nota Fiscal Eletrônica pelo seu sistema Python utilizando a nossa API

Python é uma linguagem de programação de alto nível, interpretada, de script, imperativa, orientada a objetos, funcional, de tipagem dinâmica e forte. Foi lançada por Guido van Rossum em 1991.

A emissão de NFe, NFSe ou NFCe utilizando Python pode ser feita de forma direta através da comunicação sem intermediários com as receitas estaduais ou prefeituras, porém existem inúmeras vantagens em utilizar uma API de terceiros para esta emissão

A Focus NFe possui uma API simples e completa para emissão destes documentos fiscais, abaixo você irá encontrar exemplos funcionais de código-fonte em Python utilizando a nossa API.

                        
# Faça o download e instalação da biblioteca requests, através do python-pip.
import json
import requests

'''
Para ambiente de produção use a variável abaixo:
url = "https://api.focusnfe.com.br"
'''
url = "https://homologacao.focusnfe.com.br/v2/nfe"

# Substituir pela sua identificação interna da nota
ref = {"ref":"12345"}

token="token_enviado_pelo_suporte"

'''
Usamos dicionarios para armazenar os campos e valores que em seguida,
serao convertidos em JSON e enviados para nossa API
'''
nfe = {}
itens = {}
notas_referenciadas ={}

nfe["natureza_operacao"] = "Venda"
nfe["forma_pagamento"] = "0"
nfe["data_emissao"] = "2018-03-07T10:20:00-03:00"
nfe["tipo_documento"] = "0"
nfe["local_destino"] = "1"
nfe["finalidade_emissao"] = "4"
nfe["consumidor_final"] = "0"
nfe["presenca_comprador"] = "9"
nfe["cnpj_emitente"] = "99999999999999"
nfe["logradouro_emitente"] = "R. Padre Pigato"
nfe["numero_emitente"] = "9236"
nfe["bairro_emitente"] = "Santa Gula"
nfe["municipio_emitente"] = "Curitiba"
nfe["uf_emitente"] = "PR"
nfe["cep_emitente"] = "82320999"
nfe["telefone_emitente"] = "4199999999"
nfe["inscricao_estadual_emitente"] = "999999999"
nfe["regime_tributario_emitente"] = "1"
nfe["cpf_destinatario"] = "99999999999"
nfe["nome_destinatario"] = "NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL"
nfe["logradouro_destinatario"] = "Rua Prof. Yolanda Romeu Lugarini"
nfe["numero_destinatario"] = "1"
nfe["bairro_destinatario"] = "JD SANTA CECILIA"
nfe["municipio_destinatario"] = "CAMPO MAGRO"
nfe["uf_destinatario"] = "PR"
nfe["cep_destinatario"] = "83000000"
nfe["indicador_inscricao_estadual_destinatario"] = "2"
nfe["icms_base_calculo"] = "0"
nfe["icms_valor_total"] = "0"
nfe["icms_valor_total_desonerado"] = "0"
nfe["icms_base_calculo_st"] = "0"
nfe["icms_valor_total_st"] = "0"
nfe["valor_produtos"] = "1.00"
nfe["valor_frete"] = "0"
nfe["valor_seguro"] = "0"
nfe["valor_desconto"] = "0"
nfe["valor_total_ii"] = "0"
nfe["valor_ipi"] = "0"
nfe["valor_pis"] = "0"
nfe["valor_cofins"] = "0"
nfe["valor_outras_despesas"] = "0"
nfe["valor_total"] = "1.00"
nfe["modalidade_frete"] = "0"
notas_referenciadas["chave_nfe"] = 41170599999999999999550020000001111337477298
itens["numero_item"] = "1"
itens["codigo_produto"] = "ESSP"
itens["descricao"] = "Carrinho de corrida"
itens["cfop"] = "1202"
itens["unidade_comercial"] = "UN"
itens["quantidade_comercial"] = "1.00"
itens["valor_unitario_comercial"] = "1.00"
itens["valor_bruto"] = "1.00"
itens["valor_desconto"] = "0"
itens["unidade_tributavel"] = "UN"
itens["codigo_ncm"] = "49119900"
itens["quantidade_tributavel"] = "1.00"
itens["valor_unitario_tributavel"] = "1.00"
itens["inclui_no_total"] = "1"
itens["icms_origem"] = "0"
itens["icms_situacao_tributaria"] = "103"
itens["pis_situacao_tributaria"] = "99"
itens["cofins_situacao_tributaria"] = "99"

# Adicionamos os dados das variaveis itens e notas_referenciadas como listas ao dicionario principal.
nfe["items"] = [itens]
nfe["notas_referenciadas"] = [notas_referenciadas]

r = requests.post(url, params=ref, data=json.dumps(nfe), auth=(token,""))

# Mostra na tela o codigo HTTP da requisicao e a mensagem de retorno da API
print(r.status_code, r.text)                        
                        
                      

                        
# Faça o download e instalação da biblioteca requests, através do python-pip.
import requests

'''
Para ambiente de produção use a variável abaixo:
url = "https://api.focusnfe.com.br"
'''
url = "https://homologacao.focusnfe.com.br/v2/nfe/"

# Substituir pela sua identificação interna da nota
ref = "12345"

token="token_enviado_pelo_suporte"

# Use este parametro para obter mais informacoes em suas consultas
completa = "completa=1"

r = requests.get(url+ref, params=completa, auth=(token,""))

# Mostra na tela o codigo HTTP da requisicao e a mensagem de retorno da API
print(r.status_code, r.text)
                        
                      

                        
# Faça o download e instalação da biblioteca requests, através do python-pip.
import json
import requests

'''
Para ambiente de produção use a variável abaixo:
url = "https://api.focusnfe.com.br"
'''
url = "https://homologacao.focusnfe.com.br/v2/nfe/"

# Substituir pela sua identificação interna da nota
ref = "12345"

token="token_enviado_pelo_suporte"

'''
Usamos um dicionario para armazenar os campos e valores que em seguida,
serao convertidos a JSON e enviados para nossa API
'''
justificativa={}
justificativa["justificativa"] = "Sua justificativa aqui!"

r = requests.delete(url+ref, data=json.dumps(justificativa), auth=(token,""))

# Mostra na tela o codigo HTTP da requisicao e a mensagem de retorno da API
print(r.status_code, r.text)
                        
                      

                        
# Faça o download e instalação da biblioteca requests, através do python-pip.
import json
import requests

'''
Para ambiente de produção use a variável abaixo:
url = "https://api.focusnfe.com.br"
'''
url = "https://homologacao.focusnfe.com.br/v2/nfse"

# Substituir pela sua identificação interna da nota
ref = {"ref":"12345"}

token="token_enviado_pelo_suporte"

'''
Usamos dicionarios para armazenar os campos e valores que em seguida,
serao convertidos em JSON e enviados para nossa API
'''
nfse = {}
nfse["prestador"] = {}
nfse["servico"] = {}
nfse["tomador"] = {}
nfse["tomador"]["endereco"] = {}

nfse["razao_social"] = "ACME INK"
nfse["data_emissao"] = "2018-02-26T12:00:00-03:00"
nfse["incentivador_cultural"] =  "false"
nfse["natureza_operacao"] = "1"
nfse["optante_simples_nacional"] = "true"
nfse["status"] = "1"
nfse["prestador"]["cnpj"] = "99999999999999"
nfse["prestador"]["inscricao_municipal"] = "99999999"
nfse["prestador"]["codigo_municipio"] = "9999999"
nfse["servico"]["aliquota"] = "2.92"
nfse["servico"]["base_calculo"] = "1.00"
nfse["servico"]["discriminacao"] = "SERVICOS E MAO DE OBRA"
nfse["servico"]["iss_retido"] = "0"
nfse["servico"]["item_lista_servico"] = "1412"
nfse["servico"]["valor_iss"] = "11.68"
nfse["servico"]["valor_liquido"] = "1.00"
nfse["servico"]["valor_servicos"] = "1.00"
nfse["tomador"]["cnpj"] = "99999999999999"
nfse["tomador"]["razao_social"] = "Parkinson da silva coelho JR"
nfse["tomador"]["endereco"]["bairro"] = "São Miriti"
nfse["tomador"]["endereco"]["cep"] = "31999-000"
nfse["tomador"]["endereco"]["codigo_municipio"] = "9999999"
nfse["tomador"]["endereco"]["logradouro"] = "João Batista Netos"
nfse["tomador"]["endereco"]["numero"] = "34"
nfse["tomador"]["endereco"]["uf"] = "MG"

#print (json.dumps(nfse))
r = requests.post(url, params=ref, data=json.dumps(nfse), auth=(token,""))

# Mostra na tela o codigo HTTP da requisicao e a mensagem de retorno da API
print(r.status_code, r.text)                        
                        
                      

                        
# Faça o download e instalação da biblioteca requests, através do python-pip.
import requests

'''
Para ambiente de produção use a variável abaixo:
url = "https://api.focusnfe.com.br"
'''
url = "https://homologacao.focusnfe.com.br/v2/nfse/"

# Substituir pela sua identificação interna da nota
ref = "12345"

token="token_enviado_pelo_suporte"

r = requests.get(url+ref+".json", params=completa, auth=(token,""))

# Mostra na tela o codigo HTTP da requisicao e a mensagem de retorno da API
print(r.status_code, r.text)
                        
                      

                        
# Faça o download e instalação da biblioteca requests, através do python-pip.
import json
import requests

'''
Para ambiente de produção use a variável abaixo:
url = "https://api.focusnfe.com.br"
'''
url = "https://homologacao.focusnfe.com.br/v2/nfse/"

# Substituir pela sua identificação interna da nota
ref = "12345"

token="token_enviado_pelo_suporte"

'''
Usamos um dicionario para armazenar os campos e valores que em seguida,
serao convertidos a JSON e enviados para nossa API
'''
justificativa={}
justificativa["justificativa"] = "Sua justificativa aqui!"

r = requests.delete(url+ref+".json", data=json.dumps(justificativa), auth=(token,""))

# Mostra na tela o codigo HTTP da requisicao e a mensagem de retorno da API
print(r.status_code, r.text)
                        
                      

                        
# Faça o download e instalação da biblioteca requests, através do python-pip.
import json
import requests

'''
Para ambiente de produção use a variável abaixo:
url = "https://api.focusnfe.com.br"
'''
url = "https://homologacao.focusnfe.com.br/v2/nfce"

# Substituir pela sua identificação interna da nota
ref = {"ref":"1234"}

token="token_enviado_pelo_suporte"

'''
Usamos dicionarios para armazenar os campos e valores que em seguida,
serao convertidos em JSON e enviados para nossa API
'''
nfce = {}
items = {}
formas_pagamento={}

nfce["cnpj_emitente"] = "99999999999999"
nfce["nome_emitente"] = "Acme ink"
nfce["nome_fantasia_emitente"] = "Acme ink"
nfce["logradouro_emitente"] = "Rua Tupiniquim"
nfce["numero_emitente"] = "4000"
nfce["bairro_emitente"] = "Brás"
nfce["municipio_emitente"] = "São Paulo"
nfce["uf_emitente"] = "SP"
nfce["cep_emitente"] = "99997-000"
nfce["inscricao_estadual_emitente"] = "111111111"
nfce["data_emissao"] = "2018-03-06T17:11:00.939-03:00"
nfce["natureza_operacao"] = "Venda ao Consumidor"
nfce["tipo_documento"] = "1"
nfce["presenca_comprador"] = "1"
nfce["finalidade_emissao"] = "1"
nfce["modalidade_frete"] = "9"
nfce["forma_pagamento"] = "0"
nfce["nome_destinatario"] = "NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL"
nfce["cpf_destinatario"] = "99999999999"
nfce["informacoes_adicionais_contribuinte"] = "Informacoes adicionais do contribuinte"
nfce["valor_produtos"] = "15.0"
nfce["valor_desconto"] = "0.00"
nfce["valor_total"] = "15.0"
formas_pagamento["forma_pagamento"] = "4"
formas_pagamento["valor_pagamento"] = "15.00"
formas_pagamento["bandeira_operadora"] = "7"
formas_pagamento["troco"] = "0"
itens["numero_item"] = "1"
itens["codigo_produto"] = "353"
itens["descricao"] = "NOTA FISCAL EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL"
itens["codigo_ncm"] = "48024090"
itens["cfop"] = "5102"
itens["valor_desconto"] = "0.00"
itens["icms_origem"] = "0"
itens["icms_situacao_tributaria"] = "400"
itens["unidade_comercial"] = "UN"
itens["unidade_tributavel"] = "UN"
itens["quantidade_comercial"] = "10"
itens["quantidade_tributavel"] = "10"
itens["valor_unitario_comercial"] = "1.5"
itens["valor_unitario_tributavel"] = "1.5"
itens["valor_bruto"] = "15.00"

# Adicionamos os dados das variaveis itens e formas_pagamento como listas ao dicionario principal.
nfce["items"] = [itens]
nfce["formas_pagamento"] = [formas_pagamento]

r = requests.post(url, params=ref, data=json.dumps(nfce), auth=(token,""))

# Mostra na tela o codigo HTTP da requisicao e a mensagem de retorno da API
print(r.status_code, r.text)
                        
                      

                        
# Faça o download e instalação da biblioteca requests, através do python-pip.
import requests

'''
Para ambiente de produção use a variável abaixo:
url = "https://api.focusnfe.com.br"
'''
url = "https://homologacao.focusnfe.com.br/v2/nfce/"

# Substituir pela sua identificação interna da nota
ref = "1234"

token="token_enviado_pelo_suporte"

# Use este parametro para obter mais informacoes em suas consultas
completa = "completa=1"

r = requests.get(url+ref, params=completa, auth=(token,""))

# Mostra na tela o codigo HTTP da requisicao e a mensagem de retorno da API
print(r.status_code, r.text)l
                        
                      

                        
# Faça o download e instalação da biblioteca requests, através do python-pip.
import json
import requests

'''
Para ambiente de produção use a variável abaixo:
url = "https://api.focusnfe.com.br"
'''
url = "https://homologacao.focusnfe.com.br/v2/nfce/"

# Substituir pela sua identificação interna da nota
ref = "12345"

token="token_enviado_pelo_suporte"

'''
Usamos um dicionario para armazenar os campos e valores que em seguida,
serao convertidos a JSON e enviados para nossa API
'''
justificativa={}
justificativa["justificativa"] = "Sua justificativa aqui!"

r = requests.delete(url+ref, data=json.dumps(justificativa), auth=(token,""))

# Mostra na tela o codigo HTTP da requisicao e a mensagem de retorno da API
print(r.status_code, r.text)
                        
                      

Documentação

Nós oferecemos uma REST API com integração em formato JSON para você integrar seu sistema de forma rápida e fácil, independente da linguagem que utiliza.

Todos os dias mais de 1600 empresas contam com a Focus NFe para emitir seus documentos fiscais, conheça algumas delas.

Logo da Magazine Luiza Marketing Place, um Cliente Focus NFe
Logo da ifood, um Cliente Focus NFe
Logo da Survey Monkey, um Cliente Focus NFe
Logo da Printi, um Cliente Focus NFe
Logo da Editora Europa, um Cliente Focus  NFe
Logo da NHS, um Cliente Focus NFe
Logo da Guichê Virtual, um Cliente Focus NFe
Logo da Wpensar, um Cliente Focus NFe
Logo da BierHeld, um Cliente Focus NFe
Logo da Liv Up, um Cliente Focus NFe
Logo da Dress e Go, um Cliente Focus NFe
Logo da Impact Hub, um Cliente Focus NFe

Quer saber mais sobre nossas APIs? Entre em contato conosco!

Entrar em Contato