Validação de chave dos documentos fiscais eletrônicos - #62
Open
renatonlima wants to merge 3 commits into
Open
Conversation
Contributor
renatonlima
force-pushed
the
master-dfe-keys-validation
branch
from
August 6, 2026 15:45
fa55423 to
4c22478
Compare
Member
Author
|
Eu fiz um rebase agora, e fiz um correção no último PR #65 que implementou o suporte a validação da chave para o documento fiscal CT-e OS (modelo 67) adicionou um prefixo incorreto CTeOS que não existe, pois tanto os documentos modelo 57 (CT-e) e o modelo 67 (CT-e OS) usam o mesmo prefixo CTe a única diferença e que nas posições 21-22 da chave o código do documento muda para 67. |
twine was installed on every CI matrix job but is only used by the pypi-description tox env, which is fully commented out. Its transitive deps (nh3/cryptography via readme-renderer/keyring) now require Python >= 3.11 to build via PyO3, breaking the pypy39 job.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Resumo
Refatoração do módulo de geração e validação de chaves de acesso de Documentos Fiscais Eletrônicos (DFe), migrando a lógica de
edoc.pypara um novo módulodfe.py, com suporte ampliado a mais modelos de documento e mantendo retrocompatibilidade total com a API anterior.O que mudou
erpbrasil.base.fiscal.dfecom a classeChaveDFe(sucessora deChaveEdoc), cobrindo geração e validação de chave para:CTe; a distinção entre os dois é feita apenas pelo campomod(posições 21-22 da chave), não por um prefixo próprioChaveCFeSATnSiteAutorizna chaveChaveNFSepara chaves de NFS-e (50 dígitos, layout próprio)edoc.pymantido como shim de retrocompatibilidade, reexportandoChaveEdoc/detectar_chave_edoc/constantes a partir dedfe.py(@deprecated), sem quebrar código existente que já importa daqui.procEmi(processo de emissão) com validação cruzada de série (Rejeição 266 da SEFAZ) para NF-e/NFC-e.cUF,dhEmi,mod,serie,nNF,tpEmis,cNF,cDV), mantendo os nomes legados como aliases.docs/dfe.rste entrada correspondente no índice.tests/test_dfe.py,tests/test_new_edocs.py) cobrindo os modelos adicionados e os casos de retrocompatibilidade.ci/requirements.txt): removida a dependênciatwine, que não é usada em nenhum tox env ativo (o único que a usava,pypi-description, está comentado) e estava quebrando o jobpypy39— versões recentes denh3/cryptographyexigem Python ≥3.11 para compilar via PyO3, incompatível com PyPy 3.9.Testes
pytest tests/— 148 testes / 269 subtests, todos passando.