Brazilian Localization CNPJ Search

l10n_br_cnpj_search
REPOSITORY
REPOSITORYOCA/l10n-brazil
GIT
GIThttps://github.com/OCA/l10n-brazil.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-brazil/tree/18.0/l10n_br_cnpj_search
VERSION
VERSION 1.1.2
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), KMEE
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), KMEE
COMMITTERS
COMMITTERSRaphaël Valyi, Weblate, OCA-git-bot, Magno Costa, oca-ci, Ygor Carvalho
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-brazil
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:09
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-brazil:
    - l10n_br_zip
    - l10n_br_base
    - l10n_br_fiscal
OCA/product-attribute:
    - uom_alias
odoo/odoo:
    - base
    - base_setup
    - web
    - base_address_extended
    - contacts
    - mail
    - bus
    - web_tour
    - html_editor
    - product
    - uom
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES erpbrasil.base
brazilcep
email-validator
num2words
phonenumbers
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Módulo que adiciona um botão para preencher automaticamente os campos de
um partner a partir do seu CNPJ. Seguem abaixo os campos que podem ser
consultados de ambas as APIs utilizadas para conseguir informações a
partir do CNPJ:

## ReceitaWS

![](../static/description/receita.png)

![](../static/description/receita1.png)

![](../static/description/receita2.png)

## SERPRO

![](../static/description/serpro.png)

![](../static/description/serpro1.png)

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
l10n_br_cnpj_search_fiscal_company_form l10n_br_fiscal.company.form (in l10n_br_cnpj_search) res.company field Inherits l10n_br_fiscal.fiscal_res_company_form
l10n_br_cnpj_search_fiscal_partner_form l10n_br_fiscal.partner.form (in l10n_br_cnpj_search) res.partner field Inherits l10n_br_fiscal.partner_form
l10n_br_cnpj_search_res_config_settings_form res.config.settings.form (in l10n_br_cnpj_search) res.config.settings xpath Inherits l10n_br_base.l10n_br_base_res_config_settings_form
res_partner_wizard_view res_partner_wizard partner.search.wizard form New
Models touched (5)

New fields (4)
  • br_currency_id Many2one → res.currency
    comodel_name='res.currency' default=<expr> readonly=True string='BR Company Currency'
  • cnae_main_id Many2one → l10n_br_fiscal.cnae
    comodel_name='l10n_br_fiscal.cnae'
  • equity_capital Monetary
    currency_field='br_currency_id'
  • legal_nature_id Many2one → l10n_br_fiscal.legal.nature
    comodel_name='l10n_br_fiscal.legal.nature' string='Legal Nature'
Public methods (2)
  • action_open_cnpj_search_wizard(self)
  • cnpj_validation_disabled(self)
    @api.model

New fields (0)

No new fields.

Public methods (12)
  • get_api_url(self, cnpj)
    @api.model
    Get webservice endpoint Params: cnpj (str): Partner CNPJ.
  • get_data(self, data, name, title=False, lower=False)
    @api.model
  • get_headers(self)
    @api.model
    Get webservice request headers
  • get_provider(self)
    @api.model
    Return selected provider in config
  • import_data(self, data)
    @api.model
    Import webservice response to Odoo Params: data (dict): data with webservice response Returns: values (dict): dict with res_partner fields and it's values
  • receitaws_get_api_url(self, cnpj)
    @api.model
  • receitaws_get_headers(self)
    @api.model
  • receitaws_validate(self, response)
    @api.model
  • serpro_get_api_url(self, cnpj)
    @api.model
  • serpro_get_headers(self)
    @api.model
  • serpro_validate(self, response)
    @api.model
  • validate(self, response)
    @api.model
    Validate webservice response. Returns: data (dict)

