CT-e

l10n_br_cte
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_cte
VERSION
VERSION 9.3.0
CATEGORY
CATEGORYLocalisation
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), KMEE, Escodoo
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), KMEE, Escodoo
COMMITTERS
COMMITTERSRaphaël Valyi, Weblate, OCA-git-bot, oca-ci, CristianoMafraJunior
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-brazil
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:04
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-brazil:
    - l10n_br_fiscal_edi
    - l10n_br_fiscal
    - l10n_br_base
    - l10n_br_cte_spec
    - l10n_br_fiscal_certificate
    - spec_driven_model
OCA/product-attribute:
    - uom_alias
odoo/odoo:
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - base_address_extended
    - contacts
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES erpbrasil.assinatura
erpbrasil.edoc
erpbrasil.transmissao
nfelib
erpbrasil.base
email-validator
num2words
phonenumbers
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Este módulo permite a emissão de CT-e (Conhecimento de Transporte).

Mais especificamente ele:  
- mapea os campos de CT-e do módulo `l10n_br_cte_spec` com os campos
  Odoo.
- usa a logica do módulo `spec_driven_model` para realizar esse
  mapeamento de forma dinâmica, em especial ele usa o sistema de modelos
  com várias camadas, ou `StackedModel`, com os modelos
  `l10n_br_fiscal.document` e `l10n_br_fiscal.document.related` que tem
  varios niveis hierarquicos de elementos XML que estão sendo
  denormalizados dentro desses modelos Odoo 
- tem wizards para implementar a comunicação SOAP de CT-e com a SEFAZ
  (Autorização, Cancelamento, Encerramento...)

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
cte_document_form_view cte.document.form.view (in l10n_br_cte) l10n_br_fiscal.document field Inherits l10n_br_fiscal.document_form
cte_res_company_form cte.res.company.form res.company xpath Inherits l10n_br_fiscal.fiscal_res_company_form
document_correction_wizard_form l10n_br_fiscal.document.correction.wizard xpath Inherits l10n_br_fiscal_edi.document_correction_wizard_form
modal_aereo_peri_form_view modal.aereo.peri.form.view (in l10n_br_cte) l10n_br_cte.modal.aereo.peri form New
modal_aquaviario_balsa_form_view modal.aquaviario.balsa.form.view (in l10n_br_cte) l10n_br_cte.modal.aquav.balsa form New
modal_ferroviario_ferroenv_form_view res.partner.ferroenv.form.view (in l10n_br_cte) res.partner form New
modal_rodoviario_occ_form_view modal.rodoviario.occ.form.view (in l10n_br_cte) l10n_br_cte.modal.rodo.occ form New
res_partner_tenderfer_form_view res.partner.tenderfer.form.view res.partner form New
Models touched (8)

New fields (0)

No new fields.

Public methods (1)
  • render_dacte_brazilfiscalreport(self, cte, cte_xml)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (6)
  • insurance_endorsement Char
    help='The endorsement number associated with the insurance policy, indicating any modifications or adjustments to the coverage. This field is primarily used when issuing the CT-e.'
  • insurance_policy Char
    help='The insurance policy number covering the transported goods. This field is primarily used when issuing the CT-e.'
  • partner_insurance_id Many2one → res.partner
    help='The partner providing insurance coverage for the transported goods. This field is primarily used when issuing the CT-e.' string='Insurance Provider' args: 'res.partner'
  • partner_receivering_id Many2one → res.partner
    help='The intermediary partner who receives the goods before they reach the final recipient, often involved in verification, temporary storage, or further distribution. This field is primarily used when issuing the CT-e.' string='Receiver Address' args: 'res.partner'
  • partner_sendering_id Many2one → res.partner
    help='The partner responsible for sending the goods, typically the issuer of the document. This field is primarily used when issuing the CT-e.' string='Sender Address' args: 'res.partner'
  • partner_shippering_id Many2one → res.partner
    help='The partner responsible for delivering the cargo to the carrier, if not done directly by the sender. This field is primarily used when issuing the CT-e.' string='Shipper Address' args: 'res.partner'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • match_or_create_m2o(self, rec_dict, parent_dict, model=None)
    @api.model
    If city not found, break hard, don't create it

New fields (2)
  • cte_authorize_accountant_download_xml Boolean
    readonly=False related='company_id.cte_authorize_accountant_download_xml' string='Include Accountant Partner data in persons authorized to download CTe XML'
  • cte_transmission Selection
    readonly=False related='company_id.cte_transmission' string='NFe Transmission'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • match_or_create_m2o(self, rec_dict, parent_dict, model=None)
    @api.model
    If country not found, break hard, don't create it

