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...)
auto_awesome What this module does
AI-generated from the code · Odoo 18.0Lets Brazilian transport companies issue and manage CT-e (electronic transport knowledge) documents in Odoo, including transport modal details, tax data, DACTE PDF and SEFAZ transmission.
This module adds the Brazilian CT-e (Conhecimento de Transporte Eletrônico) to Odoo's fiscal documents. Users create a fiscal document of the CT-e type and fill in transport-specific information; the module maps it to the official CT-e layout and prepares it for sending to the tax authority (SEFAZ).
What users can do: - Record the parties of the transport: sender, shipper, receiver, recipient, insurer and insurance policy details on the document. - Choose the transport modal (road, air, water, rail, pipeline, multimodal) and fill dedicated tabs for each: vehicle/RNTRC and collection orders for road, flight/minuta and dangerous-goods data for air, vessel and barge data for water, traffic type and railway data for rail, and start/end dates for pipeline. - List the transported documents (NF-e, other documents) and transported vehicles, plus cargo quantities and values. - Add commercial and fiscal comments that become observation fields on the CT-e.
Automatic behaviour shown in the code: - The document key, CFOP, tax CST/ICMS group, city/state of origin and destination, and RNTRC are computed from the company, partner and fiscal lines. - IBS/CBS tax totals are computed from the fiscal lines, and the service value is split into net value and total according to the issue date rule. - Authorized partners for XML download default to the company's accountant and technical support contacts.
It also provides a DACTE report (PDF), a correction wizard, company settings for CT-e series, environment, version and transmission, and a QR code on the document supplement.
Models and fields (24)
- res.city · extends an existing model
- res.company · new modelcte40_IE, cte_type (CTe Type), cte40_CPF, cte40_CRT, cte40_CNPJ, cte40_fone, cte40_xFant, cte40_xNome, cte_version (CTe Version), cte40_enderEmit, cte_environment (CTe Environment), cte_dacte_layout (CT-e DACTE Layout), cte_transmission (CTe Transmission), dacte_margin_top, processador_edoc, cte40_choice_emit (CNPJ ou CPF?), dacte_margin_left, dacte_margin_right, dacte_margin_bottom, cte_default_serie_id (CT-e Default Serie), dacte_display_ibs_cbs (IBS/CBS), cte_authorize_accountant_download_xml (Include Accountant Partner data in persons authorized to download CTe XML)
- res.country · extends an existing model
- res.partner · new modelcte40_IE, cte40_UF, cte40_CEP, cte40_CPF, cte40_nro, cte40_CNPJ, cte40_ISUF, cte40_cInt (Código interno da Ferrovia envolvida), cte40_cMun, cte40_fone, cte40_xCpl, cte40_xLgr, cte40_xMun, cte40_cPais, cte40_email, cte40_xFant (Nome Fantasia), cte40_xNome, cte40_xPais, cte40_xEnder, cte40_xBairro, cte40_xContato, cte40_enderDest, cte40_enderReme, cte40_enderToma, cte40_choice_rem (CNPJ/CPF/idEstrangeiro), cte40_enderExped, cte40_enderFerro, cte40_enderReceb, cte40_choice_dest (CNPJ/CPF/idEstrangeiro), cte40_choice_emit (CNPJ/CPF do Emitente)
- ir.actions.report · extends an existing model
- res.country.state · extends an existing model
- res.config.settings · extends an existing modelcte_transmission (CTe Transmission), cte_authorize_accountant_download_xml (Include Accountant Partner data in persons authorized to download CTe XML)
- l10n_br_cte.modal.duto · new modelcte40_dFim, cte40_dIni, cte40_vTar, document_id
- l10n_br_cte.modal.rodo · new modelcte40_occ, cte40_RNTRC, document_id
- l10n_br_fiscal.comment · new modelcte40_xCampo, cte40_xTexto
- l10n_br_cte.modal.aereo · new modelcte40_CL, cte40_cTar, cte40_nOCA, cte40_peri, cte40_vTar, cte40_nMinu, cte40_xDime, document_id, cte40_dPrevAereo
- l10n_br_cte.modal.aquav · new modelcte40_irin, cte40_balsa, cte40_direc, cte40_nViag, cte40_tpNav, document_id, cte40_vAFRMM, cte40_vPrest, cte40_xNavio
- l10n_br_fiscal.document · new modelcte40_CL (Classe), cte40_Id, cte40_CRT (Código de Regime Tributário (CTe)), cte40_CST (Classificação Tributária do Serviço), cte40_cCT, cte40_cUF (cte40_cUF), cte40_mod (cte40_mod), cte40_nCT, cte40_occ (Ordens de Coleta associados), cte40_rem (Remetente), cte40_CFOP, cte40_cTar (Código da Tarifa), cte40_comp, cte40_dFim (Data de Fim da prestação do serviço), cte40_dIni (Data de Início da prestação do serviço), cte40_dest (Destinatário), cte40_emit (Emit), cte40_infQ, cte40_irin (Irin do navio), cte40_nOCA (Número Operacional do Conhecimento Aéreo), cte40_pCBS (Aliquota CBS), cte40_pass (Fluxo Pass), cte40_peri (Dados de carga perigosa), cte40_toma, cte40_vCBS (Valor total da CBS), cte40_vIBS (Valor total do IBS), cte40_vRec, cte40_vTar (Valor da tarifa), cte40_xObs, cte40_RNTRC (RNTRC)
- l10n_br_cte.modal.ferrov · new modelcte40_fluxo, currency_id, document_id, cte40_tpTraf, cte40_vFrete, cte40_ferrEmi, cte40_respFat, cte40_ferroEnv, cte40_chCTeFerroOrigem
- l10n_br_cte.modal.rodo.occ · new modelcte40_IE (Inscrição Estadual), cte40_UF (Sigla da UF), cte40_CNPJ (Número do CNPJ), cte40_cInt (Código interno de uso da transportadora), cte40_dEmi (Data de emissão da ordem de coleta), cte40_fone (Telefone), cte40_nOcc (Número da Ordem de coleta), cte40_serie (Série da OCC), document_id
- l10n_br_cte.modal.aereo.peri · new modelcte40_nONU, cte40_uniAP, document_id, cte40_qTotEmb, cte40_qTotProd
- l10n_br_fiscal.document.line · new modelcte40_vComp, cte40_xNome, cte40_Comp_vPrest_id
- l10n_br_cte.modal.aquav.balsa · new modeldocument_id, cte40_xBalsa (Identificador da Balsa)
- l10n_br_fiscal.document.mixin · extends an existing modelinsurance_policy, partner_insurance_id (Insurance Provider), partner_sendering_id (Sender Address), insurance_endorsement, partner_shippering_id (Shipper Address), partner_receivering_id (Receiver Address)
- l10n_br_fiscal.document.related · new modelcte40_dEmi (Data de Emissão), cte40_nDoc (Número), cte40_chCTe (chCte), cte40_chave, cte40_dPrev (Data prevista de entrega), cte40_tpDoc, cte40_infDoc (infDoc), cte40_vDocFisc (Valor do documento), cte40_descOutros (Descrição do documento), cte40_choice_infNF_infNFE_infOutros (CHOICE)
- l10n_br_cte.cargo.quantity.infos · new modelcte40_cUnid, cte40_tpMed, document_id, cte40_qCarga
- l10n_br_cte.transported.vehicles · new modelcte40_cCor (Cor do veículo), cte40_cMod (Código Marca Modelo), cte40_xCor (Descrição da cor), cte40_vUnit (Valor Unitário do Veículo), currency_id, document_id, cte40_chassi (Chassi do veículo), cte40_vFrete (Frete Unitário)
- l10n_br_fiscal.document.supplement · new modelcte40_qrCodCTe
- l10n_br_fiscal.document.import.wizard · extends an existing model
Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 5 confirmed, 4 with no information of 9 versions.
Sources · Odoo 15.0
Confirmed on 2026-11-03 in branch 15.0 of OCA/l10n-brazil.
terminal Installation and usage
OCA documentation · Odoo 18.0Configuration
Source · Odoo 18.0Para configurar este módulo, você precisa definir um certificado digital na empresa e também definir o processador edoc da empresa.
Usage
Source · Odoo 18.0Passo a Passo:
- Criar uma Fatura:
- Defina o tipo de documento como 57 (CTe - Conhecimento de Transporte).
- Configurar o Parceiro da Fatura:
- Configure o parceiro responsável pelo pagamento do CTe e os parceiros como Rementente, Expedidor, Destinatário e Recebedor.
- Adicionar uma Linha na Aba Produtos:
- Adicione uma linha de fatura e selecione o produto Frete ou outro que esteja previamente configurado.
- Acesse os detalhes fiscais da fatura e informe os demais dados necessário para emissão do CT-e:
- Preencha os campos obrigatórios para emissão do CT-e.
- Valide o CT-e, verifique os dados do XML e envie para a SEFAZ:
- Após preencher todos os dados necessários, valide o CT-e e envie para a SEFAZ.
No verified information in OCA: Installation.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.