New fields (23)
  • child_ids Many2many → res.partner
    column1='parent_id' column2='wizard_id' comodel_name='res.partner' relation='parent_id_wizard_id'
  • city_id Many2one → res.city
    comodel_name='res.city' domain="[('state_id', '=', state_id)]"
  • cnae_main_id Many2one → l10n_br_fiscal.cnae
    comodel_name='l10n_br_fiscal.cnae'
  • cnae_secondary_ids Many2many → l10n_br_fiscal.cnae
    column1='company_id' column2='cnae_id' comodel_name='l10n_br_fiscal.cnae' relation='wizard_fiscal_cnae_rel'
  • cnpj_cpf Char
  • country_id Many2one → res.country
    comodel_name='res.country'
  • currency_id Many2one → res.currency
    comodel_name='res.currency' default=<expr>
  • district Char
  • email Char
  • equity_capital Monetary
    currency_field='currency_id'
  • l10n_br_ie_code Char
  • legal_name Char
  • legal_nature_id Many2one → l10n_br_fiscal.legal.nature
    comodel_name='l10n_br_fiscal.legal.nature'
  • mobile Char
  • name Char
  • partner_id Many2one → res.partner
    comodel_name='res.partner'
  • phone Char
  • provider_name Char
  • state_id Many2one → res.country.state
    comodel_name='res.country.state'
  • street2 Char
  • street_name Char
  • street_number Char
  • zip Char
Public methods (2)
  • action_update_partner(self)
  • default_get(self, fields)

New fields (4)
  • company_currency_id Many2one → res.currency
    readonly=True related='currency_id' string='Company Currency' args: 'res.currency'
  • company_type Selection
    related='partner_id.company_type'
  • equity_capital Monetary
    related='partner_id.equity_capital'
  • mobile Char
    related='partner_id.mobile'
Public methods (0)

No public methods.

New fields (4)
  • cnpj_provider Selection
    config_parameter='l10n_br_cnpj_search.cnpj_provider' default='receitaws' required=True selection=[('receitaws', 'ReceitaWS'), ('serpro', 'SERPRO')] string='CNPJ Search Provider'
  • serpro_schema Selection
    config_parameter='l10n_br_cnpj_search.serpro_schema' selection=[('basica', 'Básica'), ('qsa', 'QSA'), ('empresa', 'Empresa')] string='SERPRO Schema'
  • serpro_token Char
    config_parameter='l10n_br_cnpj_search.serpro_token' string='SERPRO Token'
  • serpro_trial Boolean
    config_parameter='l10n_br_cnpj_search.serpro_trial' string='Use SERPRO Trial'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/l10n-brazil
GIT
GIThttps://github.com/OCA/l10n-brazil.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-brazil/tree/17.0/l10n_br_cnpj_search
VERSION
VERSION 1.1.3
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), KMEE
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), KMEE
COMMITTERS
COMMITTERSRaphaël Valyi, Weblate, OCA-git-bot, oca-ci, Ygor Carvalho
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-brazil
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:03
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-brazil:
    - l10n_br_zip
    - l10n_br_base
    - l10n_br_fiscal
OCA/product-attribute:
    - uom_alias
odoo/odoo:
    - base
    - base_setup
    - web
    - base_address_extended
    - contacts
    - mail
    - bus
    - web_tour
    - product
    - uom
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES erpbrasil.base
brazilcep
email-validator
num2words
phonenumbers
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Módulo que adiciona um botão para preencher automaticamente os campos de
um partner a partir do seu CNPJ. Seguem abaixo os campos que podem ser
consultados de ambas as APIs utilizadas para conseguir informações a
partir do CNPJ:

## ReceitaWS

![](../static/description/receita.png)

![](../static/description/receita1.png)

![](../static/description/receita2.png)

## SERPRO

![](../static/description/serpro.png)

![](../static/description/serpro1.png)

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
l10n_br_cnpj_search_fiscal_company_form l10n_br_fiscal.company.form (in l10n_br_cnpj_search) res.company field Inherits l10n_br_fiscal.fiscal_res_company_form
l10n_br_cnpj_search_fiscal_partner_form l10n_br_fiscal.partner.form (in l10n_br_cnpj_search) res.partner field Inherits l10n_br_fiscal.partner_form
l10n_br_cnpj_search_res_config_settings_form res.config.settings.form (in l10n_br_cnpj_search) res.config.settings xpath Inherits l10n_br_base.l10n_br_base_res_config_settings_form
res_partner_wizard_view res_partner_wizard partner.search.wizard form New
Models touched (5)

New fields (4)
  • br_currency_id Many2one → res.currency
    comodel_name='res.currency' default=<expr> readonly=True string='BR Company Currency'
  • cnae_main_id Many2one → l10n_br_fiscal.cnae
    comodel_name='l10n_br_fiscal.cnae'
  • equity_capital Monetary
    currency_field='br_currency_id'
  • legal_nature_id Many2one → l10n_br_fiscal.legal.nature
    comodel_name='l10n_br_fiscal.legal.nature' string='Legal Nature'
Public methods (2)
  • action_open_cnpj_search_wizard(self)
  • cnpj_validation_disabled(self)
    @api.model

New fields (0)

No new fields.

Public methods (12)
  • get_api_url(self, cnpj)
    @api.model
    Get webservice endpoint Params: cnpj (str): Partner CNPJ.
  • get_data(self, data, name, title=False, lower=False)
    @api.model
  • get_headers(self)
    @api.model
    Get webservice request headers
  • get_provider(self)
    @api.model
    Return selected provider in config
  • import_data(self, data)
    @api.model
    Import webservice response to Odoo Params: data (dict): data with webservice response Returns: values (dict): dict with res_partner fields and it's values
  • receitaws_get_api_url(self, cnpj)
    @api.model
  • receitaws_get_headers(self)
    @api.model
  • receitaws_validate(self, response)
    @api.model
  • serpro_get_api_url(self, cnpj)
    @api.model
  • serpro_get_headers(self)
    @api.model
  • serpro_validate(self, response)
    @api.model
  • validate(self, response)
    @api.model
    Validate webservice response. Returns: data (dict)

New fields (23)
  • child_ids Many2many → res.partner
    column1='parent_id' column2='wizard_id' comodel_name='res.partner' relation='parent_id_wizard_id'
  • city_id Many2one → res.city
    comodel_name='res.city' domain="[('state_id', '=', state_id)]"
  • cnae_main_id Many2one → l10n_br_fiscal.cnae
    comodel_name='l10n_br_fiscal.cnae'
  • cnae_secondary_ids Many2many → l10n_br_fiscal.cnae
    column1='company_id' column2='cnae_id' comodel_name='l10n_br_fiscal.cnae' relation='wizard_fiscal_cnae_rel'
  • cnpj_cpf Char
  • country_id Many2one → res.country
    comodel_name='res.country'
  • currency_id Many2one → res.currency
    comodel_name='res.currency' default=<expr>
  • district Char
  • email Char
  • equity_capital Monetary
    currency_field='currency_id'
  • l10n_br_ie_code Char
  • legal_name Char
  • legal_nature_id Many2one → l10n_br_fiscal.legal.nature
    comodel_name='l10n_br_fiscal.legal.nature'
  • mobile Char
  • name Char
  • partner_id Many2one → res.partner
    comodel_name='res.partner'
  • phone Char
  • provider_name Char
  • state_id Many2one → res.country.state
    comodel_name='res.country.state'
  • street2 Char
  • street_name Char
  • street_number Char
  • zip Char
Public methods (2)
  • action_update_partner(self)
  • default_get(self, fields)

New fields (4)
  • company_currency_id Many2one → res.currency
    readonly=True related='currency_id' string='Company Currency' args: 'res.currency'
  • company_type Selection
    related='partner_id.company_type'
  • equity_capital Monetary
    related='partner_id.equity_capital'
  • mobile Char
    related='partner_id.mobile'
Public methods (0)

No public methods.

New fields (4)
  • cnpj_provider Selection
    config_parameter='l10n_br_cnpj_search.cnpj_provider' default='receitaws' required=True selection=[('receitaws', 'ReceitaWS'), ('serpro', 'SERPRO')] string='CNPJ Search Provider'
  • serpro_schema Selection
    config_parameter='l10n_br_cnpj_search.serpro_schema' selection=[('basica', 'Básica'), ('qsa', 'QSA'), ('empresa', 'Empresa')] string='SERPRO Schema'
  • serpro_token Char
    config_parameter='l10n_br_cnpj_search.serpro_token' string='SERPRO Token'
  • serpro_trial Boolean
    config_parameter='l10n_br_cnpj_search.serpro_trial' string='Use SERPRO Trial'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/l10n-brazil
GIT
GIThttps://github.com/OCA/l10n-brazil.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-brazil/tree/16.0/l10n_br_cnpj_search
VERSION
VERSION 3.3.2
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), KMEE
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), KMEE
COMMITTERS
COMMITTERSRaphaël Valyi, Renato Lima, Weblate, OCA-git-bot, oca-ci, Ygor Carvalho, Antonio Neto, Antônio Neto, Bruno, CristianoMafraJunior, Tiago Amaral
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-brazil
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:11:55
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-brazil:
    - l10n_br_zip
    - l10n_br_base
    - l10n_br_fiscal
OCA/product-attribute:
    - uom_alias
odoo/odoo:
    - base
    - base_setup
    - web
    - base_address_extended
    - product
    - mail
    - bus
    - web_tour
    - uom
    - contacts
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES erpbrasil.base
brazilcep
email-validator
num2words
phonenumbers
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Módulo que adiciona um botão para preencher automaticamente os campos de
um partner a partir do seu CNPJ. Seguem abaixo os campos que podem ser
consultados de ambas as APIs utilizadas para conseguir informações a
partir do CNPJ:

## ReceitaWS

![](../static/description/receita.png)

![](../static/description/receita1.png)

![](../static/description/receita2.png)

## SERPRO

![](../static/description/serpro.png)

![](../static/description/serpro1.png)

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
l10n_br_cnpj_search_fiscal_company_form l10n_br_fiscal.company.form (in l10n_br_cnpj_search) res.company field Inherits l10n_br_fiscal.fiscal_res_company_form
l10n_br_cnpj_search_fiscal_partner_form l10n_br_fiscal.partner.form (in l10n_br_cnpj_search) res.partner field Inherits l10n_br_fiscal.partner_form
l10n_br_cnpj_search_res_config_settings_form res.config.settings.form (in l10n_br_cnpj_search) res.config.settings xpath Inherits l10n_br_base.l10n_br_base_res_config_settings_form
res_partner_wizard_view res_partner_wizard partner.search.wizard form New
Models touched (5)

New fields (4)
  • br_currency_id Many2one → res.currency
    comodel_name='res.currency' default=<expr> readonly=True string='BR Company Currency'
  • cnae_main_id Many2one → l10n_br_fiscal.cnae
    comodel_name='l10n_br_fiscal.cnae'
  • equity_capital Monetary
    currency_field='br_currency_id'
  • legal_nature_id Many2one → l10n_br_fiscal.legal.nature
    comodel_name='l10n_br_fiscal.legal.nature' string='Legal Nature'
Public methods (2)
  • action_open_cnpj_search_wizard(self)
  • cnpj_validation_disabled(self)
    @api.model

New fields (0)

No new fields.

Public methods (12)
  • get_api_url(self, cnpj)
    @api.model
    Get webservice endpoint Params: cnpj (str): Partner CNPJ.
  • get_data(self, data, name, title=False, lower=False)
    @api.model
  • get_headers(self)
    @api.model
    Get webservice request headers
  • get_provider(self)
    @api.model
    Return selected provider in config
  • import_data(self, data)
    @api.model
    Import webservice response to Odoo Params: data (dict): data with webservice response Returns: values (dict): dict with res_partner fields and it's values
  • receitaws_get_api_url(self, cnpj)
    @api.model
  • receitaws_get_headers(self)
    @api.model
  • receitaws_validate(self, response)
    @api.model
  • serpro_get_api_url(self, cnpj)
    @api.model
  • serpro_get_headers(self)
    @api.model
  • serpro_validate(self, response)
    @api.model
  • validate(self, response)
    @api.model
    Validate webservice response. Returns: data (dict)

New fields (23)
  • child_ids Many2many → res.partner
    column1='parent_id' column2='wizard_id' comodel_name='res.partner' relation='parent_id_wizard_id'
  • city_id Many2one → res.city
    comodel_name='res.city' domain="[('state_id', '=', state_id)]"
  • cnae_main_id Many2one → l10n_br_fiscal.cnae
    comodel_name='l10n_br_fiscal.cnae'
  • cnae_secondary_ids Many2many → l10n_br_fiscal.cnae
    column1='company_id' column2='cnae_id' comodel_name='l10n_br_fiscal.cnae' relation='wizard_fiscal_cnae_rel'
  • cnpj_cpf Char
  • country_id Many2one → res.country
    comodel_name='res.country'
  • currency_id Many2one → res.currency
    comodel_name='res.currency' default=<expr>
  • district Char
  • email Char
  • equity_capital Monetary
    currency_field='currency_id'
  • l10n_br_ie_code Char
  • legal_name Char
  • legal_nature_id Many2one → l10n_br_fiscal.legal.nature
    comodel_name='l10n_br_fiscal.legal.nature'
  • mobile Char
  • name Char
  • partner_id Many2one → res.partner
    comodel_name='res.partner'
  • phone Char
  • provider_name Char
  • state_id Many2one → res.country.state
    comodel_name='res.country.state'
  • street2 Char
  • street_name Char
  • street_number Char
  • zip Char
Public methods (2)
  • action_update_partner(self)
  • default_get(self, fields)

New fields (4)
  • company_currency_id Many2one → res.currency
    readonly=True related='currency_id' string='Company Currency' args: 'res.currency'
  • company_type Selection
    related='partner_id.company_type'
  • equity_capital Monetary
    related='partner_id.equity_capital'
  • mobile Char
    related='partner_id.mobile'
Public methods (0)

No public methods.

New fields (4)
  • cnpj_provider Selection
    config_parameter='l10n_br_cnpj_search.cnpj_provider' default='receitaws' required=True selection=[('receitaws', 'ReceitaWS'), ('serpro', 'SERPRO')] string='CNPJ Search Provider'
  • serpro_schema Selection
    config_parameter='l10n_br_cnpj_search.serpro_schema' selection=[('basica', 'Básica'), ('qsa', 'QSA'), ('empresa', 'Empresa')] string='SERPRO Schema'
  • serpro_token Char
    config_parameter='l10n_br_cnpj_search.serpro_token' string='SERPRO Token'
  • serpro_trial Boolean
    config_parameter='l10n_br_cnpj_search.serpro_trial' string='Use SERPRO Trial'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/l10n-brazil
GIT
GIThttps://github.com/OCA/l10n-brazil.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-brazil/tree/15.0/l10n_br_cnpj_search
VERSION
VERSION 1.2.0
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), KMEE
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), KMEE
COMMITTERS
COMMITTERSRaphaël Valyi, Renato Lima, OCA-git-bot, oca-ci, Antônio Neto, CristianoMafraJunior
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-brazil
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:31
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-brazil:
    - l10n_br_zip
    - l10n_br_base
    - l10n_br_fiscal
odoo/odoo:
    - base
    - base_setup
    - web
    - base_address_city
    - base_address_extended
    - product
    - mail
    - bus
    - web_tour
    - uom
    - contacts
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES erpbrasil.base
pycep_correios
email-validator
num2words
phonenumbers
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
l10n_br_cnpj_search_fiscal_company_form l10n_br_fiscal.company.form (in l10n_br_cnpj_search) res.company field Inherits l10n_br_fiscal.fiscal_res_company_form
l10n_br_cnpj_search_fiscal_partner_form l10n_br_fiscal.partner.form (in l10n_br_cnpj_search) res.partner field Inherits l10n_br_fiscal.partner_form
l10n_br_cnpj_search_res_config_settings_form res.config.settings.form (in l10n_br_cnpj_search) res.config.settings xpath Inherits l10n_br_base.l10n_br_base_res_config_settings_form
res_partner_wizard_view res_partner_wizard partner.search.wizard form New
Models touched (6)

New fields (0)

No new fields.

Public methods (2)
  • action_open_cnpj_search_wizard(self)
  • cnpj_validation_disabled(self)
    @api.model

New fields (0)

No new fields.

Public methods (12)
  • get_api_url(self, cnpj)
    @api.model
    Get webservice endpoint Params: cnpj (str): Partner CNPJ.
  • get_data(self, data, name, title=False, lower=False)
    @api.model
  • get_headers(self)
    @api.model
    Get webservice request headers
  • get_provider(self)
    @api.model
    Return selected provider in config
  • import_data(self, data)
    @api.model
    Import webservice response to Odoo Params: data (dict): data with webservice response Returns: values (dict): dict with res_partner fields and it's values
  • receitaws_get_api_url(self, cnpj)
    @api.model
  • receitaws_get_headers(self)
    @api.model
  • receitaws_validate(self, response)
    @api.model
  • serpro_get_api_url(self, cnpj)
    @api.model
  • serpro_get_headers(self)
    @api.model
  • serpro_validate(self, response)
    @api.model
  • validate(self, response)
    @api.model
    Validate webservice response. Returns: data (dict)

New fields (23)
  • child_ids Many2many → res.partner
    column1='parent_id' column2='wizard_id' comodel_name='res.partner' relation='parent_id_wizard_id'
  • city_id Many2one → res.city
    comodel_name='res.city' domain="[('state_id', '=', state_id)]"
  • cnae_main_id Many2one → l10n_br_fiscal.cnae
    comodel_name='l10n_br_fiscal.cnae'
  • cnae_secondary_ids Many2many → l10n_br_fiscal.cnae
    column1='company_id' column2='cnae_id' comodel_name='l10n_br_fiscal.cnae' relation='wizard_fiscal_cnae_rel'
  • cnpj_cpf Char
  • country_id Many2one → res.country
    comodel_name='res.country'
  • currency_id Many2one → res.currency
    comodel_name='res.currency' default=<expr>
  • district Char
  • email Char
  • equity_capital Monetary
    currency_field='currency_id'
  • inscr_est Char
  • legal_name Char
  • legal_nature Char
  • mobile Char
  • name Char
  • partner_id Many2one → res.partner
    comodel_name='res.partner'
  • phone Char
  • provider_name Char
  • state_id Many2one → res.country.state
    comodel_name='res.country.state'
  • street2 Char
  • street_name Char
  • street_number Char
  • zip Char
Public methods (2)
  • action_update_partner(self)
  • default_get(self, fields)

New fields (5)
  • company_currency_id Many2one → res.currency
    readonly=True related='currency_id' string='Company Currency' args: 'res.currency'
  • company_type Selection
    readonly=True related='partner_id.company_type'
  • equity_capital Monetary
    related='partner_id.equity_capital'
  • legal_nature Char
    related='partner_id.legal_nature'
  • mobile Char
    related='partner_id.mobile'
Public methods (0)

No public methods.

New fields (4)
  • cnpj_provider Selection
    config_parameter='l10n_br_cnpj_search.cnpj_provider' default='receitaws' required=True selection=[('receitaws', 'ReceitaWS'), ('serpro', 'SERPRO')] string='CNPJ Search Provider'
  • serpro_schema Selection
    config_parameter='l10n_br_cnpj_search.serpro_schema' selection=[('basica', 'Básica'), ('qsa', 'QSA'), ('empresa', 'Empresa')] string='SERPRO Schema'
  • serpro_token Char
    config_parameter='l10n_br_cnpj_search.serpro_token' string='SERPRO Token'
  • serpro_trial Boolean
    config_parameter='l10n_br_cnpj_search.serpro_trial' string='Use SERPRO Trial'
Public methods (0)

No public methods.

New fields (4)
  • cnae_secondary_ids Many2many → l10n_br_fiscal.cnae
    column1='company_id' column2='cnae_id' comodel_name='l10n_br_fiscal.cnae' domain="[('internal_type', '=', 'normal'), ('id', '!=', cnae_main_id)]" relation='res_partner_fiscal_cnae_rel' string='Secondary CNAE'
  • company_currency_id Many2one → res.currency
    comodel_name='res.currency' readonly=True related='company_id.currency_id' string='Company Currency'
  • equity_capital Monetary
    currency_field='company_currency_id'
  • legal_nature Char
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/l10n-brazil
GIT
GIThttps://github.com/OCA/l10n-brazil.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-brazil/tree/14.0/l10n_br_cnpj_search
VERSION
VERSION 1.7.3
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), KMEE
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), KMEE
COMMITTERS
COMMITTERSRaphaël Valyi, Weblate, OCA-git-bot, Magno Costa, oca-ci, Marcel Savegnago, Ygor Carvalho, Antonio Neto, Antônio Neto, CristianoMafraJunior, André Marcos Ferreira, Clara Cardoso, ODBreno
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-brazil
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:40:53
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-brazil:
    - l10n_br_zip
    - l10n_br_base
    - l10n_br_fiscal
odoo/odoo:
    - base
    - base_setup
    - web
    - base_address_city
    - base_address_extended
    - product
    - mail
    - bus
    - web_tour
    - uom
    - contacts
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES erpbrasil.base
brazilcep
email-validator
num2words
phonenumbers
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
l10n_br_cnpj_search_fiscal_company_form l10n_br_fiscal.company.form (in l10n_br_cnpj_search) res.company field Inherits l10n_br_fiscal.fiscal_res_company_form
l10n_br_cnpj_search_fiscal_partner_form l10n_br_fiscal.partner.form (in l10n_br_cnpj_search) res.partner field Inherits l10n_br_fiscal.partner_form
l10n_br_cnpj_search_res_config_settings_form res.config.settings.form (in l10n_br_cnpj_search) res.config.settings xpath Inherits l10n_br_base.l10n_br_base_res_config_settings_form
res_partner_wizard_view res_partner_wizard partner.search.wizard form New
Models touched (5)

New fields (4)
  • br_currency_id Many2one → res.currency
    comodel_name='res.currency' default=<expr> readonly=True string='BR Company Currency'
  • cnae_main_id Many2one → l10n_br_fiscal.cnae
    comodel_name='l10n_br_fiscal.cnae'
  • equity_capital Monetary
    currency_field='br_currency_id'
  • legal_nature_id Many2one → l10n_br_fiscal.legal.nature
    comodel_name='l10n_br_fiscal.legal.nature' string='Legal Nature'
Public methods (2)
  • action_open_cnpj_search_wizard(self)
  • cnpj_validation_disabled(self)
    @api.model

New fields (0)

No new fields.

Public methods (12)
  • get_api_url(self, cnpj)
    @api.model
    Get webservice endpoint Params: cnpj (str): Partner CNPJ.
  • get_data(self, data, name, title=False, lower=False)
    @api.model
  • get_headers(self)
    @api.model
    Get webservice request headers
  • get_provider(self)
    @api.model
    Return selected provider in config
  • import_data(self, data)
    @api.model
    Import webservice response to Odoo Params: data (dict): data with webservice response Returns: values (dict): dict with res_partner fields and it's values
  • receitaws_get_api_url(self, cnpj)
    @api.model
  • receitaws_get_headers(self)
    @api.model
  • receitaws_validate(self, response)
    @api.model
  • serpro_get_api_url(self, cnpj)
    @api.model
  • serpro_get_headers(self)
    @api.model
  • serpro_validate(self, response)
    @api.model
  • validate(self, response)
    @api.model
    Validate webservice response. Returns: data (dict)

New fields (23)
  • child_ids Many2many → res.partner
    column1='parent_id' column2='wizard_id' comodel_name='res.partner' relation='parent_id_wizard_id'
  • city_id Many2one → res.city
    comodel_name='res.city' domain="[('state_id', '=', state_id)]"
  • cnae_main_id Many2one → l10n_br_fiscal.cnae
    comodel_name='l10n_br_fiscal.cnae'
  • cnae_secondary_ids Many2many → l10n_br_fiscal.cnae
    column1='company_id' column2='cnae_id' comodel_name='l10n_br_fiscal.cnae' relation='wizard_fiscal_cnae_rel'
  • cnpj_cpf Char
  • country_id Many2one → res.country
    comodel_name='res.country'
  • currency_id Many2one → res.currency
    comodel_name='res.currency' default=<expr>
  • district Char
  • email Char
  • equity_capital Monetary
    currency_field='currency_id'
  • inscr_est Char
  • legal_name Char
  • legal_nature_id Many2one → l10n_br_fiscal.legal.nature
    comodel_name='l10n_br_fiscal.legal.nature'
  • mobile Char
  • name Char
  • partner_id Many2one → res.partner
    comodel_name='res.partner'
  • phone Char
  • provider_name Char
  • state_id Many2one → res.country.state
    comodel_name='res.country.state'
  • street2 Char
  • street_name Char
  • street_number Char
  • zip Char
Public methods (2)
  • action_update_partner(self)
  • default_get(self, fields)

New fields (4)
  • company_currency_id Many2one → res.currency
    readonly=True related='currency_id' string='Company Currency' args: 'res.currency'
  • company_type Selection
    readonly=True related='partner_id.company_type'
  • equity_capital Monetary
    related='partner_id.equity_capital'
  • mobile Char
    related='partner_id.mobile'
Public methods (0)

No public methods.

New fields (4)
  • cnpj_provider Selection
    config_parameter='l10n_br_cnpj_search.cnpj_provider' default='receitaws' required=True selection=[('receitaws', 'ReceitaWS'), ('serpro', 'SERPRO')] string='CNPJ Search Provider'
  • serpro_schema Selection
    config_parameter='l10n_br_cnpj_search.serpro_schema' selection=[('basica', 'Básica'), ('qsa', 'QSA'), ('empresa', 'Empresa')] string='SERPRO Schema'
  • serpro_token Char
    config_parameter='l10n_br_cnpj_search.serpro_token' string='SERPRO Token'
  • serpro_trial Boolean
    config_parameter='l10n_br_cnpj_search.serpro_trial' string='Use SERPRO Trial'
Public methods (0)

No public methods.