Este módulo es la base para la emisión del Conocimiento de Transporte Electrónico (CT-e, Modelo 57) en Odoo. Proporciona la estructura de datos completa y actualizada, en conformidad con los layouts oficiales de la SEFAZ para el CT-e 4.0.
Es importante resaltar que este módulo no realiza la emisión del CT-e por sí solo. Funciona como una biblioteca de modelos de datos abstractos (mixins). Su función principal es servir de base para un módulo de implementación, como el l10n_br_cte, que es responsable de mapear estos modelos en los documentos fiscales de Odoo (l10n_br_fiscal.document), añadir las reglas de negocio y realizar la comunicación con los web services de la SEFAZ. Esta arquitectura desacoplada sigue el mismo patrón de éxito ya utilizado por los módulos l10n_br_nfe_spec y l10n_br_nfe.
Estructura por Modal de Transporte
Para garantizar la conformidad con las particularidades de cada operación, el módulo implementa modelos de datos específicos para todos los modales de transporte previstos en la legislación:
- Rodoviario (cte.40.rodo): Contempla informaciones esenciales como el RNTRC y las Órdenes de Recolección asociadas.
- Aéreo (cte.40.aereo): Incluye campos para el número de la minuta, el número operativo del conocimiento aéreo (IATA) y detalles sobre la naturaleza y peligrosidad de la carga.
- Acuaviario (cte.40.aquav): Aborda datos como el valor del AFRMM, la identificación del buque, informaciones de balsas y el detalle de contenedores.
- Ferroviario (cte.40.ferrov): Permite detallar el tipo de tráfico (propio, mutuo, etc.) y los ferrocarriles involucrados en la operación.
- Ductoviario (cte.40.duto): Contiene campos para el valor de la tarifa, las fechas de inicio y fin del servicio y las características del ducto.
- Multimodal (cte.40.multimodal): Estructurado para gestionar el Certificado del Operador de Transporte Multimodal (COTM) y las informaciones de seguro asociadas.
Generación de Código Automatizada
La principal característica de este módulo es que el 100% de sus modelos de datos Odoo se generan automáticamente a partir de los esquemas XSD oficiales, publicados por el Portal del CT-e. Esta generación por xsdata-odoo garantiza máxima fidelidad a los layouts fiscales y agilidad en la actualización a nuevas versiones.
Aunque los esquemas XSD oficiales del CT-e se publican y mantienen en el Portal de la SEFAZ, la arquitectura de este proyecto se apoya en la biblioteca nfelib para la tarea de serialización de los datos en XML. Para facilitar el proceso de desarrollo y garantizar la consistencia, la propia nfelib almacena en su repositorio una copia actualizada de estos esquemas oficiales.
Por lo tanto, la práctica recomendada para (re)generar los modelos de este módulo es utilizar un clon local del repositorio de la nfelib como fuente para los archivos de esquema (.xsd), dirigiendo el comando de xsdata-odoo al directorio correspondiente.
Links:
- GitHub - akretion/xsdata-odoo
- GitHub - akretion/nfelib
El comando utilizado para generar los modelos de la versión 4.0 del CT-e fue:
Prefijo de los campos y versión
Con más de 1000 campos fiscales solo en el CT-e, con una media docena de documentos fiscales complejos, con 3000 módulos OCA, existiría un riesgo real de conflicto con los nombres de campos provenientes de los esquemas. Además, tenemos varias versiones del CT-e, la 3.0, la 4.0...
Ante esto se decidió que cada campo tiene un prefijo compuesto del nombre del schema y de algunos dígitos de la versión del esquema. En el caso cte40_. La elección de 2 dígitos permite que una actualización menor del esquema use los mismos campos (y datos en la base de datos entonces) y que un simple update Odoo (--update=...) consiga resolver la migración. Mientras que para un cambio mayor como de 3.0 a 4.0, se asumiría usar nuevos campos y nuevas tablas (para los objetos no Odoo) y que la lib nfelib trabajaría con los campos de la versión mayor del documento fiscal considerado.
Traducción automática al español (DeepSeek) de la descripción original de OCA, que está en inglés.
auto_awesome Qué hace este módulo
Generado por IA a partir del código · Odoo 18.0Proporciona la estructura de datos técnica (modelos abstractos) necesaria para construir documentos de transporte electrónico brasileños (CT-e, modelo 57) en Odoo. No emite documentos por sí mismo; es la base utilizada por un módulo de implementación.
Este módulo es una biblioteca de modelos de datos abstractos, no una pantalla en la que los usuarios trabajen directamente. Define los campos y estructuras requeridos por el layout oficial de SEFAZ para el Documento de Transporte Electrónico brasileño (CT-e 4.0), abarcando los diferentes modos de transporte.
- Transporte aéreo (
cte.40.aereo): número de minuta, número de conocimiento aéreo, fecha prevista de entrega, naturaleza de la carga, información de tarifas y detalles de mercancías peligrosas. - Transporte acuaviario (
cte.40.aquav): identificación de la embarcación, número de viaje, dirección, tipo de navegación, importe de AFRMM, barcazas, contenedores, precintos y claves de facturas/NF-e relacionadas. - Transporte por ductos (
cte.40.duto): valor de la tarifa, fechas de inicio y fin del servicio, clasificación del ducto, tipo de contratación y códigos de punto de entrada/salida. - Transporte ferroviario (
cte.40.ferrov): tipo de tráfico, detalles de tráfico mutuo, flujo ferroviario, responsabilidad de facturación y ferrocarriles involucrados con sus direcciones. - Transporte por carretera (
cte.40.rodo,cte.40.rodoos): registro nacional ANTT, órdenes de recolección, placa del vehículo, RENAVAM, datos del propietario, tipo de fletamento y fecha/hora del viaje. - Transporte multimodal (
cte.40.multimodal): número de certificado del operador, indicador de negociabilidad e información del seguro.
También incluye estructuras de totales de impuestos para IBS/CBS (monofásico, crédito presunto, diferimiento, devolución de impuestos y reversión de crédito). Un mixin compartido (spec.mixin.cte) añade un campo de moneda real brasileña que por defecto es BRL. No se crean menús, botones ni informes; el módulo solo proporciona la base de datos que un módulo de implementación mapea sobre documentos fiscales.
Lo necesitan otros módulos
Modelos y campos (30)
- cte.40.occ · modelo nuevocte40_dEmi (Data de emissão da ordem de coleta), cte40_nOcc (Número da Ordem de coleta), cte40_serie (Série da OCC), cte40_emiOcc (emiOcc), cte40_occ_rodo_id
- cte.40.tis · modelo nuevocte40_pIS (Alíquota do Imposto Seletivo), cte40_vIS (Valor do Imposto Seletivo calculado), cte40_CSTIS (Código Situação Tributária), cte40_qTrib (Quantidade com abse), cte40_uTrib (Unidade), cte40_vBCIS (Valor do BC), cte40_adRemIS (Alíquota do Imposto Seletivo (adRemIS)), cte40_cClassTribIS (cClassTribIS)
- cte.40.duto · modelo nuevocte40_dFim (Data de Fim da prestação do serviço), cte40_dIni (Data de Início da prestação do serviço), cte40_vTar (Valor da tarifa), cte40_classDuto (Classificação do Dutoviário), cte40_nContrato (Número do Contrato de Capacidade), cte40_codPontoSaida (Código do Ponto de Saída), cte40_tpContratacao (Tipo de contratação do serviço), cte40_codPontoEntrada (Código do Ponto de Entrada)
- cte.40.peri · modelo nuevocte40_nONU (Número ONU/UN), cte40_qTotEmb (Quantidade total), cte40_infTotAP (Grupo de informações), cte40_peri_aereo_id
- cte.40.prop · modelo nuevocte40_IE (Inscrição Estadual), cte40_UF (UF), cte40_CPF (Número do CPF), cte40_TAF (Termo de Autorização de Fretamento – TAF), cte40_CNPJ (Número do CNPJ), cte40_xNome (Razão Social ou Nome do proprietário), cte40_tpProp (Tipo Proprietário ou possuidor), cte40_NroRegEstadual (Número do Registro Estadual)
- cte.40.rodo · modelo nuevocte40_occ (Ordens de Coleta associados), cte40_RNTRC (Registro Nacional)
- cte.40.tdif · modelo nuevocte40_pDif (Percentual do diferimento), cte40_vDif (Valor do diferimento)
- cte.40.tred · modelo nuevocte40_pRedAliq (Percentual de redução de aliquota), cte40_pAliqEfet (Aliquota Efetiva que será aplicada)
- cte.40.veic · modelo nuevocte40_UF (UF em que veículo está licenciado), cte40_prop (Proprietário ou possuidor do Veículo), cte40_placa (Placa do veículo), cte40_RENAVAM (RENAVAM do veículo)
- cte.40.aereo · modelo nuevocte40_nOCA (Número Operacional do Conhecimento Aéreo), cte40_peri (Preenchido quando for transporte), cte40_nMinu (Número da Minuta), cte40_tarifa (Informações de tarifa), cte40_natCarga (Natureza da carga), cte40_dPrevAereo (Data prevista da entrega)
- cte.40.aquav · modelo nuevocte40_irin (Irin do navio sempre deverá), cte40_balsa (Grupo de informações das balsas), cte40_direc (Direção), cte40_nViag (Número da Viagem), cte40_tpNav (Tipo de Navegação), cte40_vAFRMM (AFRMM), cte40_vPrest (Valor da Prestação Base de Cálculo), cte40_xNavio (Identificação do Navio), cte40_detCont (Grupo de informações de detalhamento)
- cte.40.balsa · modelo nuevocte40_xBalsa (Identificador da Balsa), cte40_balsa_aquav_id
- cte.40.gmono · modelo nuevocte40_vCBSMono (Valor total da CBS monofásica), cte40_vIBSMono (Valor total do IBS monofásico), cte40_vCBSMonoRet (Valor (vCBSMonoRet)), cte40_vIBSMonoRet (Valor), cte40_vCBSMonoReten (Valor total da CBS monofásica sujeita), cte40_vIBSMonoReten (Valor total do IBS monofásico sujeito)
- cte.40.lacre · modelo nuevocte40_nLacre (Lacre), cte40_lacre_detCont_id
- cte.40.tcibs · modelo nuevocte40_vBC (Valor do BC), cte40_gCBS (Grupo de Tributação da CBS), cte40_vIBS (Valor do IBS), cte40_gIBSUF (Grupo de informações do IBS na UF), cte40_gIBSMun (Grupo de Informações do IBS no Município), cte40_gTribRegular (Grupo de informações), cte40_gTribCompraGov (Grupo de informações da composição)
- cte.40.emiocc · modelo nuevocte40_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_fone (Telefone)
- cte.40.ferrov · modelo nuevocte40_fluxo (Fluxo Ferroviário), cte40_tpTraf (Tipo de Tráfego), cte40_trafMut (Detalhamento de informações)
- cte.40.infseg · modelo nuevocte40_CNPJ (Número do CNPJ da seguradora), cte40_xSeg (Nome da Seguradora)
- cte.40.rodoos · modelo nuevocte40_TAF (Termo de Autorização de Fretamento – TAF), cte40_veic (Dados do Veículo), cte40_infFretamento (Dados do fretamento), cte40_NroRegEstadual (Número do Registro Estadual)
- cte.40.tarifa · modelo nuevocte40_CL (Classe), cte40_cTar (Código da Tarifa), cte40_vTar (Valor da Tarifa)
- cte.40.tistot · modelo nuevocte40_vIS (Valor Total do Imposto Seletivo)
- cte.40.detcont · modelo nuevocte40_lacre (Grupo de informações dos lacres), cte40_nCont (Identificação do Container), cte40_infDoc (Informações dos documentos), cte40_detCont_aquav_id
- cte.40.tevento · modelo nuevocte40_versao (versao), cte40_infEvento (infEvento)
- cte.40.tpagref · modelo nuevocte40_refDFe (Chave de acesso do documento fiscal)
- cte.40.trafmut · modelo nuevocte40_vFrete (Valor do Frete do Tráfego Mútuo), cte40_ferrEmi (Ferrovia Emitente do CTe), cte40_respFat (Responsável pelo Faturamento), cte40_ferroEnv (Informações das Ferrovias Envolvidas), cte40_chCTeFerroOrigem (Chave de acesso do CT-e emitido)
- spec.mixin.cte · modelo nuevobrl_currency_id (Moeda)
- cte.40.ferroenv · modelo nuevocte40_IE (Inscrição Estadual), cte40_CNPJ (Número do CNPJ), cte40_cInt (Código interno da Ferrovia envolvida), cte40_xNome (Razão Social ou Nome), cte40_enderFerro (Dados do endereço da ferrovia envolvida), cte40_ferroEnv_trafMut_id
- cte.40.gmonodif · modelo nuevocte40_pDifCBS (Percentual do diferimento (pDifCBS)), cte40_pDifIBS (Percentual do diferimento), cte40_vCBSMonoDif (Valor da CBS monofásica diferida), cte40_vIBSMonoDif (Valor do IBS monofásico diferido)
- cte.40.gmonoret · modelo nuevocte40_qBCMonoRet (qBCMonoRet), cte40_adRemCBSRet (Alíquota ad rem (adRemCBSRet)), cte40_adRemIBSRet (Alíquota ad rem), cte40_vCBSMonoRet (Valor da CBS retida anteriormente), cte40_vIBSMonoRet (Valor do IBS retido anteriormente)
- cte.40.inftotap · modelo nuevocte40_uniAP (Unidade de medida), cte40_qTotProd (Quantidade total de artigos perigosos)
Texto generado por IA (DeepSeek) al leer el código de la versión 18.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. El módulo es muy grande y solo se ha leído una parte del código. Ver el código en GitHub
Disponibilidad por versión
Revisado: 2026-11-03Estado de confirmación: 5 confirmadas, 4 sin información de 9 versiones.
Fuentes · Odoo 15.0
Confirmado el 2026-11-03 en la rama 15.0 de OCA/l10n-brazil.
terminal Instalación y uso
Sin información verificadaLas instrucciones de instalación, el paquete de distribución, las dependencias y los pasos de configuración no se muestran porque todavía no se han verificado en la documentación del módulo para ninguna versión.
Datos importados de GitHub: esta ficha refleja la última revisión del catálogo, no una consulta en directo. Verifica siempre en la documentación del módulo y en staging antes de instalar en producción.