-
Notifications
You must be signed in to change notification settings - Fork 199
Emissão de NFSe (lote Ginfes)
Junior Tada edited this page Jan 5, 2016
·
11 revisions
Exemplo de envio de NFS-e lote Ginfes
from pynfe.processamento.serializacao import SerializacaoNfse
from pynfe.processamento.assinatura import AssinaturaA1
from pynfe.processamento.comunicacao import ComunicacaoNfse
from pynfe.entidades.cliente import Cliente
from pynfe.entidades.emitente import Emitente
from pynfe.entidades.servico import Servico
from pynfe.entidades.notafiscal import NotaFiscalServico
from pynfe.utils.flags import CODIGO_BRASIL
from pynfe.utils import obter_codigo_por_municipio
import datetime
from decimal import Decimal
# prestador
emitente = Emitente(
cnpj='99999999999999',
inscricao_municipal='000000'
)
# tomador
cliente = Cliente(
razao_social='NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL',
tipo_documento='Cnpj', #CPF ou CNPJ
numero_documento='99999999999999', # numero do cpf ou cnpj
inscricao_municipal='1234',
endereco_logradouro='Rua tal',
endereco_numero='0',
endereco_complemento='Ao lado de lugar nenhum',
endereco_bairro='Centro',
endereco_cod_municipio='123',
endereco_uf='PR',
endereco_cep='87704000',
endereco_pais=CODIGO_BRASIL,
endereco_telefone='12365478945',
email='[email protected]'
)
# serviço
servico = Servico(
valor_servico=Decimal('100.00'),
iss_retido=1, # 1 - Sim; 2 - Não
item_lista='0101',
discriminacao='Mensalidade',
# 1 – Exigível;2 – Não incidência;3 – Isenção;4 – Exportação;5 – Imunidade;
# 6 – Exigibilidade Suspensa por Decisão Judicial;7 – Exigibilidade Suspensa por ProcessoAdministrativo
exigibilidade=1,
codigo_municipio=obter_codigo_por_municipio('Paranavaí', 'PR'),
municipio_incidencia=obter_codigo_por_municipio('Paranavaí', 'PR')
)
# nota
nota = NotaFiscalServico(
identificador='50',
data_emissao=datetime.datetime.now(),
servico=servico,
emitente=emitente,
cliente=cliente,
# Optante Simples Nacional
simples=1, # 1-Sim; 2-Não
# Incentivo Fiscal
incentivo=2, # 1-Sim; 2-Não
serie='A1',
tipo='1'
)
certificado = "/home/user/certificado.pfx"
senha = 'senha'
homologacao = True
# serialização
serializador = SerializacaoNfse('ginfes')
xml = serializador.gerar_lote(nota)
# assinatura
a1 = AssinaturaA1(certificado, senha, 'ginfes')
xml = a1.assinarLote(xml)
# envio
con = ComunicacaoNfse(certificado, senha, 'ginfes', homologacao)
envio = con.autorizacao(xml)
print (envio)
GsisMULT um sistema de integracao multi lojas: https://gsisti.com.br/