Dúvida sobre a entidade produto

38 views
Skip to first unread message

Flávyo Henrique

unread,
Dec 18, 2019, 5:36:45 PM12/18/19
to py...@googlegroups.com
Boa noite! Hoje eu atualizei a lib do PyNFe e vi que foi adicionado o campo cbenef ao produto e isso me gerou um erro na hora de serialização.

Fui averiguar o ocorrido e o motivo do mesmo, o problema da serialização é por falta do campo cbenef no objeto que é utilizado para a geração do XML (parte dos produtos), me deparei com 2 classes de "entidade" produto, uma em pynfe.entidades.produto e outra que fica dentro de pynfe.entidades.notafiscal. A primeira tem uma observação falando que provavelmente será descartada e a segunda é utilizada no método adicionar_produto_servico que fica dentro da entidade NotaFiscal em pynfe.entidades.notafiscal, como eu utilizo a entidade NotaFiscal e o método mencionado me gerou o erro.

Explicado o problema que eu obtive agora vem a dúvida :)

Qual o motivo das 2 entidades e porque elas são diferentes? Alguns campos que constam em uma não está presente na outra.

Alguém consegue responder a minha pergunta?

--

Não tentes ser bem sucedido, tenta antes ser um homem de valor.

Albert Einstein

Junior Tada

unread,
Dec 18, 2019, 6:08:42 PM12/18/19
to PyNFe
Boa noite Flávyo, esta estrutura de produto fora da notafiscal era utilizado nas primeiras versões do PyNFe, 
quando o PyNFe tinha um outro sistema de serialização (serialização por pipes) da nota fiscal para ser importada no 
emissor gratuito da SEFAZ SP que deixou de operar.
Atualmente no fork da TadaSoftware utilizamos o produto dentro da NotaFiscal.
Está faltando a representação do tipo dentro da classe mas o campo não é obrigatório, só é serializado se for informado um valor.

Sobre o cbenef, ele é obrigatório desde 2018 dependendo da classificação fiscal do emitente e tipo de nota.
Como se trata de um benefício fiscal, a validação dele pode variar muito entre as UF's.

Flávyo Henrique

unread,
Dec 18, 2019, 6:25:45 PM12/18/19
to py...@googlegroups.com
Entendi, mais o cbenef é obrigatório apenas em alguns estado, ou estou errado? 

A forma como foi feito a implementação que no meu ver está errada, pois na serialização sempre espera que exista a propriedade cbenef e o mesmo não foi definido dentro da classe Produto em NotaFiscal o que gera quebra do fonte para quem apenas fizer a atualizar da lib como eu fiz.

Ao meu ver deveria ser feito igual a forma que está implementado em produto dentro de entidade.

Obrigado Junior pela atenção e pela explicação, já fiz os ajustes necessários aqui para voltar a funcionar a minha emissão.

--
Você recebeu essa mensagem porque está inscrito no grupo "PyNFe" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para pynfe+un...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/pynfe/7c281a5d-1f76-4ba1-87d4-bd03d0030e95%40googlegroups.com.

Daniel Gonçalves

unread,
Dec 18, 2019, 6:52:12 PM12/18/19
to py...@googlegroups.com
Olá Flávyo!

Nestes casos, seria uma boa ideia estudar as Notas Técnicas. O Código
de Benefício Fiscal está nas NTs 2016.002 [1] e 2019.001 [2].

Baixa esses PDFs e dá uma olhada.

[1] http://www.nfe.fazenda.gov.br/portal/exibirArquivo.aspx?conteudo=c4S6yXTKpXY=
[2] http://www.nfe.fazenda.gov.br/portal/exibirArquivo.aspx?conteudo=lEopkbqJjHA=

Em qua., 18 de dez. de 2019 às 20:25, Flávyo Henrique
<fhm...@gmail.com> escreveu:
> Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/pynfe/CAJrux001FwDj4fxBOB7Fy-1SOia%2Br8Yey07Rigt1v50YhVfLBg%40mail.gmail.com.



--
Daniel Gonçalves
Base4 Sistemas Ltda ME
www.base4.com.br

kervis...@gmail.com

unread,
Apr 8, 2020, 7:48:33 AM4/8/20
to PyNFe
como fasso isso  ?

Flávyo Henrique

unread,
Apr 8, 2020, 2:17:45 PM4/8/20
to py...@googlegroups.com
Antes de chamar a função de serialização você informa o cbenef. Caso não tenha um cbenef você coloca o valor None e irá conseguir fazer tudo funcionar.

--
Você recebeu essa mensagem porque está inscrito no grupo "PyNFe" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para pynfe+un...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages