TIP: You can type at any time to perform a new search.

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
OCA/l10n-brazil:
OCA/product-attribute:
odoo/odoo:
- web
- bus
- uom
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 info_outline

Views touched (5)
XML IDNameModelTypeStatus
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_name Char
    compute='_compute_issuer_name' store=True string='Issuer'
  • name Char
    compute='_compute_name' store=True
  • owner_cnpj_cpf Char
    compute='_compute_owner_cnpj_cpf' store=True string='CNPJ/CPF'
  • scope Selection
    default=<expr> selection_add=[('l10n_br', 'Brazilian Fiscal')]
Public methods (0)

No public methods.

New fields (2)
  • certificate Many2one → certificate.certificate
    comodel_name='certificate.certificate' compute='_compute_certificate' compute_sudo=True help='Certificate of the company or, for a branch without certificate, the one of its closest parent company.' recursive=True string='Certificate in Use'
  • certificate_id Many2one → certificate.certificate
    comodel_name='certificate.certificate' domain="[('company_id', '=', id), ('scope', '=', 'l10n_br')]" help='Certificate used to sign and transmit the fiscal documents.' string='Certificate'
Public methods (0)

No public methods.

New fields (1)
  • cert_expired_alert Integer
    config_parameter='l10n_br_fiscal_cert_expired_alert' default=30 required=True string='Certificate Expired Alert'
Public methods (0)

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)