TIP: You can type at any time to perform a new search.
A1 fiscal certificate management for Brazil
l10n_br_fiscal_certificate · OCA/l10n-brazil
Security findings
- Repository
- OCA/l10n-brazil · module folder · Try on Runboat
- Module version
- Category
- Localisation
- Folder size
- 0.08 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/l10n-brazil
- Last tracking update
- 2026-10-04 00:16:32
- Authors
- Akretion, Odoo Community Association (OCA)
- Maintainers
- Akretion, Odoo Community Association (OCA)
- Committers
- Raphaël Valyi, OCA-git-bot, oca-ci, André Maia
- Odoo dependencies
- Python dependencies
- erpbrasil.assinatura, erpbrasil-base>=2.4.2, email-validator, num2words, phonenumbers
- System dependencies
- None
- Required by
- None
- Description
Gerencia os certificados digitais A1 (e-CNPJ e e-NF-e) usados para assinar e transmitir os documentos fiscais eletrônicos brasileiros. O módulo não define um modelo próprio de certificado: ele estende o módulo nativo `certificate` do Odoo (modelo `certificate.certificate`), reaproveitando o armazenamento do arquivo PKCS#12 (`.pfx`/`.p12`), a extração do certificado e da chave em PEM, o cálculo de validade e as telas do core, e acrescenta o que é específico do Brasil: - o escopo `l10n_br` ("Brazilian Fiscal"), que identifica os certificados fiscais brasileiros e filtra os certificados oferecidos nos campos de certificado do sistema; - os campos calculados `owner_cnpj_cpf` (CNPJ/CPF do titular, lido do subject), `issuer_name` (emissor) e `name` (titular e validade); - o campo `certificate_id` na empresa, exibido na página "Certificados" da aba Fiscal, que substitui os antigos `certificate_nfe_id` e `certificate_ecnpj_id`: agora cada empresa tem um único certificado; - a herança de certificado entre empresas: uma filial sem certificado próprio usa o da matriz (campo calculado `certificate`), o que é aceito pela SEFAZ por terem a mesma raiz de CNPJ; - os métodos `_get_br_certificate()` e `_get_br_ecertificate()`, ponto único de acesso ao certificado para assinatura e transmissão, com validação de vigência (e do CNPJ, quando a operação exige um e-CNPJ). Esse ponto único de acesso é usado pelos módulos fiscais: - `l10n_br_nfe`: assinatura e transmissão de NF-e e NFC-e, eventos de manifestação do destinatário (MDE) e inutilização de numeração; - `l10n_br_mdfe`: assinatura e transmissão de MDF-e; - `l10n_br_cte`: assinatura e transmissão de CT-e; - `l10n_br_nfe_dfe`: distribuição de DF-e (consulta dos documentos por NSU); - `l10n_br_nfse`: assinatura e transmissão de NFS-e; - `l10n_br_ie_search`: consulta de inscrição estadual na SEFAZ. A migração 18.0.2.0.0 converte automaticamente os certificados cadastrados no modelo antigo (`l10n_br_fiscal.certificate`) para o modelo nativo, preservando o arquivo, a senha e a empresa que os utilizava.
Code Analysis
Views touched (5)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
certificate_certificate_view_form |
certificate.certificate.form.l10n_br | certificate.certificate | form | Inherits certificate.certificate_certificate_view_form |
certificate_certificate_view_list |
certificate.certificate.list.l10n_br | certificate.certificate | list | Inherits certificate.certificate_certificate_view_list |
certificate_certificate_view_search |
certificate.certificate.search.l10n_br | certificate.certificate | search | Inherits certificate.certificate_certificate_view_search |
fiscal_res_company_form |
l10n_br_fiscal_certificate.res.company.form | res.company | form | Inherits l10n_br_fiscal.fiscal_res_company_form |
l10n_br_fiscal_res_config_settings_form |
l10n_br_fiscal.res.config.settings.view.form | res.config.settings | form | Inherits base.res_config_settings_view_form |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (3)
New fields (4)
-
issuer_nameCharcompute='_compute_issuer_name'store=Truestring='Issuer' -
nameCharcompute='_compute_name'store=True -
owner_cnpj_cpfCharcompute='_compute_owner_cnpj_cpf'store=Truestring='CNPJ/CPF' -
scopeSelectiondefault=<expr>selection_add=[('l10n_br', 'Brazilian Fiscal')]
No public methods.
New fields (2)
-
certificateMany2one → certificate.certificatecomodel_name='certificate.certificate'compute='_compute_certificate'compute_sudo=Truehelp='Certificate of the company or, for a branch without certificate, the one of its closest parent company.'recursive=Truestring='Certificate in Use' -
certificate_idMany2one → certificate.certificatecomodel_name='certificate.certificate'domain="[('company_id', '=', id), ('scope', '=', 'l10n_br')]"help='Certificate used to sign and transmit the fiscal documents.'string='Certificate'
No public methods.
New fields (1)
-
cert_expired_alertIntegerconfig_parameter='l10n_br_fiscal_cert_expired_alert'default=30required=Truestring='Certificate Expired Alert'
No public methods.
Loading…
Loading…
Loading…
Loading…
Loading…
- Status
- Open migration PR — not merged yet for this version
- CI status
- checks failing
- Open since
- 5 days ago
- Last activity
- 2 days ago
- Repository
- OCA/l10n-brazil
- Pull request
- [20.0][MIG] l10n_br_fiscal_certificate: Migration to 20.0 (#5254)