New fields (0)

No new fields.

Public methods (1)
  • match_or_create_m2o(self, rec_dict, parent_dict, model=None)
    @api.model
    If state not found, break hard, don't create it
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_cte
VERSION
VERSION 9.3.0
CATEGORY
CATEGORYLocalisation
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), KMEE, Escodoo
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), KMEE, Escodoo
COMMITTERS
COMMITTERSRaphaël Valyi, OCA-git-bot, oca-ci, Antonio Neto, Antônio Neto, CristianoMafraJunior
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-brazil
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:11:56
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-brazil:
    - l10n_br_fiscal_edi
    - l10n_br_fiscal
    - l10n_br_base
    - l10n_br_cte_spec
    - l10n_br_fiscal_certificate
    - spec_driven_model
OCA/product-attribute:
    - uom_alias
odoo/odoo:
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - base_address_extended
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES erpbrasil.assinatura
erpbrasil.edoc
erpbrasil.transmissao
nfelib
erpbrasil.base
email-validator
num2words
phonenumbers
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Este módulo permite a emissão de CT-e (Conhecimento de Transporte).

Mais especificamente ele:  
- mapea os campos de CT-e do módulo `l10n_br_cte_spec` com os campos
  Odoo.
- usa a logica do módulo `spec_driven_model` para realizar esse
  mapeamento de forma dinâmica, em especial ele usa o sistema de modelos
  com várias camadas, ou `StackedModel`, com os modelos
  `l10n_br_fiscal.document` e `l10n_br_fiscal.document.related` que tem
  varios niveis hierarquicos de elementos XML que estão sendo
  denormalizados dentro desses modelos Odoo 
- tem wizards para implementar a comunicação SOAP de CT-e com a SEFAZ
  (Autorização, Cancelamento, Encerramento...)

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
cte_document_form_view cte.document.form.view (in l10n_br_cte) l10n_br_fiscal.document field Inherits l10n_br_fiscal.document_form
cte_res_company_form cte.res.company.form res.company xpath Inherits l10n_br_fiscal.fiscal_res_company_form
document_correction_wizard_form l10n_br_fiscal.document.correction.wizard xpath Inherits l10n_br_fiscal_edi.document_correction_wizard_form
modal_aereo_peri_form_view modal.aereo.peri.form.view (in l10n_br_cte) l10n_br_cte.modal.aereo.peri form New
modal_aquaviario_balsa_form_view modal.aquaviario.balsa.form.view (in l10n_br_cte) l10n_br_cte.modal.aquav.balsa form New
modal_ferroviario_ferroenv_form_view res.partner.ferroenv.form.view (in l10n_br_cte) res.partner form New
modal_rodoviario_occ_form_view modal.rodoviario.occ.form.view (in l10n_br_cte) l10n_br_cte.modal.rodo.occ form New
res_partner_tenderfer_form_view res.partner.tenderfer.form.view res.partner form New
Models touched (8)

New fields (0)

No new fields.

Public methods (1)
  • render_dacte_brazilfiscalreport(self, cte, cte_xml)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (6)
  • insurance_endorsement Char
    help='The endorsement number associated with the insurance policy, indicating any modifications or adjustments to the coverage. This field is primarily used when issuing the CT-e.'
  • insurance_policy Char
    help='The insurance policy number covering the transported goods. This field is primarily used when issuing the CT-e.'
  • partner_insurance_id Many2one → res.partner
    help='The partner providing insurance coverage for the transported goods. This field is primarily used when issuing the CT-e.' string='Insurance Provider' args: 'res.partner'
  • partner_receivering_id Many2one → res.partner
    help='The intermediary partner who receives the goods before they reach the final recipient, often involved in verification, temporary storage, or further distribution. This field is primarily used when issuing the CT-e.' string='Receiver Address' args: 'res.partner'
  • partner_sendering_id Many2one → res.partner
    help='The partner responsible for sending the goods, typically the issuer of the document. This field is primarily used when issuing the CT-e.' string='Sender Address' args: 'res.partner'
  • partner_shippering_id Many2one → res.partner
    help='The partner responsible for delivering the cargo to the carrier, if not done directly by the sender. This field is primarily used when issuing the CT-e.' string='Shipper Address' args: 'res.partner'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • match_or_create_m2o(self, rec_dict, parent_dict, model=None)
    @api.model
    If city not found, break hard, don't create it

New fields (2)
  • cte_authorize_accountant_download_xml Boolean
    readonly=False related='company_id.cte_authorize_accountant_download_xml' string='Include Accountant Partner data in persons authorized to download CTe XML'
  • cte_transmission Selection
    readonly=False related='company_id.cte_transmission' string='NFe Transmission'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • match_or_create_m2o(self, rec_dict, parent_dict, model=None)
    @api.model
    If country not found, break hard, don't create it

New fields (0)

No new fields.

Public methods (1)
  • match_or_create_m2o(self, rec_dict, parent_dict, model=None)
    @api.model
    If state not found, break hard, don't create it
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_cte
VERSION
VERSION 1.2.0
CATEGORY
CATEGORYLocalisation
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), KMEE, Escodoo
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), KMEE, Escodoo
COMMITTERS
COMMITTERSRaphaël Valyi, OCA-git-bot, oca-ci, CristianoMafraJunior
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-brazil
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:32
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-brazil:
    - l10n_br_fiscal_edi
    - l10n_br_fiscal
    - l10n_br_base
    - l10n_br_cte_spec
    - l10n_br_fiscal_certificate
    - spec_driven_model
odoo/odoo:
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - base_address_city
    - base_address_extended
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES erpbrasil.assinatura
erpbrasil.edoc>=2.5.2
erpbrasil.transmissao>=1.1.0
nfelib<=2.0.7
erpbrasil.base
email-validator
num2words
phonenumbers
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
cte_document_form_view >cte.document.form.view (in l10n_br_cte) l10n_br_fiscal.document xpath Inherits l10n_br_fiscal.document_form
cte_res_company_form cte.res.company.form res.company xpath Inherits l10n_br_fiscal.fiscal_res_company_form
document_correction_wizard_form l10n_br_fiscal.document.correction.wizard xpath Inherits l10n_br_fiscal_edi.document_correction_wizard_form
modal_aereo_peri_form_view modal.aereo.peri.form.view (in l10n_br_cte) l10n_br_cte.modal.aereo.peri form New
modal_aquaviario_balsa_form_view modal.aquaviario.balsa.form.view (in l10n_br_cte) l10n_br_cte.modal.aquav.balsa form New
modal_ferroviario_ferroenv_form_view res.partner.ferroenv.form.view (in l10n_br_cte) res.partner form New
modal_rodoviario_occ_form_view modal.rodoviario.occ.form.view (in l10n_br_cte) l10n_br_cte.modal.rodo.occ form New
res_partner_tenderfer_form_view res.partner.tenderfer.form.view res.partner form New
Models touched (7)

New fields (0)

No new fields.

Public methods (1)
  • render_dacte_brazilfiscalreport(self, cte, cte_xml)

New fields (6)
  • insurance_endorsement Char
    help='The endorsement number associated with the insurance policy, indicating any modifications or adjustments to the coverage. This field is primarily used when issuing the CT-e.'
  • insurance_policy Char
    help='The insurance policy number covering the transported goods. This field is primarily used when issuing the CT-e.'
  • partner_insurance_id Many2one → res.partner
    help='The partner providing insurance coverage for the transported goods. This field is primarily used when issuing the CT-e.' string='Insurance Provider' args: 'res.partner'
  • partner_receivering_id Many2one → res.partner
    help='The intermediary partner who receives the goods before they reach the final recipient, often involved in verification, temporary storage, or further distribution. This field is primarily used when issuing the CT-e.' string='Receiver Address' args: 'res.partner'
  • partner_sendering_id Many2one → res.partner
    help='The partner responsible for sending the goods, typically the issuer of the document. This field is primarily used when issuing the CT-e.' string='Sender Address' args: 'res.partner'
  • partner_shippering_id Many2one → res.partner
    help='The partner responsible for delivering the cargo to the carrier, if not done directly by the sender. This field is primarily used when issuing the CT-e.' string='Shipper Address' args: 'res.partner'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • match_or_create_m2o(self, rec_dict, parent_dict, model=None)
    @api.model
    If city not found, break hard, don't create it

New fields (2)
  • cte_authorize_accountant_download_xml Boolean
    readonly=False related='company_id.cte_authorize_accountant_download_xml' string='Include Accountant Partner data in persons authorized to download CTe XML'
  • cte_transmission Selection
    readonly=False related='company_id.cte_transmission' string='NFe Transmission'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • match_or_create_m2o(self, rec_dict, parent_dict, model=None)
    @api.model
    If country not found, break hard, don't create it

New fields (0)

No new fields.

Public methods (1)
  • match_or_create_m2o(self, rec_dict, parent_dict, model=None)
    @api.model
    If state not found, break hard, don't create it
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_cte
VERSION
VERSION 2.5.1
CATEGORY
CATEGORYLocalisation
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), KMEE, Escodoo
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), KMEE, Escodoo
COMMITTERS
COMMITTERSRaphaël Valyi, Weblate, OCA-git-bot, oca-ci, Marcel Savegnago, CristianoMafraJunior
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-brazil
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:40:54
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-brazil:
    - l10n_br_fiscal_edi
    - l10n_br_fiscal
    - l10n_br_base
    - l10n_br_cte_spec
    - l10n_br_fiscal_certificate
    - spec_driven_model
odoo/odoo:
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - base_address_city
    - base_address_extended
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES erpbrasil.assinatura
erpbrasil.edoc
erpbrasil.transmissao
nfelib
erpbrasil.base
email-validator
num2words
phonenumbers
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
cte_document_form_view >cte.document.form.view (in l10n_br_cte) l10n_br_fiscal.document xpath Inherits l10n_br_fiscal.document_form
cte_res_company_form cte.res.company.form res.company xpath Inherits l10n_br_fiscal.fiscal_res_company_form
document_correction_wizard_form l10n_br_fiscal.document.correction.wizard xpath Inherits l10n_br_fiscal_edi.document_correction_wizard_form
modal_aereo_peri_form_view modal.aereo.peri.form.view (in l10n_br_cte) l10n_br_cte.modal.aereo.peri form New
modal_aquaviario_balsa_form_view modal.aquaviario.balsa.form.view (in l10n_br_cte) l10n_br_cte.modal.aquav.balsa form New
modal_ferroviario_ferroenv_form_view res.partner.ferroenv.form.view (in l10n_br_cte) res.partner form New
modal_rodoviario_occ_form_view modal.rodoviario.occ.form.view (in l10n_br_cte) l10n_br_cte.modal.rodo.occ form New
res_partner_tenderfer_form_view res.partner.tenderfer.form.view res.partner form New
Models touched (7)

New fields (0)

No new fields.

Public methods (1)
  • render_dacte_brazilfiscalreport(self, cte, cte_xml)

New fields (6)
  • insurance_endorsement Char
    help='The endorsement number associated with the insurance policy, indicating any modifications or adjustments to the coverage. This field is primarily used when issuing the CT-e.' string='Insurance Endorsement'
  • insurance_policy Char
    help='The insurance policy number covering the transported goods. This field is primarily used when issuing the CT-e.' string='Insurance Policy'
  • partner_insurance_id Many2one → res.partner
    help='The partner providing insurance coverage for the transported goods. This field is primarily used when issuing the CT-e.' string='Insurance Provider' args: 'res.partner'
  • partner_receivering_id Many2one → res.partner
    help='The intermediary partner who receives the goods before they reach the final recipient, often involved in verification, temporary storage, or further distribution. This field is primarily used when issuing the CT-e.' string='Receiver Address' args: 'res.partner'
  • partner_sendering_id Many2one → res.partner
    help='The partner responsible for sending the goods, typically the issuer of the document. This field is primarily used when issuing the CT-e.' string='Sender Address' args: 'res.partner'
  • partner_shippering_id Many2one → res.partner
    help='The partner responsible for delivering the cargo to the carrier, if not done directly by the sender. This field is primarily used when issuing the CT-e.' string='Shipper Address' args: 'res.partner'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • match_or_create_m2o(self, rec_dict, parent_dict, model=None)
    @api.model
    If city not found, break hard, don't create it

New fields (2)
  • cte_authorize_accountant_download_xml Boolean
    readonly=False related='company_id.cte_authorize_accountant_download_xml' string='Include Accountant Partner data in persons authorized to download CTe XML'
  • cte_transmission Selection
    readonly=False related='company_id.cte_transmission' string='NFe Transmission'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • match_or_create_m2o(self, rec_dict, parent_dict, model=None)
    @api.model
    If country not found, break hard, don't create it

New fields (0)

No new fields.

Public methods (1)
  • match_or_create_m2o(self, rec_dict, parent_dict, model=None)
    @api.model
    If state not found, break hard, don't create it
STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/l10n-brazil
PULL REQUEST
PULL REQUEST[18.0][MIG] l10n_br_cte (#4443)